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
This commit is contained in:
Steven Dake 2008-08-14 16:54:46 +00:00
parent e1f531380a
commit dd3991c0bb
91 changed files with 508 additions and 508 deletions

View File

@ -3,7 +3,7 @@
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = openais
PROJECT_NAME = corosync
PROJECT_NUMBER = 0.75
OUTPUT_DIRECTORY = doc/api
OUTPUT_LANGUAGE = English

View File

@ -44,7 +44,7 @@ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.
-----------------------------------------------------------------------------
The openais project uses software from the LibTomCrypt project
The corosync project uses software from the LibTomCrypt project
www.libtomcrypt.org. This software is contained the files exec/crypto.c and
exec/crypto.h. The following license applies to the files exec/crypto.c and
exec/crytpo.h:

View File

@ -31,14 +31,14 @@ THE POSSIBILITY OF SUCH DAMAGE.
-------------------------------------------------------------------------------
This file provides a map for developers to understand how to contribute
to the openais project. The purpose of this document is to prepare a
developer to write a service for openais, or understand the architecture
of openais.
to the corosync project. The purpose of this document is to prepare a
developer to write a service for corosync, or understand the architecture
of corosync.
The following is described in this document:
* all files, purpose, and dependencies
* architecture of openais
* architecture of corosync
* taking advantage of virtual synchrony
* adding libraries
* adding services
@ -238,7 +238,7 @@ exec/cpg.c
Server side implementation of closed procss groups (CPG API).
exec/crypto.{c|h}
Cryptography functions used by openais.
Cryptography functions used by corosync.
exec/evs.c
Server side implementation of extended virtual synchrony passthrough
@ -248,13 +248,13 @@ exec/evt.c
Server side implementation of Event Service (EVT API).
exec/ipc.{c|h}
All IPC operations used by openais.
All IPC operations used by corosync.
exec/jhash.h
A hash routine.
exec/keygen.c
Secret key generator used by openais encryption tools.
Secret key generator used by corosync encryption tools.
exec/lck.c
Server side implementation of the distributed lock service (LCK API).
@ -274,7 +274,7 @@ exec/msg.c
exec/objdb.{c|h}
Object database used to configure services.
exec/openais-instantiate.c
exec/corosync-instantiate.c
instantiates a component by forking and exec'ing it and writing its
pid to a pid file.
@ -319,7 +319,7 @@ exec/totemrrp.{c.h}
Redundant ring functions for totem - between totemnet and totemsrp.
exec/util.{c|h}
Utility functions used by openais executive.
Utility functions used by corosync executive.
exec/version.h
Defines build version.
@ -338,10 +338,10 @@ loc
Counts the lines of code in the AIS implementation.
-------------------------------------------------------------------------------
architecture of openais
architecture of corosync
-------------------------------------------------------------------------------
The openais standards based cluster framework is a generic cluster plugin
The corosync standards based cluster framework is a generic cluster plugin
architecture used to create cluster APIs and services. Usually there are
libraries which implement APIs and are linked into the end user application.
The libraries request services from the aisexec process, called the AIS
@ -355,7 +355,7 @@ response of the API is delivered once the operation has completed.
--------------------------------------------------
| IPC API |
--------------------------------------------------
| openais Executive |
| corosync Executive |
| |
| +---------+ +--------+ +---------+ |
| | Object | | AIS | | Service | |
@ -385,9 +385,9 @@ response of the API is delivered once the operation has completed.
| |
-------------------------------------------------
Figure 1: openais Architecture
Figure 1: corosync Architecture
Every application that intends to use openais links with the libais library.
Every application that intends to use corosync links with the libais library.
This library uses IPC, or more specifically BSD unix sockets, to communicate
with the executive. The library is a small program responsible only for
packaging the request into a message. This message is sent, using IPC, to
@ -449,7 +449,7 @@ group messaging: sending a message from one sender to many receivers
Virtual synchrony is a model for group messaging. This is often confused
with particular implementations of virtual synchrony. Try to focus on
what virtual syncrhony provides, not how it provides it, unless interested
in working on the group messaging interface of openais.
in working on the group messaging interface of corosync.
Virtual synchrony provides several advantages:
@ -468,7 +468,7 @@ to the cluster membership service (and its respective API0, but is helpful
to other services as described later.
Strong membership guarantees allow a distributed application to make decisions
based upon the configuration (membership). Every service in openais registers
based upon the configuration (membership). Every service in corosync registers
a configuration change function. This function is called whenever a
configuration change occurs. The information passed is the current processors,
the processors that have left the configuration, and the processors that have
@ -510,7 +510,7 @@ it must be delivered by every processor unless that processor fails. If a
particular processor fails, a configuration change occurs creating a new
configuration under which a new set of decisions may be made. This implies
that even unreliable networks must reliably deliver messages. The
mplementation in openais works on unreliable as well as reliable networks.
mplementation in corosync works on unreliable as well as reliable networks.
Every message sent must be delivered, unless a configuration change occurs.
In the case of a configuration change, every message that can be recovered
@ -522,7 +522,7 @@ of a configuration.
Finally virtual syncrhony takes advantage of hardware multicast to avoid
duplicated packets and scale to large transmit rates. On 100mbit network,
openais can approach wire speeds depending on the number of messages queued
corosync can approach wire speeds depending on the number of messages queued
for a particular processor.
What does all of this mean for the developer?
@ -540,8 +540,8 @@ The first stage in adding a library to the system is to develop the library.
Library code should follow these guidelines:
* use SA Forum coding style for SA Forum APIs to aid in debugging
* use openais coding guidelines for APIs that are not SA Forum that
are to be merged into the openais tree.
* use corosync coding guidelines for APIs that are not SA Forum that
are to be merged into the corosync tree.
* implement all library code within one file named after the api.
examples are ckpt.c, clm.c, amf.c.
* use parallel structure as much as possible between different APIs
@ -881,7 +881,7 @@ struct libais_handler {
int (*libais_handler_fn) (void *conn, void *msg);
int response_size;
int response_id;
enum openais_flow_control flow_control;
enum corosync_flow_control flow_control;
};
The response_size, response_id, and flow_control for a library handler are
@ -894,7 +894,7 @@ OPENAIS_FLOW_CONTROL_NOT_REQUIREDin the flow control field.
The libais_handler_fn is a function to be called when the library handler is
requested to be executed.
struct openais_exec_handler {
struct corosync_exec_handler {
void (*exec_handler_fn) (void *msg, unsigned int nodeid);
void (*exec_endian_convert_fn) (void *msg);
};
@ -908,15 +908,15 @@ format before transmit. Instead they are transmitted in either big endian or
little endian depending on the byte order of the transmitter and converted to
the host machine order on receipt of the message.
struct openais_service_handler {
struct corosync_service_handler {
unsigned char *name;
unsigned short id;
unsigned int private_data_size;
int (*lib_init_fn) (void *conn);
int (*lib_exit_fn) (void *conn);
struct openais_lib_handler *lib_service;
struct corosync_lib_handler *lib_service;
int lib_service_count;
struct openais_exec_handler *exec_service;
struct corosync_exec_handler *exec_service;
int (*exec_init_fn) (struct objdb_iface_ver0 *);
int (*config_init_fn) (struct objdb_iface_ver0 *);
void (*exec_dump_fn) (void);
@ -947,12 +947,12 @@ lib_exit_fn is the function executed when a library connection is exited
either because the application closed the file descriptor, or the OS
closed the file descriptor.
lib_service is an array of openais_lib_handler data structures which define
lib_service is an array of corosync_lib_handler data structures which define
the library service handler.
lib_service_count is the number of elements in lib_service.
exec_service is an array of openais_exec_handler data structures which define
exec_service is an array of corosync_exec_handler data structures which define
the executive service handler.
exec_init_fn is a function used to initialize the executive service. This
@ -998,20 +998,20 @@ used in the handler function.
------------------------------------------------
The service handler needs some special magic to dynamically be linked into
openais.
corosync.
/*
* Dynamic loader definition
*/
static struct openais_service_handler *clm_get_service_handler_ver0 (void);
static struct corosync_service_handler *clm_get_service_handler_ver0 (void);
static struct openais_service_handler_iface_ver0 clm_service_handler_iface = {
.openais_get_service_handler_ver0 = clm_get_service_handler_ver0
static struct corosync_service_handler_iface_ver0 clm_service_handler_iface = {
.corosync_get_service_handler_ver0 = clm_get_service_handler_ver0
};
static struct lcr_iface openais_clm_ver0[1] = {
static struct lcr_iface corosync_clm_ver0[1] = {
{
.name = "openais_clm",
.name = "corosync_clm",
.version = 0,
.versions_replace = 0,
.versions_replace_count = 0,
@ -1025,16 +1025,16 @@ static struct lcr_iface openais_clm_ver0[1] = {
static struct lcr_comp clm_comp_ver0 = {
.iface_count = 1,
.ifaces = openais_clm_ver0
.ifaces = corosync_clm_ver0
};
static struct openais_service_handler *clm_get_service_handler_ver0 (void)
static struct corosync_service_handler *clm_get_service_handler_ver0 (void)
{
return (&clm_service_handler);
}
__attribute__ ((constructor)) static void clm_comp_register (void) {
lcr_interfaces_set (&openais_clm_ver0[0], &clm_service_handler_iface);
lcr_interfaces_set (&corosync_clm_ver0[0], &clm_service_handler_iface);
lcr_component_register (&clm_comp_ver0);
}
@ -1044,7 +1044,7 @@ the service will be loaded if its in the default services list.
The default service list is specified in service.c:default_services. If
creating an external plugin, there are configuration parameters which may
be used to add your plugin into the openais scanning of plugins.
be used to add your plugin into the corosync scanning of plugins.
---------------------------------
Connection specific information
@ -1053,7 +1053,7 @@ Every connection may have specific connection information if private data
is greater then zero for the service handler. This is used to allow each
library connection to maintain private state to that connection. The private
data for a connection can be retrieved with:
struct service_pd service_pd = (struct service_pd *)openais_conn_private_data_get (conn);
struct service_pd service_pd = (struct service_pd *)corosync_conn_private_data_get (conn);
where service is the name of the service implemented and conn is the connection
information likely passed into the library handler or stored in a
@ -1066,7 +1066,7 @@ message_source structure for later use by an executive handler.
A message is sent to the library from the executive message handler using
the function:
extern int openais_conn_send_response (void *conn_info, void *msg,
extern int corosync_conn_send_response (void *conn_info, void *msg,
int mlen);
conn_info is passed into the library message handler or stored in the
@ -1076,7 +1076,7 @@ msg is the message to send
mlen is the length of the message to send
Keep in mind that struct res_message should be at the beginning of the response
message so that it follows the style used in the rest of openais.
message so that it follows the style used in the rest of corosync.
--------------------------------------------
deferring response to an executive message
@ -1095,7 +1095,7 @@ Then the executive message handler determines if this processor is responsible
for responding:
if (message_source_is_local (conn)) {
openais_conn_send_response ();
corosync_conn_send_response ();
}
@ -1108,9 +1108,9 @@ delivery according to virtual synchrony semantics use:
The totempg interface supports multiple users at one time and if you need
to use a full totempg interface (defined in totempg.h) please ask for
assistance on the mailing list. If you simply want to use multicast
transmissions in openais, do the following:
transmissions in corosync, do the following:
assert (totempg_groups_mcast_joined (openais_group_handle, &req_exec_clm_iovec, 1, TOTEMPG_AGREED) == 0);
assert (totempg_groups_mcast_joined (corosync_group_handle, &req_exec_clm_iovec, 1, TOTEMPG_AGREED) == 0);
-----------------
library handler
@ -1209,13 +1209,13 @@ case GDB may become your enemy.
printf is your friend when GDB is your enemy.
If stuck, ask on the mailing list, send your patches. Alot of time has been
spent designing openais, and even more time debugging it. There are people
spent designing corosync, and even more time debugging it. There are people
that can help you debug problems, especially around things like message
delivery.
Submit patches early to get feedback, especially around things like parallel
style. Parallel style is very important to ensure maintainability by the
openais community.
corosync community.
If this document is wrong or incomplete, complain so we can get it fixed
for other people.

View File

@ -1,6 +1,6 @@
SYNCHRONIZATION ALGORITHM:
-------------------------
The synchronization algorithm is used for every service in openais to
The synchronization algorithm is used for every service in corosync to
synchronize state of he system.
There are 4 events of the synchronization algorithm. These events are in fact

View File

@ -6,32 +6,32 @@ together with object code resulting from the compiling of publicly
available source code, may be exported from the United States under License
Exception TSU prsuant to 15 C.F.R Section 740.13(e).
***
Security Design of openais
Security Design of corosync
The openais project intends to mitigate the following threats:
The corosync project intends to mitigate the following threats:
1. forged group messaging messages which are intended to fault the openais
1. forged group messaging messages which are intended to fault the corosync
executive
2. forged group messaging messages which are intended to fault applications
using openais apis
using corosync apis
3. monitoring of network data to capture sensitive information
The openais project does not intend to mitigate the following threats:
The corosync project does not intend to mitigate the following threats:
1. physical access to the hardware which could expose the private key
2. privledged access to the operating system which could expose the private key
or be used to inject errors into the ais executive.
3. library user creates requests which are intended to fault the openais
3. library user creates requests which are intended to fault the corosync
executive
The openais project mitigates the threats using two mechanisms:
The corosync project mitigates the threats using two mechanisms:
1. Authentication
2. Secrecy
Library Interface
-----------------
The openais executive authenticates every library user. The library is only
The corosync executive authenticates every library user. The library is only
allowed to access services if it's GID is ais or 0. Unauthorized library
users are rejected.
@ -42,9 +42,9 @@ fault.
Group Messaging Interface
-------------------------
Group messaging uses UDP/IP to communicate with other openais executives using
Group messaging uses UDP/IP to communicate with other corosync executives using
messages. It is possible without authentication of every packet that an
attacker could forge messages. These forged messages could fault the openais
attacker could forge messages. These forged messages could fault the corosync
executive distributed state machines. It would also be possible to corrupt
end applications by forging changes.
@ -123,4 +123,4 @@ is randomly unique (within the 2^128 search space of the input to sober) to
ensure that keys are never reused, nonce's are never reused, and hmac's are
never reused.
Comments welcome mailto:openais@lists.osdl.org
Comments welcome mailto:corosync@lists.osdl.org

2
TODO
View File

@ -1,4 +1,4 @@
The openais standards based cluster framework TODO list
The corosync standards based cluster framework TODO list
Last Updated: May 26, 2006
P1 items are to be implemented before Wilson release. P2 items may be

View File

@ -1,4 +1,4 @@
# Please read the openais.conf.5 manual page
# Please read the corosync.conf.5 manual page
totem {
version: 2
secauth: off
@ -16,7 +16,7 @@ logging {
to_stderr: yes
to_file: yes
to_syslog: yes
logfile: /tmp/openais.log
logfile: /tmp/corosync.log
debug: off
timestamp: on
logger {

View File

@ -10,7 +10,7 @@ available source code, may be exported from the United States under License
Exception TSU prsuant to 15 C.F.R Section 740.13(e).
***
This openais package is broken into four parts. The exec directory contains
This corosync package is broken into four parts. The exec directory contains
all of the code responsible for serving the APIs. The lib directory contains
APIs the to which the user may link. The test directory contains some simple
test programs which exercise the APIs. The directory conf contains example
@ -22,12 +22,12 @@ Management Framework (AMF), Checkpointing (CKPT), and Eventing (EVT).
The API also contains an extended virtual synchrony API which can be used
in distributed applications.
Configuring the openais executive:
Configuring the corosync executive:
---------------------------------
The openais executive will automatically determine cluster membership by
The corosync executive will automatically determine cluster membership by
communicating on a specified multicast address and port.
The directory conf contains the file openais.conf
The directory conf contains the file corosync.conf
totem {
bindnetaddr: 192.168.1.0
@ -57,9 +57,9 @@ timeout {
}
The totem section contains three values. All three values must be set
or the openais executive wll exit with an error.
or the corosync executive wll exit with an error.
bindnetaddr specifies the address which the openais Executive should bind to.
bindnetaddr specifies the address which the corosync Executive should bind to.
This address should always end in zero. If the local interface taffic
should routed over is 192.168.5.92, set bindnetaddr to 192.168.5.0.
@ -68,7 +68,7 @@ a different network configuration. Avoid 224.x.x.x because this is a "config"
multicast address.
mcastport specifies the UDP port number. It is possible to use the same
multicast address on a network with the openais services configured for different
multicast address on a network with the corosync services configured for different
UDP ports.
The logging section contains values. These values do not have to be set in which
@ -76,7 +76,7 @@ case the system defaults to logging to syslog and stderr with timestamping and d
It is possible to select 3 destinations for logs: files, stderr, and syslog. One or
more may be selected at the same time. If file is selected as a destination, the file
name must be specified via the logfile option or the openais executive will exit.
name must be specified via the logfile option or the corosync executive will exit.
The debug option prints out internal debugging information during runtime which may
be helpful for developers.
@ -107,20 +107,20 @@ A few notes about the config files:
file parser. We are working on fixing these bugs, but for the moment, it is
easy to simply avoid them.
Building openais
Building corosync
----------------
openais requires GCC, LD, and a Linux 2.4/2.6 kernel. openais has been tested on
corosync requires GCC, LD, and a Linux 2.4/2.6 kernel. corosync has been tested on
Debian Sarge(i386), Redhat 9(i386), Fedora Core 2(i386), Fedora Core
4(i386,x86_64) and MontaVista Carrier Grade Edition 3.1(i386, x86_64,
classic ppc, ppc970, xscale).
Compile openais by running make in the root directory. Make can also be run
Compile corosync by running make in the root directory. Make can also be run
in the individual directories. Nothing is installed by make. If install
is desired, the files must be copied manually.
Configure Host
--------------
For security reasons, the openais only allows a process that had the EGID/GID
For security reasons, the corosync only allows a process that had the EGID/GID
of "ais" to connect to it. To make development easier, it is recommended to
create an "ais" user with the "ais" group.
@ -136,16 +136,16 @@ passwd: all authentication tokens updated successfully.
Generate a private key
----------------------
openais uses cryptographic techniques to ensure authenticity and privacy of
corosync uses cryptographic techniques to ensure authenticity and privacy of
messages. A private key must be generated and shared by all processors for
correct operation.
First generate the key on one of the nodes:
unix# exec/keygen
Openopenais Authentication key generator.
Opencorosync Authentication key generator.
Gathering 1024 bits for key from /dev/random.
Writing openais key to /etc/ais/authkey.
Writing corosync key to /etc/ais/authkey.
After this is complete, a private key will be in the file /etc/ais/authkey.
@ -160,14 +160,14 @@ unix# install -D --group=0 --owner=0 --mode=0400 /path_to_authkey/authkey /etc/a
If the message invalid digest appears, the keys are not the same on each node.
Run the openais executive
Run the corosync executive
-------------------------
Get one or more nodes and run the openais executive on each node. A list of
Get one or more nodes and run the corosync executive on each node. A list of
node IPs should be logged when the nodes join a configuration. Run the
aisexec program after following the previous directions.
A final note on permissions:
It is not absolutely required that openais executive runs as root. If
It is not absolutely required that corosync executive runs as root. If
it runs as root, it schedules at the highest round robin realtime
priority and locks all of it's pages into ram in case a swap would cause a
delay in the real-time nature of the protocol. The warning "not
@ -178,12 +178,12 @@ The ais user/group is required because applications are authenticated
against the ais user and group. If an application(/library) is not root
or ais, then the application cannot connect to the ais executive.
please read SECURITY to understand the threat model assumed by openais
and the techniques openais use to overcome these threats.
please read SECURITY to understand the threat model assumed by corosync
and the techniques corosync use to overcome these threats.
Before running any of the test programs
---------------------------------------
The openais executive will ensure security by only allowing the ais group (or
The corosync executive will ensure security by only allowing the ais group (or
uid root) to connect to the service. Switch to the ais group before
running any applications linked to the ais apis, or the applications will
not be authenticated and won't be able to access services.
@ -193,7 +193,7 @@ Password:
[ais@slickdeal sdake]$ id
uid=501(ais) gid=502(ais) groups=502(ais)
Try out the openais CLM functionality
Try out the corosync CLM functionality
-------------------------------------
After aisexec is running
@ -209,7 +209,7 @@ aisexec on other nodes.
Killing aisexec on the node the testclm is connected will cause the
API to return error codes indicating the system has failed.
Try out the openais AMF functionality
Try out the corosync AMF functionality
-------------------------------------
After aisexec is running
@ -221,14 +221,14 @@ SU #3 consists of testamf5, testamf6. The active and backup directives
in amf.conf define how many SU's become active and how many
become standby in the service group (SG).
To test the openais AMF, run testamf3 and testamf4 on one node. Both
To test the corosync AMF, run testamf3 and testamf4 on one node. Both
components become in service and active. Then run testamf1. Nothing
appears to happen, because testamf1 is not placed in service (and made
standby) until testamf2 is registered. Running testamf2 will show
a variety of state changes. testamf1 will match these state changes.
testamf2 is special because is reports an error, and later cancels
the error, causing the entire SU to go out of service, then back in
service. This behavior is expected by the openais specification and the
service. This behavior is expected by the corosync specification and the
code in testamf2.c can be read for a clearer understanding of what
is happening.
@ -238,7 +238,7 @@ out of service. If ctrl-z is pressed on the active SU, the standby
SU will become active. CTRL-C on these tests behaves the same way.
A crash behaves the same way.
Try out the openais CKPT functionality
Try out the corosync CKPT functionality
--------------------------------------
su to ais user
@ -256,13 +256,13 @@ Two node clusters should approach 8.5 MB/sec on 100 mbit networks for
larger checkpoint sizes with encryption and authentication. If you are not
seeing these results, please report to the mailing list.
Try out the openais EVT functionality
Try out the corosync EVT functionality
-------------------------------------
su to ais user
run testevt. This will execute various eventing API operations.
Try out the openais EVS functionality
Try out the corosync EVS functionality
-------------------------------------
su to ais user
run testevs. This will generate multicast messages and self deliver them

View File

@ -61,21 +61,21 @@ typedef int (*typedef_tpg_groups_send_ok) (corosync_tpg_handle, struct corosync_
static struct corosync_api_v1 apidef_corosync_api_v1 = {
.timer_add_duration = openais_timer_add_duration,
.timer_add_absolute = openais_timer_add_absolute,
.timer_delete = openais_timer_delete,
.timer_add_duration = corosync_timer_add_duration,
.timer_add_absolute = corosync_timer_add_absolute,
.timer_delete = corosync_timer_delete,
.timer_time_get = NULL,
.ipc_source_set = message_source_set,
.ipc_source_is_local = message_source_is_local,
.ipc_private_data_get = openais_conn_private_data_get,
.ipc_private_data_get = corosync_conn_private_data_get,
.ipc_response_send = NULL,
.ipc_dispatch_send = NULL,
.ipc_conn_send_response = openais_conn_send_response,
.ipc_conn_partner_get = openais_conn_partner_get,
.ipc_refcnt_inc = openais_ipc_flow_control_local_increment,
.ipc_refcnt_dec = openais_ipc_flow_control_local_decrement,
.ipc_fc_create = openais_ipc_flow_control_create,
.ipc_fc_destroy = openais_ipc_flow_control_destroy,
.ipc_conn_send_response = corosync_conn_send_response,
.ipc_conn_partner_get = corosync_conn_partner_get,
.ipc_refcnt_inc = corosync_ipc_flow_control_local_increment,
.ipc_refcnt_dec = corosync_ipc_flow_control_local_decrement,
.ipc_fc_create = corosync_ipc_flow_control_create,
.ipc_fc_destroy = corosync_ipc_flow_control_destroy,
.totem_nodeid_get = totempg_my_nodeid_get,
.totem_family_get = totempg_my_family_get,
.totem_ring_reenable = totempg_ring_reenable,
@ -92,8 +92,8 @@ static struct corosync_api_v1 apidef_corosync_api_v1 = {
.tpg_joined_send_ok = totempg_groups_send_ok_joined,
.tpg_groups_mcast = (typedef_tpg_groups_mcast)totempg_groups_mcast_groups,
.tpg_groups_send_ok = (typedef_tpg_groups_send_ok)totempg_groups_send_ok_groups,
.service_link_and_init = openais_service_link_and_init,
.service_unlink_and_exit = openais_service_unlink_and_exit,
.service_link_and_init = corosync_service_link_and_init,
.service_unlink_and_exit = corosync_service_unlink_and_exit,
.plugin_interface_reference = lcr_ifact_reference,
.plugin_interface_release = lcr_ifact_release,
.error_memory_failure = NULL

View File

@ -190,7 +190,7 @@ struct config_iface_ver0 aisparser_iface_ver0 = {
.config_readconfig = aisparser_readconfig
};
struct lcr_iface openais_aisparser_ver0[1] = {
struct lcr_iface corosync_aisparser_ver0[1] = {
{
.name = "corosync_parser",
.version = 0,
@ -204,16 +204,16 @@ struct lcr_iface openais_aisparser_ver0[1] = {
}
};
struct openais_service_handler *aisparser_get_handler_ver0 (void);
struct corosync_service_handler *aisparser_get_handler_ver0 (void);
struct lcr_comp aisparser_comp_ver0 = {
.iface_count = 1,
.ifaces = openais_aisparser_ver0
.ifaces = corosync_aisparser_ver0
};
__attribute__ ((constructor)) static void aisparser_comp_register (void) {
lcr_interfaces_set (&openais_aisparser_ver0[0], &aisparser_iface_ver0);
lcr_interfaces_set (&corosync_aisparser_ver0[0], &aisparser_iface_ver0);
lcr_component_register (&aisparser_comp_ver0);
}

View File

@ -244,7 +244,7 @@ static void flow_control_confchg_fn (
/*
* External API
*/
unsigned int openais_flow_control_initialize (void)
unsigned int corosync_flow_control_initialize (void)
{
unsigned int res;
@ -271,7 +271,7 @@ unsigned int openais_flow_control_initialize (void)
return (0);
}
unsigned int openais_flow_control_ipc_init (
unsigned int corosync_flow_control_ipc_init (
unsigned int *flow_control_handle,
unsigned int service)
{
@ -301,14 +301,14 @@ error_exit:
}
unsigned int openais_flow_control_ipc_exit (
unsigned int corosync_flow_control_ipc_exit (
unsigned int flow_control_handle)
{
hdb_handle_destroy (&flow_control_hdb, flow_control_handle);
return (0);
}
unsigned int openais_flow_control_create (
unsigned int corosync_flow_control_create (
unsigned int flow_control_handle,
unsigned int service,
void *id,
@ -363,7 +363,7 @@ error_exit:
return (res);
}
unsigned int openais_flow_control_destroy (
unsigned int corosync_flow_control_destroy (
unsigned int flow_control_identifier,
unsigned int service,
unsigned char *id,
@ -406,7 +406,7 @@ error_exit:
* Disable the ability for new messages to be sent for this service
* with the handle id of length id_len
*/
unsigned int openais_flow_control_disable (
unsigned int corosync_flow_control_disable (
unsigned int flow_control_handle)
{
struct flow_control_instance *instance;
@ -438,7 +438,7 @@ error_exit:
* Enable the ability for new messagess to be sent for this service
* with the handle id of length id_len
*/
unsigned int openais_flow_control_enable (
unsigned int corosync_flow_control_enable (
unsigned int flow_control_handle)
{
struct flow_control_instance *instance;

View File

@ -42,16 +42,16 @@ enum corosync_flow_control_state {
COROSYNC_FLOW_CONTROL_STATE_ENABLED
};
unsigned int openais_flow_control_initialize (void);
unsigned int corosync_flow_control_initialize (void);
unsigned int openais_flow_control_ipc_init (
unsigned int corosync_flow_control_ipc_init (
unsigned int *flow_control_identifier,
unsigned int service);
unsigned int openais_flow_control_ipc_exit (
unsigned int corosync_flow_control_ipc_exit (
unsigned int flow_control_identifier);
unsigned int openais_flow_control_create (
unsigned int corosync_flow_control_create (
unsigned int flow_control_handle,
unsigned int service,
void *id,
@ -59,16 +59,16 @@ unsigned int openais_flow_control_create (
void (*flow_control_state_set_fn) (void *context, enum corosync_flow_control_state flow_control_state),
void *context);
unsigned int openais_flow_control_destroy (
unsigned int corosync_flow_control_destroy (
unsigned int flow_control_identifier,
unsigned int service,
unsigned char *id,
unsigned int id_len);
unsigned int openais_flow_control_disable (
unsigned int corosync_flow_control_disable (
unsigned int flow_control_identifier);
unsigned int openais_flow_control_enable (
unsigned int corosync_flow_control_enable (
unsigned int flow_control_identifier);
#endif /* FLOW_H_DEFINED */

View File

@ -203,7 +203,7 @@ static int response_init_send_response (
res_lib_response_init.header.error = error;
res_lib_response_init.conn_info = (mar_uint64_t)cinfo;
openais_conn_send_response (
corosync_conn_send_response (
conn_info,
&res_lib_response_init,
sizeof (res_lib_response_init));
@ -272,7 +272,7 @@ static int dispatch_init_send_response (
res_lib_dispatch_init.header.id = MESSAGE_RES_INIT;
res_lib_dispatch_init.header.error = error;
openais_conn_send_response (
corosync_conn_send_response (
conn_info,
&res_lib_dispatch_init,
sizeof (res_lib_dispatch_init));
@ -293,7 +293,7 @@ static int dispatch_init_send_response (
conn_info->flow_control = ais_service[conn_info->service]->flow_control;
conn_info->conn_info_partner->flow_control = ais_service[conn_info->service]->flow_control;
if (ais_service[conn_info->service]->flow_control == COROSYNC_LIB_FLOW_CONTROL_REQUIRED) {
openais_flow_control_ipc_init (
corosync_flow_control_ipc_init (
&conn_info->flow_control_handle,
conn_info->service);
@ -444,7 +444,7 @@ static int libais_disconnect (struct conn_info *conn_info)
conn_info->state = CONN_STATE_DISCONNECTED;
conn_info->conn_info_partner->state = CONN_STATE_DISCONNECTED;
if (conn_info->flow_control_enabled == 1) {
openais_flow_control_disable (conn_info->flow_control_handle);
corosync_flow_control_disable (conn_info->flow_control_handle);
}
return (0);
}
@ -636,7 +636,7 @@ static void ipc_flow_control (struct conn_info *conn_info)
log_printf (LOG_LEVEL_NOTICE, "Enabling flow control [%d/%d] - [%d].\n",
entries_usedhw, SIZEQUEUE,
flow_control_local_count);
openais_flow_control_enable (conn_info->flow_control_handle);
corosync_flow_control_enable (conn_info->flow_control_handle);
conn_info->flow_control_enabled = 1;
conn_info->conn_info_partner->flow_control_enabled = 1;
}
@ -647,7 +647,7 @@ static void ipc_flow_control (struct conn_info *conn_info)
log_printf (LOG_LEVEL_NOTICE, "Disabling flow control [%d/%d] - [%d].\n",
entries_usedhw, SIZEQUEUE,
flow_control_local_count);
openais_flow_control_disable (conn_info->flow_control_handle);
corosync_flow_control_disable (conn_info->flow_control_handle);
conn_info->flow_control_enabled = 0;
conn_info->conn_info_partner->flow_control_enabled = 0;
}
@ -883,13 +883,13 @@ retry_recv:
/*
* If flow control is required of the library handle, determine that
* openais is not in synchronization and that totempg has room available
* corosync is not in synchronization and that totempg has room available
* to queue a message, otherwise tell the library we are busy and to
* try again later
*/
send_ok_joined_iovec.iov_base = (char *)header;
send_ok_joined_iovec.iov_len = header->size;
send_ok_joined = totempg_groups_send_ok_joined (openais_group_handle,
send_ok_joined = totempg_groups_send_ok_joined (corosync_group_handle,
&send_ok_joined_iovec, 1);
send_ok =
@ -911,7 +911,7 @@ retry_recv:
res_overlay.header.id =
ais_service[service]->lib_engine[header->id].response_id;
res_overlay.header.error = SA_AIS_ERR_TRY_AGAIN;
openais_conn_send_response (
corosync_conn_send_response (
conn_info,
&res_overlay,
res_overlay.header.size);
@ -1026,7 +1026,7 @@ static void ipc_confchg_fn (
{
}
void openais_ipc_init (
void corosync_ipc_init (
void (*serialize_lock_fn) (void),
void (*serialize_unlock_fn) (void),
unsigned int gid_valid)
@ -1045,14 +1045,14 @@ void openais_ipc_init (
libais_server_fd = socket (PF_UNIX, SOCK_STREAM, 0);
if (libais_server_fd == -1) {
log_printf (LOG_LEVEL_ERROR ,"Cannot create libais client connections socket.\n");
openais_exit_error (AIS_DONE_LIBAIS_SOCKET);
corosync_exit_error (AIS_DONE_LIBAIS_SOCKET);
};
totemip_nosigpipe(libais_server_fd);
res = fcntl (libais_server_fd, F_SETFL, O_NONBLOCK);
if (res == -1) {
log_printf (LOG_LEVEL_ERROR, "Could not set non-blocking operation on server socket: %s\n", strerror (errno));
openais_exit_error (AIS_DONE_LIBAIS_SOCKET);
corosync_exit_error (AIS_DONE_LIBAIS_SOCKET);
}
#if !defined(OPENAIS_LINUX)
@ -1072,7 +1072,7 @@ void openais_ipc_init (
res = bind (libais_server_fd, (struct sockaddr *)&un_addr, AIS_SUN_LEN(&un_addr));
if (res) {
log_printf (LOG_LEVEL_ERROR, "ERROR: Could not bind AF_UNIX: %s.\n", strerror (errno));
openais_exit_error (AIS_DONE_LIBAIS_BIND);
corosync_exit_error (AIS_DONE_LIBAIS_BIND);
}
listen (libais_server_fd, SERVER_BACKLOG);
@ -1098,7 +1098,7 @@ void openais_ipc_init (
/*
* Get the conn info private data
*/
void *openais_conn_private_data_get (void *conn)
void *corosync_conn_private_data_get (void *conn)
{
struct conn_info *conn_info = (struct conn_info *)conn;
@ -1112,7 +1112,7 @@ void *openais_conn_private_data_get (void *conn)
/*
* Get the conn info partner connection
*/
void *openais_conn_partner_get (void *conn)
void *corosync_conn_partner_get (void *conn)
{
struct conn_info *conn_info = (struct conn_info *)conn;
@ -1123,7 +1123,7 @@ void *openais_conn_partner_get (void *conn)
}
}
int openais_conn_send_response (
int corosync_conn_send_response (
void *conn,
void *msg,
int mlen)
@ -1265,7 +1265,7 @@ retry_sendmsg_two:
return (0);
}
void openais_ipc_flow_control_create (
void corosync_ipc_flow_control_create (
void *conn,
unsigned int service,
char *id,
@ -1275,7 +1275,7 @@ void openais_ipc_flow_control_create (
{
struct conn_info *conn_info = (struct conn_info *)conn;
openais_flow_control_create (
corosync_flow_control_create (
conn_info->flow_control_handle,
service,
id,
@ -1285,7 +1285,7 @@ void openais_ipc_flow_control_create (
conn_info->conn_info_partner->flow_control_handle = conn_info->flow_control_handle;
}
void openais_ipc_flow_control_destroy (
void corosync_ipc_flow_control_destroy (
void *conn,
unsigned int service,
unsigned char *id,
@ -1293,14 +1293,14 @@ void openais_ipc_flow_control_destroy (
{
struct conn_info *conn_info = (struct conn_info *)conn;
openais_flow_control_destroy (
corosync_flow_control_destroy (
conn_info->flow_control_handle,
service,
id,
id_len);
}
void openais_ipc_flow_control_local_increment (
void corosync_ipc_flow_control_local_increment (
void *conn)
{
struct conn_info *conn_info = (struct conn_info *)conn;
@ -1312,7 +1312,7 @@ void openais_ipc_flow_control_local_increment (
pthread_mutex_unlock (&conn_info->flow_control_mutex);
}
void openais_ipc_flow_control_local_decrement (
void corosync_ipc_flow_control_local_decrement (
void *conn)
{
struct conn_info *conn_info = (struct conn_info *)conn;

View File

@ -46,33 +46,33 @@ extern void message_source_set (mar_message_source_t *source, void *conn);
extern int message_source_is_local (mar_message_source_t *source);
extern void *openais_conn_partner_get (void *conn);
extern void *corosync_conn_partner_get (void *conn);
extern void *openais_conn_private_data_get (void *conn);
extern void *corosync_conn_private_data_get (void *conn);
extern int openais_conn_send_response (void *conn, void *msg, int mlen);
extern int corosync_conn_send_response (void *conn, void *msg, int mlen);
extern void openais_ipc_init (
extern void corosync_ipc_init (
void (*serialize_lock_fn) (void),
void (*serialize_unlock_fn) (void),
unsigned int gid_valid);
extern int openais_ipc_timer_add (
extern int corosync_ipc_timer_add (
void *conn,
void (*timer_fn) (void *data),
void *data,
unsigned int msec_in_future,
timer_handle *handle);
extern void openais_ipc_timer_del (
extern void corosync_ipc_timer_del (
void *conn,
timer_handle timer_handle);
extern void openais_ipc_timer_del_data (
extern void corosync_ipc_timer_del_data (
void *conn,
timer_handle timer_handle);
extern void openais_ipc_flow_control_create (
extern void corosync_ipc_flow_control_create (
void *conn,
unsigned int service,
char *id,
@ -80,16 +80,16 @@ extern void openais_ipc_flow_control_create (
void (*flow_control_state_set_fn) (void *context, enum corosync_flow_control_state flow_control_state_set),
void *context);
extern void openais_ipc_flow_control_destroy (
extern void corosync_ipc_flow_control_destroy (
void *conn,
unsigned int service,
unsigned char *id,
int id_len);
extern void openais_ipc_flow_control_local_increment (
extern void corosync_ipc_flow_control_local_increment (
void *conn);
extern void openais_ipc_flow_control_local_decrement (
extern void corosync_ipc_flow_control_local_decrement (
void *conn);
#endif /* IPC_H_DEFINED */

View File

@ -352,7 +352,7 @@ static void _log_printf (
newstring[strlen (newstring) - 1] = '\0';
}
len = sprintf (log_string,
"%s - prior to this log entry, openais logger dropped '%d' messages because of overflow.", newstring, dropped_log_entries + 1);
"%s - prior to this log entry, corosync logger dropped '%d' messages because of overflow.", newstring, dropped_log_entries + 1);
} else {
len = vsprintf (log_string, newstring, ap);
}

View File

@ -127,7 +127,7 @@ static void sigusr2_handler (int num)
static void *aisexec_exit (void *arg)
{
if (api) {
openais_service_unlink_all (api);
corosync_service_unlink_all (api);
}
#ifdef DEBUG_MEMPOOL
@ -147,7 +147,7 @@ static void *aisexec_exit (void *arg)
totempg_finalize ();
logsys_flush ();
openais_exit_error (AIS_DONE_EXIT);
corosync_exit_error (AIS_DONE_EXIT);
/* never reached */
return NULL;
@ -184,9 +184,9 @@ static void sigabrt_handler (int num)
#define LOCALHOST_IP inet_addr("127.0.0.1")
totempg_groups_handle openais_group_handle;
totempg_groups_handle corosync_group_handle;
struct totempg_group openais_group = {
struct totempg_group corosync_group = {
.group = "a",
.group_len = 1
};
@ -212,11 +212,11 @@ void serialize_mutex_unlock (void)
}
static void openais_sync_completed (void)
static void corosync_sync_completed (void)
{
}
static int openais_sync_callbacks_retrieve (int sync_id,
static int corosync_sync_callbacks_retrieve (int sync_id,
struct sync_callbacks *callbacks)
{
unsigned int ais_service_index;
@ -278,7 +278,7 @@ static void aisexec_uid_determine (struct main_config *main_config)
passwd = getpwnam(main_config->user);
if (passwd == 0) {
log_printf (LOG_LEVEL_ERROR, "ERROR: The '%s' user is not found in /etc/passwd, please read the documentation.\n", main_config->user);
openais_exit_error (AIS_DONE_UID_DETERMINE);
corosync_exit_error (AIS_DONE_UID_DETERMINE);
}
ais_uid = passwd->pw_uid;
endpwent ();
@ -290,7 +290,7 @@ static void aisexec_gid_determine (struct main_config *main_config)
group = getgrnam (main_config->group);
if (group == 0) {
log_printf (LOG_LEVEL_ERROR, "ERROR: The '%s' group is not found in /etc/group, please read the documentation.\n", group->gr_name);
openais_exit_error (AIS_DONE_GID_DETERMINE);
corosync_exit_error (AIS_DONE_GID_DETERMINE);
}
gid_valid = group->gr_gid;
endgrent ();
@ -310,7 +310,7 @@ static void aisexec_mempool_init (void)
res = mempool_init (pool_sizes);
if (res == ENOMEM) {
log_printf (LOG_LEVEL_ERROR, "Couldn't allocate memory pools, not enough memory");
openais_exit_error (AIS_DONE_MEMPOOL_INIT);
corosync_exit_error (AIS_DONE_MEMPOOL_INIT);
}
}
@ -324,7 +324,7 @@ static void aisexec_tty_detach (void)
switch (fork ()) {
case -1:
openais_exit_error (AIS_DONE_FORK);
corosync_exit_error (AIS_DONE_FORK);
break;
case 0:
/*
@ -469,14 +469,14 @@ int main_mcast (
int iov_len,
unsigned int guarantee)
{
return (totempg_groups_mcast_joined (openais_group_handle, iovec, iov_len, guarantee));
return (totempg_groups_mcast_joined (corosync_group_handle, iovec, iov_len, guarantee));
}
extern int main_send_ok (
struct iovec *iovec,
int iov_len)
{
return (totempg_groups_send_ok_joined (openais_group_handle, iovec, iov_len));
return (totempg_groups_send_ok_joined (corosync_group_handle, iovec, iov_len));
}
int main (int argc, char **argv)
@ -533,7 +533,7 @@ int main (int argc, char **argv)
signal (SIGABRT, sigabrt_handler);
signal (SIGQUIT, sigquit_handler);
openais_timer_init (
corosync_timer_init (
serialize_mutex_lock,
serialize_mutex_unlock);
@ -554,7 +554,7 @@ int main (int argc, char **argv)
0);
if (res == -1) {
log_printf (LOG_LEVEL_ERROR, "Corosync Executive couldn't open configuration object database component.\n");
openais_exit_error (AIS_DONE_OBJDB);
corosync_exit_error (AIS_DONE_OBJDB);
}
objdb = (struct objdb_iface_ver0 *)objdb_p;
@ -571,7 +571,7 @@ int main (int argc, char **argv)
/*
* Bootstrap in the default configuration parser or use
* the openais default built in parser if the configuration parser
* the corosync default built in parser if the configuration parser
* isn't overridden
*/
config_iface = getenv("COROSYNC_DEFAULT_CONFIG_IFACE");
@ -595,13 +595,13 @@ int main (int argc, char **argv)
config = (struct config_iface_ver0 *)config_p;
if (res == -1) {
log_printf (LOG_LEVEL_ERROR, "Corosync Executive couldn't open configuration component '%s'\n", iface);
openais_exit_error (AIS_DONE_MAINCONFIGREAD);
corosync_exit_error (AIS_DONE_MAINCONFIGREAD);
}
res = config->config_readconfig(objdb, &error_string);
if (res == -1) {
log_printf (LOG_LEVEL_ERROR, error_string);
openais_exit_error (AIS_DONE_MAINCONFIGREAD);
corosync_exit_error (AIS_DONE_MAINCONFIGREAD);
}
log_printf (LOG_LEVEL_NOTICE, error_string);
config_modules[num_config_modules++] = config;
@ -611,31 +611,31 @@ int main (int argc, char **argv)
if (config_iface)
free(config_iface);
res = openais_main_config_read (objdb, &error_string, &main_config);
res = corosync_main_config_read (objdb, &error_string, &main_config);
if (res == -1) {
log_printf (LOG_LEVEL_ERROR, error_string);
openais_exit_error (AIS_DONE_MAINCONFIGREAD);
corosync_exit_error (AIS_DONE_MAINCONFIGREAD);
}
res = totem_config_read (objdb, &totem_config, &error_string);
if (res == -1) {
log_printf (LOG_LEVEL_ERROR, error_string);
openais_exit_error (AIS_DONE_MAINCONFIGREAD);
corosync_exit_error (AIS_DONE_MAINCONFIGREAD);
}
res = totem_config_keyread (objdb, &totem_config, &error_string);
if (res == -1) {
log_printf (LOG_LEVEL_ERROR, error_string);
openais_exit_error (AIS_DONE_MAINCONFIGREAD);
corosync_exit_error (AIS_DONE_MAINCONFIGREAD);
}
res = totem_config_validate (&totem_config, &error_string);
if (res == -1) {
log_printf (LOG_LEVEL_ERROR, error_string);
openais_exit_error (AIS_DONE_MAINCONFIGREAD);
corosync_exit_error (AIS_DONE_MAINCONFIGREAD);
}
logsys_config_facility_set ("openais", main_config.syslog_facility);
logsys_config_facility_set ("corosync", main_config.syslog_facility);
logsys_config_mode_set (main_config.logmode);
logsys_config_file_set (&error_string, main_config.logfile);
@ -685,30 +685,30 @@ int main (int argc, char **argv)
&totem_config);
totempg_groups_initialize (
&openais_group_handle,
&corosync_group_handle,
deliver_fn,
confchg_fn);
totempg_groups_join (
openais_group_handle,
&openais_group,
corosync_group_handle,
&corosync_group,
1);
/*
* This must occur after totempg is initialized because "this_ip" must be set
*/
res = openais_service_defaults_link_and_init (api);
res = corosync_service_defaults_link_and_init (api);
if (res == -1) {
log_printf (LOG_LEVEL_ERROR, "Could not initialize default services\n");
openais_exit_error (AIS_DONE_INIT_SERVICES);
corosync_exit_error (AIS_DONE_INIT_SERVICES);
}
sync_register (openais_sync_callbacks_retrieve, openais_sync_completed,
sync_register (corosync_sync_callbacks_retrieve, corosync_sync_completed,
totem_config.vsf_type);
res = openais_flow_control_initialize ();
res = corosync_flow_control_initialize ();
/*
* Drop root privleges to user 'ais'
@ -722,7 +722,7 @@ int main (int argc, char **argv)
aisexec_mempool_init ();
openais_ipc_init (
corosync_ipc_init (
serialize_mutex_lock,
serialize_mutex_unlock,
gid_valid);

View File

@ -54,9 +54,9 @@
#define SIZEINB MESSAGE_SIZE_MAX
extern struct totempg_group openais_group;
extern struct totempg_group corosync_group;
extern totempg_groups_handle openais_group_handle;
extern totempg_groups_handle corosync_group_handle;
poll_handle aisexec_poll_handle;

View File

@ -98,7 +98,7 @@ static struct logsys_config_struct {
unsigned int tags;
} logsys_logger;
int openais_main_config_read (
int corosync_main_config_read (
struct objdb_iface_ver0 *objdb,
char **error_string,
struct main_config *main_config)

View File

@ -65,7 +65,7 @@ struct main_config {
char *group;
};
extern int openais_main_config_read (
extern int corosync_main_config_read (
struct objdb_iface_ver0 *objdb,
char **error_string,
struct main_config *main_config);

View File

@ -121,7 +121,7 @@ static unsigned int default_services_requested (struct corosync_api_v1 *corosync
return (-1);
}
unsigned int openais_service_link_and_init (
unsigned int corosync_service_link_and_init (
struct corosync_api_v1 *corosync_api,
char *service_name,
unsigned int service_ver)
@ -202,7 +202,7 @@ unsigned int openais_service_link_and_init (
return (res);
}
static int openais_service_unlink_common (
static int corosync_service_unlink_common (
struct corosync_api_v1 *corosync_api,
unsigned int object_service_handle,
const char *service_name,
@ -224,7 +224,7 @@ static int openais_service_unlink_common (
(void *)&service_id,
NULL);
log_printf(LOG_LEVEL_NOTICE, "Unloading openais component: %s v%u\n",
log_printf(LOG_LEVEL_NOTICE, "Unloading corosync component: %s v%u\n",
service_name, service_version);
if (ais_service[*service_id]->exec_exit_fn) {
@ -235,7 +235,7 @@ static int openais_service_unlink_common (
return lcr_ifact_release (*found_service_handle);
}
extern unsigned int openais_service_unlink_and_exit (
extern unsigned int corosync_service_unlink_and_exit (
struct corosync_api_v1 *corosync_api,
char *service_name,
unsigned int service_ver)
@ -274,7 +274,7 @@ extern unsigned int openais_service_unlink_and_exit (
if ((strcmp (service_name, found_service_name) == 0) &&
(service_ver == *found_service_ver)) {
res = openais_service_unlink_common (
res = corosync_service_unlink_common (
corosync_api, object_service_handle,
service_name, service_ver);
@ -288,7 +288,7 @@ extern unsigned int openais_service_unlink_and_exit (
return (-1);
}
extern unsigned int openais_service_unlink_all (
extern unsigned int corosync_service_unlink_all (
struct corosync_api_v1 *corosync_api)
{
char *service_name;
@ -297,7 +297,7 @@ extern unsigned int openais_service_unlink_all (
unsigned int object_find_handle;
int found;
log_printf(LOG_LEVEL_NOTICE, "Unloading all openais components\n");
log_printf(LOG_LEVEL_NOTICE, "Unloading all corosync components\n");
/*
* TODO
@ -335,7 +335,7 @@ extern unsigned int openais_service_unlink_all (
(void *)&service_ver,
NULL);
openais_service_unlink_common (
corosync_service_unlink_common (
corosync_api, object_service_handle,
service_name, *service_ver);
@ -351,7 +351,7 @@ extern unsigned int openais_service_unlink_all (
/*
* Links default services into the executive
*/
unsigned int openais_service_defaults_link_and_init (struct corosync_api_v1 *corosync_api)
unsigned int corosync_service_defaults_link_and_init (struct corosync_api_v1 *corosync_api)
{
unsigned int i;
@ -390,7 +390,7 @@ unsigned int openais_service_defaults_link_and_init (struct corosync_api_v1 *cor
found_service_ver_atoi = atoi (found_service_ver);
openais_service_link_and_init (
corosync_service_link_and_init (
corosync_api,
found_service_name,
found_service_ver_atoi);
@ -405,7 +405,7 @@ unsigned int openais_service_defaults_link_and_init (struct corosync_api_v1 *cor
for (i = 0;
i < sizeof (default_services) / sizeof (struct default_service); i++) {
openais_service_link_and_init (
corosync_service_link_and_init (
corosync_api,
default_services[i].name,
default_services[i].ver);

View File

@ -38,7 +38,7 @@
/*
* Link and initialize a service
*/
extern unsigned int openais_service_link_and_init (
extern unsigned int corosync_service_link_and_init (
struct corosync_api_v1 *objdb,
char *service_name,
unsigned int service_ver);
@ -46,21 +46,21 @@ extern unsigned int openais_service_link_and_init (
/*
* Unlink and exit a service
*/
extern unsigned int openais_service_unlink_and_exit (
extern unsigned int corosync_service_unlink_and_exit (
struct corosync_api_v1 *objdb,
char *service_name,
unsigned int service_ver);
/*
* Unlink and exit all openais services
* Unlink and exit all corosync services
*/
extern unsigned int openais_service_unlink_all (
extern unsigned int corosync_service_unlink_all (
struct corosync_api_v1 *objdb);
/*
* Load all of the default services
*/
extern unsigned int openais_service_defaults_link_and_init (
extern unsigned int corosync_service_defaults_link_and_init (
struct corosync_api_v1 *objdb);
extern struct corosync_service_engine *ais_service[];

View File

@ -91,7 +91,7 @@ static int barrier_data_confchg_entries;
static struct barrier_data barrier_data_process[PROCESSOR_COUNT_MAX];
static struct openais_vsf_iface_ver0 *vsf_iface;
static struct corosync_vsf_iface_ver0 *vsf_iface;
static int sync_barrier_send (struct memb_ring_id *ring_id);
@ -255,7 +255,7 @@ int sync_register (
unsigned int res;
unsigned int vsf_handle;
void *vsf_iface_p;
char openais_vsf_type[1024];
char corosync_vsf_type[1024];
res = totempg_groups_initialize (
&sync_group_handle,
@ -283,10 +283,10 @@ int sync_register (
} else {
vsf_none = 0;
sprintf (openais_vsf_type, "openais_vsf_%s", vsf_type);
sprintf (corosync_vsf_type, "corosync_vsf_%s", vsf_type);
res = lcr_ifact_reference (
&vsf_handle,
openais_vsf_type,
corosync_vsf_type,
0,
&vsf_iface_p,
0);
@ -299,9 +299,9 @@ int sync_register (
}
log_printf (LOG_LEVEL_NOTICE,
"Using virtual synchrony filter %s\n", openais_vsf_type);
"Using virtual synchrony filter %s\n", corosync_vsf_type);
vsf_iface = (struct openais_vsf_iface_ver0 *)vsf_iface_p;
vsf_iface = (struct corosync_vsf_iface_ver0 *)vsf_iface_p;
vsf_iface->init (sync_primary_callback_fn);
}

View File

@ -143,7 +143,7 @@ static void sigusr1_handler (int num) {
#endif
}
int openais_timer_init (
int corosync_timer_init (
void (*serialize_lock_fn) (void),
void (*serialize_unlock_fn) (void))
{
@ -166,7 +166,7 @@ int openais_timer_init (
return (res);
}
int openais_timer_add_absolute (
int corosync_timer_add_absolute (
unsigned long long nanosec_from_epoch,
void *data,
void (*timer_fn) (void *data),
@ -198,7 +198,7 @@ int openais_timer_add_absolute (
return (res);
}
int openais_timer_add_duration (
int corosync_timer_add_duration (
unsigned long long nanosec_duration,
void *data,
void (*timer_fn) (void *data),
@ -230,7 +230,7 @@ int openais_timer_add_duration (
return (res);
}
void openais_timer_delete (
void corosync_timer_delete (
timer_handle timer_handle)
{
int unlock;
@ -253,12 +253,12 @@ void openais_timer_delete (
}
}
void openais_timer_lock (void)
void corosync_timer_lock (void)
{
pthread_mutex_lock (&timer_mutex);
}
void openais_timer_unlock (void)
void corosync_timer_unlock (void)
{
pthread_mutex_unlock (&timer_mutex);
}

View File

@ -35,30 +35,30 @@
#ifndef TIMER_H_DEFINED
#define TIMER_H_DEFINED
typedef void * openais_timer_handle;
typedef void * corosync_timer_handle;
extern void openais_timer_init (
extern void corosync_timer_init (
void (*serialize_lock) (void),
void (*serialize_unlock) (void));
extern int openais_timer_add_duration (
extern int corosync_timer_add_duration (
unsigned long long nanoseconds_in_future,
void *data,
void (*timer_fn) (void *data),
openais_timer_handle *handle);
corosync_timer_handle *handle);
extern int openais_timer_add_absolute (
extern int corosync_timer_add_absolute (
unsigned long long nanoseconds_from_epoch,
void *data,
void (*timer_fn) (void *data),
openais_timer_handle *handle);
corosync_timer_handle *handle);
extern void openais_timer_delete (openais_timer_handle timer_handle);
extern void corosync_timer_delete (corosync_timer_handle timer_handle);
extern void openais_timer_delete_data (openais_timer_handle timer_handle);
extern void corosync_timer_delete_data (corosync_timer_handle timer_handle);
extern void openais_timer_lock (void);
extern void corosync_timer_lock (void);
extern void openais_timer_unlock (void);
extern void corosync_timer_unlock (void);
#endif /* TIMER_H_DEFINED */

View File

@ -691,7 +691,7 @@ int totemsrp_initialize (
rundir = getenv ("OPENAIS_RUN_DIR");
if (rundir == NULL) {
rundir = "/var/lib/openais";
rundir = "/var/lib/corosync";
}
res = mkdir (rundir, 0700);

View File

@ -77,7 +77,7 @@ SaTimeT clust_time_now(void)
}
void _openais_exit_error (
void _corosync_exit_error (
enum e_ais_done err, const char *file, unsigned int line)
{
log_printf (LOG_LEVEL_ERROR, "AIS Executive exiting "

View File

@ -68,8 +68,8 @@ enum e_ais_done {
*/
extern int name_match(SaNameT *name1, SaNameT *name2);
extern int mar_name_match(mar_name_t *name1, mar_name_t *name2);
#define openais_exit_error(err) _openais_exit_error ((err), __FILE__, __LINE__)
extern void _openais_exit_error (
#define corosync_exit_error(err) _corosync_exit_error ((err), __FILE__, __LINE__)
extern void _corosync_exit_error (
enum e_ais_done err, const char *file, unsigned int line);
extern char *getSaNameT (SaNameT *name);
extern char *strstr_rs (const char *haystack, const char *needle);

View File

@ -34,7 +34,7 @@
#ifndef VSF_H_DEFINED
#define VSF_H_DEFINED
struct openais_vsf_iface_ver0 {
struct corosync_vsf_iface_ver0 {
/*
* Executes a callback whenever component changes

View File

@ -532,14 +532,14 @@ static int ykd_primary (void) {
/*
* lcrso object definition
*/
static struct openais_vsf_iface_ver0 vsf_ykd_iface_ver0 = {
static struct corosync_vsf_iface_ver0 vsf_ykd_iface_ver0 = {
.init = ykd_init,
.primary = ykd_primary
};
static struct lcr_iface openais_vsf_ykd_ver0[1] = {
static struct lcr_iface corosync_vsf_ykd_ver0[1] = {
{
.name = "openais_vsf_ykd",
.name = "corosync_vsf_ykd",
.version = 0,
.versions_replace = 0,
.versions_replace_count = 0,
@ -553,7 +553,7 @@ static struct lcr_iface openais_vsf_ykd_ver0[1] = {
static struct lcr_comp vsf_ykd_comp_ver0 = {
.iface_count = 1,
.ifaces = openais_vsf_ykd_ver0
.ifaces = corosync_vsf_ykd_ver0
};
__attribute__ ((constructor)) static void vsf_ykd_comp_register (void) {

View File

@ -38,7 +38,7 @@
#include <netinet/in.h>
#include "saAis.h"
typedef SaUint64T openais_cfg_handle_t;
typedef SaUint64T corosync_cfg_handle_t;
typedef enum {
OPENAIS_CFG_ADMINISTRATIVETARGET_SERVICEUNIT = 0,
@ -99,7 +99,7 @@ typedef void (*OpenaisCfgStateTrackCallbackT) (
typedef struct {
OpenaisCfgStateTrackCallbackT
openaisCfgStateTrackCallback;
corosyncCfgStateTrackCallback;
} OpenaisCfgCallbacksT;
/*
@ -110,68 +110,68 @@ extern "C" {
#endif
SaAisErrorT
openais_cfg_initialize (
openais_cfg_handle_t *cfg_handle,
corosync_cfg_initialize (
corosync_cfg_handle_t *cfg_handle,
const OpenaisCfgCallbacksT *cfgCallbacks);
SaAisErrorT
openais_cfg_fd_get (
openais_cfg_handle_t cfg_handle,
corosync_cfg_fd_get (
corosync_cfg_handle_t cfg_handle,
SaSelectionObjectT *selectionObject);
SaAisErrorT
openais_cfg_dispatch (
openais_cfg_handle_t cfg_handle,
corosync_cfg_dispatch (
corosync_cfg_handle_t cfg_handle,
SaDispatchFlagsT dispatchFlags);
SaAisErrorT
openais_cfg_finalize (
openais_cfg_handle_t cfg_handle);
corosync_cfg_finalize (
corosync_cfg_handle_t cfg_handle);
SaAisErrorT
openais_cfg_ring_status_get (
openais_cfg_handle_t cfg_handle,
corosync_cfg_ring_status_get (
corosync_cfg_handle_t cfg_handle,
char ***interface_names,
char ***status,
unsigned int *interface_count);
SaAisErrorT
openais_cfg_ring_reenable (
openais_cfg_handle_t cfg_handle);
corosync_cfg_ring_reenable (
corosync_cfg_handle_t cfg_handle);
SaAisErrorT
openais_cfg_service_load (
openais_cfg_handle_t cfg_handle,
corosync_cfg_service_load (
corosync_cfg_handle_t cfg_handle,
char *service_name,
unsigned int service_ver);
SaAisErrorT
openais_cfg_service_unload (
openais_cfg_handle_t cfg_handle,
corosync_cfg_service_unload (
corosync_cfg_handle_t cfg_handle,
char *service_name,
unsigned int service_ver);
SaAisErrorT
openais_cfg_administrative_state_get (
openais_cfg_handle_t cfg_handle,
corosync_cfg_administrative_state_get (
corosync_cfg_handle_t cfg_handle,
OpenaisCfgAdministrativeTargetT administrativeTarget,
OpenaisCfgAdministrativeStateT *administrativeState);
SaAisErrorT
openais_cfg_administrative_state_set (
openais_cfg_handle_t cfg_handle,
corosync_cfg_administrative_state_set (
corosync_cfg_handle_t cfg_handle,
OpenaisCfgAdministrativeTargetT administrativeTarget,
OpenaisCfgAdministrativeStateT administrativeState);
SaAisErrorT
openais_cfg_state_track (
openais_cfg_handle_t cfg_handle,
corosync_cfg_state_track (
corosync_cfg_handle_t cfg_handle,
SaUint8T trackFlags,
const OpenaisCfgStateNotificationT *notificationBuffer);
SaAisErrorT
openais_cfg_state_track_stop (
openais_cfg_handle_t cfg_handle);
corosync_cfg_state_track_stop (
corosync_cfg_handle_t cfg_handle);
#ifdef __cplusplus
}

View File

@ -35,7 +35,7 @@
#define OPENAIS_CONFDB_H_DEFINED
/**
* @addtogroup confdb_openais
* @addtogroup confdb_corosync
*
* @{
*/

View File

@ -37,7 +37,7 @@
#include <netinet/in.h>
/**
* @addtogroup cpg_openais
* @addtogroup cpg_corosync
*
* @{
*/

View File

@ -65,7 +65,7 @@
#define LOG_LEVEL_CRIT LOG_CRIT
#define LOG_LEVEL_ERROR LOG_ERR
#define LOG_LEVEL_WARNING LOG_WARNING
#define LOG_LEVEL_SECURITY LOG_WARNING // openais specific
#define LOG_LEVEL_SECURITY LOG_WARNING // corosync specific
#define LOG_LEVEL_NOTICE LOG_NOTICE
#define LOG_LEVEL_INFO LOG_INFO
#define LOG_LEVEL_DEBUG LOG_DEBUG

View File

@ -38,10 +38,10 @@
#include <netinet/in.h>
/**
* @defgroup openais Other API services provided by openais
* @defgroup corosync Other API services provided by corosync
*/
/**
* @addtogroup evs_openais
* @addtogroup evs_corosync
*
* @{
*/

View File

@ -145,12 +145,12 @@ typedef enum {
AIS_AMF_ADMINISTRATIVETARGET_SERVICEGROUP = 1,
AIS_AMF_ADMINISTRATIVETARGET_COMPONENTSERVICEINSTANCE = 2,
AIS_AMF_ADMINISTRATIVETARGET_NODE = 3
} openaisAdministrativeTarget;
} corosyncAdministrativeTarget;
typedef enum {
AIS_AMF_ADMINISTRATIVESTATE_UNLOCKED = 0,
AIS_AMF_ADMINISTRATIVESTATE_LOCKED = 1,
AIS_AMF_ADMINISTRATIVESTATE_STOPPING = 2
} openaisAdministrativeState;
} corosyncAdministrativeState;
#endif /* AIS_IPC_CFG_H_DEFINED */

View File

@ -45,7 +45,7 @@
/*
* Array location of various timeouts as
* specified in openais.conf. The last enum
* specified in corosync.conf. The last enum
* specifies the size of the timeouts array and
* needs to remain the last item in the list.
*/

View File

@ -1,6 +1,6 @@
#!/bin/sh
#
# openais Start the openais cluster service
# corosync Start the corosync cluster service
#
# Author: Andrew Beekhof <abeekhof@suse.de>
# License: Revised BSD
@ -10,10 +10,10 @@
# description: OpenAIS daemon
#
### BEGIN INIT INFO
# Description: openais....
# Description: corosync....
#
# Short-Description: openais cluster services.
# Provides: openais
# Short-Description: corosync cluster services.
# Provides: corosync
# Required-Start: $network
# Should-Start: $syslog
# Required-Stop: $network

View File

@ -4,7 +4,7 @@ All software is composed of components, which contain multiple software classes.
Components generally depend upon other components and sometimes classes from
other components.
Some components of openais are the evt service, the ckpt service, the clm
Some components of corosync are the evt service, the ckpt service, the clm
service, the totem protocol, and others. If a defect is found in any of
these components, the entire ais executive must be stopped, replaced, and
restarted.

View File

@ -95,8 +95,8 @@ void cfg_handleInstanceDestructor (void *instance)
}
SaAisErrorT
openais_cfg_initialize (
openais_cfg_handle_t *cfg_handle,
corosync_cfg_initialize (
corosync_cfg_handle_t *cfg_handle,
const OpenaisCfgCallbacksT *cfgCallbacks)
{
struct cfg_instance *cfg_instance;
@ -143,8 +143,8 @@ error_no_destroy:
}
SaAisErrorT
openais_cfg_fd_get (
openais_cfg_handle_t cfg_handle,
corosync_cfg_fd_get (
corosync_cfg_handle_t cfg_handle,
SaSelectionObjectT *selectionObject)
{
struct cfg_instance *cfg_instance;
@ -162,8 +162,8 @@ openais_cfg_fd_get (
}
SaAisErrorT
openais_cfg_dispatch (
openais_cfg_handle_t cfg_handle,
corosync_cfg_dispatch (
corosync_cfg_handle_t cfg_handle,
SaDispatchFlagsT dispatchFlags)
{
struct pollfd ufds;
@ -173,10 +173,10 @@ openais_cfg_dispatch (
int dispatch_avail;
struct cfg_instance *cfg_instance;
#ifdef COMPILE_OUT
struct res_lib_openais_healthcheckcallback *res_lib_openais_healthcheckcallback;
struct res_lib_openais_readinessstatesetcallback *res_lib_openais_readinessstatesetcallback;
struct res_lib_openais_csisetcallback *res_lib_openais_csisetcallback;
struct res_lib_openais_csiremovecallback *res_lib_openais_csiremovecallback;
struct res_lib_corosync_healthcheckcallback *res_lib_corosync_healthcheckcallback;
struct res_lib_corosync_readinessstatesetcallback *res_lib_corosync_readinessstatesetcallback;
struct res_lib_corosync_csisetcallback *res_lib_corosync_csisetcallback;
struct res_lib_corosync_csiremovecallback *res_lib_corosync_csiremovecallback;
struct res_lib_cfg_statetrackcallback *res_lib_cfg_statetrackcallback;
#endif
OpenaisCfgCallbacksT callbacks;
@ -295,8 +295,8 @@ error_nounlock:
}
SaAisErrorT
openais_cfg_finalize (
openais_cfg_handle_t cfg_handle)
corosync_cfg_finalize (
corosync_cfg_handle_t cfg_handle)
{
struct cfg_instance *cfg_instance;
SaAisErrorT error;
@ -347,8 +347,8 @@ openais_cfg_finalize (
}
SaAisErrorT
openais_cfg_ring_status_get (
openais_cfg_handle_t cfg_handle,
corosync_cfg_ring_status_get (
corosync_cfg_handle_t cfg_handle,
char ***interface_names,
char ***status,
unsigned int *interface_count)
@ -427,8 +427,8 @@ no_error:
}
SaAisErrorT
openais_cfg_ring_reenable (
openais_cfg_handle_t cfg_handle)
corosync_cfg_ring_reenable (
corosync_cfg_handle_t cfg_handle)
{
struct cfg_instance *cfg_instance;
struct req_lib_cfg_ringreenable req_lib_cfg_ringreenable;
@ -458,8 +458,8 @@ openais_cfg_ring_reenable (
}
SaAisErrorT
openais_cfg_service_load (
openais_cfg_handle_t cfg_handle,
corosync_cfg_service_load (
corosync_cfg_handle_t cfg_handle,
char *service_name,
unsigned int service_ver)
{
@ -496,8 +496,8 @@ openais_cfg_service_load (
}
SaAisErrorT
openais_cfg_service_unload (
openais_cfg_handle_t cfg_handle,
corosync_cfg_service_unload (
corosync_cfg_handle_t cfg_handle,
char *service_name,
unsigned int service_ver)
{
@ -533,8 +533,8 @@ openais_cfg_service_unload (
return (error);
}
SaAisErrorT
openais_cfg_state_track (
openais_cfg_handle_t cfg_handle,
corosync_cfg_state_track (
corosync_cfg_handle_t cfg_handle,
SaUint8T trackFlags,
const OpenaisCfgStateNotificationT *notificationBuffer)
{
@ -570,8 +570,8 @@ openais_cfg_state_track (
}
SaAisErrorT
openais_cfg_state_track_stop (
openais_cfg_handle_t cfg_handle)
corosync_cfg_state_track_stop (
corosync_cfg_handle_t cfg_handle)
{
struct cfg_instance *cfg_instance;
struct req_lib_cfg_statetrackstop req_lib_cfg_statetrackstop;
@ -603,8 +603,8 @@ openais_cfg_state_track_stop (
}
SaAisErrorT
openais_cfg_admin_state_get (
openais_cfg_handle_t cfg_handle,
corosync_cfg_admin_state_get (
corosync_cfg_handle_t cfg_handle,
OpenaisCfgAdministrativeTargetT administrativeTarget,
OpenaisCfgAdministrativeStateT *administrativeState)
{
@ -639,8 +639,8 @@ openais_cfg_admin_state_get (
}
SaAisErrorT
openais_cfg_admin_state_set (
openais_cfg_handle_t cfg_handle,
corosync_cfg_admin_state_set (
corosync_cfg_handle_t cfg_handle,
OpenaisCfgAdministrativeTargetT administrativeTarget,
OpenaisCfgAdministrativeStateT administrativeState)
{

View File

@ -32,7 +32,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
* Provides access to data in the openais object database
* Provides access to data in the corosync object database
*/
#include <stdlib.h>
@ -125,8 +125,8 @@ static struct iter_context *find_iter_context(struct list_head *list, unsigned i
}
/**
* @defgroup confdb_openais
* @ingroup openais
* @defgroup confdb_corosync
* @ingroup corosync
*
* @{
*/

View File

@ -34,7 +34,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
* Provides a closed process group API using the openais executive
* Provides a closed process group API using the corosync executive
*/
#include <stdlib.h>
@ -84,8 +84,8 @@ static void cpg_instance_destructor (void *instance)
/**
* @defgroup cpg_openais The closed process group API
* @ingroup openais
* @defgroup cpg_corosync The closed process group API
* @ingroup corosync
*
* @{
*/

View File

@ -35,7 +35,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
* Provides an extended virtual synchrony API using the openais executive
* Provides an extended virtual synchrony API using the corosync executive
*/
#include <stdlib.h>
@ -89,8 +89,8 @@ static void evs_instance_destructor (void *instance)
/**
* @defgroup evs_openais The extended virtual synchrony passthrough API
* @ingroup openais
* @defgroup evs_corosync The extended virtual synchrony passthrough API
* @ingroup corosync
*
* @{
*/

View File

@ -2,18 +2,18 @@
OPENAIS_CFG_0.82 {
global:
openais_cfg_initialize;
openais_cfg_fd_get;
openais_cfg_dispatch;
openais_cfg_finalize;
openais_cfg_administrative_state_get;
openais_cfg_administrative_state_set;
openais_cfg_track;
openais_cfg_track_stop;
openais_cfg_ring_status_get;
openais_cfg_ring_reenable;
openais_cfg_service_load;
openais_cfg_service_unload;
corosync_cfg_initialize;
corosync_cfg_fd_get;
corosync_cfg_dispatch;
corosync_cfg_finalize;
corosync_cfg_administrative_state_get;
corosync_cfg_administrative_state_set;
corosync_cfg_track;
corosync_cfg_track_stop;
corosync_cfg_ring_status_get;
corosync_cfg_ring_reenable;
corosync_cfg_service_load;
corosync_cfg_service_unload;
local:

View File

@ -32,7 +32,7 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
* Provides stand-alone access to data in the openais object database
* Provides stand-alone access to data in the corosync object database
* when aisexec is not running.
*/

View File

@ -33,8 +33,8 @@ all: html
html:
mkdir html
groff -mandoc -Thtml openais_overview.8 > html/openais_overview.html
groff -mandoc -Thtml openais.conf.5 > html/openais.conf.html
groff -mandoc -Thtml corosync_overview.8 > html/corosync_overview.html
groff -mandoc -Thtml corosync.conf.5 > html/corosync.conf.html
groff -mandoc -Thtml evs_overview.8 > html/evs_overview.html
groff -mandoc -Thtml evs_initialize.3 > html/evs_initialize.html
groff -mandoc -Thtml evs_finalize.3 > html/evs_finalize.html

View File

@ -32,15 +32,15 @@
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH AMF.CONF 5 2006-08-29 "openais Man Page"
.TH AMF.CONF 5 2006-08-29 "corosync Man Page"
.SH NAME
amf.conf - openais AMF configuration file
amf.conf - corosync AMF configuration file
.SH DESCRIPTION
.B amf.conf
is the configuration file that determines the behaviour of the AIS Availability
Management Framework service, AMF in the openais implementation.
Management Framework service, AMF in the corosync implementation.
Entries in this file will for example determine what applications AMF will start
and how to supervise them.
@ -106,7 +106,7 @@ The value of the attribute 'saAmfNodeClmNode' should be the hostname (without
domain name) as given to the host at boot time. This name is returned by the
shell command 'hostname'.
Currently, AMF is enabled/disabled by an entry in the openais.conf file, see [1].
Currently, AMF is enabled/disabled by an entry in the corosync.conf file, see [1].
It is default disabled.
@ -246,7 +246,7 @@ Multivalue
Hans.Feldt at ericsson.com
.SH EXAMPLE
For an AMF configuration file example, see the amf.conf file under the openais
For an AMF configuration file example, see the amf.conf file under the corosync
.B conf
directory.
@ -254,12 +254,12 @@ directory.
.TP
/etc/ais/amf.conf
.TP
/etc/ais/openais.conf
/etc/ais/corosync.conf
.SH "SEE ALSO"
[1] openais_conf (5)
[1] corosync_conf (5)
.TP
[2] openais_overview (8)
[2] corosync_overview (8)
.TP
[3] README.amf
.TP

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_DISPATCH 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_DISPATCH 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_dispatch \- Dispatches callbacks from the CONFDB service
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "int confdb_dispatch(confdb_handle_t " handle ", confdb_dispatch_t *" dispatch_types ");"
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_FD_GET 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_FD_GET 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_fd_get \- Dispatches callbacks from the CONFDB service
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "int confdb_fd_get(confdb_handle_t " handle ", int *" fd ");"
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_FINALIZE 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_FINALIZE 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_finalize \- Terminate a connection to the CONFDB service
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "int confdb_finalize(confdb_handle_t " handle ");"
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_INITIALIZE 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_INITIALIZE 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_initialize \- Create a new connection to the ConfDb service
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "int confdb_initialize(confdb_handle_t *" handle ", confdb_callbacks_t *" callbacks ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_KEY_CREATE 3 2008-04-17 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_KEY_CREATE 3 2008-04-17 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_key_create \- Add a new key/value pair to the Configuration Database
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "confdb_error_t confdb_key_create(confdb_handle_t " handle ",
.BI unsigned int " parent_object_handle ",

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_KEY_DELETE 3 2008-04-17 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_KEY_DELETE 3 2008-04-17 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_key_delete \- Delete a key/value pair from the Configuration Database
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "confdb_error_t confdb_key_delete(confdb_handle_t " handle ",
.BI unsigned int " parent_object_handle ",

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_KEY_ITER 3 2008-04-17 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_KEY_ITER 3 2008-04-17 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_key_iter \- Iterate through key/value pairs in the Configuration Database
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "confdb_error_t confdb_key_iter_start(confdb_handle_t " handle ", unsigned int " parent_object_handle " ); "
.sp

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_KEY_REPLACE 3 2008-04-17 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_KEY_REPLACE 3 2008-04-17 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_key_replace \- Replace a key/value pair from the Configuration Database
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "confdb_error_t confdb_key_replace(confdb_handle_t " handle ", unsigned int " parent_object_handle ", void " *key_name ",
.BI int " key_name_len ",

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_OBJECT_CREATE 3 2008-04-17 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_OBJECT_CREATE 3 2008-04-17 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_object_create \- Create a new object in the Configuration Database
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "confdb_error_t confdb_object_create(confdb_handle_t " handle ", unsigned int " parent_object_handle ",
.BI void " *object_name ",

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_* 3 2008-04-17 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_* 3 2008-04-17 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_object_destroy \- Remove an object from the Configuration Database
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "confdb_error_t confdb_destroy(confdb_handle_t " handle ", unsigned int " object_handle ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_OBJECT_FIND 3 2008-04-17 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_OBJECT_FIND 3 2008-04-17 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_object_find \- Find a named object in the Configuration Database
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "confdb_error_t confdb_object_find_start(confdb_handle_t " handle ", unsigned int " parent_object_handle " ); "
.sp

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_OBJECT_ITER 3 2008-04-17 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_OBJECT_ITER 3 2008-04-17 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_object_iter \- Iterate through objects in the Configuration Database
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "confdb_error_t confdb_object_iter_start(confdb_handle_t " handle ", unsigned int " parent_object_handle " ); "
.sp

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_OBJECT_PARENT_GET 3 2008-04-17 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_OBJECT_PARENT_GET 3 2008-04-17 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
confdb_parent_get \- Configuration Database Object Parent
.SH SYNOPSIS
.B #include <openais/confdb.h>
.B #include <corosync/confdb.h>
.sp
.BI "confdb_error_t confdb_object_parent_get(confdb_handle_t " handle ", unsigned int " object_handle ", unsigned int " *parent_object_handle ");"
.SH DESCRIPTION

View File

@ -31,10 +31,10 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CONFDB_OVERVIEW 8 2006-03-06 "openais Man Page" "Openais Programmer's Manual"
.TH CONFDB_OVERVIEW 8 2006-03-06 "corosync Man Page" "Openais Programmer's Manual"
.SH OVERVIEW
The CONFDB library is delivered with the openais project. This library is used
to examine manipulate the configuratin databser used by openais.
The CONFDB library is delivered with the corosync project. This library is used
to examine manipulate the configuratin databser used by corosync.
.PP
The library provides a mechanism to:
* Create new objects

View File

@ -32,16 +32,16 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH OPENAIS_CONF 5 2006-03-28 "openais Man Page" "Openais Programmer's Manual"
.TH OPENAIS_CONF 5 2006-03-28 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
openais.conf - openais executive configuration file
corosync.conf - corosync executive configuration file
.SH SYNOPSIS
/etc/ais/openais.conf
/etc/ais/corosync.conf
.SH DESCRIPTION
The openais.conf instructs the openais executive about various parameters
needed to control the openais executive. The configuration file consists of
The corosync.conf instructs the corosync executive about various parameters
needed to control the corosync executive. The configuration file consists of
bracketed top level directives. The possible directive choices are
.IR "totem { } , logging { } , event { } , and amf { }".
These directives are described below.
@ -80,7 +80,7 @@ ring.
.TP
bindnetaddr
This specifies the address which the openais executive should bind.
This specifies the address which the corosync executive should bind.
This address should always end in zero. If the totem traffic should
be routed over 192.168.5.92, set bindnetaddr to 192.168.5.0.
@ -92,7 +92,7 @@ If IPv6 networking is used, the nodeid field must be specified.
.TP
mcastaddr
This is the multicast address used by openais executive. The default
This is the multicast address used by corosync executive. The default
should work for most networks, but the network administrator should be queried
about a multicast address to use. Avoid 224.x.x.x because this is a "config"
multicast address.
@ -103,7 +103,7 @@ will be used. If IPv6 networking is used, the nodeid field must be specified.
.TP
mcastport
This specifies the UDP port number. It is possible to use the same multicast
address on a network with the openais services configured for different
address on a network with the corosync services configured for different
UDP ports.
.PP
@ -247,7 +247,7 @@ token_retransmit
This timeout specifies in milliseconds after how long before receiving a token
the token is retransmitted. This will be automatically calculated if token
is modified. It is not recommended to alter this value without guidance from
the openais community.
the corosync community.
The default is 238 milliseconds.
@ -255,7 +255,7 @@ The default is 238 milliseconds.
hold
This timeout specifies in milliseconds how long the token should be held by
the representative when the protocol is under low utilization. It is not
recommended to alter this value without guidance from the openais community.
recommended to alter this value without guidance from the corosync community.
The default is 180 milliseconds.
@ -282,7 +282,7 @@ to wait before sending a join message. For configurations with less then
is necessary to ensure the NIC is not overflowed with join messages on
formation of a new ring. A reasonable value for large rings (128 nodes) would
be 80msec. Other timer values must also change if this value is changed. Seek
advice from the openais mailing list if trying to run larger configurations.
advice from the corosync mailing list if trying to run larger configurations.
The default is 0 milliseconds.
@ -404,7 +404,7 @@ for a particular processor.
This value will automatically be calculated from the token timeout and
problem_count_threshold but may be overridden. It is not recommended to
override this value without guidance from the openais community.
override this value without guidance from the corosync community.
The default is 47 milliseconds.
@ -542,12 +542,12 @@ The default is disabled.
.SH "FILES"
.TP
/etc/ais/openais.conf
The openais executive configuration file.
/etc/ais/corosync.conf
The corosync executive configuration file.
.TP
/etc/ais/amf.conf
The openais AMF configuration file.
The corosync AMF configuration file.
.SH "SEE ALSO"
.BR openais_overview (8), README.amf
.BR corosync_overview (8), README.amf
.PP

View File

@ -32,9 +32,9 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH OPENAIS_OVERVIEW 8 2006-05-10 "openais Man Page" "Openais Programmer's Manual"
.TH OPENAIS_OVERVIEW 8 2006-05-10 "corosync Man Page" "Openais Programmer's Manual"
.SH OVERVIEW
The openais project is a project to implement a production quality "Revised BSD"
The corosync project is a project to implement a production quality "Revised BSD"
licensed implementation of the most recent SA Forum's Application Interface
Specification. The Application Interface Specification is a software API and
policies which are used to develop applications that maintain service during
@ -66,7 +66,7 @@ Application programmers develop applications to periodically record their
state using the checkpointing service. When an active application fails,
a standby application recovers the state of the application. This
technique, called stateful application failover, provides the fundamental
difference between openais and other systems that have come before it.
difference between corosync and other systems that have come before it.
With stateful application failover, the end-application user doesn't
have to reload the application or redial a telephone. The full state
is recorded, so the end-application user sees no interruption in service.
@ -78,40 +78,40 @@ a publish/subscribe model for events. The messaging service provides
end to end messaging. Finally a mechanism to synchronize access is
provided by the distributed lock service.
The openais project also provides a group messaging toolkit called EVS.
The corosync project also provides a group messaging toolkit called EVS.
The EVS service implements a messaging model known as Extended Virtual
Synchrony. This model allows one sender to transmit to many receivers.
Certain guarantees are provided for message and membership delivery
which make virtual synchrony ideal for developing distributed applications.
.SH QUICKSTART
The openais executive must be configured. In the directory conf in the
The corosync executive must be configured. In the directory conf in the
source distribution are several files that must be copied to the /etc/ais
directory. If openais is packaged by a distro, this may be complete.
directory. If corosync is packaged by a distro, this may be complete.
The directory contains the file openais.conf. Please read the openais.conf(5)
man page for details on the configuration options. The openais project will
The directory contains the file corosync.conf. Please read the corosync.conf(5)
man page for details on the configuration options. The corosync project will
work out of the box with the default configuration options, although the
administrator may desire different options.
An user and group of the name "ais" must be added to the system. If openais
An user and group of the name "ais" must be added to the system. If corosync
is packaged from a distro, this step should already be completed.
This can be achieved by executing:
[root@slickdeal root]# adduser ais -g ais
The openais executive uses cryptographic techniques to ensure authenticity
and privacy of the messages. In order for openais to be secure and operate,
The corosync executive uses cryptographic techniques to ensure authenticity
and privacy of the messages. In order for corosync to be secure and operate,
a private key must be generated and shared to all processors.
First generate the key on one of the nodes:
unix# ais-keygen
openais authentication key generator.
corosync authentication key generator.
.PP
Gathering 1024 bits for key from /dev/random.
.PP
Writing openais key to /etc/ais/authkey.
Writing corosync key to /etc/ais/authkey.
.PP
After this operation, a private key will be in the file /etc/ais/authkey.
@ -124,38 +124,38 @@ key from node to node. Then install the key with the command:
unix#: install -D --group=0 --owner=0 --mode=0400 /path_to_authkey/authkey /etc/ais/authkey
If a message "Invalid digest" appears from the openais executive, the keys
If a message "Invalid digest" appears from the corosync executive, the keys
are not consistent between processors.
Finally run the openais executive. If openais is packaged from a distro, it
Finally run the corosync executive. If corosync is packaged from a distro, it
may be set to start on system start. It may also be turned off by default in
which case the init script for openais must be enabled.
which case the init script for corosync must be enabled.
After running aisexec, a list of all processors IP addresses running the ais
executive and configured on the same multicast address will appear. If they
don't appear, there may be a problem with multicast in the distro or hardware.
If this happens, participation in the openais mailing list may help solve the
problem. The email address is openais@lists.osdl.org.
If this happens, participation in the corosync mailing list may help solve the
problem. The email address is corosync@lists.osdl.org.
.SH USING LIBRARIES
The openais AIS libraries have header files which must be included in the
The corosync AIS libraries have header files which must be included in the
developer's application. Once the header file is included, the developer can
reference the AIS interfaces.
The openais project recommends to distros to place include files in
/usr/include/openais. The following include lines must be added to
The corosync project recommends to distros to place include files in
/usr/include/corosync. The following include lines must be added to
the application to use each of the following services:
#include <openais/saClm.h> For the Cluster Membership B.01.01 service.
#include <corosync/saClm.h> For the Cluster Membership B.01.01 service.
.PP
#include <openais/saCkpt.h> For the Checkpointing B.01.01 service.
#include <corosync/saCkpt.h> For the Checkpointing B.01.01 service.
.PP
#include <openais/saEvt.h> For the Eventing B.01.01 service.
#include <corosync/saEvt.h> For the Eventing B.01.01 service.
.PP
#include <openais/ais_amf.h> For the AMF A.01.01 service.
#include <corosync/ais_amf.h> For the AMF A.01.01 service.
.PP
The openais project recommends to distros to place library files in
The corosync project recommends to distros to place library files in
/usr/lib. The following link lines must be added to the LDFLAGS section
of the makefile.
@ -171,7 +171,7 @@ of the makefile.
each library individually.
.SH IPv6
The openais project supports both IPv4 and IPv6 network addresses. The entire
The corosync project supports both IPv4 and IPv6 network addresses. The entire
cluster must use either IPv4 or IPv6 for the cluster communication mechanism.
In order to use IPv6, IPv6 addresses must be specified in the bindnetaddr and
mcastaddr fields in the configuration file. The nodeid field must also be
@ -191,28 +191,28 @@ which will cause significant problems. Make sure a route is available for
IPv6 traffic.
.SH ARCHITECTURE
The AIS libraries are a thin IPC interface to the openais executive. The
openais executive provides services for the SA Forum AIS libraries as well
The AIS libraries are a thin IPC interface to the corosync executive. The
corosync executive provides services for the SA Forum AIS libraries as well
as the EVS and CPG libraries.
The openais executive uses the Totem extended virtual synchrony protocol. The
The corosync executive uses the Totem extended virtual synchrony protocol. The
advantage to the end user is excellent performance characteristics and a proven
protocol with excellent reliability. This protocol connects the processors
in a configuration together so they may communicate.
.SH ENVIRONMENT VARIABLES
The openais executive process uses four environment variables during startup.
The corosync executive process uses four environment variables during startup.
If these environment variables are not set, defaults will be used.
.TP
OPENAIS_MAIN_CONFIG_FILE
This specifies the fully qualified path to the openais configuration file.
This specifies the fully qualified path to the corosync configuration file.
The default is /etc/ais/openais.conf.
The default is /etc/ais/corosync.conf.
.TP
OPENAIS_AMF_CONFIG_FILE
This specifies the fully qualified path to the openais Availability Management
This specifies the fully qualified path to the corosync Availability Management
Framework configuration file.
The default is /etc/ais/amf.conf.
@ -222,8 +222,8 @@ OPENAIS_DEFAULT_CONFIG_IFACE
This specifies the LCRSO that is used to parse the configuration file. This
allows other configuration file parsers to be implemented within the system.
The default is to use the default openais configuration file parser which
parses the format specified in openais.conf (5).
The default is to use the default corosync configuration file parser which
parses the format specified in corosync.conf (5).
.TP
OPENAIS_TOTEM_AUTHKEY_FILE
@ -233,9 +233,9 @@ authenticate and encrypt data used within the Totem protocol.
The default is /etc/ais/authkey.
.SH SECURITY
The openais executive optionally encrypts all messages sent over the network
using the SOBER-128 stream cipher. The openais executive uses HMAC and SHA1 to
authenticate all messages. The openais executive library uses SOBER-128
The corosync executive optionally encrypts all messages sent over the network
using the SOBER-128 stream cipher. The corosync executive uses HMAC and SHA1 to
authenticate all messages. The corosync executive library uses SOBER-128
as a pseudo random number generator. The EVS library feeds the PRNG using
the /dev/random Linux device.
@ -244,18 +244,18 @@ a denial of service attack on the cluster. In this scenario, the cluster is
likely already compromised and a DOS attack is the least of the administration's
worries.
The security in openais does not offer perfect forward secrecy because the keys
The security in corosync does not offer perfect forward secrecy because the keys
are reused. It may be possible for an intruder by capturing packets in an
automated fashion to determine the shared key. No such automated attack has
been published as of yet. In this scenario, the cluster is likely already
compromised to allow the long-term capture of transmitted data.
For security reasons, the openais executive binary aisexec should NEVER
For security reasons, the corosync executive binary aisexec should NEVER
be setuid or setgid in the filesystem.
.PP
.SH SAFTEST COMPLIANCE
The openais libraries are now nearly compliant with every aspect of the SA
The corosync libraries are now nearly compliant with every aspect of the SA
Forum's AIS specification. The AMF service, however, is not compliant with the
B.01.01 specification. The remaining services pass most of the tests of the
saftest suite against the B.01.01 specification.
@ -267,6 +267,6 @@ The Availability Management Framework is under development and not suitable for
deployment..
.SH "SEE ALSO"
.BR openais.conf (5),
.BR corosync.conf (5),
.BR evs_overview (8)
.PP

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_CONTEXT_GET 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_CONTEXT_GET 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
cpg_context_get \- Gets the context variable for a CPG instance
.SH SYNOPSIS
.B #include <openais/cpg.h>
.B #include <corosync/cpg.h>
.sp
.BI "int cpg_context_get(cpg_handle_t " handle ", void **" context ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_CONTEXT_SET 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_CONTEXT_SET 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
cpg_context_set \- Sets the context variable for a CPG instance
.SH SYNOPSIS
.B #include <openais/cpg.h>
.B #include <corosync/cpg.h>
.sp
.BI "int cpg_context_set(cpg_handle_t " handle ", void *" context ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_DISPATCH 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_DISPATCH 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
cpg_dispatch \- Dispatches callbacks from the CPG service
.SH SYNOPSIS
.B #include <openais/cpg.h>
.B #include <corosync/cpg.h>
.sp
.BI "int cpg_dispatch(cpg_handle_t " handle ", cpg_dispatch_t *" dispatch_types ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_FD_GET 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_FD_GET 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
cpg_fd_get \- Dispatches callbacks from the CPG service
.SH SYNOPSIS
.B #include <openais/cpg.h>
.B #include <corosync/cpg.h>
.sp
.BI "int cpg_fd_get(cpg_handle_t " handle ", int *" fd ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_FINALIZE 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_FINALIZE 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
cpg_finalize \- Terminate a connection to the CPG service
.SH SYNOPSIS
.B #include <openais/cpg.h>
.B #include <corosync/cpg.h>
.sp
.BI "int cpg_finalize(cpg_handle_t " handle ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_INITIALIZE 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_INITIALIZE 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
cpg_initialize \- Create a new connection to the CPG service
.SH SYNOPSIS
.B #include <openais/cpg.h>
.B #include <corosync/cpg.h>
.sp
.BI "int cpg_initialize(cpg_handle_t *" handle ", cpg_callbacks_t *" callbacks ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_JOIN 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_JOIN 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
cpg_join \- Joins one or more groups in the CPG library
.SH SYNOPSIS
.B #include <openais/cpg.h>
.B #include <corosync/cpg.h>
.sp
.BI "int cpg_join(cpg_handle_t " handle ", struct cpg_name *" group ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_LEAVE 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_LEAVE 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
cpg_leave \- Leave a group in the CPG library
.SH SYNOPSIS
.B #include <openais/cpg.h>
.B #include <corosync/cpg.h>
.sp
.BI "int cpg_leave(cpg_handle_t " handle ", struct cpg_name *" group ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_LOCAL_GET 3 2007-06-12 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_LOCAL_GET 3 2007-06-12 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
cpg_local_get \- Returns the local processor id
.SH SYNOPSIS
.B #include <openais/cpg.h>
.B #include <corosync/cpg.h>
.sp
.BI "int cpg_local_get(cpg_handle_t " handle ", unsigned int *" local_nodeid ");
.SH DESCRIPTION

View File

@ -31,12 +31,12 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_MCAST_JOINED 3 3004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_MCAST_JOINED 3 3004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
cpg_mcast_joined \- Multicasts to all groups joined to a handle
.SH SYNOPSIS
.B #include <sys/uio.h>
.B #include <openais/cpg.h>
.B #include <corosync/cpg.h>
.sp
.BI "int cpg_mcast_joined(cpg_handle_t " handle ", cpg_gurantee_t " guarantee ", struct iovec *" iovec ", int " iov_len ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_MEMBERSHIP_GET 3 2006-02-06 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_MEMBERSHIP_GET 3 2006-02-06 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
cpg_membership_get \- Returns a list of members of a CPG library group
.SH SYNOPSIS
.B #include <openais/cpg.h>
.B #include <corosync/cpg.h>
.sp
.BI "int cpg_membership_get(cpg_handle_t " handle ", struct cpg_name *" groupName ", struct cpg_address *" member_list ", int *" member_list_entries ");
.SH DESCRIPTION

View File

@ -31,9 +31,9 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH CPG_OVERVIEW 8 2006-03-06 "openais Man Page" "Openais Programmer's Manual"
.TH CPG_OVERVIEW 8 2006-03-06 "corosync Man Page" "Openais Programmer's Manual"
.SH OVERVIEW
The CPG library is delivered with the openais project. This library is used
The CPG library is delivered with the corosync project. This library is used
to create distributed applications that operate properly during partitions, merges,
and faults.
.PP

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH EVS_DISPATCH 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH EVS_DISPATCH 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
evs_dispatch \- Dispatches callbacks from the EVS service
.SH SYNOPSIS
.B #include <openais/evs.h>
.B #include <corosync/evs.h>
.sp
.BI "int evs_dispatch(evs_handle_t " handle ", evs_dispatch_t *" dispatch_types ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH EVS_FD_GET 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH EVS_FD_GET 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
evs_fd_get \- Dispatches callbacks from the EVS service
.SH SYNOPSIS
.B #include <openais/evs.h>
.B #include <corosync/evs.h>
.sp
.BI "int evs_fd_get(evs_handle_t " handle ", int *" fd ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH EVS_FINALIZE 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH EVS_FINALIZE 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
evs_finalize \- Terminate a connection to the EVS service
.SH SYNOPSIS
.B #include <openais/evs.h>
.B #include <corosync/evs.h>
.sp
.BI "int evs_finalize(evs_handle_t " handle ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH EVS_INITIALIZE 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH EVS_INITIALIZE 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
evs_initialize \- Create a new connection to the EVS service
.SH SYNOPSIS
.B #include <openais/evs.h>
.B #include <corosync/evs.h>
.sp
.BI "int evs_initialize(evs_handle_t *" handle ", evs_callbacks_t *" callbacks ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH EVS_JOIN 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH EVS_JOIN 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
evs_join \- Joins one or more groups in the EVS library
.SH SYNOPSIS
.B #include <openais/evs.h>
.B #include <corosync/evs.h>
.sp
.BI "int evs_join(evs_handle_t " handle ", evs_group_t *" groups ", int " group_entries ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH EVS_LEAVE 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH EVS_LEAVE 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
evs_leave \- Leave one or more groups in the EVS library
.SH SYNOPSIS
.B #include <openais/evs.h>
.B #include <corosync/evs.h>
.sp
.BI "int evs_leave(evs_handle_t " handle ", evs_group_t *" groups ", int group_entries);
.SH DESCRIPTION

View File

@ -31,12 +31,12 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH EVS_MCAST_GROUPS 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH EVS_MCAST_GROUPS 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
evs_join \- Multicast a message to selected groups
.SH SYNOPSIS
.B #include <sys/uio.h>
.B #include <openais/evs.h>
.B #include <corosync/evs.h>
.sp
.BI "int evs_mcast_gruops(evs_handle_t " handle ", evs_guraantee_t " guarantee ", evs_group_t *" groups ", int group_entries, struct iovec *" iovec ", int " iov_len ");
.SH DESCRIPTION

View File

@ -31,12 +31,12 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH EVS_MCAST_JOINED 3 3004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH EVS_MCAST_JOINED 3 3004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
evs_join \- Multicasts to all groups joined to an handle
.SH SYNOPSIS
.B #include <sys/uio.h>
.B #include <openais/evs.h>
.B #include <corosync/evs.h>
.sp
.BI "int evs_mcast_joined(evs_handle_t " handle ", evs_guraantee_t " guarantee ", struct iovec *" iovec ", int " iov_len ");
.SH DESCRIPTION

View File

@ -31,11 +31,11 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH EVS_JOIN 3 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH EVS_JOIN 3 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH NAME
evs_join \- Joins one or more groups in the EVS library
.SH SYNOPSIS
.B #include <openais/evs.h>
.B #include <corosync/evs.h>
.sp
.BI "int evs_membership_get(evs_handle_t " handle ", struct evs_address *" local_addr ", struct evs_address *" member_list ", int *" member_list_entries ");
.SH DESCRIPTION

View File

@ -31,9 +31,9 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH EVS_OVERVIEW 8 2004-08-31 "openais Man Page" "Openais Programmer's Manual"
.TH EVS_OVERVIEW 8 2004-08-31 "corosync Man Page" "Openais Programmer's Manual"
.SH OVERVIEW
The EVS library is delivered with the openais project. This library is used
The EVS library is delivered with the corosync project. This library is used
to create distributed applications that operate properly during partitions, merges,
and faults.
.PP
@ -120,10 +120,10 @@ Virtual Synchrony allows the current configuration to be used to make decisions
and merges. Since the configuration is sent in the stream of messages to the application,
the application can alter its behavior based upon the configuration changes.
.SH ARCHITECTURE AND ALGORITHM
The EVS library is a thin IPC interface to the openais executive. The openais executive
The EVS library is a thin IPC interface to the corosync executive. The corosync executive
provides services for the SA Forum AIS libraries as well as the EVS library.
.PP
The openais executive uses a ring protocol and membership protocol to send messages
The corosync executive uses a ring protocol and membership protocol to send messages
according to the semantics required by extended virtual synchrony. The ring protocol
creates a virtual ring of processors. A token is rotated around the ring of processors.
When the token is possessed by a processor, that processor may multicast messages to
@ -152,13 +152,13 @@ time to access Ethernet is about the same for a small message as it is for a
larger message. Smaller messages obtain better messages per second, because the
time to send a message is not exactly the same.
.PP
80% of CPU utilization occurs because of encryption and authentication. The openais
80% of CPU utilization occurs because of encryption and authentication. The corosync
can be built without encryption and authentication for those with no security
requirements and low CPU utilization requirements. Even without encryption or
authentication, under heavy load, processor utilization can reach 25% on 1.5 GHZ
CPU processors.
.PP
The current openais executive supports 16 processors, however, support for more processors is possible by changing defines in the openais executive. This is untested, however.
The current corosync executive supports 16 processors, however, support for more processors is possible by changing defines in the corosync executive. This is untested, however.
.SH SECURITY
The EVS library encrypts all messages sent over the network using the SOBER-128
stream cipher. The EVS library uses HMAC and SHA1 to authenticate all messages.

View File

@ -6,11 +6,11 @@
<P>
Welcome to the openais project's manual pages.
Welcome to the corosync project's manual pages.
<P>
<A HREF="openais_overview.html">openais_overview(8)</A>: Overview of the openais system.
<A HREF="corosync_overview.html">corosync_overview(8)</A>: Overview of the corosync system.
<BR>
<A HREF="openais.conf.html">openais.conf(5)</A>: Description of configuration options for openais.
<A HREF="corosync.conf.html">corosync.conf(5)</A>: Description of configuration options for corosync.
<BR>
<P>
<A HREF="evs_overview.html">evs_overview(8)</A>: Overview of the evs extended virtual synchrony group communication toolkit.

View File

@ -31,7 +31,7 @@
.\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
.\" * THE POSSIBILITY OF SUCH DAMAGE.
.\" */
.TH LOGSYS_OVERVIEW 8 2007-05-15 "openais Man Page" "Openais Programmer's Manual"
.TH LOGSYS_OVERVIEW 8 2007-05-15 "corosync Man Page" "Openais Programmer's Manual"
.SH OVERVIEW
The logsys library provides a generically usable logging and tracing system for
use by applications. It supports many features including:
@ -81,7 +81,7 @@ LOG_MODE_FILTER_DEBUG_FROM_SYSLOG: Enabling this mode will stop debug messages f
An example declaration would be:
#include <openais/logsys.h>
#include <corosync/logsys.h>
... (other #includes)

View File

@ -168,7 +168,7 @@ static struct corosync_service_engine_iface_ver0 evs_service_engine_iface = {
.corosync_get_service_engine_ver0 = evs_get_service_engine_ver0
};
static struct lcr_iface openais_evs_ver0[1] = {
static struct lcr_iface corosync_evs_ver0[1] = {
{
.name = "corosync_evs",
.version = 0,
@ -184,7 +184,7 @@ static struct lcr_iface openais_evs_ver0[1] = {
static struct lcr_comp evs_comp_ver0 = {
.iface_count = 1,
.ifaces = openais_evs_ver0
.ifaces = corosync_evs_ver0
};
static struct corosync_service_engine *evs_get_service_engine_ver0 (void)
@ -193,7 +193,7 @@ static struct corosync_service_engine *evs_get_service_engine_ver0 (void)
}
__attribute__ ((constructor)) static void evs_comp_register (void) {
lcr_interfaces_set (&openais_evs_ver0[0], &evs_service_engine_iface);
lcr_interfaces_set (&corosync_evs_ver0[0], &evs_service_engine_iface);
lcr_component_register (&evs_comp_ver0);
}

View File

@ -3,14 +3,14 @@
# author: Angus Salkeld (ahsalkeld@gmail.com)
#
# usage:
# run this from the base directory of openais
# run this from the base directory of corosync
#
SRCDIR=$(pwd)
ALL_TESTS="1 2 3 4"
MAKE_LOG=/tmp/openais-make-test.log
MAKE_LOG=/tmp/corosync-make-test.log
test_1()
{
@ -55,7 +55,7 @@ test_2()
test_3()
{
local BUILD_DIR=/tmp/openais-make-test
local BUILD_DIR=/tmp/corosync-make-test
echo "O=$BUILD_DIR" > $SRCDIR/make_o_path
TEST="[3] make objects separately from the source"
@ -67,7 +67,7 @@ test_3()
test_4()
{
BUILD_DIR=/tmp/openais-make-test
BUILD_DIR=/tmp/corosync-make-test
rm -f $SRCDIR/make_o_path
TEST="[4] make -f SRCDIR/Makefile from the builddir"

View File

@ -42,7 +42,7 @@ ifeq (${OPENAIS_COMPAT}, SOLARIS)
endif
LIBS = ../lib/libconfdb.a ../lib/libcfg.a
BINARIES=corosync-objctl corosync-cfgtool keygen
BINARIES=corosync-objctl corosync-cfgtool corosync-keygen
APPS_SRC=$(addsuffix .c,$(BINARIES))
EXTRA_CFLAGS = -I$(srcdir)include
@ -54,7 +54,7 @@ corosync-objctl: corosync-objctl.o $(LIBS)
corosync-cfgtool: corosync-cfgtool.o $(LIBS)
$(CC) $(LDFLAGS) -o $@ $< $(LIBS)
keygen: keygen.o
corosync-keygen: corosync-keygen.o
$(CC) $(LDFLAGS) -o $@ $<
clean:

View File

@ -51,20 +51,20 @@
static void ringstatusget_do (void)
{
SaAisErrorT result;
openais_cfg_handle_t handle;
corosync_cfg_handle_t handle;
unsigned int interface_count;
char **interface_names;
char **interface_status;
unsigned int i;
printf ("Printing ring status.\n");
result = openais_cfg_initialize (&handle, NULL);
result = corosync_cfg_initialize (&handle, NULL);
if (result != SA_AIS_OK) {
printf ("Could not initialize openais configuration API error %d\n", result);
printf ("Could not initialize corosync configuration API error %d\n", result);
exit (1);
}
openais_cfg_ring_status_get (handle,
corosync_cfg_ring_status_get (handle,
&interface_names,
&interface_status,
&interface_count);
@ -75,69 +75,69 @@ static void ringstatusget_do (void)
printf ("\tstatus\t= %s\n", interface_status[i]);
}
openais_cfg_finalize (handle);
corosync_cfg_finalize (handle);
}
static void ringreenable_do (void)
{
SaAisErrorT result;
openais_cfg_handle_t handle;
corosync_cfg_handle_t handle;
printf ("Re-enabling all failed rings.\n");
result = openais_cfg_initialize (&handle, NULL);
result = corosync_cfg_initialize (&handle, NULL);
if (result != SA_AIS_OK) {
printf ("Could not initialize openais configuration API error %d\n", result);
printf ("Could not initialize corosync configuration API error %d\n", result);
exit (1);
}
result = openais_cfg_ring_reenable (handle);
result = corosync_cfg_ring_reenable (handle);
if (result != SA_AIS_OK) {
printf ("Could not reenable ring error %d\n", result);
}
openais_cfg_finalize (handle);
corosync_cfg_finalize (handle);
}
void service_load_do (char *service, unsigned int version)
{
SaAisErrorT result;
openais_cfg_handle_t handle;
corosync_cfg_handle_t handle;
printf ("Loading service '%s' version '%d'\n", service, version);
result = openais_cfg_initialize (&handle, NULL);
result = corosync_cfg_initialize (&handle, NULL);
if (result != SA_AIS_OK) {
printf ("Could not initialize openais configuration API error %d\n", result);
printf ("Could not initialize corosync configuration API error %d\n", result);
exit (1);
}
result = openais_cfg_service_load (handle, service, version);
result = corosync_cfg_service_load (handle, service, version);
if (result != SA_AIS_OK) {
printf ("Could not load service (error = %d)\n", result);
}
openais_cfg_finalize (handle);
corosync_cfg_finalize (handle);
}
void service_unload_do (char *service, unsigned int version)
{
SaAisErrorT result;
openais_cfg_handle_t handle;
corosync_cfg_handle_t handle;
printf ("Unloading service '%s' version '%d'\n", service, version);
result = openais_cfg_initialize (&handle, NULL);
result = corosync_cfg_initialize (&handle, NULL);
if (result != SA_AIS_OK) {
printf ("Could not initialize openais configuration API error %d\n", result);
printf ("Could not initialize corosync configuration API error %d\n", result);
exit (1);
}
result = openais_cfg_service_unload (handle, service, version);
result = corosync_cfg_service_unload (handle, service, version);
if (result != SA_AIS_OK) {
printf ("Could not unload service (error = %d)\n", result);
}
openais_cfg_finalize (handle);
corosync_cfg_finalize (handle);
}
void usage_do (void)
{
printf ("openais-cfgtool [-s] [-r] [-l] [-u] [service_name] [-v] [version]\n\n");
printf ("A tool for displaying and configuring active parameters within openais.\n");
printf ("corosync-cfgtool [-s] [-r] [-l] [-u] [service_name] [-v] [version]\n\n");
printf ("A tool for displaying and configuring active parameters within corosync.\n");
printf ("options:\n");
printf ("\t-s\tDisplays the status of the current rings on this node.\n");
printf ("\t-r\tReset redundant ring state cluster wide after a fault to\n");

View File

@ -83,7 +83,7 @@ int main (void) {
res = fchown (authkey_fd, 0, 0);
fchmod (authkey_fd, 0400);
printf ("Writing openais key to /etc/ais/authkey.\n");
printf ("Writing corosync key to /etc/ais/authkey.\n");
/*
* Write key