Send Linux-ha-cvs mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
http://lists.community.tummy.com/mailman/listinfo/linux-ha-cvs
or, via email, send a message with subject or body 'help' to
[EMAIL PROTECTED]
You can reach the person managing the list at
[EMAIL PROTECTED]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Linux-ha-cvs digest..."
Today's Topics:
1. Linux-HA CVS: mgmt by zhenh from
([email protected])
2. Linux-HA CVS: linux-ha by zhenh from
([email protected])
3. Linux-HA CVS: mgmt by zhenh from
([email protected])
----------------------------------------------------------------------
Message: 1
Date: Thu, 8 Dec 2005 08:11:05 -0700 (MST)
From: [email protected]
Subject: [Linux-ha-cvs] Linux-HA CVS: mgmt by zhenh from
To: [EMAIL PROTECTED]
Message-ID: <[EMAIL PROTECTED]>
linux-ha CVS committal
Author : zhenh
Host :
Project : linux-ha
Module : mgmt
Dir : linux-ha/mgmt/client
Added Files:
mgmtcmd.py.in
Log Message:
a command line mgmtd client
------------------------------
Message: 2
Date: Thu, 8 Dec 2005 08:13:00 -0700 (MST)
From: [email protected]
Subject: [Linux-ha-cvs] Linux-HA CVS: linux-ha by zhenh from
To: [EMAIL PROTECTED]
Message-ID: <[EMAIL PROTECTED]>
linux-ha CVS committal
Author : zhenh
Host :
Module : linux-ha
Dir : linux-ha
Modified Files:
configure.in
Log Message:
a command line mgmtd client
===================================================================
RCS file: /home/cvs/linux-ha/linux-ha/configure.in,v
retrieving revision 1.474
retrieving revision 1.475
diff -u -3 -r1.474 -r1.475
--- configure.in 8 Dec 2005 02:52:17 -0000 1.474
+++ configure.in 8 Dec 2005 15:13:00 -0000 1.475
@@ -10,7 +10,7 @@
AC_INIT(heartbeat.spec.in)
AC_CONFIG_AUX_DIR(.)
-AC_REVISION($Revision: 1.474 $) dnl cvs revision
+AC_REVISION($Revision: 1.475 $) dnl cvs revision
AC_CANONICAL_HOST
@@ -2541,6 +2541,7 @@
mgmt/daemon/Makefile \
mgmt/client/Makefile \
mgmt/client/haclient.py \
+ mgmt/client/mgmtcmd.py \
heartbeat/Makefile \
heartbeat/rc.d/Makefile \
heartbeat/rc.d/ask_resources \
------------------------------
Message: 3
Date: Thu, 8 Dec 2005 08:19:29 -0700 (MST)
From: [email protected]
Subject: [Linux-ha-cvs] Linux-HA CVS: mgmt by zhenh from
To: [EMAIL PROTECTED]
Message-ID: <[EMAIL PROTECTED]>
linux-ha CVS committal
Author : zhenh
Host :
Project : linux-ha
Module : mgmt
Dir : linux-ha/mgmt/daemon
Modified Files:
mgmt_crm.c
Log Message:
use sync way to get data from CRM
===================================================================
RCS file: /home/cvs/linux-ha/linux-ha/mgmt/daemon/mgmt_crm.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- mgmt_crm.c 8 Dec 2005 08:54:56 -0000 1.2
+++ mgmt_crm.c 8 Dec 2005 15:19:29 -0000 1.3
@@ -36,13 +36,10 @@
extern resource_t *group_find_child(resource_t *rsc, const char *id);
cib_t* cib_conn = NULL;
-pe_working_set_t data_set;
int init_crm(void);
void final_crm(void);
static void on_cib_diff(const char *event, HA_Message *msg);
-static void on_cib_query_done(const HA_Message* msg, int call_id, int rc,
- crm_data_t* output, void* user_data);
static char* on_get_crm_config(char* argv[], int argc);
static char* on_update_crm_config(char* argv[], int argc);
@@ -85,6 +82,7 @@
static resource_t* find_resource(GList* rsc_list, const char* id);
static int delete_object(const char* type, const char* entry, const char* id);
GList* find_xml_node_list(crm_data_t *root, const char *search_path);
+static pe_working_set_t get_data_set(void);
#define GET_RESOURCE() if (argc != 2) {
\
return cl_strdup(MSG_FAIL);
\
@@ -151,6 +149,23 @@
return 0;
}
+pe_working_set_t
+get_data_set(void) {
+ static crm_data_t* cib_xml_copy = NULL;
+ pe_working_set_t data_set;
+
+ set_working_set_defaults(&data_set);
+ if (cib_xml_copy) {
+ ha_msg_del(cib_xml_copy);
+ }
+ cib_xml_copy = get_cib_copy(cib_conn);
+ data_set.input = cib_xml_copy;
+ data_set.now = new_ha_date(TRUE);
+ stage0(&data_set);
+ return data_set;
+}
+
+
/* mgmtd functions */
int
init_crm(void)
@@ -174,9 +189,6 @@
return -1;
}
- ret = cib_conn->cmds->query(cib_conn, NULL, NULL, cib_scope_local);
- add_cib_op_callback(ret, FALSE, NULL, on_cib_query_done);
-
ret = cib_conn->cmds->add_notify_callback(cib_conn, T_CIB_DIFF_NOTIFY
, on_cib_diff);
@@ -229,38 +241,11 @@
}
/* event handler */
-
-void
-on_cib_query_done(const HA_Message* msg, int call_id, int rc,
- crm_data_t* output, void* user_data)
-{
- static crm_data_t *save = NULL;
-
- if(rc == cib_ok) {
- crm_data_t *cib = NULL;
- cib = find_xml_node(output,XML_TAG_CIB,TRUE);
- /* FIXME: dealing with the situation with libxml is missing*/
- if (save != NULL) {
- ha_msg_del(save);
- }
- save = ha_msg_copy(cib);
- set_working_set_defaults(&data_set);
- data_set.input = save;
- stage0(&data_set);
-
- mgmt_log(LOG_INFO,"update cib finished");
- fire_event(EVT_CIB_CHANGED);
- }
-}
-
-
-
void
on_cib_diff(const char *event, HA_Message *msg)
{
-
- int ret = cib_conn->cmds->query(cib_conn, NULL, NULL, cib_scope_local);
- add_cib_op_callback(ret, FALSE, NULL, on_cib_query_done);
+ mgmt_log(LOG_INFO,"update cib finished");
+ fire_event(EVT_CIB_CHANGED);
}
/* cluster functions */
@@ -268,7 +253,10 @@
on_get_crm_config(char* argv[], int argc)
{
char buf [255];
+ pe_working_set_t data_set;
char* ret = cl_strdup(MSG_OK);
+ data_set = get_data_set();
+
ret = mgmt_msg_append(ret, data_set.transition_idle_timeout);
ret = mgmt_msg_append(ret, data_set.symmetric_cluster?"True":"False");
ret = mgmt_msg_append(ret, data_set.stonith_enabled?"True":"False");
@@ -323,8 +311,13 @@
on_get_activenodes(char* argv[], int argc)
{
node_t* node;
- GList* cur = data_set.nodes;
- char* ret = cl_strdup(MSG_OK);
+ GList* cur;
+ char* ret;
+ pe_working_set_t data_set;
+
+ data_set = get_data_set();
+ cur = data_set.nodes;
+ ret = cl_strdup(MSG_OK);
while (cur != NULL) {
node = (node_t*) cur->data;
if (node->details->online) {
@@ -338,6 +331,9 @@
char*
on_get_dc(char* argv[], int argc)
{
+ pe_working_set_t data_set;
+
+ data_set = get_data_set();
if (data_set.dc_node != NULL) {
char* ret = cl_strdup(MSG_OK);
ret = mgmt_msg_append(ret, data_set.dc_node->details->uname);
@@ -351,7 +347,11 @@
on_get_node_config(char* argv[], int argc)
{
node_t* node;
- GList* cur = data_set.nodes;
+ GList* cur;
+ pe_working_set_t data_set;
+
+ data_set = get_data_set();
+ cur = data_set.nodes;
ARGC_CHECK(2);
while (cur != NULL) {
node = (node_t*) cur->data;
@@ -379,7 +379,11 @@
on_get_running_rsc(char* argv[], int argc)
{
node_t* node;
- GList* cur = data_set.nodes;
+ GList* cur;
+ pe_working_set_t data_set;
+
+ data_set = get_data_set();
+ cur = data_set.nodes;
ARGC_CHECK(2);
while (cur != NULL) {
node = (node_t*) cur->data;
@@ -411,7 +415,9 @@
crm_data_t* cib_object = NULL;
crm_data_t* output;
char xml[MAX_STRLEN];
-
+ pe_working_set_t data_set;
+
+ data_set = get_data_set();
GET_RESOURCE()
switch (rsc->variant) {
@@ -599,7 +605,11 @@
on_get_all_rsc(char* argv[], int argc)
{
GList* cur;
- char* ret = cl_strdup(MSG_OK);
+ char* ret;
+ pe_working_set_t data_set;
+
+ data_set = get_data_set();
+ ret = cl_strdup(MSG_OK);
cur = data_set.resources;
while (cur != NULL) {
resource_t* rsc = (resource_t*)cur->data;
@@ -615,7 +625,9 @@
resource_t* rsc;
char* ret;
struct ha_msg* attrs;
-
+ pe_working_set_t data_set;
+
+ data_set = get_data_set();
GET_RESOURCE()
ret = cl_strdup(MSG_OK);
@@ -633,7 +645,9 @@
resource_t* rsc;
char* ret;
GList* cur;
-
+ pe_working_set_t data_set;
+
+ data_set = get_data_set();
GET_RESOURCE()
ret = cl_strdup(MSG_OK);
@@ -650,7 +664,9 @@
{
resource_t* rsc;
char* ret;
-
+ pe_working_set_t data_set;
+
+ data_set = get_data_set();
GET_RESOURCE()
ret = cl_strdup(MSG_OK);
@@ -692,7 +708,9 @@
{
resource_t* rsc;
char* ret;
-
+ pe_working_set_t data_set;
+
+ data_set = get_data_set();
GET_RESOURCE()
ret = cl_strdup(MSG_OK);
@@ -758,6 +776,9 @@
resource_t* rsc;
char* ret;
GList* cur = NULL;
+ pe_working_set_t data_set;
+
+ data_set = get_data_set();
GET_RESOURCE()
if (rsc->variant == pe_group) {
@@ -785,7 +806,9 @@
char* ret;
struct ha_msg* attrs;
struct ha_msg* nvpair;
-
+ pe_working_set_t data_set;
+
+ data_set = get_data_set();
GET_RESOURCE()
ret = cl_strdup(MSG_OK);
@@ -862,7 +885,9 @@
char* ret;
struct ha_msg* ops;
struct ha_msg* op;
-
+ pe_working_set_t data_set;
+
+ data_set = get_data_set();
GET_RESOURCE()
ret = cl_strdup(MSG_OK);
@@ -935,6 +960,9 @@
char* ret;
clone_variant_data_t* clone_data;
char buf[MAX_STRLEN];
+ pe_working_set_t data_set;
+
+ data_set = get_data_set();
GET_RESOURCE()
ret = cl_strdup(MSG_OK);
@@ -986,6 +1014,9 @@
const char * master_max_s;
const char * master_node_max_s;
char buf[MAX_STRLEN];
+ pe_working_set_t data_set;
+
+ data_set = get_data_set();
GET_RESOURCE()
master_max_s = get_rsc_param(rsc, XML_RSC_ATTR_MASTER_MAX);
@@ -1044,10 +1075,12 @@
GList* list;
GList* cur;
crm_data_t* cos = NULL;
+ pe_working_set_t data_set;
const char* path[] = {"configuration","constraints"}
+
ARGC_CHECK(2);
-
+ data_set = get_data_set();
cos = find_xml_node_nested(data_set.input, path, 2);
if (cos == NULL) {
return cl_strdup(MSG_FAIL);
@@ -1075,10 +1108,11 @@
GList* expr_list, *expr_cur;
crm_data_t* cos = NULL;
+ pe_working_set_t data_set;
const char* path[] = {"configuration","constraints"}
ARGC_CHECK(3);
-
+ data_set = get_data_set();
cos = find_xml_node_nested(data_set.input, path, 2);
if (cos == NULL) {
return cl_strdup(MSG_FAIL);
------------------------------
_______________________________________________
Linux-ha-cvs mailing list
[email protected]
http://lists.community.tummy.com/mailman/listinfo/linux-ha-cvs
End of Linux-ha-cvs Digest, Vol 25, Issue 17
********************************************