Commit Graph

568 Commits

Author SHA1 Message Date
Patrick Caulfield
b58bed720f 2.6.19 kernel headers do not include IFA_RTA so we provide it.
Patch from Fabio Massimo Di Nitto


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1290 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-11-07 14:47:01 +00:00
Steven Dake
336dc17daa Forward port of flow control work from whitetank branch.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1289 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-11-04 22:29:14 +00:00
Hans Feldt
4e7e222aea * Improvement of SU fail over to handle remove of those standby assignments
that doesn't directly is associated to the failing over SU's active assignments
 in other SU's 
* Improvement of Node fail over to handle remove of those standby assignments
 that doesn't directly is associated to the failing over  Node SU's active assignments
 in other SU's.

* Improvement of SU fail over to handle si assignments to spare SU:s

* Improvement of Node fail over to handle si assignments to spare SU:s



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1285 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-10-27 09:58:59 +00:00
Hans Feldt
4cc7dad0b0 AMF healthcheck keylen was not compared before matching key values
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1281 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-10-24 06:45:35 +00:00
Hans Feldt
5796de0f76 - sync_abort is called if there is a new config change during synchronization
- a new function sync_request() that can be called by a user to execute
synchronization on request of a specified service. 



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1280 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-10-24 06:30:50 +00:00
Hans Feldt
d6820692e4 A couple of errors was found when I did unit (component) testing of amf.c
using CUnit. With this patch, amf.c can handle a full totem send queue.
This is not easily reproducable with function test.

amf.c is also prepared for further component testing with this patch. 


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1272 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-10-20 11:20:59 +00:00
Lon Hohberger
f983d37a2f Patch contains:
A mechanism to defer and recall simultaneous
events in the state machines for amf_cluster,
amf_application and amf_sg.

The implication of this defer and recall mechanism is
that it's now possible to to recover from e.g. several
simultaneous SU failures in an ordered serialized manner.

The events that could be deferred/recalled so far is
SG_FAILOVER_NODE_EV,SG_START_EV,SG_FAILOVER_SU_EV,
CLUSTER_SYNC_READY_EV,APPLICATION_START_EV and
APPLICATION_ASSIGN_WORKLOAD_EV.

Files involved:

Index: exec/amfnode.c
Index: exec/amfsg.c
Index: exec/amfutil.c
Index: exec/amfapp.c
Index: exec/amfcomp.c
Index: exec/amfcluster.c
Index: exec/amf.h



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1266 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-10-13 10:18:04 +00:00
Hans Feldt
4abe4a6fbd This simple patch solves a problem we see when testing AMF. If a node leaves
and joins the cluster quickly (within one second is default), the config
change messages will not indicate that the node left and rejoined. The patch
introduces a short delay in main() to make sure the token_timeout expires. 


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1259 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-10-12 06:54:14 +00:00
Steven Dake
0032c765bc Enable commit tokens to be processed properly in all circumstances.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1255 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-10-09 07:41:46 +00:00
Steven Dake
da09c38827 Fix subset set operation to work properly.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1254 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-10-09 07:41:12 +00:00
Steven Dake
28185de5ed Remove some debbugging code from totemsrp impacting performance.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1253 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-10-09 07:40:46 +00:00
Lon Hohberger
5126acc37a The patch contains:
The instantiaton of the component is performed with some new steps:
 
 1. SU invoke Comp to instantiate
 2. Comp multicast a new event 
 MESSAGE_REQ_EXEC_AMF_COMPONENT_INSTANTIATE
 3. Comp receive the new  event 
 MESSAGE_REQ_EXEC_AMF_COMPONENT_INSTANTIATE
 4. If the Comp is within the SU hosted on the node. The 

 component invokes

    the clc_cli instantiate script to start the component 

 and start a timer

    to supervise the start and registration of the component.
 5. If the instantiation time elapse before the component has 
 registered himself
    Comp is sending a new multicasted event
    MESSAGE_REQ_EXEC_AMF_COMPONENT_INSTANTIATE_TMO.
 6. Comp receive 

 MESSAGE_REQ_EXEC_AMF_COMPONENT_INSTANTIATE_TMO event.

 7. The Comp presence state is set to 
 SA_AMF_PRESENCE_INSTANTIATION_FAILED
 8. When all Components are in presence state 

 SA_AMF_PRESENCE_INSTANTIATED or

    SA_AMF_PRESENCE_INSTANTIATION_FAILED the start or restart will 
 continue with
    the assignment of load.
 
 This implemntation means that the complete instantiation procedure 
 never will be endlessly waiting for a register. The 

 instantiation will 

 either turn out in a component instantiation failure or a success.
 
 
 Hardening of the cluster start use case:
 
 1. A clearer separation of the responsibilities between 

 amf_cluster and

    amf_application.
                      
 2. A clearer interface and separation between amf_main (amf.c) and 
 amf_cluster.
 
 3. A clearer interface and separation between amf_cluster 

 and amf_node.

 
 4. A clearer separation of the responsibilities between amf_node and
    amf_application.
 



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1251 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-10-04 05:24:14 +00:00
Hans Feldt
d149242177 The configuration attribute 'saAmfSGNumPrefInserviceSUs' was not
considered by AMF during initial start. 


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1250 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-09-29 13:27:01 +00:00
Hans Feldt
2e86a93d45 Two configuration attributes for SG objects were not handled
correctly by the config parser. 


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1249 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-09-29 11:23:00 +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
65a7cde3c2 - Fix for bug: 'default section created when syncing'
- Section count synced correctly



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1243 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-09-25 06:48:38 +00:00
Hans Feldt
d0c6c25c98 global_ckpt_id fix #2
ckpt dump function



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1242 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-09-25 06:46:29 +00:00
Hans Feldt
86431dfc6d Correction to a problem when a cluster consisting of several nodes starts
initially in an order such that at least two nodes start after at least one
node has been started and its SUs has been instantiated. 


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1241 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-09-20 08:27:01 +00:00
Hans Feldt
1351bebe3e Fix for global_ckpt_id not synced
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1239 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-09-11 07:15:53 +00:00
Hans Feldt
bfa9d1f9f0 - ckpt_id was not synced.
- debug printout of list reduced



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1238 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-09-06 05:40:06 +00:00
Hans Feldt
b800d9e1f9 1. Improvement to manage more than one SG within an Application and to
asymmetrically distribute the SG:s among the Nodes.
2.    strcmp bug fixes  several *_find functions.
3.    Minor bug fixes.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1237 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-09-05 07:54:00 +00:00
Hans Feldt
da1fc7acd2 - "No need for DNS or /etc/hosts"
The call to gethostbyaddr() has been removed. This has been replaced by a
protocol where each node multicasts its hostname (obtained with gethostname()).

- "Logical AMF nodes"

The AMF node name is no longer a hostname. The saAmfNodeClmNode
configuration attribute of the AMF node is now the hostname. This config
attribute is now mandatory. The change to amf.conf file shows required changes.

- Some other AMF sync bug fixes



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1236 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-09-05 07:31:28 +00:00
Hans Feldt
d23d9c3ec8 Added file and line of caller, useful for troubleshooting.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1235 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-09-01 10:16:25 +00:00
Hans Feldt
7a2d68f348 - enable the global debug flag again, individual 'logger' directives might
be used to disable a certain logger source.
- when DEBUG compiled it does not use the new printer threads (printouts are not buffered)
- man page update
- openais.conf update



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1234 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-09-01 10:12:25 +00:00
Hans Feldt
6e34536ead Allow AMF to handle health check responses while syncing.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1233 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-28 13:11:23 +00:00
Hans Feldt
634d196c47 1. Improvement of the use case 'Amf node leave spontaneously'
2.    Improvement of the use case 'Amf node join'
3.    Improvement to manage more than one SG within an Application.
4.    Improvement to manage an arbitrary number of Csi-assignments associated
       to the Csi



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1232 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-28 12:44:15 +00:00
Fabien Thomas
7f1ba08543 correct broken POLLHUP, POLLERR under BSD
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1228 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-24 15:48:25 +00:00
Hans Feldt
004b889124 AMF sync improvements: change assert to return in mcast rec.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1227 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-24 09:30:27 +00:00
Fabien Thomas
6876d22707 doc was not updated when switching command line options to lowercase
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1222 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-21 09:49:42 +00:00
Fabien Thomas
d4e4f10df1 do not include alloca.h under BSD; alloca is in stdlib.h
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1221 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-18 07:38:21 +00:00
Hans Feldt
4a61871344 AMF sync #2
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1220 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-17 13:25:01 +00:00
Fabien Thomas
de02a8802c add command line support with: launch as a foreground application, do not set priority
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1219 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-17 07:30:55 +00:00
Steven Dake
59a7b2e043 Add scalability to 128 nodes by adding new parameter to protocol which is
a random timeout bounded by a configuration parameter when sending join
messages.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1214 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-16 04:25:47 +00:00
Steven Dake
49153e68c0 Improve recovery code to produce correct printf notice outputs.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1207 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-16 00:05:02 +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
Patrick Caulfield
1141aab7b3 fixe a bug in cpg where get_group() will return the wrong group
info structure if there is a hash collision.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1199 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-11 07:37:15 +00:00
Steven Dake
0add7e0611 Committed a bunch of changes for testing scalability - reverting patch
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1177 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-05 08:51:06 +00:00
Steven Dake
fa98ebf4c8 non-blocking syslog and file logging support
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1176 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-05 02:23:40 +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
Steven Dake
b6b81153bb Make sure sync_activate is called only once per service handler.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1174 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-03 05:32:11 +00:00
Hans Feldt
420d2e30ea Removes the hardcoded limit of environment variables and argvs from components, now unlimited.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1172 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-02 08:24:58 +00:00
Steven Dake
6a00f63ff9 Patch so realloc reverts to old buffer if reallocation fails.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1170 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-28 23:34:28 +00:00
Steven Dake
e6929a7992 Endian conversion for evs service.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1168 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-26 07:42:50 +00:00
Steven Dake
308b9db63b Endian cleanup for ykd.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1167 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-26 07:41:44 +00:00
Steven Dake
806258b5c3 Cleanup log_printf to use gnu attributes to do automatic type checking.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1166 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-26 07:39:53 +00:00
Steven Dake
6b8e9e6264 Endian conversion for the lock service.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1165 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-26 07:32:43 +00:00
Steven Dake
afb4ca0606 Use memb_ring_id_copy for alignment purposes on 64 aligned arches and keep
the port id in host byte order until it is used in the totem protocol stack.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1164 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-26 07:21:08 +00:00
Steven Dake
b11d49db6b Add endian cleanup fixes.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1163 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-26 07:11:26 +00:00
Steven Dake
8cb23508df Clean up endian swabbing for cpg service.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1162 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-26 07:07:22 +00:00
Steven Dake
30d6647139 Fix where setsockopt is bound to in totemnet.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1161 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-07-26 06:58:28 +00:00