Commit Graph

29 Commits

Author SHA1 Message Date
Steven Dake
6377455cd7 Add passive monitoring support to AMF.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1386 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-06-23 09:14:15 +00:00
Steven Dake
cb154572a2 Patch from Renaud to report some broken Solaris porting from past.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1353 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-03-06 16:18:44 +00:00
Lon Hohberger
8f87e5f413 This patch contians:
-  AMF handles a component report of injurious health.

- AMF handles saAmfHealthcheckConfirm() SA_AIS_ERR_FAILED_OPERATION
so that if it's a recent recovery ongoing amf does nothing but if it's
no  immediate recovery in progress, AMF invokes the recovery action
specified by the component when the health check is started If
the individual recommendation was SA_AMF_NO_RECOMMENDATION,
then AMF uses the configured recovery action for the component
(saAmfCompRecoveryOnError). If this recommendation also is
SA_AMF_NO_RECOMMENDATION, then AMF makes a component restart or
component/SU fail over counts on the value of
saAmfCompDisableRestart and saAmfSUFailover.

- Handling of cleanup of a component and health check response hardened.


- Time supervision and check return value of clc-cli CLEANUP command.


- Handle 'recommended recovery' specified by a component in an error
report. The potential recovery action to  choose
implemented is - component restart - and - node fails over.

- The attribute saAmfCompDisableRestart is now recognizable which means
that if the component specifies 'Component restart' and restart is
disabled
then the SU in which the component is contained shall fall over.

- The attribute saAmfSUFailover will not be recognized. SU will always
  fail
over as a single entity.

- A component can report an error on another component than itself.


- Implementation 'Instantiation Level' according to chapter 3.9.2 in the
AMF specification.
- Implementation of the escalation levels, component restart, SU
restart, SU fail over and Node fail over.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1321 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-12-11 05:37:07 +00:00
Hans Feldt
1b0ff5e92e Changes to testamf1.c to have two healthchecks running at the same time.
One of type 'AMF invoked' and one of type 'component invoked'. testamf1.c
code got a bit restructured at the same time.

Changes in amf.conf to complement testamf1 


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1274 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-10-20 15:03:42 +00:00
Hans Feldt
40066857bf Patches from Mathieu.Marie@sun.com:
2- On Solaris, the SA components executed have no names.
3- When killing the testamf1 component, it makes the aisexec process 
crash on both of my nodes.
4- max priority for RR on solaris is 59.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1247 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-09-28 05:53:44 +00:00
Hans Feldt
7033f934a7 testamf1.c improvements
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1226 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-24 09:23:40 +00:00
Hans Feldt
98dfb95e26 - New sync state machine, implemented and described in amf.c
- One AMF node reads the AMF config file (IMM style)
- One AMF node syncs others AMF nodes
- One AMF object is serialized and sent as one message
- Serialization/deserialization of most objects is trivial (memcpy)
except for component and csi-attributes objects which have variable size
arrays/strings.
- Depth first AMF object tree traversal preserves relations when syncing
- Ordered lists of SUs and SIs
- Constructors/destructor per class
- Serializers/deserializers per class
- Config-change changes sync state
- Sync callbacks executes the sync
- "Use case" tracing for sync using the SYNCTRACE macro (trace6)
- Sync master is initially the winner of a timeout race and if the
master leaves the cluster, the node with the lowest node ID becomes new master.
- amf_malloc implements an AMF central malloc routine with error handling.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1200 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-11 12:28:10 +00:00
Steven Dake
90ccff6bbc Solaris port for openais
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1175 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-05 02:22:12 +00:00
Hans Feldt
99948bf07b - Handling of HUP and other poll errors improved in saAmfDispatch.
- Termination of testamf1 when saAmfDispatch returns an error.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1171 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-01 05:56:30 +00:00
Hans Feldt
62bc733e2e - Error escalation improved, SU failover recovery action added
- Most runtime attributes in the inf. model calculated in runtime from
  more fundamental information. (improves consistency)
- sg_assign_si can now recalculate workloads considering existing
  assignments
- Logging improvements, similar to what is required as notification in
  AMF spec.
- CLC-CLI INSTANTIATE now exits aisexec when it fails (should later be
  sent as an NTF alarm)
- CLC-CLI CLEANUP correctly handles already terminated processes
- testamf1.c printouts removed for normal operation
- Iterator functions for SI/CSI assignments 



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1108 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-07 08:04:01 +00:00
Hans Feldt
154a857c3b AMF changes:
- Revised cluster start 
- Includes Steven's "amf invalid write patch"
- Includes "components not started with 0.76" patch
- New timer API use backed out of AMF (temporary)



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1091 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-06-27 08:49:07 +00:00
Hans Feldt
e993689ac5 Refactoring of AMF into several files (based on classed in inf.
model). A central header file (amf.h) keeps all the definitions and
prototypes needed.

New things apart from that:
- some doxygen html generated from AMF e.g. each file has a description
- saAmfHAStateGet() now works
- component invoked healthchecks implemented (but not tested)



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1071 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-06-20 06:45:16 +00:00
Hans Feldt
ef284f2b30 - (Re-)introduction of event based multicast messages (not all yet)
- Use of Distinguished Names (DN) in API and multicast messages
- CSI resassignment properly handled (by using restarting state)
- State 'setter' functions with uniform printouts
- Simple 'assign SU to host' algorithm:
	- based on saAmfSUHostedByNode config attribute
	- see config file for example
- Debug print runtime attributes upon user request:
	$ pkill -USR2 aisexec
- Object-oriented naming of functions started (but not finished)
- testamf1.c updated with some new tests
- Minor fix in print.h and print.c
- AMF can be started on two nodes (example config file needs
  modification for this) 



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1058 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-05-31 13:20:43 +00:00
Hans Feldt
5b30c0a120 Introduction of SA Forum information model for AMF as specified in
SAI-Overview-B.02.01.pdf. Other AMF changes as specified in
SAI-AIS-AMF-B.02.01.

Summary:

- SA Forum B.02 Information model for AMF
- groups.conf renamed to amf.conf
- amf.conf syntax changed heavily to follow SA Forum specs.
- AMF works when daemon.
- linux lists removed from AMF
- component cmd environment variables support
- component argv support
- multi value csi attributes



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1026 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-05-17 07:22:43 +00:00
Fabien Thomas
f9ce4bea58 Remove warnings under Darwin
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1008 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-04-25 07:28:20 +00:00
Steven Dake
cc89d721cc enhancement 1145
Patch from Lars to implement csi attribute setting in config file and delivered
via callback.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@956 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-03-24 18:48:47 +00:00
Steven Dake
856c745591 Patch from Hans to fix up the configurable /var/run and /etc/ais directory
support.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@955 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-03-24 18:25:55 +00:00
Fabien Thomas
064ffb17a1 Bug 1130: add totempg log; remove warnings; add DPRINT macro
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@954 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-03-24 08:28:12 +00:00
Steven Dake
10c7243f5c defect 1120
The AMF code doesn't detect invalid healthcheck keys and crashes when an
invalid healthcheck key is specified.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@946 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-03-08 07:13:27 +00:00
Steven Dake
cf160dd9cd Fabien's patch for the BSD/Darwin port.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@926 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-02-21 07:32:00 +00:00
Steven Dake
8eefe473ef defect 1046
SaErrorT in trunk branch, but only SaAisErrorT should be used


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@902 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-01-24 07:19:11 +00:00
Steven Dake
7b2ddfa428 enhancement 1020
Adds AMF B.01.01 support - still needs alot of work


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@879 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-01-03 05:51:38 +00:00
Steven Dake
e7f1e9200f enhancement 813
Rename ais_types.h header file to be more compliant with sa forum


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@796 fd59a12c-fef9-0310-b244-a6a79926bd2f
2005-08-17 19:27:25 +00:00
Steven Dake
b99706a7e3 defect 512 - some ais header file defines are wrong.
(Logical change 1.189)


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@624 fd59a12c-fef9-0310-b244-a6a79926bd2f
2005-04-22 18:46:23 +00:00
Steven Dake
6b72e1c5f6 64 bit handles.
(Logical change 1.127)


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@450 fd59a12c-fef9-0310-b244-a6a79926bd2f
2005-02-04 19:35:14 +00:00
Miyotaka Sakai
ce9948db45 add suppressing healthcheck pritf message
(Logical change 1.88)


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@318 fd59a12c-fef9-0310-b244-a6a79926bd2f
2004-10-02 09:30:26 +00:00
Steven Dake
3241af44d0 Add signal handler so code coverage records coverage
(Logical change 1.67)


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@244 fd59a12c-fef9-0310-b244-a6a79926bd2f
2004-09-08 08:11:56 +00:00
John Cherry
95f17845c6 (Logical change 1.3)
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@5 fd59a12c-fef9-0310-b244-a6a79926bd2f
2004-06-15 22:18:04 +00:00
John Cherry
7bede9c4bb Initial revision
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@4 fd59a12c-fef9-0310-b244-a6a79926bd2f
2004-06-15 22:18:03 +00:00