source: projects/specs/trunk/h/heartbeat/heartbeat-vl.spec @ 5849

Revision 5849, 60.6 KB checked in by Takemikaduchi, 12 years ago (diff)

net-snmp-5.7.1

Line 
1%define           ENABLE_SNMP_SUBAGENT 0
2%define           ENABLE_MGMT 1
3%define           uid 24
4%define           gname haclient
5%define           uname hacluster
6
7Summary:          Heartbeat subsystem for High-Availability Linux
8Summary(ja):      高可用性 Linux のための HeartBeat サブシステム
9Name:             heartbeat
10Version:          2.0.8
11Release:          7%{_dist_release}
12
13Group:            System Environment/Daemons
14License:          GPL/LGPL
15URL:              http://linux-ha.org/
16
17Source0:          http://linux-ha.org/download/%{name}-%{version}.tar.gz
18Patch0:           heartbeat-fedora-pam.patch
19Patch1:           heartbeat-fedora-chkconfig.patch
20
21BuildRoot:        %{_tmppath}/%{name}-%{version}-root
22BuildRequires:    glib2-devel
23BuildRequires:    iputils
24BuildRequires:    libnet-devel
25BuildRequires:    libtool-ltdl-devel
26BuildRequires:    net-snmp-devel
27BuildRequires:    bzip2-devel
28BuildRequires:    ncurses-devel
29%if %{ENABLE_MGMT}
30BuildRequires:    gnutls-devel > 2
31BuildRequires:    pam-devel
32BuildRequires:    python-devel
33BuildRequires:    swig
34BuildRequires:    curl-devel
35BuildRequires:    libuuid-devel
36BuildRequires:    libxml2-devel
37%endif
38Requires:         stonith = %{version}-%{release}
39Requires:         pils = %{version}-%{release}
40Requires:         ldirectord = %{version}-%{release}
41Requires:         pygtk2 >= 2.4
42Requires(post):   /sbin/chkconfig
43Requires(preun):  /sbin/chkconfig
44%if %{ENABLE_MGMT}
45Requires:         gettext
46%endif
47
48%description
49heartbeat is a basic high-availability subsystem for Linux-HA.
50It will run scripts at initialization, and when machines go up or down.
51This version will also perform IP address takeover using gratuitous ARPs.
52It supports "n-node" clusters with significant capabilities for managing
53resources and dependencies.
54
55In addition it continues to support the older release 1 style of
562-node clustering.
57
58It implements the following kinds of heartbeats:
59        - Serial ports
60        - UDP/IP multicast (ethernet, etc)
61        - UDP/IP broadcast (ethernet, etc)
62        - UDP/IP heartbeats
63        - "ping" heartbeats (for routers, switches, etc.)
64           (to be used for breaking ties in 2-node systems)
65
66%package -n ldirectord
67Summary:          Monitor daemon for maintaining high availability resources
68Summary(ja):      高可用リソースを管理するための監視デーモン
69Group:            System Environment/Daemons
70Requires:         ipvsadm
71Requires:         %{name} = %{version}
72Requires(post):   /sbin/chkconfig
73Requires(preun):  /sbin/chkconfig
74
75%description -n ldirectord
76ldirectord is a stand-alone daemon to monitor services of real
77for virtual services provided by The Linux Virtual Server
78(http://www.linuxvirtualserver.org/). It is simple to install
79and works with the heartbeat code (http://www.linux-ha.org/).
80
81%package -n stonith
82Summary:        Provides an interface to Shoot The Other Node In The Head
83Group:          System Environment/Daemons
84Requires:       pils = %{version}-%{release}
85
86%description -n stonith
87The STONITH module (a.k.a. STOMITH) provides an extensible interface
88for remotely powering down a node in the cluster.  The idea is quite simple:
89When the software running on one machine wants to make sure another
90machine in the cluster is not using a resource, pull the plug on the other
91machine. It's simple and reliable, albeit admittedly brutal.
92#'
93
94%package -n pils
95Summary:        Provides a general plugin and interface loading library
96Group:          System Environment/Daemons
97
98%description -n pils
99PILS is an generalized and portable open source Plugin and Interface Loading
100System. PILS was developed as part of the Open Cluster Framework reference
101implementation, and is designed to be directly usable by a wide variety of
102other applications.
103PILS manages both plugins (loadable objects), and the interfaces these plugins
104implement. PILS is designed to support any number of plugins implementing any
105number of interfaces.
106
107%package devel
108Summary:        Heartbeat development package
109Summary(ja):    Heartbeat 開発パッケージ
110Group:          Development/Libraries
111Requires:       heartbeat = %{version}-%{release}
112
113%description devel
114Heartbeat development package
115
116%prep
117%setup -q
118%patch0 -p1
119%patch1 -p1
120 
121%build
122# disable-fatal-warnings flag used to disable gcc4.x warnings of 'difference in signedness'
123CFLAGS=${RPM_OPT_FLAGS} \
124%configure \
125  --disable-fatal-warnings \
126  --disable-static \
127%if %{ENABLE_MGMT}
128  --enable-mgmt
129%else
130  --disable-mgmt
131%endif
132make
133
134%install
135rm -rf $RPM_BUILD_ROOT
136mkdir -p $RPM_BUILD_ROOT
137make DESTDIR=$RPM_BUILD_ROOT install
138(
139  cd $RPM_BUILD_ROOT/etc/ha.d/resource.d
140  ln -s /usr/sbin/ldirectord ldirectord
141)
142
143mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/ha.d/conf
144
145# cleanup
146[ -d $RPM_BUILD_ROOT/usr/man ] && rm -rf $RPM_BUILD_ROOT/usr/man
147[ -d $RPM_BUILD_ROOT/usr/share/libtool ] && rm -rf $RPM_BUILD_ROOT/usr/share/libtool
148find $RPM_BUILD_ROOT -type f -name *.la -exec rm -f {} ';'
149
150sed -i -e '1i# -*-Shell-script-*-' $RPM_BUILD_ROOT/%{_libdir}/heartbeat/ocf-shellfuncs
151sed -i -e '1i# -*-Shell-script-*-' $RPM_BUILD_ROOT/%{_sysconfdir}/ha.d/shellfuncs
152chmod -x $RPM_BUILD_ROOT/%{_libdir}/heartbeat/ocf-shellfuncs
153chmod -x $RPM_BUILD_ROOT/%{_sysconfdir}/ha.d/shellfuncs
154chmod -x $RPM_BUILD_ROOT/%{_libdir}/heartbeat-gui/pymgmt.py
155
156%clean
157if [ -n "${RPM_BUILD_ROOT}"  -a "${RPM_BUILD_ROOT}" != "/" ]; then
158  rm -rf $RPM_BUILD_ROOT
159fi
160
161%pre
162/usr/sbin/groupadd -g %{uid} %{gname} &>/dev/null || :
163/usr/sbin/useradd -M -r -u %{uid} -s /sbin/nologin -d /var/lib/heartbeat/cores/hacluster \
164        -c 'heartbeat user' -g %{gname} %{uname} &>/dev/null || :
165
166%post
167/sbin/ldconfig
168/sbin/chkconfig --add heartbeat
169
170%preun
171/sbin/chkconfig --del heartbeat
172
173%postun
174/sbin/ldconfig
175test "$1" != 0 || /usr/sbin/userdel  %{uname} &>/dev/null || :
176test "$1" != 0 || /usr/sbin/groupdel %{gname} &>/dev/null || :
177
178%post -n ldirectord
179/sbin/chkconfig --add ldirectord
180
181%preun -n ldirectord
182/sbin/chkconfig --del ldirectord
183
184%post -n stonith -p /sbin/ldconfig
185
186%postun -n stonith -p /sbin/ldconfig
187
188%files
189%doc %{_datadir}/doc/%{name}-%{version}
190%defattr(-,root,root)
191%dir %{_sysconfdir}/ha.d
192%{_sysconfdir}/ha.d/harc
193%config(noreplace) %{_sysconfdir}/ha.d/shellfuncs
194%{_sysconfdir}/ha.d/rc.d
195%config(noreplace) %{_sysconfdir}/ha.d/README.config
196%{_libdir}/heartbeat
197%{_libdir}/heartbeat-gui
198%{_libdir}/libapphb.so.*
199%{_libdir}/libccmclient.so.*
200%{_libdir}/libcib.so.*
201%{_libdir}/libclm.so.*
202%{_libdir}/libcrmcommon.so.*
203%{_libdir}/libtransitioner.so.*
204%{_libdir}/libhbclient.so.*
205%{_libdir}/liblrm.so.*
206%{_libdir}/libpengine.so.*
207%{_libdir}/libplumb.so.*
208%{_libdir}/libplumbgpl.so.*
209%{_libdir}/librecoverymgr.so.*
210%{_libdir}/libstonithd.so.*
211%{_prefix}/lib/ocf
212%{_sysconfdir}/ha.d/resource.d/
213%exclude %{_sysconfdir}/ha.d/resource.d/ldirectord
214%{_sysconfdir}/init.d/heartbeat
215%config(noreplace) %{_sysconfdir}/logrotate.d/heartbeat
216%dir %{_var}/lib/heartbeat
217%dir %{_var}/lib/heartbeat/cores
218%dir %attr (0755, root, root) %{_var}/lib/heartbeat/cores/root
219%dir %attr (0755, nobody, nobody) %{_var}/lib/heartbeat/cores/nobody
220%dir %attr (0755, hacluster, haclient) %{_var}/lib/heartbeat/cores/hacluster
221%dir %{_var}/run/heartbeat
222%attr (0755, hacluster, haclient) %{_bindir}/cl_status
223%{_bindir}/cl_respawn
224%{_sbindir}/crmadmin
225%{_sbindir}/cibadmin
226%{_sbindir}/ccm_tool
227%{_sbindir}/crm_diff
228%{_sbindir}/crm_uuid
229%{_sbindir}/crm_mon
230%{_sbindir}/crm_sh
231%{_sbindir}/iso8601
232%{_sbindir}/crm_master
233%{_sbindir}/crm_standby
234%{_sbindir}/crm_attribute
235%{_sbindir}/crm_resource
236%{_sbindir}/crm_verify
237%{_sbindir}/attrd_updater
238%{_sbindir}/crm_failcount
239%{_sbindir}/ocf-tester
240%dir %attr (755, hacluster, haclient) %{_var}/run/heartbeat/ccm
241%dir %attr (755, hacluster, haclient) %{_var}/run/heartbeat/crm
242%dir %attr (755, hacluster, haclient) %{_var}/lib/heartbeat/crm
243%dir %attr (755, hacluster, haclient) %{_var}/lib/heartbeat/pengine
244%{_mandir}/man1/cl_status.1*
245%{_mandir}/man1/ha_logger.1*
246%{_mandir}/man1/hb_standby.1*
247%{_mandir}/man1/hb_takeover.1*
248%{_mandir}/man1/hb_addnode.1*
249%{_mandir}/man1/hb_delnode.1*
250%{_mandir}/man8/heartbeat.8*
251%{_mandir}/man8/apphbd.8*
252%{_mandir}/man8/ha_logd.8*
253%{_mandir}/man8/cibadmin.8*
254%{_mandir}/man8/crm_resource.8*
255%if %{ENABLE_SNMP_SUBAGENT}
256/LINUX-HA-MIB.mib
257%endif
258%if %{ENABLE_MGMT}
259%{_libdir}/libhbmgmt.so.*
260%{_libdir}/libhbmgmtclient.so.*
261%{_libdir}/libhbmgmtcommon.so.*
262%{_libdir}/libhbmgmttls.so.*
263%config(noreplace) %{_sysconfdir}/pam.d/hbmgmtd
264%{_datadir}/locale/zh_CN/LC_MESSAGES/haclient.mo
265%endif
266
267%files -n ldirectord
268%doc doc/COPYING
269%doc doc/README
270%doc ldirectord/ldirectord.cf
271%defattr(-,root,root)
272%{_sysconfdir}/ha.d/conf
273%{_sbindir}/ldirectord
274%{_sbindir}/supervise-ldirectord-config
275%config(noreplace) %{_sysconfdir}/logrotate.d/ldirectord
276%{_sysconfdir}/init.d/ldirectord
277%{_sysconfdir}/ha.d/resource.d/ldirectord
278%{_mandir}/man8/ldirectord.8*
279%{_mandir}/man8/supervise-ldirectord-config.8*
280
281%files -n stonith
282%doc doc/COPYING
283%doc doc/README
284%defattr(-,root,root)
285%{_libdir}/*.so.*
286%{_libdir}/stonith/
287%{_sbindir}/stonith
288%{_sbindir}/meatclient
289%{_mandir}/man8/stonith.8*
290%{_mandir}/man8/meatclient.8*
291
292%files -n pils
293%doc doc/COPYING
294%doc doc/README
295%defattr(-,root,root)
296/usr/include/pils
297%{_libdir}/libpils.*
298%{_libdir}/pils/
299
300%files devel
301%doc %{_datadir}/doc/%{name}-%{version}
302%defattr(-,root,root)
303%{_includedir}/heartbeat/
304%{_includedir}/clplumbing/
305%{_includedir}/saf/
306%{_includedir}/ocf/
307%{_includedir}/stonith/
308%{_includedir}/pils/
309%{_libdir}/*.so
310
311%changelog
312* Wed Mar 07 2012 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.0.8-7
313- rebuild with net-snmp-5.7.1
314
315* Sun Mar 20 2011 Yoji TOYODA <bsyamato@sea.plala.or.jp> 2.0.8-6
316- rebuild with openssl-1.0.0d
317- add BuildRequires: libuuid-devel, libxml2-devel
318
319* Sun Oct  3 2010 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.0.8-5
320- rebuilt with new toolchain
321
322* Sun May 17 2009 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 2.0.8-4
323- spec in UTF-8
324- changed devel Group to Development/Libraries
325
326* Tue May 05 2009 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 2.0.8-3
327- new versioning policy
328- rebuild with gnutls 2.6.6, libtool 2.2.6 and curl 7.19.4
329- add BuildRequires: curl-devel
330
331* Sun Jan 06 2008 Shu KONNO <owa@bg.wakwak.com> 2.0.8-0vl2
332- rebuilt with net-snmp-5.4.1
333
334* Sat May 19 2007 Daisuke SUZUKI <daisuke@linux.or.jp> 2.0.8-0vl1
335- new upstream release
336- build with new environment
337
338* Mon Oct 30 2006 Daisuke SUZUKI <daisuke@linux.or.jp> 2.0.7-0vl2
339- rebuild with gnutls-1.4
340- add Japanese summaries
341
342* Mon Oct 23 2006 Daisuke SUZUKI <daisuke@linux.or.jp> 2.0.7-0vl1
343- initial build for Vine Linux based on FE package.
344
345* Wed Aug 30 2006 Joost Soeterbroek <fedora@soeterbroek.com> - 2.0.7-2
346- rebuild for Fedora Extras 6
347
348* Wed Aug 16 2006  Joost Soeterbroek <fedora@soeterbroek.com> - 2.0.7-1
349- upstream version 2.0.7
350
351* Sat Jul 15 2006  Joost Soeterbroek <fedora@soeterbroek.com> - 2.0.6-2
352- added BuildReqs: ncurses-devel
353
354* Fri Jul 14 2006  Joost Soeterbroek <fedora@soeterbroek.com> - 2.0.6-1
355- upstream version 2.0.6
356
357* Fri Jun 16 2006  Joost Soeterbroek <fedora@soeterbroek.com> - 2.0.5-2
358- bump for gnutls change in devel
359
360* Thu Apr 27 2006  Joost Soeterbroek <fedora@soeterbroek.com> - 2.0.5-1
361- upstream version 2.0.5
362- removed patch2 - ownership of /heartbeat/crm/cib.xml is no longer
363  set in cts/CM_LinuxHAv2.py.in
364
365* Wed Mar 29 2006  Joost Soeterbroek <fedora@soeterbroek.com> - 2.0.4-2
366- Version 2.0.4
367
368* Wed Mar  1 2006  Joost Soeterbroek <fedora@soeterbroek.com> - 2.0.3-9
369- changed user creation
370- added patch2 heartbeat-2.0.3-fedora-ccmuser.patch 
371
372* Wed Mar  1 2006  Joost Soeterbroek <fedora@soeterbroek.com> - 2.0.3-8
373- specifically excluded ldirectord symlink from heartbeat package
374- removed user and group deletion in postun
375- renamed subpackages ldirectord, pils and stonith to lose prefix heartbeat
376  by using -n
377
378* Tue Feb 28 2006  Joost Soeterbroek <fedora@soeterbroek.com> - 2.0.3-7
379- fixed more rpmlint errors and warnings
380
381* Sat Feb 25 2006  Joost Soeterbroek <fedora@soeterbroek.com> - 2.0.3-6
382- fixed number of rpmlint warnings and errors (still ignores some..)
383- generate 'predictable' uid and gid with fedora-usermgmt to use with
384  configure flag -with-ccmuser-id and groupadd, useradd
385- added Buildreq's: libtool-ltdl-devel, fedora-usermgmt-setup
386  net-snmp-devel, bzip2-devel
387- removed *.so duplication in heartbeat and heartbeat-devel
388- changed file sections
389
390* Fri Feb 24 2006  Joost Soeterbroek <fedora@soeterbroek.com> - 2.0.3-5
391- useradd with fedora-usermgmt
392- added *.so file to -devel sub-package
393
394* Sat Feb 18 2006  Joost Soeterbroek <fedora@soeterbroek.com> - 2.0.3-4
395- removed all perl requires; should be picked up by rpmbuild automagically
396- changed system user creation hacluster part to use baseid:
397  (http://fedoraproject.org/wiki/Packaging/UserCreation)
398
399* Thu Feb 16 2006  Joost Soeterbroek <fedora@soeterbroek.com> - 2.0.3-3
400- removed Requires: python and gnutls
401- changed _libdir/ocf -> _prefix/lib/ocf
402- reversed subpackages depend on basepackage
403- removed Req swig (kept BuildReq)
404- added Req pygtk2
405
406* Wed Feb 15 2006  Joost Soeterbroek <fedora@soeterbroek.com> - 2.0.3-2
407- fixes for various rpmlint errors and warnings
408- fixed setup -q
409- make subpackages depend on basepackage, not reverse
410- clean buildroot at beginning of install
411- replaced a number of hardcoded paths with RPM macros
412- Changed Group from Networking/Daemons to System Environment/Daemons
413- enable mgmt option
414
415* Sun Feb 12 2006  Joost Soeterbroek <fedora@soeterbroek.com> - 2.0.3-1
416- rebuilt for Fedora Extras
417
418* Fri Feb 10 2006  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
419+ Version 2.0.3 - Bug fixes and significant new features.
420  + Management Daemon/Library and GUI client
421    + provide a management library for manamgement daemon and CIM provider
422    + provide a management daemon and a basic GUI management tool
423  + CIM enablement
424    + CIM (Common Information Model) enablement - works with
425      sblim-sfcb, OpenWBEM, and Pegasus CIMOMs
426    - not yet compiled into our binary RPMs because of dependencies
427  + CRM (Cluster Resource Manager) General
428    + All shutdowns go via the PE/TE - preserves inter-resource ordering
429    + Support for future changes to the CIB (depreciation of cib_fragment)
430    + Overhaul of IPC and HA channel callback logic
431    + Many improvments to the quality and quantity (reduced) of logging
432  + CRMd
433    + Timerless elections - when everyone has voted we're done
434    + Use the replace notification from the CIB to re-update our copy with
435      our view of our peers.
436    + Reliably detect if the LRM connection is still active.
437    + Elections
438      + newer versions defer to older ones in DC elections
439        (opposite of current behavior)
440      + this means that only once the complete cluster has been upgraded will
441        we start acting like the new version and accept new config options
442      + it also means newer PE's and TE's (the most complex pieces) don't need
443        "act like the old version" options and can rely on all slaves being at
444        least as up-to-date as they are
445      + people can run mixed clusters as long as they want
446        (until they want the new PE features)
447      + new DCs only update the version number in the CIB if they have a
448        higher value
449      + nodes that start and have a lower version than that stored in the CIB
450        shut themselves down (the CRM part anyway)
451      + this prevents an admin from introducing old nodes back into an upgraded
452        cluster. It probably doesn't fully understand the config and may not
453        support the actions the PE/TE requires.
454  + CIB (Common Information Base daemon)
455    + Make sure "query only" connections cant modify the CIB
456    + Periodically dump some stats about what the CIB has been doing.
457    + Verify there are no memory leaks
458    + Performance enhancements
459    + Prevent a single CIB client from blocking everyone else
460    + Clients Can be notified of full CIB replacements
461    + record_config_changes option in ha.cf for those worried about
462      the amount of logging.  Defaults to "on".
463    + suppress_cib_writes CIB option replaced with in enable_config_writes ha.cf
464      (enable_config_writes to be removed in 2.0.4)
465    + Never write the status section to disk
466    + Check permissions for the on-disk CIB at startup
467    + Dont trash unreadable on-disk CIBs
468    + Fix for updates made against the whole CIB (not just one section)
469  + PEngine (Policy Engine)
470    + Many improvements to the handling of resource groups
471    + Support "anonymous" clones
472    + Fix stonith ordering
473    + Order DC shutdowns after everyone else's
474    + Support short resource names (for group and clone resources)
475    + The ordering and colocation of grouped resources is now optional
476    + Support probing new nodes for active resources.
477    + All "probe" actions are controlled by the PE.
478      + No resource may be started until the probing is complete.
479      + Do not probe for resources we know to be active on unprobed nodes
480    + When looking for monitor ops, only mark it optional if it was already
481      active on the node we're interested in.
482    + Detect changes to class/type/provider/parameters and force a restart
483      of the resource
484    + New record_pengine_inputs option in ha.cf for those worried about
485      the amount of logging.  Defaults to "on".
486    + Differentiate between config and processing errors
487      + reduces the frequency that we need to log the complete CIB
488    + Make notify for master/slave work
489    + New CIB option: stop_orphan_actions (boolean)
490      If a resource is no longer defined, we can optionally stop it
491    + New CIB option: stop_orphan_actions (boolean)
492      If a monitor op for a given interval is no longer defined, we can
493      optionally stop it
494    + Add support for time and phase-of-the-moon based constraints
495    + Improved failure handling: avoiding false positives
496    + Always create orphaned resources - so they show up in crm_mon
497    + Do not require sequential clone numbers starting at 0
498  + TEngine (transition engine)
499    + Detect old stonith ops
500  + CLIs (Command Line interfaces)
501    + Create a --one-shot option for crm_mon
502    + Switch a number of CLI tools to use the new syncronous connections
503    + Log errors to stderr where they will be seen and therefore useful
504    + Support migration and un-migration of resources and resource groups
505    + Create crm_verify for checking configuration validity
506    + Simplify the passing of XML to cibadmin
507  + Known open bugs worth mentioning:
508    + 1075, 1080, 1081, 1084, 1085, 1064, 1069, 756, 984
509    + 1050, 1082, 1037, 1079
510   
511* Thu Sep 22 2005  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
512+ Version 2.0.2 - small bug fix only release
513  + Fixed a bug in ping directive - it works again
514  + Added a check to BasicSanityCheck to check ping and ping_group directives
515  + fixed cl_status nodestatus to return 0 if a node has status "ping"
516  + fixed a memory leak in the CRM's LRM interface code
517  + fixed code which deterimines which version of the CRM becomes
518    the DC when basic CIB schema versions differ.  It now prefers
519    the older version to be DC instead of the newer version.
520
521* Wed Sep 14 2005  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
522+ Version 2.0.1 -
523  + Communication Layer
524    + netstring encoding format is changed to be more efficient
525    + add compression capability for big messages
526  + Add man pages for hb_standby/hb_takeover   
527  + The assert triggered by 2.0.0 has been fixed
528  + CIB can now contain XML comments and/or be in DOS format   
529  + Includes implementation of the ISO8601 date format
530  + New CLI tools for changing cluster preferences, node attributes
531    and node standby
532  + Improved recovery and placement of group resources
533  + Detection of failed nodes by the Policy Engine is fixed
534  + New Policy Engine features
535    http://www.linux-ha.org/ClusterResourceManager/DTD1.0/Annotated :
536      sections 1.5.[8,9,10,12]
537    + Constraints and instance attributes can now be active conditionally
538    + Rules can now contain other rules
539    + Date/Time based expressions are supported
540    + Cloned resources can now optionally be notified before and after
541      any of its peers are stopped or started.
542    + The cluster can re-evaluate the configuration automatically after
543      a defined interval of idleness
544  + Removed a flow control message which was very annoying when operating
545    in a mixed 1.x/2.x environment
546  -- Known Bugs :-( --
547    - Bug 859 - FSA took too long to complete action - fully recovered from
548    - Bug 882 - IPC channel not connected during shutdown - harmless
549    - Bug 879 - Failed actions cause extra election - harmless
550 Each of these occurs about once or twice in 5000 test iterations
551       - This is probably > 10K failovers
552    - rsc_location constraints cannot have rules that contain other rules
553      (fixed in CVS after release)
554* Fri Jul 29 2005  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
555+ Version 2.0.0 - First stable release of the next generation of the Linux-HA project
556  + Basic Characteristics described here:
557        http://linux-ha.org/FactSheetv2
558  + Core infrastructure improvments:
559    + Messaging (message acknowledging and flow control)
560    + Logging   (logging daemon)
561  + Release 1.x style (2-node) clusters fully supported
562  + Multi-node support (so far up to 16-node clusters tested)
563        See http://linux-ha.org/GettingStartedV2 for more information
564  + New components:
565    + Cluster Information Base    (replicated resource configuration)
566    + Cluster Resource Manager    (supporting 1->N nodes)
567    + Modular Policy Engine       (controlling resource placement)
568    + Local Resource Manager      (policy free, not cluster aware)
569    + Stonith Daemon              (stand-alone fencing  subsytem)
570  + Support for OCF and LSB resource agents
571  + Support for composite resource types (groups, clones)
572  + Support for a rich set of resource location and ordering constraints
573  + Conversion tool for existing haresources
574  + Resources monitored by request
575  + Resource "maintenance" mode
576  + Several failback, failure and "No Quorum" behaviours to choose from
577        (global defaults and per action or resource)
578  + Sample cluster state and configuration monitoring tools
579
580  Known issues in 2.0.0:
581    - Under some rare circumstances the cluster manager will time out
582      while stabilizing a new cluster state.  This appears to be
583        otherwise harmless - the cluster is actually fine.
584        http://www.osdl.org/developer_bugzilla/show_bug.cgi?id=770
585    - Under some rare circumstances, a dev assert will be triggered
586        in unpack.c.  This results in the pengine getting restarted.
587        This is annoying, but not a disaster.
588        http://www.osdl.org/developer_bugzilla/show_bug.cgi?id=797
589
590* Tue May 23 2005  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
591+ Version 1.99.5 - Near-final beta of 2.0.0 release
592  + many bug fixes - code looks very stable at this point
593    -- well tested at this point on 4 and 8 node clusters.
594
595* Thu Apr 07 2005  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
596+ Version 1.99.4 - Near-final beta of 2.0.0 release
597  + many bug fixes since 1.99.1
598  + new external STONITH model - fully supports scripting interface
599  + tested through 12 node clusters successfully
600  + No serious defects found in testing
601  + Easier-to-understand locational constraints model
602  + Many bug fixes of many kinds
603  + Important bug fixes to OCF IPaddr resource agent
604  + Resources are monitored only on request
605  + See http://wiki.linux-ha.org/ClusterResourceManager/Setup
606    for basic ideas about getting started.
607  + Release 1 style (2-node) clusters still fully supported
608  + Release 2 style clusters support 1-N node clusters
609        (where N is probably something like 8-32)
610
611* Tue Mar 20 2005  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
612+ Version 1.99.3 - Near-final beta "technology preview" of 2.0.0 release
613  + many bug fixes since 1.99.1
614  + tested through 12 node clusters with reasonable success
615  + new STONITH API
616
617* Sun Feb 20 2005  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
618+ Version 1.99.2 - Near-final beta "technology preview" of 2.0.0 release
619  + Many many many changes.  Far too many to describe here.
620  + See http://wiki.linux-ha.org/ClusterResourceManager/Setup
621    for certain basic ideas about getting started.
622
623* Mon Oct 11 2004  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
624+ Version 1.99.1 - *early* beta series - preparing for 2.0.0
625  + Andrew provided a number of fixes to the CRM and 2.0 features
626  + Fixed a problem with retrying failed STONITH operations
627
628* Mon Oct 11 2004  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
629+ Version 1.99.0 - *early* beta series - preparing for 2.0.0
630  + All STABLE changes noted below have been ported to this branch
631  + Included in this release is a beta of the next generation of Heartbeat
632        resource manager developed by Andrew Beekhof. 
633        http://linuxha.trick.ca/NewHeartbeatDesign is a good place to learn
634        more about this effort. Please examine crm/README, crm/test/README
635        and crm/crm-1.0.dtd for example usage and configuration.
636  + Also included is the L(ocal) R(esource) M(anager) developed by IBM China
637        which is an integral part of the NewHeartbeatDesign.
638  + Known caveats:
639    - STONITH as a whole has seen a code cleanup and should be tested
640      carefully.
641    - The external STONITH plug-in has undergone major surgery and
642      probably doesn't work yet.
643    - the new CRM is not perfectly stable with 3 nodes yet.
644  + PLEASE see http://osdl.org/developer_bugzilla/enter_bug.cgi?product=Linux-HA
645    and use it to report quirks and issues you find!
646 
647* Sat Sep 18 2004  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
648+ Version 1.2.3 (stable)
649  + fixed a serious error which causes heartbeat to misbehave after about
650        10 months of continuous operation
651  + Made our ARP packets more RFC compliant
652  + Extended apcmastersnmp code to deal with new devices
653  + fixed a bug concerning simultaneous stops of both machines causing one
654        of them to not shut down.
655  + added an option to suppress reporting on packet corruption
656  + fixed it so that we don't create the FIFO by the RPM
657  + made cl_status setgid so anyone can run it, and fixed exit codes
658  + eliminated a serious memory leak associated with client code
659  + packaged doc files which had been missed before
660  + fixed many many small bugs and memory leaks detected by BEAM
661  + added several new test cases
662  + fixed longstanding bug in plugin unloading
663  + fixed a shutdown hang problem
664  + several fixes for Solaris, FreeBSD
665  + Solaris packaging now included in base
666  + fixed a bug related to the apache resource agent not handling
667        quoted parameters
668  + added use_apphbd parameter to have heartbeat register
669        with apphbd instead of watchdog device when desired
670  + changed apphbd to default its config file to /etc
671  + added snmp subagent code
672  + added hbaping communications plugin
673  + added external STONITH plugin
674  + ldirectord: fixed a bug where real servers that were are
675        present in multiple virtual services will only be added
676        to one virtual service.
677
678* Mon May 11 2004  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
679+ Version 1.2.2 (stable)
680  + Fixed several format string errors in communication plugins
681  + Fixed a bug which kept us from diagnosing errors in non-aliased interfaces
682  + Fixed a bug in ipaddr which caused an infinite loop when auto_failback on
683  + Updated Debian things...
684  + Added IPv6addr resource agent
685  + Added ibmhmc STONITH plugin
686  + Added cl_status command
687  + Fixed a bug regarding restarts when auto_failback is on...
688  + Fixed a couple of bugs in sha1 authentication method for very long keys
689  + Fixed a bug in the portblock resource agent so that it no longer blocks
690          ports on the loopback interface
691  + Increased the time allowed for split brain test before it declares failure
692
693+ Version 1.2.1 (stable)
694  + Netstrings can now be used for our on-the-wire data format
695  + Perl/SWIG bindings added for some heartbeat libraries
696  + Significant improvements to SAF data checkpointing API
697  + Implemented unbuffered ipcsocket code for SAF APIs
698  + Many Solaris fixes -- except for ipfail, Solaris works
699  + Significant library restructuring
700  + Watchdog device NOWAYOUT is now overridded if defaulted
701  + Watchdog device now kills machine instantly after deadtime
702        instead of after one minute
703  + Hostnames should now be treated case-independently...
704  + Added new client status APIs - client_status() and cstatus_callback()
705  + Fixed bug with auto_failback and quick full restarts
706  + We now automatically reboot when resources fail to stop correctly...
707  + We now check the status of the configured STONITH device hourly...
708  + STONITH operations repeat after a 5 second delay, not immediately...
709  + Added hb_takeover command - complement to hb_standby
710  + Added documentation on how to use evlog/TCP to enable testing to
711        take place without losing messages due to UDP message forwarding
712  + Several new tests from Mi, Jun - split brain, bandwidth, failure
713        detection time.
714  + Fix to LVM resource from Harald Milz <hm@muc.de>
715  + Fixed FreeBSD authentication problems breaking ipfail
716  + Fixed .so loading on Debian
717  + Fixed false complaints about resource scripts (from Jens Schmalzing)
718  + Fixed false stop failure from LinuxSCSI  (from Jens Schmalzing <j.s@lmu.de>)
719
720
721
722* Thu Apr 15 2004  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
723+ Version 1.3.0 - beta series
724  + Netstrings can now be used for our on-the-wire data format
725  + Perl/SWIG bindings added for some heartbeat libraries
726  + Significant improvements to SAF data checkpointing API
727  + Implemented unbuffered ipcsocket code for SAF APIs
728  + Many Solaris fixes -- except for ipfail, Solaris works
729  + Significant library restructuring
730  + Watchdog device NOWAYOUT is now overridded if defaulted
731  + Watchdog device now kills machine instantly after deadtime
732        instead of after one minute
733  + Hostnames should now be treated case-independently...
734  + Added new client status APIs - client_status() and cstatus_callback()
735  + Fixed bug with auto_failback and quick full restarts
736  + We now automatically reboot when resources fail to stop correctly...
737  + We now check the status of the configured STONITH device hourly...
738  + STONITH operations repeat after a 5 second delay, not immediately...
739  + Added hb_takeover command - complement to hb_standby
740  + Added documentation on how to use evlog/TCP to enable testing to
741        take place without losing messages due to UDP message forwarding
742  + Several new tests from Mi, Jun - split brain, bandwidth, failure
743        detection time.
744  + Fix to LVM resource from Harald Milz <hm@muc.de>
745
746* Tue Feb 16 2004  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
747+ Version 1.2.0
748  + Replaced the nice_failback option with the auto_failback option.
749        THIS OBSOLETES THE NICE_FAILBACK OPTION. READ THE DOCS FOR HOW
750        TO UPGRADE SMOOTHLY.
751  + Added a new feature to hb_standby which allows you to give up
752          any specific category of resources:  local, foreign, or all.
753        The old behavior is "all" which is the default.
754        This allows you to put a auto_failback no cluster into
755          an active/active configuration on demand.
756  + ipfail now works properly with auto_failback on (active/active)
757  + ipfail now has "hysteresis" so that it doesn't respond immediately
758        to a network failure, but waits a little while so that the
759        damage can be properly assessed and extraneous takeovers avoided
760  + Added new ping node timeout directive "deadping"
761  + Made sure heartbeat preallocated stack and heap, and printed a
762        message if we allocate heap once we're started up...
763  + IPMILan STONITH plugin added to CVS
764  + Added IPaddr2 resource script
765  + Made the APC smart UPS ups code compatible with more UPSes
766  + Added a (preliminary?) ordered messaging facility from Yi Zhu
767  + Changed IPaddr's method of doing ARPs in background so that
768        certain timing windows were closed.
769  + Added OCF (wrapper) resource script
770  + Allow respawn programs to take arguments
771  + Added pinggroups (where any node being up is OK)
772  + SIGNIFICANT amount of internal rearchitecture.
773  + Many bug fixes.
774  + Several documentation updates.
775
776* Tue Feb 10 2004  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
777+ Version 1.1.5
778  + ipfail now has "hysteresis" so that it doesn't respond immediately
779        to a network failure, but waits a little while so that the
780        damage can be properly assessed and extraneous takeovers avoided
781  + Several fixes to cl_poll()
782  + More fixes to the IPC code - especially handling data reception
783        after EOF
784  + removed some unclean code from GSource for treating EOF conditions
785  + Several bugs concerning hanging when shutting down early during startup
786  + A few BasicSanityCheck bug fixes
787  + CTS now allows a single machine to be able to monitor several clusters
788  + Most former CTS options are now either unneeded or on the command line
789  + Increased number of ARPs and how long they're being sent out
790  + Fixed uncommon (authorization) memory leak
791  + Some Solaris portability fixes.
792  + Made init script handle standby correctly for new config files
793  + Improved the fast failure detection test
794  + Added some backwards compatibility for nice_failback and some default
795        authentication directives
796  + Corrected the 1.1.4 change log
797 
798
799* Fri Jan 22 2004  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
800+ Version 1.1.4
801  + ipfail now works properly with auto_failback on (active/active)
802  + Changed the API to use sockets (IPC library) instead of FIFOs.
803  + Added new apiauth directives to provide authorization information
804        formerly provided by the FIFO permissions.
805  + Added Intel's implementation of the SAF data checkpointing API and daemon
806  + Added a cleanup suggested by Emily Ratliff.
807  + IPMILan STONITH plugin added to CVS
808  + Added IPaddr2 resource script
809  + Various cleanups due to horms.
810  + Fixed authentication to work on 64-bit platforms(!)
811  + Fixed the cl_poll() code to handle corner cases better
812  + Made heartbeat close watchdog device before re-execing itself
813  + New CTS improvements from Mi, Jun <jun.mi@intel.com>
814  + Various minor bug fixes.
815      . Several shutdown bugs addressed
816      . fixed sendarp to make a pid file, so we can shut it down
817          when we shut everything else down in case it's still running.
818      . Lots of minor bug fixes to IPC code
819      . Lots of minor bug fixes to ipctest program
820      . made BasicSanityCheck more tolerant of delays
821      . Fixed IPC code to authenticate based on ints, not int*s.
822      . Check properly for strnlen instead of strlen...
823      . Several signed/unsigned fixes
824      . A few uninitialized vars now are inited
825      . Switched to compiling lex/yacc sources the automake way
826      . Lots of minor CTS fixes...
827
828  + ldirectord bug fixes:
829    . When new real servers are added on initialisation or when
830        the configuration file is reread they are marked with status
831        of -1 (uninitialised) so they will be checked and inserted
832        into the virtual service as required
833    . All checks use the checkport if set, otherwise the port set for
834        the individual real server. This was the case for http and
835        connect checks, but others had variations on this theme.
836    . When the configuration file is reread because it changed
837        on disk and autoreload is set, check the real servers
838        immediately rather than waiting for checkinterval to expire
839    . Already running message sent to stderr instead of stdout
840    . Support alternate server in real-server specific URL
841    . Treat the same real server with different weights as a different
842        real server. Fixes bug reported by Philip Hayward whereby the same
843        real-server would always have the same weight, regardless of
844        the ldirectord.cf
845
846* Fri Sep 26 2003  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
847+ Version 1.1.3
848  + Bugfix for heartbeat starting resources twice concurrently if
849    auto_failback was set to "legacy".
850  + Bugfix for messages getting lost if messages were sent in quick
851    succession. (Kurosawa Takahiro)
852  + Bugfix for Filesystem resource checking for presence of filesystem
853    support before loading the module.
854  + BasicSanityCheck extended to cover more basic tests.
855  + Bugfix for findif not working correctly for CIDR netmasks.
856  + Minor bugfix for ldirectord recognizing new schedulers correctly and
857    timeout settings are now being honoured.
858  + Enhanced the message giving a better explanation of how to set up node
859    names properly when current node not found in the ha.cf file
860  + Send a message to the cluster whenever we have a node which doesn't
861    need STONITHing - even though it's gone down.  This fix needed
862    by CCM, which is in turn needed by EVMS.
863  + Enhanced the messages for missing ha.cf and missing haresources files
864    explaining that sample config files are found in the documentation.
865  + Fix for memory leak from Forrest Zhao<forrest.zhao@intel.com>
866  + Added a (preliminary?) ordered messaging facility from Yi Zhu
867  + FAQ updates
868  + Added Xinetd resource script
869  + Added OCF (wrapper) resource script
870  + Allow respawn programs to take arguments
871  + Added pinggroups (where any node being up is OK)
872  + fixed ldirectord negotiatetimeout for HTTP
873  + fixed a bug which caused -d flag to be ignored
874  + failing resource scripts are now ERRORs not WARNings
875  + now shuts down correctly when auto_failback == legacy
876
877
878* Mon Jul 13 2003  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
879+ Version 1.1.2
880  + Replaced the nice_failback option with the auto_failback option.
881        THIS OBSOLETES THE NICE_FAILBACK OPTION. READ THE DOCS FOR HOW
882        TO UPGRADE SMOOTHLY.
883  + Changed IPaddr to not do ARPs in background, and shortened time
884        between ARPs.  Also made these things tunable...
885  + changed our comm ttys to not become our controlling TTYs
886  + Enhanced the ServeRAID script to fix a critical bug by using a new feature
887  + Added a new DirectoryMap to CVS - tells where everything is...
888  + significantly enhanced the BasicSanityCheck script, and the tests
889        it calls.
890  + added a new option to use a replacement poll function for improved
891        real-time performance.
892  + added the ability to have a cluster node's name be different
893        from it's uname -n
894  + Moved where CTS gets installed to /usr/lib/heartbeat/cts
895  + Big improvements to the CTS README from IBM test labs in Austin.
896  + bug fixes to the WTI NPS power switch
897  + new client API calls:
898        return arbitrary configuration parameters
899        return current resource status
900  + Added a new clplumbing function: mssleep()
901  + added new capabilities for supporting pseudo-resources
902  + added new messages which come out after initial takeover is done
903         (improves CTS results)
904  + LOTS of documentation updates.
905  + fixed a security vulnerability
906  + fixed a bug where heartbeat would shut down while in the middle
907        of processing resource movement requests.
908  + changed compilation flags to eliminate similar future security
909        issues
910  + went to even-more-strict gcc flags
911  + fixed several "reload" bugs.  Now reload works ;-)
912  + fixed STONITH bug when other node never heard from.
913  + Minor bug fixes (cleaned up corrupted message)
914  + Two different client API bugs fixed.
915  + changed the configure script to test which warning flags are
916        supported by the current gcc.
917  + enhanced the API test program to test new capabilities...
918
919
920* Wed May 21 2003  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
921+ Version 1.1.1
922  + Significant restructuring of the processes in heartbeat
923  + Added a new feature to hb_standby which allows you to give up
924          any specific category of resources:  local, foreign, or all.
925        The old behavior is "all" which is the default.
926        This allows you to put a nice_failback cluster into
927          an active/active configuration
928  + Enhancements to the ServeRAID code to make it work with the new
929    (supported) version of IPSSEND from the ServeRAID folks...
930  + Added STONITH code for the Dell remote access controller
931  + Fixed a major bug which kept it from taking over correctly after 246
932        days or so
933  + Fixed a major bug where heartbeat didn't lock itself into memory
934        properly
935  + Added new ping node timeout directive "deadping"
936  + Made sure heartbeat preallocated stack and heap, and printed a
937        message if we allocate heap once we're started up...
938  + Minor heartbeat API bug fixes
939  + Minor documentation fixes
940  + Minor fix to allow IP addresses with /32 masks...
941  + Fixed a timing window for !nice_failback resource acquisition
942  + Added several CCM bug fixes
943  + Made the APC smart UPS ups code compatible with more UPSes
944  + Fixed a bug in respawn
945  + Enhanced internal checking for malloc errors...
946  + Added IP alias search optimization from Sean Reifscheneider
947
948* Wed Mar 19 2003  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
949+ Version 1.0.2:
950  + Fixed comment errors in heartbeat init script to allow it to run on RH 8.0
951  + Changed apphbd to use poll(2) instead of sigtimedwait(2)
952  + Put missing files into tarball
953  + Documentation improvements for IPaddr and other things
954  + Fixed an error in hb_standby which kept it from working if releasing
955    resources takes more than 10 seconds
956  + Added a fix to allow heartbeat to run on systems without writable disk
957    (like routers booting from CD-ROM)
958  + Added configuration file for apphbd
959  + Added fix from Adam Li to keep recoverymgr stop looping at high priority
960  + Added fix to ServeRAID resource to make it work with (new) supported
961    hardware
962  + Added Delay resource script
963  + Added fix to Filesystem to allow it to support NFS mounts and allow
964    user to specify mount options
965  + Added fix to IPaddr to make tmp directory for restoring loopback device
966  + Added fix to ipcsocket code to deal correctly with EAGAIN when sending
967    message body
968
969* Mon Feb 17 2003  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
970+ Version 1.0.1:
971  + Fixed some compile errors on different platforms, and library versions
972  + Disable ccm from running on 'ping' nodes
973  + Put in Steve Snodgrass' fix to send_arp to make it work on non-primary
974        interfaces.
975
976* Thu Feb 13 2003  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
977+ Version 1.0.1 beta series
978
979  0.4.9g:
980  + Changed default deadtime, warntime, and heartbeat interval
981  + Auto* tool updates
982  + VIP loopback fixes for IP address takeover
983  + Various Solaris and FreeBSD fixes
984  + added SNMP agent
985  + Several CCM bug fixes
986  + two new heartbeat API calls
987  + various documentation fixes, including documentation for ipfail
988  + Numerous minor cleanups.
989  + Fixed a few bugs in the IPC code.
990  + Fixed the (IPC) bug which caused apphbd to hang the whole machine.
991  + Added a new IPC call (waitout)
992  + Wrote a simple IPC test program.
993  + Clarified several log messages.
994  + Cleaned up the ucast communications plugin
995  + Cleaned up for new C compilers
996  + Fixed permissions bug in IPC which caused apphbd to not be usable by all
997  + Added a new rtprio option to the heartbeat config file
998  + updated apphbtest program
999  + Changed ipfail to log things at same level heartbeat does
1000
1001
1002* Sat Nov 30 2002  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
1003+ Version 0.5 beta series (now renamed to 1.0.1 beta series).
1004  0.4.9f:
1005  + Added pre-start, pre-stop, post-stop and pre-stop constructs in init script
1006  + various IPC fixes
1007  + Fix to STONITH behavior: STONITH unresponsive node right after we reboot
1008  + Fixed extreme latency in IPC code
1009  + various configure.in cleanups
1010  + Fixed memory leak in IPC socket code
1011  + Added streamlined mainloop/IPC integration code
1012  + Moved more heartbeat internal communication to IPC library
1013  + Added further support for ipfail
1014  + Added supplementary groups to the respawn-ed clients
1015  + Added standby to init script actions
1016  + Lots of minor CCM fixes
1017  + Split (most) resource management code into a separate file.
1018  + Fixes to accommodate different versions of libraries
1019  + Heartbeat API client headers fixup
1020  + Added new API calls
1021  + Simplified (and fixed) handling of local status.  This would sometimes cause
1022        obscure failures on startup.
1023  + Added new IPsrcaddr resource script
1024
1025  KNOWN BUGS:
1026  + apphbd goes into an infinite loop on some platforms
1027
1028* Wed Oct 9 2002  Alan Robertson <alanr@unix.sh> (see doc/AUTHORS file)
1029  0.4.9e:
1030  + Changed client code to keep write file descriptor open at all times
1031        (realtime improvement)
1032  + Added a "poll replacement"  function based on sigtimedwait(2), which
1033        should be faster for those cases that can use it.
1034  + Added a hb_warntime() call to the application heartbeat API.
1035  + Changed all times in the configuration file to be in milliseconds
1036        if specified with "ms" at the end.  (seconds is still the default).
1037  + Fixes to serious security issue due to Nathan Wallwork <nwallwo@pnm.com>
1038  + Changed read/write child processes to run as nobody.
1039  + Fixed a bug where ping packets are printed incorrectly when debugging.
1040  + Changed heartbeat code to preallocate a some heap space.
1041  + CCM daemon API restructuring
1042  + Added ipc_channel_pair() function to the IPC library.
1043  + Changed everything to use longclock_t instead of clock_t
1044  + Fixed a bug concerning the ifwalk() call on ping nodes in the API
1045  + Made apphbd run at high priority and locked into memory
1046  + Made a library for setting priority up.
1047  + Made ucast comm module at least be configurable and loadable.
1048  + Fixed a startup/shutdown timing problem.
1049
1050  0.4.9d:
1051  + removed an "open" call for /proc/loadavg (improve realtime behavior)
1052  + changed API code to not 1-char reads from clients
1053  + Ignored certain error conditions from API clients
1054  + fixed an obscure error message about trying to retransmit a packet
1055        which we haven't sent yet.  This happens after restarts.
1056  + made the PILS libraries available in a separate package
1057  + moved the stonith headers to stonith/... when installed
1058  + improved debugging for NV failure cases...
1059  + updated AUTHORS file and simplified the changelog authorship
1060        (look in AUTHORS for the real story)
1061  + Added Ram Pai's CCM membership code
1062  + Added the application heartbeat code
1063  + Added the Kevin Dwyer's ipfail client code to the distribution
1064  + Many fixes for various tool versions and OS combinations.
1065  + Fixed a few bugs related to clients disconnecting.
1066  + Fixed some bugs in the CTS test code.
1067  + Added BasicSanityCheck script to tell if built objects look good.
1068  + Added PATH-like capabilities to PILS
1069  + Changed STONITH to use the new plugin system.
1070  + *Significantly* improved STONITH usage message (from Lorn Kay)
1071  + Fixed some bugs related to restarting.
1072  + Made exit codes more LSB-compliant.
1073  + Fixed various things so that ping nodes don't break takeovers.
1074
1075  0.4.9c and before:
1076  + Cluster partitioning  now handled correctly (really!)
1077  + Complete rearchitecture of plugin system
1078  + Complete restructure of build system to use automake and port things
1079        to AIX, FreeBSD and solaris.
1080  + Added Lclaudio's "standby" capability to put a node into standby
1081        mode on demand.
1082  + Added code to send out gratuitous ARP requests as well as gratuitous
1083        arp replies during IP address takeover.
1084  + Suppress stonith operations for nodes which went down gracefully.
1085  + Significantly improved real-time performance
1086  + Added new unicast heartbeat type.
1087  + Added code to make serial ports flush stale data on new connections.
1088  + The Famous CLK_TCK compile time fixes (really!)
1089  + Added a document which describes the heartbeat API
1090  + Changed the code which makes FIFOs to not try and make the FIFOs for
1091        named clients, and several other minor API client changes.
1092  + Fixed a fairly rare client API bug where it would shut down the
1093        client for no apparent reason.
1094  + Added stonith plugins for: apcmaster, apcmastersnmp switches, and ssh
1095        module (for test environments only)
1096  + Integrated support for the Baytech RPC-3 switch into baytech module
1097  + Fixes to APC UPS plugin
1098  + Got rid of "control_process: NULL message" message
1099  + Got rid of the "controlfifo2msg: cannot create message" message
1100  + Added -h option to give usage message for stonith command...
1101  + Wait for successful STONITH completion, and retry if its configured.
1102  + Sped up takeover code.
1103  + Several potential timing problems eliminated.
1104  + Cleaned up the shutdown (exit) code considerably.
1105  + Detect the death of our core child processes.
1106  + Changed where usage messages go depending on exit status from usage().
1107  + Made some more functions static.
1108  + Real-time performance improvement changes
1109  + Updated the faqntips document
1110  + Added a feature to heartbeat.h so that log messages get checked as
1111        printf-style messages on GNU C compilers
1112  + Changed several log messages to have the right parameters (discovered
1113        as a result of the change above)
1114  + Numerous FreeBSD, Solaris and OpenBSD fixes.
1115  + Added backwards compatibility kludge for udp (versus bcast)
1116  + Queued messages to API clients instead of throwing them away.
1117  + Added code to send out messages when clients join, leave.
1118  + Added support for spawning and monitoring child clients.
1119  + Cleaned up error messages.
1120  + Added support for DB2, ServeRAID and WAS, LVM, and Apache (IBMhttp too),
1121    also ICP Vortex controller.
1122  + Added locking when creating new IP aliases.
1123  + Added a "unicast" media option.
1124  + Added a new SimulStart and standby test case.
1125  + Diddled init levels around...
1126  + Added an application-level heartbeat API.
1127  + Added several new "plumbing" subsystems (IPC, longclock_t, proctrack, etc.)
1128  + Added a new "contrib" directory.
1129  + Fixed serious (but trivial) bug in the process tracking code which caused
1130        it to exit heartbeat - this occured repeatably for STONITH operations.
1131  + Write a 'v' to the watchdog device to tell it not to reboot us when
1132        we close the device.
1133  + Various ldirectord fixes due to Horms
1134  + Minor patch from Lorn Kay to deal with loopback interfaces which might
1135        have been put in by LVS direct routing
1136  + Updated AUTHORS file and moved list of authors over
1137
1138* Fri Mar 16 2001  Alan Robertson <alanr@unix.sh>
1139+ Version 0.4.9
1140
1141  + Split into 3 rpms - heartbeat, heartbeat-stonith heartbeat-ldirectord
1142
1143  + Made media modules and authentication modules and stonith modules
1144        dynamically loadable.
1145
1146  + Added Multicast media support
1147  + Added ping node/membership/link type for tiebreaking.  This will
1148        be useful when implementing quorum on 2-node systems.
1149        (not yet compatible with nice_failback(?))
1150  + Removed ppp support
1151
1152  + Heartbeat client API support
1153
1154  + Added STONITH API library
1155    +   support for the Baytech RPC-3A power switch
1156    +   support for the APCsmart UPS
1157    +   support for the VACM cluster management tool
1158    +   support for WTI RPS10
1159    +   support for Night/Ware RPC100S
1160    +   support for "Meatware" (human intervention) module
1161    +   support for "null" (testing only) module
1162
1163  + Fixed startup timing bugs
1164  + Fixed shutdown sequence bugs: takeover occured before
1165        resources were released by other system
1166  + Fixed various logging bugs
1167  + Closed holes in protection against replay attacks
1168
1169  + Added checks that complain if all resources aren't idle on startup.
1170  + IP address takeover fixes
1171      + Endian fixes
1172      + Removed the 8-alias limitation
1173      + Takeovers now occur faster (ARPs occur asynchronously)
1174
1175  + Port number changes
1176    + Use our IANA port number (694) by default
1177    + Recognize our IANA port number ("ha-cluster") if it's in /etc/services
1178
1179  + Moved several files, etc. from /var/run to /var/lib/heartbeat
1180  + Incorporated new ldirectord version
1181  + Added late heartbeat warning for late-arriving heartbeats
1182  + Added detection of and partial recovery from cluster partitions
1183  + Accept multiple arguments for resource scripts
1184  + Added Raid1 and Filesystem resource scripts
1185  + Added man pages
1186  + Added debian package support
1187
1188* Fri Jun 30 2000 Alan Robertson <alanr@unix.sh>
1189+ Version 0.4.8
1190  + Incorporated ldirectord version 1.9 (fixes memory leak)
1191  + Made the order of resource takeover more rational:  Takeover is now
1192    left-to-right, and giveup is right-to-left
1193  + Changed the default port number to our official IANA port number (694)
1194  + Regularized more messages, eliminated some redundant ones.
1195  + Print the version of heartbeat when starting.
1196  + Print exhaustive version info when starting with debug on.
1197  + Hosts now have 3 statuses {down, up, active} active means that it knows
1198        that all its links are operational, and it's safe to send cluster
1199        messages
1200  + Significant revisions to nice_failback (mainly due to lclaudio)
1201  + More SuSE-compatibility. Thanks to Friedrich Lobenstock <fl@fl.priv.at>
1202  + Tidied up logging so it can be to files, to syslog or both (Horms)
1203  + Tidied up build process (Horms)
1204  + Updated ldirectord to produce and install a man page and be
1205    compatible with the fwmark options to The Linux Virtual Server (Horms)
1206  + Added log rotation for ldirectord and heartbeat using logrotate
1207    if it is installed
1208  + Added Audible Alarm resource by Kirk Lawson <lklawson@heapy.com>
1209    and myself (Horms)
1210  + Added init script for ldirectord so it can be run independently
1211    of heartbeat (Horms)
1212  + Added sample config file for ldirectord (Horms)
1213  + An empty /etc/ha.d/conf/ is now part of the rpm distribution
1214    as this is where ldirectord's configuration belongs (Horms)
1215  + Minor startup script tweaks.  Hopefully, we should be able to make core
1216    files should we crash in the future.  Thanks to Holger Kiehl for diagnosing
1217    the problem!
1218  + Fixed a bug which kept the "logfile" option from ever working.
1219  + Added a TestCluster test utility.  Pretty primitive so far...
1220  + Fixed the serial locking code so that it unlocks when it shuts down.
1221  + Lock heartbeat into memory, and raise our priority
1222  + Minor, but important fix from lclaudio to init uninited variable.
1223
1224* Sat Dec 25 1999 Alan Robertson <alanr@unix.sh>
1225+ Version 0.4.7
1226  + Added the nice_failback feature. If the cluster is running when
1227        the primary starts it acts as a secondary. (Luis Claudio Goncalves)
1228  + Put in lots of code to make lost packet retransmission happen
1229  + Stopped trying to use the /proc/ha interface
1230  + Finished the error recovery in the heartbeat protocol (and got it to work)
1231  + Added test code for the heartbeat protocol
1232  + Raised the maximum length of a node name
1233  + Added Jacob Rief's ldirectord resource type
1234  + Added Stefan Salzer's <salt@cin.de> fix for a 'grep' in IPaddr which
1235        wasn't specific enough and would sometimes get IPaddr confused on
1236        IP addresses that prefix-matched.
1237  + Added Lars Marowsky-Bree's suggestion to make the code almost completely
1238        robust with respect to jumping the clock backwards and forwards
1239  + Added code from Michael Moerz <mike@cubit.at> to keep findif from
1240        core dumping if /proc/route can't be read.
1241
1242* Mon Nov 22 1999 Alan Robertson <alanr@unix.sh>
1243+ Version 0.4.6
1244  + Fixed timing problem in "heartbeat restart" so it's reliable now
1245  + Made start/stop status compatible with SuSE expectations
1246  + Made resource status detection compatible with SuSE start/stop expectations
1247  + Fixed a bug relating to serial and ppp-udp authentication (it never worked)
1248  + added a little more substance to the error recovery for the HB protocol.
1249  + Fixed a bug for logging from shell scripts
1250  + Added a little logging for initial resource acquisition
1251  + Added #!/bin/sh to the front of shell scripts
1252  + Fixed Makefile, so that the build root wasn't compiled into pathnames
1253  + Turned on CTSRTS, enabling for flow control for serial ports.
1254  + Fixed a bug which kept it from working in non-English environments
1255
1256* Wed Oct 13 1999 Alan Robertson <alanr@unix.sh>
1257+ Version 0.4.5
1258  + Mijta Sarp added a new feature to authenticate heartbeat packets
1259        using a variety of strong authentication techniques
1260  + Changed resource acquisition and relinquishment to occur in heartbeat,
1261       instead of in the start/stop script.  This means you don't *really*
1262       have to use the start/stop script if you don't want to.
1263  + Added -k option to gracefully shut down current heartbeat instance
1264  + Added -r option to cause currently running heartbeat to reread config files
1265  + Added -s option to report on operational status of "heartbeat"
1266  + Sped up resource acquisition on master restart.
1267  + Added validation of ipresources file at startup time.
1268  + Added code to allow the IPaddr takeover script to be given the
1269        interface to take over, instead of inferring it.  This was requested
1270        by Lars Marowsky-Bree
1271  + Incorporated patch from Guenther Thomsen to implement locking for
1272        serial ports used for heartbeats
1273  + Incorporated patch from Guenther Thomsen to clean up logging.
1274        (you can now use syslog and/or file logs)
1275  + Improved FreeBSD compatibility.
1276  + Fixed a bug where the FIFO doesn't get created correctly.
1277  + Fixed a couple of uninitialized variables in heartbeat and /proc/ha code
1278  + Fixed longstanding crash bug related to getting a SIGALRM while in malloc
1279        or free.
1280  + Implemented new memory management scheme, including memory stats
1281
1282* Thu Sep 16 1999 Alan Robertson <alanr@unix.sh>
1283+ Version 0.4.4
1284  + Fixed a stupid error in handling CIDR addresses in IPaddr.
1285  + Updated the documentation with the latest from Rudy.
1286
1287* Wed Sep 15 1999 Alan Robertson <alanr@unix.sh>
1288+ Version 0.4.3
1289  + Changed startup scripts to create /dev/watchdog if needed
1290  + Turned off loading of /proc/ha module by default.
1291  + Incorporated bug fix from Thomas Hepper <th@ant.han.de> to IPaddr for
1292        PPP configurations
1293  + Put in a fix from Gregor Howey <ghowey@bremer-nachrichten.de>
1294        where Gregor found that I had stripped off the ::resourceid part
1295        of the string in ResourceManager resulting in some bad calls later on.
1296  +  Made it compliant with the FHS (filesystem hierarchy standard)
1297  +  Fixed IP address takeover so we can take over on non-eth0 interface
1298  +  Fixed IP takeover code so we can specify netmasks and broadcast addrs,
1299        or default them at the user's option.
1300  +  Added code to report on message buffer usage on SIGUSR[12]
1301  +  Made SIGUSR1 increment debug level, and SIGUSR2 decrement it.
1302  +  Incorporated Rudy's latest "Getting Started" document
1303  +  Made it largely Debian-compliant.  Thanks to Guenther Thomsen, Thomas
1304        Hepper, I単aki Fern叩ndez Villanueva and others.
1305  +  Made changes to work better with Red Hat 6.1, and SMP code.
1306  +  Sometimes it seems that the Master Control Process dies :-(
1307
1308* Sat Aug 14 1999 Alan Robertson <alanr@unix.sh>
1309+ Version 0.4.2
1310  + Implemented simple resource groups
1311  + Implemented application notification for groups starting/stopping
1312  + Eliminated restriction on floating IPs only being associated with eth0
1313  + Added a uniform resource model, with IP resources being only one kind.
1314        (Thanks to Lars Marowsky-Bree for a good suggestion)
1315  + Largely rewrote the IP address takeover code, making it clearer, fit
1316        into the uniform resource model, and removing some restrictions.
1317  + Preliminary "Getting Started" document by Rudy Pawul
1318  + Improved the /proc/ha code
1319  + Fixed memory leak associated with serial ports, and problem with return
1320        of control to the "master" node.
1321        (Thanks to Holger Kiehl for reporting them, and testing fixes!)
1322
1323* Tue Jul 6 1999 Alan Robertson <alanr@unix.sh>
1324+ Version 0.4.1
1325  + Fixed major memory leak in 0.4.0 (oops!)
1326  + Added code to eliminate duplicate packets and log lost ones
1327  + Tightened up PPP/UDP startup/shutdown code
1328  + Made PPP/UDP peacefully coexist with "normal" udp
1329  + Made logs more uniform and neater
1330  + Fixed several other minor bugs
1331  + Added very preliminary kernel code for monitoring and controlling
1332        heartbeat via /proc/ha.  Very cool, but not really done yet.
1333
1334* Wed Jun 30 1999 Alan Robertson <alanr@unix.sh>
1335+ Version 0.4.0
1336  + Changed packet format from single line positional parameter style
1337        to a collection of {name,value} pairs.  A vital change for the future.
1338  + Fixed some bugs with regard to forwarding data around rings
1339  + We now modify /etc/ppp/ip-up.local, so PPP-udp works out of the box
1340        (at least for Red Hat)
1341  + Includes the first version of Volker Wiegand's Hardware Installation Guide
1342        (it's pretty good for a first version!)
1343
1344* Wed Jun 09 1999 Alan Robertson <alanr@unix.sh>
1345+ Version 0.3.2
1346  + Added UDP/PPP bidirectional serial ring heartbeat
1347        (PPP ensures data integrity on the serial links)
1348  + fixed a stupid bug which caused shutdown to give unpredictable
1349        results
1350  + added timestamps to /var/log/ha-log messages
1351  + fixed a couple of other minor oversights.
1352
1353* Sun May 10 1999  Alan Robertson <alanr@unix.sh>
1354+ Version 0.3.1
1355  + Make ChangeLog file from RPM specfile
1356  + Made ipresources only install in the DOC directory as a sample
1357
1358* Sun May 09 1999 Alan Robertson <alanr@unix.sh>
1359+ Version 0.3.0
1360  + Added UDP broadcast heartbeat (courtesy of Tom Vogt)
1361  + Significantly restructured code making it easier to add heartbeat media
1362  + added new directives to config file:
1363    + udp interface-name
1364    + udpport port-number
1365    + baud    serial-baud-rate
1366  + made manual daemon shutdown easier (only need to kill one)
1367  + moved the sample ha.cf file to the Doc directory
1368
1369* Sat Mar 27 1999 Alan Robertson <alanr@unix.sh>
1370+ Version 0.2.0
1371  + Make an RPM out of it
1372  + Integrated IP address takeover gotten from Horms
1373  + Added support to tickle a watchdog timer whenever our heart beats
1374  + Integrated enough basic code to allow a 2-node demo to occur
1375  + Integrated patches from Andrew Hildebrand <andrew@pdi.com> to allow it
1376    to run under IRIX.
1377  - Known Bugs
1378    - Only supports 2-node clusters
1379    - Only supports a single IP interface per node in the cluster
1380    - Doesn't yet include Tom Vogt's ethernet heartbeat code
1381    - No documentation
1382    - Not very useful yet :-)
1383
1384###########################################################
Note: See TracBrowser for help on using the repository browser.