Commit Graph

207 Commits

Author SHA1 Message Date
Christine Caulfield
cfc7da3573 quorum is now an optional loadable module (though I've put it into the
defaults in services.c) and can load another module to do the quorum
work (eg YKD which I've made more compliant too). All the quorum code
has been removed from sync.c. quorum.c is simply a shim later for the
coroapi, the main module is in vsf_quorum.c

There are coroapi calls to query quorate status and also to get
notifications when it changes.

I've included the testquorum.lcrso module in this patch because I think
it's really helpful for testing. It sets the quorum state based on an 
objdb variable, this can be set or cleared using corosync-cfgtool



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1704 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-12-08 15:55:41 +00:00
Angus Salkeld
56eaee9561 cleanup the last of the SAF headers and types
This includes the rename of identifiers from corosync to cs.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1689 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-11-06 21:49:07 +00:00
Steven Dake
0c631e24fc Logsys flight recorder.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1681 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-10-30 22:25:56 +00:00
Angus Salkeld
301a730dd1 remove some new warnings from corosync
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1677 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-10-21 21:44:29 +00:00
Christine Caulfield
5bb7ca5da5 This is an initial pass at a top-level quorum system. As it stands, this
module doesn't provide quorum itself, merely a framework for setting and
querying it. I envisage YKD plugging into this rather than straight into
sync() eventually.

I've plugged this into the sync() routines rather than replacing them so
that quorum is itself a VSF, rather than a replacement - I'm not sure if
that is best or not. Opinions are welcome.

I've added an extra enum member to the service_handler so that we can
send IPC messages when the cluster isn't quorate. This will default to
NO (as now) but allows us to query and set quorum when we don't have it
.. a useful feature !



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1674 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-10-13 14:27:41 +00:00
Steven Dake
25b9eabb2a Fix makefile error in test directory.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1669 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-09-25 05:21:27 +00:00
Steven Dake
e4f43c8327 Add evs verify tool and allow Makefile to build in test directory properly.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1668 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-09-23 17:32:51 +00:00
Christine Caulfield
1d2d771f99 This patch adds key_increment and key_decrement calls to the objdb and
confdb subsystems.

This is useful to provide atomic counters (ag handle numbers) for
long-running (though not persistent) connections. It's not currently
possible via confdb to atomically get a new number from objdb due to the
lack of locking. Doing it via increment operations in the IPC thread
provides enough atomicity to make it useful. Fabio has already
identified a use for these calls.

It could also provide some form of basic co-operative locking mechanism
for IPC-using processes (not direct objdb calls).



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1662 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-09-03 07:58:08 +00:00
Steven Dake
01b8bc6ab2 Finish the renaming of openais to corosync in the tree.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1646 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-15 06:15:26 +00:00
Steven Dake
dd3991c0bb Proper rename of openais usage to corosync throughout tree.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1637 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-14 16:54:46 +00:00
Steven Dake
e1f531380a Revert patch 1633 which breaks build.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1636 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-14 16:44:26 +00:00
Steven Dake
c4a1c7eb96 Change all occurances of openais to corosync.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1633 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-14 16:04:01 +00:00
Fabien Thomas
0c92a5e564 reorganize include file to match installed tree to build openais without installing corosync; correct some warnings and error under FreeBSD and Darwin
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1632 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-14 14:59:50 +00:00
Fabio M. Di Nitto
010198fac4 Add support for reload operations within objdb and plugins.
Use a 2 phase "commit" operation:
1) Invoke verifyconfig that should catch the errors before the reload operation
2) Invoke reloadconfig that performs the operation and should _never_ fail

Implementation note: if step 2 fails, there is no fall back at the moment.

Fix the IPC table for confdb:
MESSAGE_REQ_CONFDB_XPATH_EVAL_EXPRESSION = 12 was added to include/ipc_confdb.h
without an associated call. Thanks Chrissie for spotting this.



git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1629 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-13 03:58:03 +00:00
Steven Dake
225b183bcb Add callback notification about changes to the object db and confdb apis.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1625 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-05 16:34:14 +00:00
Steven Dake
617dbdf2f0 Split openais and corosync tree into two seperate repositories.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1622 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-08-05 13:23:46 +00:00
Steven Dake
6e7f313069 Move test directories and remaining loc files to test directory.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1583 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-07-21 08:01:13 +00:00
Steven Dake
af7a69a6e6 Test queue group tracking feature.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1581 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-07-21 07:34:50 +00:00
Patrick Caulfield
a53b222341 Add cpg_groups_get call to libcpg.
This call causes a complete list of active groups and their
membership lists to be sent to a callback function.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1571 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-07-02 07:19:50 +00:00
Steven Dake
0ed0469113 Patch from Xinwei Hu to clean up test locking program.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1556 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-06-23 22:40:44 +00:00
Steven Dake
6d7baee4b0 Remove extra unneeded configuration option from logsys.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1554 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-06-20 06:04:03 +00:00
Steven Dake
f323f47343 Message service implemntation - more apis now supported.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1552 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-06-13 18:36:21 +00:00
Steven Dake
46b0163813 Change all email addresses that were sdake@mvista.com to sdake@redhat.com.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1541 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-05-12 13:48:06 +00:00
Patrick Caulfield
fef53eb2c4 Expose confdb write to the library.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1536 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-05-07 07:27:37 +00:00
Steven Dake
48ad1d66fb Execute a test of the makefile system from Angus
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1534 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-05-05 20:10:44 +00:00
Patrick Caulfield
1165060e46 Allow libconfdb to run standalone (without aisexec)
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1531 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-04-30 15:32:25 +00:00
Steven Dake
4ad44b9c86 load and unload service engines at runtime.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1528 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-04-28 16:25:47 +00:00
Steven Dake
2074e8df56 Patch to reinitialize logsys internal variables after a fork for correct
operation.


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1519 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-04-21 15:15:48 +00:00
Patrick Caulfield
9ab240e478 Add confdb, a library to access the configuration object database.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1516 fd59a12c-fef9-0310-b244-a6a79926bd2f
2008-04-16 12:07:05 +00:00
Steven Dake
b471e97b07 Patch to make sure make clean works as advertised.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1488 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-11-28 18:52:35 +00:00
Steven Dake
983ee42d4c Patch to fix dependencies in build of test programs.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1460 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-09-28 01:08:39 +00:00
Steven Dake
b6071cc4c0 Makefile system improvements from Angus Salkeld
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1456 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-09-27 08:50:17 +00:00
Steven Dake
f81e95944b Patch to allow CFLAGS and LDFLAGS modifications to take effect
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1432 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-09-09 06:45:35 +00:00
Steven Dake
5ef02ff3ba Logsys testing system.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1431 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-09-09 06:43:20 +00:00
Steven Dake
ba24191073 Patch to fix compile warning on mac platforms.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1411 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-08-07 23:49:24 +00:00
Steven Dake
484ad44f3a Add the testcpg2 file missing from a previous commit.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1405 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-07-02 21:13:52 +00:00
Steven Dake
7c3dcc065d Update testckpt program to properly test checkpoint system.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1397 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-06-25 08:45:29 +00:00
Steven Dake
39b3f0d5a6 Add cpg_local_get api to cpg service
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1391 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-06-25 03:04:35 +00:00
Steven Dake
7b65087d28 Add IP address takeover as an AMF component
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1388 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-06-24 06:44:27 +00:00
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
f3cd7588d4 Fix section iteration size comparison
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1367 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-04-24 23:10:51 +00:00
Steven Dake
0fd619a44f Print Unknown Time if the time is unknown of an event.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1366 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-04-24 23:08:48 +00:00
Steven Dake
6bce9c70ed Change tab alignment on checkpoint write operation to match coding style guidelines
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1365 fd59a12c-fef9-0310-b244-a6a79926bd2f
2007-04-24 23:08:18 +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
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
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
Steven Dake
ab82f311ae Fix debug output for testckpt service.
git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1206 fd59a12c-fef9-0310-b244-a6a79926bd2f
2006-08-16 00:04:27 +00:00