Actually disable authentication when cluster key is removed.
[clumanager.git] / ChangeLog
blob80dc105562af509f64f8eb1c8fd3ac2452dc2df1
1 2009-07-08 Lon Hohberger <lhh at redhat.com>
2         * src/daemons/clulockd.c: Fix remote lock starvation under load
3         * librhcm/auth_md5.c: Actually disable challenge/response when
4         cluster key is deleted.
6 2009-01-27 Lon Hohberger <lhh at redhat.com> 1.2.38
7         * Resolves: 348671
8         * src/locklib/clulock.c: Nuke triple-layer locking to improve
9         reliability.
10         * src/daemons/clulocktest.c: (Added) Utility for verifying cluster
11         mutual exclusion using clulock.c 
12         * src/daemons/cluquorumd.c: Retry on connection failures when 
13         calling vf_start
15 2008-08-14 Lon Hohberger <lhh at redhat.com> 1.2.37.2
16         * include/ping.h: Include new strerror report for ping errors
17         * include/sharedstate.h: Report lock master ID in lock blocks
18         * src/clulib/ping.c: Don't do DNS resolution if we are given an
19         address in dotted-quad format.  Add new strerror reporting for
20         ping errors.  Refactor STANDALONE debug build.
21         * src/daemons/clulockd.c: Store our ID in the lock block when we 
22         write it.  Include a bogus daemon ID if we are given a bogus daemon
23         ID when we write the lock to indicate this fact rather than
24         writing clusvcmgrd's ID of 1.
25         * src/daemons/clusvcmgrd.c: Fix noisy 'using normal priority'
26         message.
27         * src/daemons/cluquorumd_net.c: Refactor ping timing code to be 
28         more granular.  Fix bug where 'misses' were not reset when pings
29         succeeded like they should have been [critical].
30         * src/iolib/shutil.c: Report lock master ID in lock block output
31         * src/locklib/clulock.c: Make unlock retry code more robust.
32         * src/daemons/cluquorumd.c, clurmtab_lib.c, \
33         src/stonithlib/ipmilan.c, src/utils/clunfsops.c, \
34         librhcm/xmlconfig.c: Clean up compiler warnings on newer 
35         ersions of GCC
37 2008-01-10 Lon Hohberger <lhh at redhat.com> 1.2.37
38         * src/daemons/clusvcmgrd.c: Add 'stopping' state so other nodes
39         cannot start a service before it's fully stopped/disabled.  This
40         closes a hole where it was possible to have a partially stopped
41         service started on another node in the cluster. #428305
42         * src/utils/clustat.c: Override state in clustat -x to not break
43         redhat-config-cluster
44         * src/clulib/shared_services.c: Add STOPPING_STR to list of
45         strings.
46         * include/clusterdefs.h: Add SVC_STOPPING and SVC_STOPPING_STR
48 2008-01-07 Lon Hohberger <lhh at redhat.com>
49         * src/daemons/clulockd.c: Don't accept connections from nodes
50         we don't think are online, even if they're in the configuration
51         (#427577)
52         * src/clulib/vf.c: Increase the voting timeout
53         * src/daemons/cluquorumd.c: Decrease the VF start retry time
55 2007-10-31 Lon Hohberger <lhh at redhat.com>
56         * src/daemons/clusvcmgrd.c: Fix #360541 - if membership drops a node
57         before quorumd does, services are not failed over.
59 2007-10-19 Lon Hohberger <lhh at redhat.com>
60         * src/clulib/clist.c: Fix #333001 - fixes erroneous list deletion
61         during shutdown of cluquorumd.  This was causing cluquorumd to
62         crash in the exit path and not notifying clumembd, preventing
63         'service clumanager stop' from succeeding
64         * src/daemons/clumembd.c: Fix last-breath notification.
66 2007-06-14 Lon Hohberger <lhh at redhat.com>
67         * src/daemons/clusvcmgrd.c: Apply patch to fix #206149 from Josef
68         Bacik
70 2007-05-21 Lon Hohberger <lhh at redhat.com> 1.2.35.2
71         * src/daemons/clurmtabd.c: Fix crash bug causing clurmtabd to break
72         (#208995 redux)
74 2007-04-10 Lon Hohberger <lhh at redhat.com> 1.2.35.1
75         * src/daemons/clumembd.c: Apply patch to fix race in clumembd during
76         shutdown which could cause the watchdog to fire. #235933
78 2007-02-22 Lon Hohberger <lhh at redhat.com> 1.2.35
79         * src/services/svclib_nfs: Revert to 1.5 to fix NFS failover #226789
80         * src/services/svclib_filesystem: Add entry for vxfs #224427
81         * src/daemons/cluquorumd.c: Fix disk priority #211312
82         * src/daemons/clusvcmgrd.c: Add svc failure reporting #211311
83         * Several: Add reboot debugging option #211238
84         * init.d/clumanager: Add ability to set timeouts #209384
85         * src/daemons/clurmtabd.c: Fix subtree matching #208995
87 2007-01-11 Lon Hohberger <lhh at redhat.com>
88         * src/services/svclib_filesystem: Fix #212046
89         * Add reboot debug patch from #211238
90         * Add missing operational description.
92 2006-07-20 Lon Hohberger <lhh at redhat.com> 1.2.34
93         * src/services/svclib_filesystem: Correctly check for is_nfs_service
94         in svclib_filesystem
96 2006-06-22 Lon Hohberger <lhh at redhat.com> 1.2.33.2
97         * src/daemons/clusvcmgrd.c: Fix #194491 (original patch from Josef
98         Whiter)
99         * src/daemons/clumembd.c: Fix incorrect output of membership mask
100         in debug mode
102 2006-06-16 Lon Hohberger <lhh at redhat.com> 1.2.33.1
103         * src/services/svclib_filesystem, svclib_nfs: Tweaks on NFS export/
104         unexport
106 2006-06-13 Lon Hohberger <lhh at redhat.com> 1.2.33
107         * src/services/service, svclib_filesystem: Don't kill lockd on
108         start, and always unexport to world rather than individual clients
110 2006-05-26 Lon Hohberger <lhh at redhat.com>
111         * src/services/service, svclib_filesystem, svclib_nfslock: Change
112         ordering to drop locks before unexporting the fs
114 2006-05-04 Lon Hohberger <lhh at redhat.com>
115         * src/services/service, svclib_filesystem, svclib_nfslock: Add big
116         workaround to tell NFSd to drop locks on unmount if the file
117         system can not be unmounted and it is an NFS service.  Also add
118         quota support if specified in user options.
119         * src/daemons/clusvcmgrd.c: Negative maxrestarts values now
120         cause a service to immediately relocate.
122 2006-01-30 Lon Hohberger <lhh at redhat.com>
123         * include/quorumparams.h: Add parameter for cluquorumd to
124         make it not STONITH if disk is up when disk tiebreaker is
125         in use.
126         * src/daemons/cluquorumd.c: Allow use of cluquorumd%disk_quorum
127         * doc/man/cludb.8: Document toggle for disk quorum.
129 2006-01-20 Lon Hohberger <lhh at redhat.com> 1.2.31
130         * src/daemons/clumembd.c: Send last breath during shutdown to 
131         enable faster membership transitions when a node leaves cleanly
132         * src/daemons/clusvcmgrd.c: If we get a lock failure during shutdown,
133         switch to unclean shutdown for the rest of the services.  When 
134         shutting down services uncleanly, clean up all of them, not just
135         the ones we think we started.
137 2005-12-14 Lon Hohberger <lhh at redhat.com> 1.2.30.1
138         * src/daemons/cluquorumd_net.c: Don't zap the tiebreaker status
139         on one-node clusters during configuration.
141 2005-12-13 Lon Hohberger <lhh at redhat.com> 1.2.30
142         * src/services/svclib_filesystem: Get rid of tempfile + sorting
143         during start/stop of file systems; it's not needed (and cause
144         problems!)
145         * doc/man/cluforce.8, clustat.8: Update to include more clear
146         information on behaviors.
147         * librhcm/cm_api.h, quorum.c: Add new API for querying tiebreaker
148         information from the quorum daemon.
149         * src/daemons/cluquorumd.c: Add support for new QUORUM_QUERY_TB
150         message
151         * src/utils/clustat.c: Query the quorum daemon for tiebreaker
152         status if we're inquorate and provide (hopefully) more sane
153         messages to users.
155 2005-12-06 Lon Hohberger <lhh at redhat.com> 1.2.29
156         * src/services/svclib_svcdb, svclib_filesystem: ensure ID-based
157         ordering during mount, reversed-ID-based ordering during umount
159 2005-11-21 Lon Hohberger <lhh at redhat.com>
160         * doc/man/cludb.8: Fix primary_only to be broadcast_primary_only
161         as it should be (#173640)
163 2005-11-10 Lon Hohberger <lhh at redhat.com> 1.2.28.6
164         * include/msgsvc.h: Add msg_open_local, msg_accept_local,
165         msg_listen_local prototypes (#172894)
166         * src/clulib/msgsimple.c: Add local messaging to increase locking
167         performance (#172894)
168         * src/clulib/svc_db.c: Comment out silly debug log message when
169         we're returning NOT_FOUND for a given member.
170         * src/daemons/clulockd.c: Use local communications for better
171         performance (#172894).  Fix signal deadlock condition (#172893).
172         * src/daemons/clusvcmgrd.c: Add break to prevent segfault when
173         doing ops with services locked (#172735)
174         * src/locklib/clulock.c: Use local comms for better performance.
175         Retry during unlock phase to prevent FAULT() if a connection fails.
176         (#172894, #168665)
177         * src/services/svclib_filesystem: Use lsof -bn so we don't block
178         on gethostbyname() if DNS is down during force unmount (#171637)
179         * src/utils/cludb.c: Unlock in all cases to prevent erroneous
180         "Reclaiming lock from nonexistent PID messages" (#172894)
182 2005-07-28 Lon Hohberger <lhh at redhat.com> 1.2.28
183         * src/clulib/if_lookup.c: Don't check IPs of interfaces which
184         are not up.
186 2005-07-27 Lon Hohberger <lhh at redhat.com> 1.2.27pre3
187         * src/services/service: Add svclib_ip_netlink handling by
188         checking "clusvcmgrd%use_netlink".
189         * doc/man/cludb.8: document clusvcmgrd%use_netlink
190         * src/services/svclib_ip_netlink: Added.  Support using netlink
191         instead of using ifconfig.
193 2005-07-11 Lon Hohberger <lhh at redhat.com> 1.2.27pre1
194         * src/stonithlib/wti_nps.c: support passwords with length == 1
195         (#162564)
196         * src/stonithlib/apcmaster.c: Support newer AP9225 units
197         (#162966)
198         * doc/man/clusvcadm.8: Fix #151840: Incomplete man page for
199         clusvcadm
200         * src/utils/cluarp.c: Fix #160101: VIP not floating correctly 
201         on some routers.
203 2005-06-30 Lon Hohberger <lhh at redhat.com> 1.2.27pre0
204         * src/clulib/msgsimple.c: Add support for disabling ARP checking
205         (#155393)
207 2005-04-27 Lon Hohberger <lhh at redhat.com> 1.2.26.2
208         * src/stonithlib/pap.c: Use realistic timeouts.
210 2005-03-23 Lon Hohberger <lhh at redhat.com>
211         * src/stonithlib/ipmilan.c: Use realistic timeouts.
213 2005-03-02 Lon Hohberger <lhh at redhat.com>
214         * src/services/svclib_filesystem: Fix #149851 - svclib_filesysem
215         kills all processes in /mnt_foo and /mnt if /mnt is file system
217 2005-02-21 Lon Hohberger <lhh at redhat.com>
218         * src/services/svclib_globals, svclib_ip, svclib_svcdb: Make link
219         monitoring a per-IP configuration option, not a global one.
220         * doc/man/cludb.8: Remove clusvcmgrd%monitor_links
222 2005-02-13 Lon Hohberger <lhh at redhat.com>
223         * src/stonithlib/ipmilan.c: Fix host being nulled out if no password
224         specified.  Tell SpawnProcess to call setsid() so we don't have to
225         worry about ipmitool opening the controlling TTY
226         * src/stonithlib/expect.c, expect.h: Add support for EXP_NOCTTY and
227         EXP_STDERR flags.
229 2005-02-11 Lon Hohberger <lhh at redhat.com>
230         * doc/man/cludb.8: Document clusvcmgrd%monitor_links option.
231         * src/clulib/stonith_fence.c: Unlink option file only if it succeeds
232         (useful for debugging)
233         * src/services/svclib_globals, svclib_ip, svclib_svcdb: Make the
234         link monitoring a configuration option (default = off) so as not
235         to break any existing customer installations.
236         * src/stonithlib/Makefile, ipmilan.c: Implement IPMI support for
237         Tiger-4 systems (Bull NovaScale Tiger-4 primarily).
238         * src/stonithlib/*: Add option to redirect stderr on children
239         created with StartProcess() to stdout.
241 2005-02-07 Lon Hohberger <lhh at redhat.com>
242         * clumanager.spec.in: Misc fixes.
243         * src/clulib/stonith_config.c: Stop requiring support for every new
244         switch we support.  Instead, assume that the switch needs a
245         {device/ip, login, password} triple to log in.
246         * src/stonithlib/Makefile: Add bladecenter target.
247         * src/stonithlib/stelnet.c, stelnet.h: Add generic telnet functions
248         for future telnet-based STONITH modules. 
249         * src/stonithlib/bladecenter.c: Add support for IBM Blade Center
250         STONITH target.
252 2005-01-11 Lon Hohberger <lhh at redhat.com>
253         * clumanager.spec.in: Require iproute (for /sbin/ip)
254         * src/services/svclib_ip: Fix broken patch for #144488 which was
255         calling the 'ip' function of svclib_ip instead of /sbin/ip.
256         * src/services/svclib_log: Fix argument processing for test cases.
258 2005-01-07 Lon Hohberger <lhh at redhat.com> 1.2.23
259         * src/services/svclib_ip: Make link-state monitoring handle
260         bonded links for services. (#144488)
261         * src/stonithlib/pap.c: Fix bug causing incorrect syslog message
262         when waiting for STATE_ON
263         * src/clulib/stonith_fence.c: Unlink stonith config files after
264         use (#134735)
266 2005-01-05 Lon Hohberger <lhh at redhat.com>
267         * src/clulib/stonith_config.c: Add support for pap driver
268         * src/stonithlib/pap.c: Bull NovaScale pap (fame) STONITH driver.
270 2005-01-03 Lon Hohberger <lhh at redhat.com>
271         * src/daemons/clusvcmgrd.c: Fix signal-blocking passed to child
272         threads. #143867
274 2004-12-16 Lon Hohberger <lhh at redhat.com>
275         * src/clulib/shared_services.c: Retry when we get bogus info back
276         from raw reads of service blocks.  #120934
277         * src/clulib/ping.c: Fixed #135098 - wrong size of ping packets
278         being used; caused problems with some routers.
279         * init.d/clumanager: Fixed #134995 - no default case in init
280         script
281         * src/daemons/clumembd.c: Fix bug preventing processing of
282         broadcast heartbeat packets on different NIC paths.  Only
283         set logging facility at startup.
284         * src/daemons/cluquorumd.c, clurmtabd.c, clulockd.c: Only set
285         logging facility at startup.
286         * src/daemons/clusvcmgrd.c: Make sure we handle all waitpid()
287         cases properly; some error cases caused #137406.  Only set
288         logging facility at startup.
289         * src/services/svclib_ip: Add link-state monitoring to IP addresses
290         (#144488)
291         * src/services/svclib_log: Fix incorrect variable
293 2004-09-28 Lon Hohberger <lhh at redhat.com> 1.2.22
294         * src/clulib/clulog.c, src/daemons/*, src/utils/clufence.c,
295         src/utils/clulog.c: Support alternate logging facilities.
296         * src/daemons/clurmtabd.c, src/daemons/clurmtab_lib.c: Fix bugs
297         preventing proper failover/recovery of nodes in rmtab when multiple
298         devices + exports are used in conjunction with wildcards.
300 2004-09-22 Lon Hohberger <lhh at redhat.com> 1.2.21
301         * src/stonithlib/apcmaster.c: Add support for the APC 7900 switch
303 2004-09-22 Lon Hohberger <lhh at redhat.com> 1.2.20
304         * src/clulib/svc_db.c: Sync with new redhat-config-cluster for max
305         restarts/false starts in /etc/cluster.xml.
306         * doc/man/cludb.8: Add primary_only to documentation.
308 2004-09-21 Lon Hohberger <lhh at redhat.com> 1.2.19
309         * src/services/*: Minor bugfixes
311 2004-09-21 Lon Hohberger <lhh at redhat.com> 1.2.19pre1
312         * src/services/*: Fix for bugzilla #113080: sparse ID tags cause
313         services to break
315 2004-09-15 Lon Hohnerger <lhh at redhat.com>
316         * src/iolib/shutil.c: Automatically store cluster.xml whenever we run
317         'shutil -i'.
318         * src/daemons/cluquorumd.c: Don't start if we can't determine
319         our member ID.
321 2004-09-07 Lon Hohberger <lhh at redhat.com> 1.2.18
323 2004-09-03 Lon Hohberger <lhh at redhat.com> 1.2.18-pre2
324         * include/clusterdefs.h: Keep track of false starts + restarts so we
325         can relocate after a number of failed attempts.
326         * src/daemons/clusvcmgrd.c: Support max_false_starts and max_restarts
327         * src/clulib/svc_db.c: Add getters for max_false_starts and max_restarts
329 2004-09-02 Lon Hohberger <lhh at redhat.com> 1.2.18-pre1
330         * src/daemons/cluquorumd_net.c: Misc changes to make IPv4 TB behave
331         better.
332         * src/clulib/message.c: Display a message at DEBUG if getting ARP info
333         for an IP fails.
334         * src/clulib/ping.c: Add 'ICMP_ECHO' as a valid response.
335         * src/daemons/clusvcmgrd.c: Fix for double-resource alloc in corner
336         case (#131574)
337         * src/services/svclib_filesystem: Fix for lsof hang if other NFS file
338         systems are mounted (#131235)
340 2004-08-27 Lon Hohberger <lhh at redhat.com> 1.2.17(devel only)
341         * include/net_tie.h: Fixes for network tiebreaker (#130426)
342         * src/daemons/cluquorumd.c, cluquorumd_net.c: Fixes for network
343         tiebreaker (#130426)
344         * src/daemons/clumembd.c: Implemented 'primary-NIC' only mode
345         for broadcast heartbeat (#131006).  Incorporated fix for aliased
346         bonded ethernet devices (#129710).
348 2004-06-23 Lon Hohberger <lhh at redhat.com>
349         * src/clulib/vf.c: Fix bug causing infinite loop in VF child process
350         in the event of timeout (#126316)
352 2004-06-09 Lon Hohberger <lhh at redhat.com> 1.2.16
353         * src/stonithlib/gulm-bridge.c: Increase cycle-timeout for when 
354         a gulm master node fails and it's part of the clumanager cluster.
355         Make sure we handle the "logged out" gulm state.
357 2004-06-08 Lon Hohberger <lhh at redhat.com>
358         * src/stonithlib/gulm-bridge.c: Fix logout when we're not logged in.
359         Make sure we pass empty string instead of NULL.
361 2004-06-02 Lon Hohberger <lhh at redhat.com> 1.2.15
362         * src/daemons/clusvcmgrd.c: Add support for displaying service-lock
363         state for clusvcadm
364         * src/utils/clusvcadm.c: Same.
366 2004-05-10 Lon Hohberger <lhh at redhat.com>
367         * src/stonithlib/gulm-bridge.c: Pass in empty string instead of 
368         NULL pointer to lg_initialize
370 2004-05-04 Lon Hohberger <lhh at redhat.com>
371         * src/daemons/cluquorumd: Allow loss of quorum in clean-exit cases
372         w/o STONITH devices (#122364)
373         * src/daemons/clusvcmgrd: Make clusvcmgrd relocate services it
374         can't run b/c of restricted failover domain (#122441)
376 2004-04-14 Lon Hohberger <lhh at redhat.com> 1.2.13
377         * include/quorumparams.h: Add "cluquorumd%ignore_gulm" parameter
378         * src/daemons/cluquorumd.c: Add monitor code for lock_gulmd when
379         a member is controlled by lock_gulmd's fencing.
380         * librhcm/auth_md5.c: Bump timeout up a few seconds.
381         * src/clulib/stonith_fence.c, stonith_config.c: Add gulm-bridge
382         support (needs 0 configuration)
383         * src/clulib/stonith_driverload.c: Fix log message.
384         * src/clulib/msgsimple.c: Use TCP_NODELAY if possible, since we're
385         sending miniscule messages frequently.
386         * src/iolib/raw/large.c: Import patch from Bugzilla #120085 for AMD64
387         support.  Thanks to Phillip Sorensen.
388         * src/locklib/clulock.c: Increase timeout a few seconds.
389         * src/stonithlib/Makefile: Add gulm-bridge.so to distribution.
390         * src/stonithlib/gulm-bridge.c: Added.  Talk to GuLM about fencing
391         nodes.
393 2004-03-09 Lon Hohberger <lhh at redhat.com> 1.2.12
394         * doc/man/cluforce.8: Updated to fix broken sentence.
395         * doc/man/cludb.8: Added documentation of "cluquorumd%allow_soft"
396         * src/daemons/cluquorumd.c: Added handling of "cluquorumd%allow_soft"
397         Fixed log messages around tie-breakers so people know when they are
398         being used.
399         * src/daemons/cluquorumd_disk.c: Fixed up log messages to be uniform
400         with other tie-breaker methods.
402 2004-03-08 Lon Hohberger <lhh at redhat.com> 1.2.11
403         * All: Build for U2
405 2004-02-25 Lon Hohberger <lhh at redhat.com>
406         * doc/man/cluquorumd.8: Updated.
407         * doc/man/cluforce.8: Documents 'cluforce' command.
408         * include/quorum.h: Add QUORUM_FORCE message definition.
409         * src/daemons/clumembd.c: Fixed loop in clumembd preventing heartbeat
410         receives from occurring naturally.
411         * src/daemons/cluquorumd.c: Add handling for QUORUM_FORCE message &
412         change default behavior to not allow formation of a quorum off of
413         the tiebreaker IP unless operator intervention occurs (#116012)
414         * src/utils/cluforce.c: Added; sends QUORUM_FORCE message to quorum
415         daemon.
417 2004-02-24 Lon Hohberger <lhh at redhat.com>
418         * src/stonithlib/gulm.c: Added STONITH-GuLM bridge code.
420 2004-02-20 Lon Hohberger <lhh at redhat.com>
421         * src/clulib/stonith_fence.c: Fix for #116380.
423 2004-02-06 Lon Hohberger <lhh at redhat.com>
424         * src/daemons/clumembd.c: Fix for #114653.  Reorganized some code
425         as it was *very* unclear as to how it worked WRT binding to
426         heartbeat broadcast & multicast addresses.
427         * doc/clumanager-1.2.dia: Added.  Basic start/message/monitoring
428         diagram.
430 2004-02-05 Lon Hohberger <lhh at redhat.com>
431         * src/services/svclib_filesystem: Port of patch to fix lsof vs.
432         losf bug preventing force umount w/lsof.
433         * src/locklib/clulock.c: Quiet down useless message and make it
434         more useful.
435         * src/daemons/clulockd.c: Fix broken log message
437 2004-02-02 Lon Hohberger <lhh at redhat.com>
438         * src/services/*: Fix logic problem preventing ret_val from getting
439         set properly.
440         * src/servvices/svclib_filesystem: Change behavior when dealing
441         with GFS
443 2004-01-28 Lon Hohberger <lhh at redhat.com>
444         * src/services/svclib_filesystem, svclib_device: Import from 1.0.x
445         tree fixing missing backslashes (#114435)
447 2004-01-23 Lon Hohberger <lhh at redhat.com>
448         * src/daemons/clusvcmgrd_cfg.c: Handle mis-read of shared configuration
449         header as a disk error (#113226).
451 2004-01-16 Lon Hohberger <lhh at redhat.com> 1.2.9
452         * src/daemons/clulockd.c: Retry in case the lock server is responding
453         slowly, but is reachable.
454         * src/daemons/cluquorumd.c: Change mean and nasty "PANIC" message.
455         * src/daemons/clusvcmgrd.c: Fix for services starting on both
456         members if high node ID started first followed by low node ID.
458 2003-12-16 Lon Hohberger <lhh at redhat.com> 1.2.7
459         * include/clu_lock.h: Added prototype for lock_set_quorum_view()
460         * include/sharedstate.h: Changed lb_align to lb_incarnation.  Although
461         'incarnation' is the view of quorum (which is 64-bits wide), we need
462         to use a 32-bit space to store it to preserve rolling upgrade.
463         * src/daemons/clulockd.c: Added code to store and check cluster
464         quorum incarnation numbers.  We reject lock requests from newer
465         quorum incarnations (to eliminate a race with the service manager).
466         The incarnation is set when we receive a quorum event.
467         * src/daemons/clusvcmgrd.c: Added code to store cluster quorum
468         incarnation number in lock code to avoid race condition with lock
469         daemon which prevented service failover in some cases when we yank
470         the cable to shared storage.
471         * src/locklib/clulock.c: Added code to store and send cluster quorum
472         incarnation in lock messages to clulockd.
474 2003-12-11 Lon Hohberger <lhh at redhat.com>
475         * doc/man/cluquorumd.8: Fixed spelling error and missing 'committed'
476         word.
478 2003-11-14 Lon Hohberger <lhh at redhat.com> 1.2.6
479         * clumanager.spec.in: Updated.
481 2003-11-11 Lon Hohberger <lhh at redhat.com>
482         * src/daemons/cluquorumd.c: Fix other case for #109037 (split brain
483         using disk tie-breaker during network partition).  Ensure we check
484         the disk states even if we receive no network messages (as expected)
486 2003-11-07 Lon Hohberger <lhh at redhat.com>
487         * librhcm/man/cm_event_data.3: Ref. cm_event_io instead of cm_events
489 2003-11-05 Lon Hohberger <lhh at redhat.com> 1.2.5
491 2003-11-04 Lon Hohberger <lhh at redhat.com>
492         * src/daemons/cluquorumd_disk.c: Ensure we run the disk status
493         check when we don't have a membership view showing one member.
494         * src/daemons/cluquorumd.c: Fix for #109037 (split brain using disk
495         tie-breaker during network partition).  Check correct data structure
496         for newly-formed quorum status instead of old view.
498 2003-11-03 Lon Hohberger <lhh at redhat.com>
499         * src/daemons/clumembd.c: Handle "ifdown" and other problems with
500         sending multicast packets (ie, interface goes away) like we should.
501         Ensure we update our tables when we commit a view.
503 2003-10-28 Lon Hohberger <lhh at redhat.com>
504         * src/services/svclib_ip, svclib_filesystem:  Implement status
505         checks for filesystems and IP addresses (previously were no-ops).
506         (#108148)
508 2003-10-16 Lon Hohberger <lhh at redhat.com> 1.2.4
509         * src/daemons/cluquorumd.c: Add case-handler for when we lose
510         the IP-based tiebreaker and we are in the lesser-half of members.
511         Also, don't start the disk thread when the tie-breaker is in use.
512         (This wastes resources).  (#107274, #107276)
513         * src/daemons/clurawtest.c: Add clurawtest to CVS; minor tweaks.
515 2003-10-14 Lon Hohberger <lhh at redhat.com>
516         * src/stonithlib/rps10.c: Port of fix for #103721
518 2003-10-08 Lon Hohberger <lhh at redhat.com>
519         * doc/man/cluarp.8, clubufflush.8, cludb.8, clufindhostname.8,
520         clugetconfig.8, clukey.8, clulog.8, clunfsops.8: Added.  Documents
521         internal commands with appropriate warnings (ie, "WARNING: Doom
522         awaits you if you run this!"). (#106465)
523         * doc/man/clumembd.8: Incorporate/fix unclarity.
525 2003-10-06 Lon Hohberger <lhh at redhat.com> 1.2.3
526         * init.d/clumanager: Fix the "Quorum Service are stopped [FAILED]"
527         bug
528         * src/daemons/clumembd.c: Fix for #106107 - cluster reboots when
529         configuration changed.
531 2003-10-02 Lon Hohberger <lhh at redhat.com>
532         * init.d/clumanager: Bugzilla #106001: Feature which causes
533         clumanager to open firewall ports in a firewall as configured by
534         redhat-config-securitylevel.
535         * clumanager.kdevprj: Removed
537 2003-09-15 Lon Hohberger <lhh at redhat.com> 1.2.2
538         * src/services/svclib_filesystem: Mountpoint issue causing
539         noise with loglevel of service manager set to LOG_INFO or LOG_DEBUG
541 2003-09-11 Lon Hohberger <lhh at redhat.com> 1.2.1
542         * src/daemons/clusvcmgrd.c: Report actual running member back to
543         caller.
544         * src/services/svclib_filesystem: Do the proper check (-e, not -f)
545         for the directory.
546         * src/services/svclib_samba: Properly detect commented-out
547         "netbios name" in /etc/samba/smb.conf.<sharename>
548         * src/utils/clustat.c: bugfix: report invalid member/service name
549         * src/utils/clusvcadm.c: Report actual member service started on/
550         relocated-to back to caller.
552 2003-09-09 Lon Hohberger <lhh at redhat.com> 1.1.85, 1.2.0
553         * Tiny service manager tweak.
555 2003-09-08 Lon Hohberger <lhh at redhat.com> 1.1.84
556         * src/utils/syscall.h, clunfsops.c: Changed to build with hacked up
557         kernel includes.
559 2003-09-08 Lon Hohberger <lhh at redhat.com> 1.1.83
560         * Global: Comment sanitizing.
561         * clumanager.spec.in: Add automatic-restart upon RPM upgrade.
562         * include/clulog.h: Change default log level to LOG_NOTICE.
563         * include/vf.h: Move getuptime() into vf.c
564         * init.d/clumanager: Add default runlevels.  Add 'condrestart' phase.
565         * doc/ReleaseNotes: Updated.
566         * doc/services/Makefile: Don't install mysql.server; use the default init
567         script shipped with RHEL.
568         * src/clulib/vf.c: Move getuptime() here from clumembd.c.  Use getuptime()
569         instead of gettimeofday().  Remove unused fds created with pipe().
570         * librhcm/cm_api.h: Bump max members from 6 to 16.
571         * librhcm/membership.c: Stow away the local member ID; reduces load on 
572         clumembd
573         * src/daemons/clulockd.c: Clean-ups.  Handle recursive lock attempts.  Restart
574         in some error cases.
575         * src/daemons/clumembd.c: Clean up handling of when we should update.
576         Fixed bug causing infinite retry-loop when strict voting was enabled.
577         * src/daemons/clumembd_watchdog.c: Fix watchdog duration to be less than
578         failover time.
579         * src/daemons/cluquorumd.c: Change exit mask to keep bits on until a member
580         comes online again.  Base next-check time on time we finish     the current power 
581         switch check (avoids some mid-air collisions on power switches).  Don't allow 
582         spawning of multiple power switch check children.  Clean up old VF pipe stuff.
583         * src/daemons/cluquorumd_disk.c: We were supposed to need a 3 tko_count
584         for disk pinging, not 4.
585         * src/daemons/clusvcmgrd.c: Fix fork()-exit bug leaving around multiple
586         service managers.  Quiet down failback error messages to prevent alarm.
587         * src/iolib/raw/ops.c: Remove "Min Size" display in version string.
588         * src/locklib/clulock.c: Use cached local node ID.
589         * src/stonithlib/apcmaster.c, servertech.c, wti_nps.c: Exponential backoff 
590         on login failure. (Reduces log noise from contention on power switches).
591         * src/utils/clusvcadm.c: Fix bug where stopping a disabled service would
592         cause it to enable.
594 2003-09-02 Lon Hohberger <lhh at redhat.com> 1.1.82
595         * librhcm/apitcp.c: Minor cleanup
596         * src/clulib/shared_services.c: Add missing shared medium error handler.
597         * src/clulib/vf.c: Set all peer fds to -1 instead of 0.  Fixes two 
598         otherwise strange problems.
599         * src/daemons/clulockd.c: Fix shared medium error handling.
600         * src/daemons/cluquorumd.c: Tweaks for daemon monitoring.
601         * src/daemons/cluquorumd_disk.c: Fix shared medium error handling.
602         * src/daemons/clusvcmgrd.c: Tweaks for daemon monitoring.
603         * src/daemons/clusvcmgrd_cfg.c: Fix shared medium error handling.
605 2003-08-26 Lon Hohberger <lhh at redhat.com> 1.1.81
606         * src/daemons/clumembd.c: Add 'getuptime()'.  Use uptime to
607         calc. timeouts; prevents gettimeofday() problems (ie, changing
608         clock!)
609         * src/daemons/cluquorumd.c: Increase loop duration.  Fix/add 
610         daemon monitoring/restarting.
611         * src/daemons/clusvcmgrd.c: Add grace period when we lose
612         connection to cluquorumd; reboot if we can't reconnect (very
613         bad thing)
614         * src/iolib/header.c: Ensure we return a valid CRC in the 
615         header field.
616         * src/iolib/raw/Makefile: Add test namespace program build.
617         * src/iolib/raw/large.c: Add CRC + header checking.  Fix
618         mirror-rebuild code.
619         * src/iolib/raw/rawio.c: Fix mirror-rebuild code.
620         * src/services/svclib_filesystem: Make mount point for a device
621         if it doesn't exist.
622         * src/services/svclib_nfs: Monitor "clurmtabd" when performing
623         a service status check.
624         * src/stonithlib/apcmaster.c: Made it work correctly with AP9212
625         and AP9225 in user + admin modes.
626         * src/stonithlib/expect.c: Don't assume 0 and 1 are NOT
627         contained in the pipes we just created.
629 2003-08-20 Lon Hohberger <lhh at redhat.com>
630         * init.d/clumanager: Fixed status reporting causing the GUI to
631         fail on starting local daemons.
632         * src/daemons/clumembd.c: Restart watchdog on SIGHUP (So a
633         user can disable watchdog on a cluster member...)
635 2003-08-13 Lon Hohberger <lhh at redhat.com> 1.1.80
636         * librhcm/md5.c: PPC fix
638 2003-08-13 Lon Hohberger <lhh at redhat.com> 1.1.79
639         * include/vf.h: Add vf_start flags.  Remove unused viewno
640         argument.
641         * librhcm/api.c: Don't return ENOSYS on an invalid argument.
642         Increase timeout for reading an event.
643         * librhcm/auth_md5.c: Don't rely on /dev/random for the
644         challenge data; it runs the system out of entropy very fast
645         in a busy cluster!
646         * librhcm/xmlwrap.c: Check return code of sh_write_atomic()
647         * src/clulib/msgsimple.c: Close the socket if the server does
648         not allow the connection.
649         * src/clulib/vf.c: Add vf_running() function to see if VF
650         is running on a given key.  Prevents deadlock in the quorum
651         daemon.  Make connections after the fork.  Add handling of
652         operational flags.
653         * src/daemons/clumembd.c: Fix VF behavior.
654         * src/daemons/cluquorumd.c: Spawn membership daemon prior to
655         determining disk states.  Check disk states only if VF
656         isn't running; prevents deadlock.
657         * src/daemons/cluquorumd_disk.c: Just check once for disk
658         states; no need to do the full cycle.
659         * src/daemons/clusvcmgrd.c: Change loglevel for failed
660         service to WARNING from NOTICE.  Avoid deadlock during
661         startup (two members trying to auth a failback req
662         simultaneously).
663         * src/daemons/clusvcmgrd_cfg.c: Use memcmp to compare all
664         contents of header to see if it changed.
665         * src/utils/Makefile: Change build reqs. for cludb, clukey
666         so that we can write to shared storage if we change the config.
667         * src/utils/clukey.c, cludb.c: Write to shared storage if we
668         change the local config.  Ran cludb.c through indent.
669         * src/utils/clustat.c: Change wording so as not to confuse
670         "view number" with config view number.
672 2003-08-11 Lon Hohberger <lhh at redhat.com> 1.1.78
673         * librhcm/auth_md5.c: Added Doxygen comments.
674         * librhcm/binhex.c: Added.  Change bin->ascii/hex and back.
675         * librhcm/Makefile: binhex.c integration.
676         * librhcm/apitcp.c: binhex.c integration for cluster key.
677         * src/clulib/msgsimple.c: binhex.c integration for cluster key.
678         * src/utils/clukey.c: Added.  Generate/remove global cluster key
679         and bump cluster config view number.
680         * src/utils/Makefile: clukey integration.
682 2003-08-11 Lon Hohberger <lhh at redhat.com> 1.1.77
683         * librhcm/Makefile, xmlwrap.[ch], xmlconfig.[ch]: Moved to librhcm
684         from src/xmllib so that we can retrieve stuff from /etc/cluster.xml.
685         Changed license on xml*.[ch] to LGPL.
686         * librhcm/apitcp.c: Auth-md5 integration.
687         * librhcm/auth_md5.c: Don't open /dev/random until we *need* it
688         (ie, issuing a challenge). Add write()/read() so that the server
689         tells us if we're authenticated instead of waiting for a closed
690         socket.
691         * librhcm/auth_md5.h: Add newline at end of file.
692         * src/Makefile: Don't enter xmllib; it's attic material.
693         * src/clulib/msgsimple.c: Auth-MD5 integration.
694         * src/clulib/vf.c: Connect locally *after* fork().  We need
695         to be able to process auth stuff.
696         * src/daemons/Makefile: Changed to reflect new location of
697         xml config stuff.
698         * src/iolib/raw/Makefile: Changed to reflect new location of
699         xml config stuff.
700         * src/iolib/sfs/Makefile: Changed to reflect new location of
701         xml config stuff.
702         * src/iolib/utils/Makefile: Changed to reflect new location of
703         xml config stuff.
705 2003-08-08 Lon Hohberger <lhh at redhat.com> 1.1.76
706         * src/daemons/clumembd.c: Fixed membership.  Make "-d" cause the
707         loglevel to *never* be set.
708         * src/daemons/clulockd.c: Initialize/deinit shared storage subsys
709         when we gain/lose quorum.
711 2003-08-08 Lon Hohberger <lhh at redhat.com> 1.1.75
712         * include/clushared.h: Changed to add support for "stat(2)" like
713         member function.  Removed "size" function.
714         * include/membership.h, vf.h: Changed #defines to match VF protocol
715         naming.
716         * include/sharedstate.h: Moved structure of SharedHeader to
717         membership.h
718         * librhcm/Makefile: Added md5.o, auth_md5.o as build targets.
719         Added auth test targets.
720         * librhcm/md5.c, md5.h: Added Colin Plumb's MD5 code.
721         * librhcm/auth_md5.c, auth_md5.h: Added simple challenge/response
722         authentication code.
723         * src/clulib/Makefile, msgsimple.c: Removed fdlist stuff,
724         cleaned up obsolete #ifdefs.
725         * src/clulib/vf.c: Cleaned up language to match VF protocol.
726         * src/daemons/clulockd.c: Read from local config instead of
727         shared state (so we don't need to know if there is a quorum
728         first)
729         * src/daemons/clumembd.c: Move vars to static if they're private.
730         Ensure we force a membership event when the number of members
731         changes (causing a quorum recalculation).
732         * src/daemons/cluquorumd_disk.c: Ensure disk detection time is
733         less than membership detection time.
734         * src/daemons/clusvcmgrd.c, clusvcmgrd_cfg.c: Check shared
735         storage's view of cluster config periodically (just in case a
736         config-update message gets lost).
737         * src/iolib/header.c: Use swab() macros.  Add support for
738         new metadata fields.
739         * src/iolib/io_driver.c, shutil.c: Add support for stat-like
740         function.
741         * src/iolib/raw/ops.c: Add support for stat-like function.
742         * src/sfs/ops.c: Add support for stat-like function.
743         * src/utils/cludb.c: Port to stat-like function from sh_size.
744         * src/xmllib/xmlwrap.c: Port to stat-like function from sh_size.
746 2003-07-24 Lon Hohberger <lhh at redhat.com> 1.1.74
747         * src/services/svclib_user: Service scripts can legally return
748         an error code if they're stopped when not running.  Add a status
749         check to verify that the script _stopped_ and didn't break during
750         the stop phase.
751         
752 2003-07-23 Lon Hohberger <lhh at redhat.com>
753         * src/services/svclib_nfs: Ensure that null options are treated
754         as "None".  Don't print funny XXX message when someone specifies
755         invalid export options.
756         * src/daemons/clusvcmgrd.c: Only mark as FAILED if we actually
757         fail a start,stop pair of operations during a check/relocate/start
758         operation.
760 2003-07-21 Lon Hohberger <lhh at redhat.com>
761         * doc/man/clusvcadm.8, clufence.8, clustat.8: Removed references to
762         cluconfig.
764 2003-07-10 Lon Hohberger <lhh at redhat.com> 1.1.73
765         * include/svcmgr.h, src/daemons/fo_domain.c: Implemented pseudo-fuzzy
766         logic about whether a member should start a service.
767         * src/clulib/fdops.c: Added checking for exceptions on sockets; ran
768         through indent.
769         * src/daemons/cluquorumd.c: Increased start_vf timeout (reduces
770         warnings in 2-member disk-tiebreaker clusters).  Send shutdown
771         message before killing off processes.
772         * src/daemons/clusvcmgrd.c: Integration with new failover-domain
773         logic.  Fixed segfault around relocating failed service.  Ensure
774         we don't clobber a service's previous owner when it goes to the
775         FAILED state.
776         * src/daemons/clusvcadm.c: Ensure we don't accidentally enable
777         while attempting to disable.
779 2003-07-01 Lon Hohberger <lhh at redhat.com> 1.1.72
780         * src/utils/clusvcadm.c: Handle relocate of disabled service as
781         start.
783 2003-06-27 Lon Hohberger <lhh at redhat.com> 1.1.71
784         * doc/man/clustat.8, clusvcadm.8: Updated.
785         * include/svcmgr.h: Added SVC_LOCK/SVC_UNLOCK messages to prevent
786         restarting of services during a global shutdown.
787         * src/daemons/clusvcmgrd.c: Added handlers & logic for SVC_LOCK,
788         SVC_UNLOCK, and behavior surrounding being service-locked.
789         * src/utils/Makefile: Added support for clushutdown.
790         * src/utils/clustat.c: Added -Q option (return quorum to shell)
791         * src/utils/clusvcadm.c: Added -l, -u support (for clushutdown) to
792         lock/unlock service managers for clean shutdown.
794 2003-06-27 Lon Hohberger <lhh at redhat.com> 1.1.70
795         * include/clu_lock.h: Changed to hex numbers; added LOCK_LOST_QUORUM
796         for unclean service shutdown during remaining services.
797         * src/clulib/msgsimple.c: Strengthened MAC address authentication.
798         If not local and no ARP info. is available, drop the connection.
799         * src/daemons/clulockd.c: Changed behavior after quorum loss to return
800         LOCK_QUORUM_LOST message.
801         * src/daemons/cluquorumd.c: Killed log message in signal handler
802         so futex doesn't blow up.  Added sigterm flag so that we don't reboot
803         members which don't have STONITH devices if they were on their way
804         down.
805         * src/daemons/clusvcmgrd.c: Fixed SVC_STOP request handling.  Added
806         flag for sigterm; removed call to clulog in signal handler for
807         SIGCHLD.  Added checks for sigterm_received in init_services() and
808         main().
809         * src/locklib/clulock.c: Added support for LOCK_LOST_QUORUM message
810         from clulockd.  If this message is received, we return ENOLCK.
811         Changed return value for lock held to 'EBUSY'; EAGAIN is used to
812         signify that we haven't yet gained quorum.
813         * src/utils/clusvcadm.c: Add "hidden" capability to stop services
814         (ie, make them restart after a node transition).
816 2003-06-25 Lon Hohberger <lhh at redhat.com> 1.1.69
817         * src/daemons/clusvcmgrd.c: Handle relocate->local as restart
818         * src/utils/clusvcadm.c: Handle relocate->local as restart
819         * src/clulib/if_lookup.c: Fix build bug
821 2003-06-25 Lon Hohberger <lhh at redhat.com> 1.1.68
822         * src/daemons/clumembd.c: Don't try to bind heartbeat sockets to
823         slave interfaces.
824         * src/clulib/if_lookup.c: Don't look for an IP/hostname on slave
825         interfaces.
826         * src/services/svclib_ip: Check for the SLAVE flag in ifconfig;
827         don't bind service IPs to SLAVE interfaces.
829 2003-06-24 Lon Hohberger <lhh at redhat.com> 1.1.67
830         * src/daemons/cluquorumd_disk.c: iolib fix.
831         * src/clulib: Minor build/pool cleanup.
832         * src/services/svclib_samba: Remove /var/run/samba/<share> and
833         /var/cache/samba/<share> on samba service stop.
835 2003-06-24 Lon Hohberger <lhh at redhat.com> 1.1.66
836         * global: Include example scripts in
837         /usr/share/doc/clumanager-<v>/examples
838         * init.d/clumanager: Add the watchdog timer functionality from 1.0.x.
839         Ensure we don't kill clumembd arbitrarily - give it time to properly
840         shut down.
841         * src/daemons/clumembd_watchdog.c: Fixes to make it watchdog timers
842         work properly.
843         * src/daemons/cluquorumd.c: Use 'killall' function instead of
844         findproc/kill().  Ensure signal handlers are set properly.  Ensure
845         we don't break debug loglevel if -d is specified.
846         * src/daemons/clusvcmgrd.c: Ensure we try to stop all services in the
847         exit path - even if locks blow up (ie, global shutdown).
848         * src/locklib/clulock.c, Makefile: Lock directory cleanups (now use
849         /var/lock/clumanager).  Only open the lock files if we're trying to
850         take the lock - having N lock files open all the time uses up lots
851         of file descriptors.
852         * src/services/service: Add a little flag to see if we cleanly stop
853         or start a service.
854         * src/iolib/raw/diskutils.c, alignedbuf.c: Set CLOEXEC flag on our
855         file descriptors so that we don't have extra fds laying around in
856         children.
857         * src/stonithlib/wti_nps.c, apcmaster.c, rps10.c, servertech.c, 
858         baytech.c: Close the RPC config file when we're done with it...
860 2003-06-23 Lon Hohberger <lhh at redhat.com> 1.1.65
861         * Fixed clustat errors.
862         * Fixed minor bug in membership alg. which caused split-brain
863         in some cases (where "need_update" was set but not coordinator).
864         * Fixed cases in service manager where last_owner field wasn't
865         getting set properly during boot.
867 2003-06-23 Lon Hohberger <lhh at redhat.com> 1.1.64
868         * Fixed error bug when cluster isn't configured and someone
869         tries to start/stop it.
870         * Misc namespace cleanups.
871         * Changed 'NodeStatusBlock' to 'PartStatusBlock'; someday it may
872         allow multi-node partitions.
873         * Fixed non-creation of /partition directory in namespace within
874         SFS driver.
875         * Misc msgsvc.h header cleanups.
876         * Fixed rebuild to ensure we don't link against dynamic librhcm.
877         * librhcm/cm_api.h: Added #defines for membership + quorum port #s.
879 2003-06-20 Lon Hohberger <lhh at redhat.com> 1.1.63     
880         * Stonith Login -> User fix
882 2003-06-19 Lon Hohberger <lhh at redhat.com> 1.1.62
883         * Rebuild fix
884         * Pool reorganization/minor recoding to make librhcm LGPL
885         * Cleaned up installation process; no more build/`arch`/*
887 2003-06-18 Lon Hohberger <lhh at redhat.com>
888         * clumanager.spec.in: Put chkconfig call back.
889         * init.d/clumanager: Change default to not-running in any runlevel.
890         * src/services/svclib_samba: Delete per-service samba share pid
891         directories on service stop.
893 2003-06-10 Lon Hohberger <lhh at redhat.com> 1.1.60
894         * clumanager.spec.in: Cleanup.
895         * src/daemons/clumembd.c: Changed default ping*tko -> 15sec.
896         * src/daemons/clusvcmgrd.c: Fix for failover domain crash: services
897         are marked 'stopped' after all members of its restricted failover
898         domain have crashed.  Changed service transitions to use time()
899         instead of gettimeofday().  Fix for relocating a service outside
900         of its restricted domain when no other members of said domain
901         are online (should fail immediately).
903 2003-06-02 Lon Hohberger <lhh at redhat.com> 1.1.59
904         * init.d/clumanager: Fix for #92012
906 2003-05-29 Lon Hohberger <lhh at redhat.com> 1.1.58
907         * src/utils/clustat.c: Added handling of -v even if /etc/cluster.xml
908         is nonexistent.
910 2003-05-28 Lon Hohberger <lhh at redhat.com> 1.1.57
911         * src/services/svclib_samba: Fixed samba startup to ensure that
912         PID directories we default to (/var/run/samba/<sharename>) are
913         created prior to attempting to start the samba daemons.  Also
914         added code to ensure that we share under the hostname of the VIP
915         instead of the real hostname if no "netbios name" is specified
916         in smb.conf.<sharename>
917         * src/services/svclib_globals: added define for FINDHOST
918         * src/clulib/clulock.c: Changed to use current membership params
919         to determine lock timeout instead of old quorum params.
920         * include/membership.h, src/daemons/clumembd.c: Moved #defines into
921         header file.
922         * include/quorumparams.h, src/daemons/cluquorumd.c: Moved #defines
923         into header file.
925 2003-05-27 Lon Hohberger <lhh at redhat.com> 1.1.56
926         * src/daemons/clusvcmgrd.c: Added retry during startup to handle
927         the case where we lose and subsequently gain quorum prior to the
928         original service manager fully shutting down.  Note: might be
929         better to kill the old service manager...
930         * src/daemons/clumembd.c: Separated 'multicast enable' from
931         'multicast address' (configuration parameters).
932         * src/stonithlib/wti_nps.c: Added different case 'invalid password'
933         token.
934         * src/xmllib/xmlwrap.c: Fixed xtree_writefile bug causing EINVAL on
935         ia64 as well as potential window of crashability when we receive an
936         EINTR during our write of a file.  Fixed left-over fds hanging
937         around.
938            
939 2003-05-26 Lon Hohberger <lhh at redhat.com> 1.1.55
940         * include/sharedstate.h: Another 64-bit-cleanup.
942 2003-05-26 Lon Hohberger <lhh at redhat.com> 1.1.54
943         * [GLOBAL]: 64-bit cleanups (wrong alignment stuff from disk
944         structures on the shared partitions).
945         * doc/ReleaseNotes: Updated.
946         * src/clulib/msgsimple.c: Added SO_KEEPALIVE to connections.
947         * src/clulib/vf.c, ping.c: Misc cleanups.
948         * src/iolib/shutil.c: Removed ConfigTimestamp printing (since we 
949         don't use it...)
951 2003-05-23 Lon Hohberger <lhh at redhat.com> 1.1.53
952         * [GLOBAL]: Changes to reflect removal of auth parameter.
953         Changes to log levels so that /var/log/cluster produces useful
954         information instead of noise.  Log message cleanups.
955         * include/msgsvc.h: Removed auth parameter.
956         * include/stonithapis.h: Removed unused declaration.
957         * src/clulib/daemon_init.c, fdlist.c: Ran through indent.
958         * src/clulib/msgsimple.c, fdlist.c: #ifdef'd out fdlist stuff.
959         * src/clulib/nodeid.c: Fixed doxygen comment.
960         * src/clulib/stonith_fence.c: Fixed reporting of fence status for
961         members which are not controlled by STONITH modules.  Added
962         clu_stonith_count() (counts the number of STONITH devices
963         controlling a member).
964         * src/daemons/cluquorumd.c: Added immediate self-reboot on loss
965         of quorum for members not controlled by STONITH.  Added
966         timestamp tracking of power switch status messages.
967         * src/daemons/cluquorumd_disk.c: Removed "I/O Hang" reboots.
968         * src/daemons/clurmtabd.c: Removed self-re-exec on IO/ILL/SEGV
969         signals.
970         * src/iolib/shutil.c: Fixed formatted output.
971         * src/services/svclib_globals: Fixed NOT_FOUND/TIMEOUT values.
972         * src/utils/cluconfig: Nuked.
973         * src/utils/clufence.c: Dis-allow self-STONITH.
974         * src/utils/clustat.c: Fixed return value.
975         * src/xmllib/xmlwrap.c: Fixed return value for "none".
977 2003-05-22 Lon Hohberger <lhh at redhat.com> 1.1.52
978         * include/clusterdefs.h: Change service block transition to 64-bit
979         instead of 32-bit to match the rest of the cluster status blocks.
980         * include/nodeid.h: Added proto for getLocalNodeInfo() which returns
981         the local node ID as well as the interface information.
982         * include/sharedstate.h: Changed cluster header structure to work
983         with shutil(8) and provide more useful information.
984         * src/clulib/msgsimple.c: Added ethernet MAC address authentication.
985         This is designed to alleviate the problem where, if a sysadmin
986         configures a service IP address with the wrong netmask, the wrong
987         outgoing address is used by the cluster software to communicate.
988         With simple IP-authentication (a la NFS), this would cause the
989         socket to be closed immediately.  So, it's a workaround for bad
990         configurations, really.  Also ran indent on it to bring it in line
991         with the rest of the cluster code base.
992         * src/clulib/nodeid.c: Added a function which returns local ethernet
993         information while determining the node ID.
994         * src/clulib/stonith_fence.c: Dropped the log-message about switch
995         states to INFO from NOTICE.
996         * src/daemons/clumembd.c: Dropped a bunch of log messages to DEBUG
997         from INFO.
998         * src/iolib/shutil.c: Added printing of timestamps in human readable
999         format to all state blocks on shared storage.
1000         * src/utils/clufence.c: Added more descriptive help messages.
1001         
1002 2003-05-20 Lon Hohberger <lhh at redhat.com> 1.1.51
1003         * Makefile.top: Version 1.1.51
1004         * include/quorum.h: Added power switch status messages.
1005         * doc/man/shutil.8: See below.
1006         * src/clulib/stonith_fence.c: Changed to show the member name instead
1007         of the member number when logging errors.
1008         * src/daemons/clumembd.c: Changed log level to match quorum daemon.
1009         * src/daemons/cluquorumd.c: Added periodic power switch checking of
1010         next-higher-online member.  This does not check the power switch
1011         status of offline members.  However, it does log a message at ALERT
1012         on ALL cluster members if any switch status check fails.  Currently,
1013         the switch is polled every two minutes.  States are stored internally
1014         but are not user-accessible (ie, clustat does not show power switch
1015         states).  Changed initial boot sequence: Determining disk state should
1016         be done prior to spawning membership daemon, that way we can handle
1017         requests when they come in rather than waiting a long time, which 
1018         could potentially cause timeouts in the VF code.
1019         * src/daemons/cluquorumd_disk.c: Misc. comments/log message changes.
1020         * src/iolib/shutil.c: Fixed left-around file descriptors, added '-r'
1021         - retrieve from shared storage - parameter.
1023 2003-05-14 Lon Hohberger <lhh at redhat.com> 1.1.50
1024         * Makefile.top: Version 1.1.50
1025         * doc/Makefile: Added.  Unbreaks builds.
1026         * clumanager.spec.in: Added automatic adding/removing of local4 ->
1027         /var/log/clumanager in /etc/syslog.conf (will remove if bad idea).
1028         * include/disk_tie.h: Disk tiebreaker integration.
1029         * src/daemons/clulockd.c: Prevent split-brain in the lock daemon.
1030         * src/daemons/cluquorumd.c: Disk tiebreaker integration.  Moved as
1031         much as possible into cluquorumd_disk.c.
1032         * src/daemons/cluquorumd_disk.c: Disk tiebreaker integration.  This
1033         is designed to be really easy to remove.  We don't ever shoot anyone
1034         as the tiebreaker status thread anymore.
1035         * src/daemons/clusvcmgrd.c: Locks failing no longer prevents service
1036         scripts from stopping during initialization.  Handle transition of
1037         a node from 'panic' or 'uncertain' state to 'down' gracefully.
1038         * src/iolib/raw/large.c: Removed unnecessary clulog()
1039         * src/iolib/raw/ops.c: Updated FIXME, removed unnecessary clulog().
1040         * src/locklib/clulock.c: Fixed locking return messages.
1041         * src/services/svclib_ip: Fixed handling of IP addresses with no
1042         broadcast/netmask addresses specified.
1044 2003-05-12 Lon Hohberger <lhh at redhat.com> 1.1.49
1045         * Makefile.top: Version 1.1.49
1046         * Global: Lots of copyright/GPL notice additions, minor Doxygen
1047         additions and code cleanups.
1048         * include/clusterdefs.h: sb_last_owner field added to service block.
1049         * src/daemons/clusvcmgrd.c: Implementation of sb_last_owner handling.
1050         Added SVC_FAILED state and implemented circumstances it could become
1051         activated.  Logs a mean message if a service fails on all nodes and
1052         fails to stop as well.  Needs testing.
1053         * src/utils/clustat.c: Handling of SVC_FAILED state.  Addition of
1054         querying for individual states of services and members.
1055         * src/utils/clusvcadm.c: Handling of SVC_FAILED state as well as
1056         talking to the local member.
1058 2003-05-08 Lon Hohberger <lhh at redhat.com> 1.1.48
1059         * Makefile.top: Version 1.1.48
1060         * Lots of manpage work/integration.  Misc. minor code cleanups.
1061         * Misc Doxygen cleanups
1063 2003-05-05 Lon Hohberger <lhh at redhat.com> 1.1.47
1064         * Makefile.top: Version 1.1.47
1065         * include/findproc.h: Added prototypes for killall(), findkillproc().
1066         * src/clulib/findproc.c: Implemented killall(), findkillproc().
1067         * src/clulib/stonith_fence.c: Added pthred mutex around
1068         stonith_fence_cycle (because of disk quorum thread).
1069         * src/clulib/vf.c: Changed log message to what it should be.
1070         * src/daemons/cluquorumd_disk.c: Implemented
1071         and integrated disk-based (BACKUP ONLY) quorum tiebreaker.
1072         * src/daemons/cluquorumd.c, Makefile: Integrated cluquorumd_disk.c.
1073         Switched shutdown/signal sending to killall() from findproc().
1074         * src/daemons/clusvcmgrd.c: Switched signal sending to killall().
1075         * src/iolib/shutil.c: Fixed /nodes/n/status handling.
1076         * src/iolib/raw/namespace.c, offsets.h: Fixed /nodes/n/status handling.
1077         * src/xmllib/xmlconfig.c: Fixed segfault.
1078         * src/xmllib/xmlwrap.c: Fixed segfault.
1080 2003-05-01 Lon Hohberger <lhh at redhat.com> 1.1.46
1081         * Makefile.top: Version 1.1.46
1082         * include/clusterdefs.h, src/clulib/shared_services.c: Added FAILED
1083         state XXX Not yet implemented in service manager.  This is for when a
1084         service fails and fails to restart. Customers have been restarting
1085         failed services blindly - since the cluster merely 'disabled' them -
1086         this led to partially running services on both nodes (sometimes).
1087         * include/rmtab.h, src/daemons/clurmtabd_lib.c: Update to be 
1088         platform-independent and coincide with 1.0.19's.
1089         * include/vf.h, src/clulib/vf.c: Added timeout handling if desired.
1090         * init.d/clumanager: Added shutdown of clurmtabd.
1091         * src/daemons/Makefile, src/services/svclib_nfs,
1092         src/services/svclib_globals: Reintegration of clurmtabd.
1093         * src/daemons/clurmtabd.c: Implemented.  Synchronizes a mount point's
1094         exports and then forks into the background.  It stores a given device's
1095         rmtab entries in MOUNT_POINT/.clumanager/rmtab instead of the previous
1096         'sync-over-network' model.
1097         * src/daemons/clumembd.c: Cleaned out old references to internal VF
1098         code.  Added timeouts to match vf.h, vf.c.
1099         * src/daemons/cluquorumd.c: Added timeouts to match vf.h, vf.c.
1101 2003-04-24 Lon Hohberger <lhh at redhat.com> 1.1.45
1102         * Makefile.top: Version 1.1.45
1103         * Makefile: Clean up buildtest/doc stuff when doing a make clean.
1104         * include/platform.h: Added Doxygen file tag.
1105         * include/rmtab.h: Port of rmtab-compact patch from 1.0.19.
1106         * include/vf.h: Changed structures around so we wouldn't have to
1107         do multiple swab-kludges to get at our data.  Moved some of the VF
1108         structures in here from vf.c.  Added callback type definitions and
1109         slots in the key_node_t structure.  Added better error/return codes
1110         for vf_process_msg.
1111         * src/api/clumq.c: Ported to current API revision (node->member
1112         naming scheme...).
1113         * src/clulib/clist.c: Added delete of file descriptors so we can't 
1114         insert duplicates into the clist.
1115         * src/clulib/msgsimple.c: Made error messages a little more helpful.
1116         * src/clulib/vf.c: Updated so that it allows for callbacks, new 
1117         structure revisions, etc.
1118         * src/daemons/clumembd.c, clumembd_vf.c, Makefile: Changed to use
1119         global cluster vf.c+callbacks instead of clumembd_vf.c.
1120         * src/daemons/clulockd.c: Give descriptive error log messages when
1121         we fail to write out a cluster lock to persistent storage.
1122         * src/daemons/cluquorumd.c: Updated to use current vf.h internal API.
1123         * src/daemons/clurmtabd_lib.c: Port of rmtab-compact patch from 
1124         1.0.19.
1125         * src/daemons/clurmtabd.c: XXX BROKEN - start of reintegration.
1126         * src/services/svclib_samba: Fix for share names with spaces in them.
1128 2003-04-22 Lon Hohberger <lhh at redhat.com> 1.1.44
1129         * Makefile.top: Version 1.1.44
1130         * More massive cleanups/doxygen work.
1132 2003-04-22 Lon Hohberger <lhh at redhat.com> 1.1.43
1133         * Makefile.top: Version 1.1.43
1134         * Massive pool cleanups.
1135         * Massive Doxygen documentation additions.
1137 2003-04-17 Lon Hohberger <lhh at redhat.com> 1.1.42
1138         * Makefile.top: Version 1.1.42
1139         * include/clu_lock.h: Removed cruft, added macros for config lock.
1140         * include/cm_api.h: Changed references to 'node' and 'node ID' to 
1141         'member' and 'member ID' or 'ID#' instead to help eliminate confusion.
1142         * src/api/*, src/clulib/*, src/daemons/*, src/locklib/clulock.c,
1143         src/utils/clustat.c: Changed to reflect updated API function names.
1144         * src/clulib/clucfg.c: Removed unused functions.
1145         * src/daemons/clusvcmgrd.c: Added lots of Doxygen comments.
1146         * src/daemons/clusvcmgrd_cfg.c: Added config db write locking.
1147         * src/utils/Makefile: Changed cluadmin -> clusvcadm.
1148         * src/utils/cluadmin.c: Removed
1149         * src/utils/clusvcadm.c: (Replacement for cluadmin.c - same func.).
1150         Fixed handling of '-v' from the start.
1151         * src/services/service, svclib_log: Updated to allow service names
1152         with multiple words.
1153         * src/services/svclib_device, svclib_filesystem: Removed crufty FS
1154         label hack.
1155         * src/services/svclib_svcdb: Added use of /sbin/findfs to determine
1156         device names given a LABEL= parameter.  FS labels should now work
1157         out-of-the-box!
1158         * src/xmllib/xmlwrap.c: Removed secondary write to local config
1159         file from CFG_Write().  CFG_Read/CFG_Write only deal with shared
1160         state now.
1162 2003-04-16 Lon Hohberger <lhh at redhat.com> 1.1.40
1163         * Makefile: Changed 'make rpm|rpms|srpm' to not require root priv.
1164         * Makefile.top: Version 1.1.40
1165         * include/clusterdefs.h: Added swab_ServiceBlock macro.
1166         * include/sharedstate.h: Changed swab_SharedServiceBlock to reflect
1167         addition of swab_ServiceBlock macro.
1168         * include/svcmgr.h: Changed values around for a bit (until we can
1169         filter out the cruft in svc_db.c).
1170         * src/daemons/clusvcmgrd.c: Clarified start/stop flags.  Deprecated
1171         special-case handling of cluster alias IP address (this will become
1172         a full-fledged service).  Lots of spiffy Doxygen comments + function
1173         cleanups/shortenings.  Implemented cluster-wide, prioritized
1174         fail-over in the event of service failures (not member failures).
1175         * src/stonithlib/rps10.c: Addition of handling of 'all', NULL, or
1176         an empty string (strlen()==0) as the port name -> ALL ports.
1177         * various: Minor cleanups.
1179 2003-04-11 Lon Hohberger <lhh at redhat.com> 1.1.39
1180         * Makefile.top: Version 1.1.39
1181         * include/clu_lock.h: Added LOCK_MASTER_QUERY to find out what member
1182         is the current lock master.  Added LOCK_DUMP so we can dump the lock
1183         contents out in the case we have a stuck lock.
1184         * include/quorumparams.h: Added RTP and fixed loglevel name.
1185         * include/sharedstate.h: Added program CRC & exe name (from
1186         /proc/<pid>/exe) to SharedLockBlock.  These fields will be used with
1187         the above LOCK_DUMP message for debugging.
1188         * src/Makefile: Don't build the test/ directory.
1189         * src/clulib/vf.c: Misc. cleanups.
1190         * src/daemons/clulockd.c: Changed to allow processing of
1191         LOCK_MASTER_QUERY operation.  Added more Doxygen comments.  Cleaned up
1192         obvious duplicate logic, and renamed lock_check_fix to lock_reclaim
1193         since that's what it does.  Moved LOCK_NOT_MASTER responses below
1194         where we check for sizes of the received buffer.
1195         * src/daemons/clumembd.c: Misc. cleanups.  Moved reading of smoothing
1196         parameter below tko_count parameter (since it depends on tko_count).
1197         Decreased the amount of time required to declare a node as 'UP' or
1198         'ONLINE'.  It is now (floor(tko_count/3)+1)*interval.
1199         * src/daemons/cluquorumd.c: Added reading of config. params, including
1200         real-time priority (perhaps will make clumembd and cluquorumd have the
1201         same rtp...)
1203 2003-04-04 Lon Hohberger <lhh at redhat.com> 1.1.36
1204         * Makefile.top: Version 1.1.36
1205         * src/clulib/msgsimple.c: Fixed host-based authentication to work
1206         with msg_accept_timeout() calls.
1207         * src/daemons/clumembd.c: Cleaned up rude comments.
1208         * src/stonithlib/wti_nps.c: Fixed IPS/RPC code.  Tested with WTI
1209         IPS-15 with one satellite module - works flawlessly.
1210         * src/utils/clufence.c: Fixed segfault if no parameters were specified.
1212 2003-04-03 Lon Hohberger <lhh at redhat.com> 1.1.35
1213         * Makefile.top: Version 1.1.35
1214         * src/api/clumq.c: Fixed 'Node/Node ID' references in log messages.
1215         * src/clulib/msgsimple.c: Implemented/added host-based authentication.
1216         Only cluster members may connect to cluster daemons.
1217         * src/clulib/netblock.c, stonith_fence.c, svc.c, svc_db.c, vf.c: Fixed
1218         'Node/Node ID' references in log messages.
1219         * src/daemons/clulockd.c, clumembd.c, clumembd_vf.c, cluquorumd.c, 
1220         clurmtabd.c, clusvcmgrd.c, clusvcmgrd_cfg.c, fo_domain.c: Fixed
1221         'Node/Node ID' references in log messages.
1222         * src/iolib/raw/diskutils.c: Fixed 'Node/Node ID' references in log
1223         messages.
1224         * src/locklib/clulock.c: Fixed 'Node/Node ID' references in log
1225         messages.
1226         * src/stonithlib/rps10.c: Fixed inability to use port '10' to cycle
1227         all ports in an RPS-10 Chain.
1228         * src/stonithlib/wti_nps.c: Added support for the RPC and IPS series
1229         switches.
1230         * src/utils/cluadmin.c, clufence.c, clustat.c: Fixed 'Node/Node ID'
1231         references in log messages.
1233 2003-03-30 Lon Hohberger <lhh at redhat.com> 1.1.34
1234         * Makefile.top: Version 1.1.34
1235         * src/daemons/clusvcmgrd.c: Fixed SVC_RESTART handling.
1236         * src/utils/cluadmin.c: Fixed handling of -R (restart).
1238 2003-03-28 Lon Hohberger <lhh at redhat.com> 1.1.32
1239         * Makefile.top: Version 1.1.32
1240         * src/daemons/clusvcmgrd.c: Enabled failover domain ordering on
1241         service enable.
1243 2003-03-28 Lon Hohberger <lhh at redhat.com> 1.1.31
1244         * Makefile.top: Version 1.1.31
1245         * include/svcmgr.h: SVC_RESTART message.
1246         * src/clulib/findproc.c: Catches new thread models with .PID entries
1247         in /proc and ignores them.
1248         * src/daemons/clusvcmgrd.c: Handle a SVC_RESTART request.  Removed
1249         processing of SVC_ADD and SVC_REMOVE requests - handle_config_update()
1250         in fo_domain.c handles rewriting service blocks as necessary based on
1251         the current vs. past configuration.  Made signal handler seet a flag
1252         instead of performing the config update inline.
1253         * src/daemons/clusvcmgrd_cfg.c: Handle adding and removing of services.
1254         * src/utils/cluadmin.c: Add a 'restart' command line option.
1256 2003-03-27 Lon Hohberger <lhh at redhat.com> 1.1.30
1257         * Makefile.top: Version 1.1.30
1258         * include/clusterdefs.h: Changed MAX_SERVICES back to 100
1259         * include/cm_api.h: Changed MAX_NODES to 16.
1260         * src/daemons/clulockd.c: Implementation of LOCK_NOT_MASTER reply.
1261         * src/daemons/clusvcmgrd.c: Implementation of taking into account F/O
1262         group when a relocate to an unspecified node is performed.
1263         * src/daemons/clusvcmgrd_cfg.c: Fixed storing of "newer" local config
1264         to shared state.  Uses MemBackup/MemRestore/MemBackupKill to save
1265         * src/xmllib/xmlwrap.c: Implementation of CFG_MemBackupKill to free
1266         a backup created with CFG_MemBackup.
1267         * src/xmllib/xmlwrap.h: Added function declaration for
1268         CFG_MemBackupKill
1270 2003-03-27 Lon Hohberger <lhh at redhat.com> 1.1.29
1271         * Makefile.top: Version 1.1.29
1272         * doc/ReleaseNotes: Added.
1273         * src/daemons/clumembd.c: Fixed broadcast/multicast preference to be
1274         consistent: multicast -> MC Addr (or "0" or "no" to disable),
1275         broadcast -> "yes" or nonzero (or "no" or "0" to disable)
1277 2003-03-26 Lon Hohberger <lhh at redhat.com> 1.1.28
1278         * Makefile.top: Version 1.1.28
1279         * src/daemons/clumembd.c: Fixed RTP flag.
1280         * src/api/Makefile: Changed to reflect lack of "Provides" in newer
1281         versions of RPM WRT to symlinks pointing to shared libraries.
1283 2003-03-25 Lon Hohberger <lhh at redhat.com> 1.1.27
1284         * Makefile.top: Version 1.1.27
1285         * Makefiles: General cleanups, simplification, consistency updates.
1286         * src/daemons/cluquorumd.c: #defines for sharedstate%driver. Added
1287         simple_operation to config. file (so you can have it as a configuration
1288         option - thus negating the need to back up your script when an erratum
1289         of clumanager is released.  Added validation of shared state
1290         accessibility at quorum daemon startup.  Generally this can't be done,
1291         but until we have a shared-state driver requiring quorum, it's a good
1292         sanity check.  Changed arbitrator to tiebreaker_ip to be consistent
1293         with current config. spec.  Added handling so that an unclean exit
1294         from the service manager (due to loss of quorum) would not cause
1295         the remaining daemons to exit.
1296         * src/daemons/clusvcmgrd.c: Simplified exit path with msg_send_simple.
1297         Added a status flag so that the quorum daemon knows our exit status,
1298         and can deal with it appropriately.
1299         * src/daemons/fo_domain.c: Added tons of debugging information &
1300         updated to match current config spec.
1302 2003-03-20 Lon Hohberger <lhh at redhat.com> 1.1.25
1303         * Makefile.top: Version 1.1.25
1304         * src/daemons/clumembd.c: Changed 'thread' default to ON.  Fixed 
1305         segmentation fault when broadcast was enabled and multicast wasn't.
1306         Fixed child thread receiving-signals proglem (it now blocks SIGHUP).
1307         Changed debug behavior to never reboot (so we can debug it) based on
1308         timing how long it takes to send a heartbeat.  Fixed watchdog bug
1309         where the watchdog was getting set for ping_interval instead of
1310         ping_interval*tko_count.
1311         * src/daemons/clusvcmgrd.c: Changed to handle signals as they're
1312         received rather than periodically call wait().  Fixed a not-unlocking
1313         bug when a service enters 'pending state'. 
1314         * src/daemons/clusvcmgrd_cfg.c: Changed boot behavior to write the
1315         new configuration to shared state if it has a newer version number.
1316         This might not be the 'right' thing to do, but it's hard to call it
1317         'wrong...'.
1318         * src/iolib/Makefile: Build with pthreads because of change in
1319         xmlwrap.c
1320         * src/utils/Makefile: Build with pthreads because of change in
1321         xmlwrap.c
1322         * src/xmllib/xmlwrap.c: Force use of pthreads.  And typo.
1324 2003-03-18 Lon Hohberger <lhh at redhat.com> 1.1.24
1325         * Makefile.top: Version 1.1.24
1326         * include/quorum.h: Added QUORUM_CLEAN_EXIT message.  Removed now
1327         unused qv_exit_mask from quorum_view structure.
1328         * src/daemons/clumembd.c: Changed back to low-node for coordination.
1329         * src/daemons/cluquorumd.c: Changed coordinator to high-node.  Also
1330         fixed 'clean-exit' behavior so that it actually works - rather than
1331         being a part of quorum state, it's held individually - this way if
1332         multiple quorum changes occur at the same time, clean-exits aren't
1333         lost (this was a problem!!!).  Changed to force all nodes to recognize
1334         a clean shutdown instead of coordinator.  Added QUORUM_CLEAN_EXIT
1335         message handler + initiator (notify_exiting).
1337 2003-03-13 Lon Hohberger <lhh at redhat.com> 1.1.23
1338         * Makefile.top: Version 1.1.23
1339         * init.d/clumanager: Fixed 'service clumanager status'.  Returns 1
1340         if all "status <daemon>" calls do not return the same value, as this
1341         is, in fact, an error condition requiring immediate attention.
1342         * src/daemons/clumembd.c: Changed membership coordinator to highest
1343         node online instead of lowest node online, since locks and STONITH
1344         are handled by lowest node.
1345         * src/daemons/clusvcmgrd.c, clusvcmgrd_cfg.c: Added a check to see
1346         if the configuration was really updated (ie, the view number changed).
1347         If it hasn't changed, we don't bother sending updates to other members.
1349 2003-03-12 Lon Hohberger <lhh at redhat.com> 1.1.21
1350         * Makefile.top: Version 1.1.21 (bug: 1.1.22?!!)
1351         * include/msgsvc.h, src/clulib/msgsimple.c: Added a reconfigure option
1352         to msg_svc_init().
1353         * include/svcmgr.h: Added configuration update message type.
1354         * init.d/clumanager: Fixed 'service clumanager reload' to kill the
1355         service manager instead of the quorum daemon.
1356         * src/api/api.c: Since users are supposed to select(2) on the file 
1357         descriptors returned by cm_ev_register(), we need to timeout quickly
1358         if the file descriptor cm_ev_read() is erroneously called.
1359         * src/daemons/Makefile: Added clusvcmgrd_cfg.o to service manager.
1360         * src/daemons/clusvcmgrd_cfg.c: Added clusvcmgrd_cfg.c to pool.  This
1361         implements functions which synchronize & reread the configuration from
1362         disk so that the GUI tools can write /etc/cluster.xml, call 'service
1363         clumanager reload' and have the cluster configuration propogated to
1364         all (online) nodes.
1365         * src/daemons/clulockd.c: Added SIGHUP handler for reconfiguration.
1366         * src/daemons/clumembd.c: Fixed reconfiguration handler.  This was 
1367         calling CFG_Destroy(), then memb_read_params(), which caused it to
1368         get into all kinds of weird states - memb_read_params() reads from an
1369         empty database in this case!
1370         * src/daemons/cluquorumd.c: Fixed bug where the quorum daemon would
1371         not wait for the service manager if it existed, and wait forever if
1372         one did not exist and the quorum daemon wasn't running in simple mode.
1373         Fixed/implemented reconfiguration handler.
1374         * src/daemons/clusvcmgrd.c: Added/rebuilt SIGHUP handler.  The service
1375         manager handles configuration distribution, since it's one of the
1376         daemons which uses shared state.  Added glue code to clusvcmgrd_cfg.c.
1377         Service manager reads config from shared state and syncs it to the 
1378         local configuration on boot. Fixed a bug where, if we received SIGHUP,
1379         the select() call in main would return a -1/EINTR which wasn't handled,
1380         causing the service manager to call msg_accept_timeout() AND
1381         quorum_msg().  Added config file check: recreate /etc/cluster.xml if
1382         it disappears...
1383         * src/xmllib/xmlconfig.c: Fixed minor bugs which caused file
1384         descriptors to be left around in the case that that writing the config
1385         file failed.
1386         * src/xmllib/xmlwrap.c: Allow returning of errno to see why a config
1387         write failed.
1389 2003-03-07 Lon Hohberger <lhh at redhat.com> 1.1.19
1390         * src/daemons/cluquorumd.c: Fixed 'service cluster stop' not working
1391           if the node did not have the service manager running.  Added
1392           lock daemon signalling.
1393         * src/services/svclib_globals: renamed networks to service_ipaddresses,
1394           etc.
1396 2003-03-06 Lon Hohberger <lhh at redhat.com> 1.1.18
1397         * src/daemons/cluquorumd.c: Fixed bug where nodes declared 'cleanly'
1398           shut down were unable to rejoin the cluster.
1399         * src/utils/cluadmin.c: Fixed bug when enabling a service where
1400           "(null)" was displayed instead of the local node name if no node
1401           name was specified with the -n command line.
1403 2003-03-03 Lon Hohberger <lhh at redhat.com> 1.1.17
1404         * src/daemons/cluquorumd.c, clusvcmgrd.c: Changed to allow for the
1405           possibility of panic-state nodes: nodes which we don't really
1406           know the status of because we failed to fence them when they
1407           went down...  Pretty simple.
1408         * src/daemons/clumembd.c: Changed to support multiple clusters on
1409           the same subnet and multicast address.
1410         * init.d/cluster -> clumanager: Renamed and changed to shut up
1411           rpmlint.
1412         * clumanager.spec.in: Added 'Provides' line - newer RPM builds
1413           need this, as they don't pick up 'librhcm.so' since it's a
1414           symlink to librhcm.so.<version>.
1415         * General: Removed *A LOT* of unused code.
1417 2003-02-28 Lon Hohberger <lhh at redhat.com> 1.1.15
1418         * Makefile(s): Temporary hack job to make shared libraries
1419           for A1.
1420         * src/clulib/*.c: #ifndef __LIBRARY__ around stuff that
1421           won't be in the shared (user-usable) API library.
1422         * src/api/*: Build shared and static API libraries for users!
1423         * src/daemons/fo_domain.c: Changed node tag in to
1424           "failoverdomainnode" to be consistent with the GUI.
1426 2003-02-27 Lon Hohberger <lhh at redhat.com> 1.1.14
1427         * Makefile: Fixed 'make rpm' and 'make rpmsetup'
1428         * clustat -x: XML output, including config + state from
1429           clustat.
1430         * src/xmllib/*: CFG_WriteBuffer, fixes for CFG_Set.
1431         * src/utils: Removed obsolete files
1433 2003-02-26 Lon Hohberger <lhh at redhat.com>
1434         * STONITH near completion - all modules ported; only the APC
1435           MasterSwitch left to test.
1436         * RPM .spec stuff.
1437         * Fixed segfault in src/utils/cluadmin.c
1439 2003-02-24 Lon Hohberger <lhh at redhat.com>
1440         * Initial entry.