[Cluster-devel] conga/ricci/modules/cluster ClusterModule.cpp ...
rmccabe at sourceware.org
rmccabe at sourceware.org
Fri Sep 28 04:47:57 UTC 2007
CVSROOT: /cvs/cluster
Module name: conga
Changes by: rmccabe at sourceware.org 2007-09-28 04:47:56
Modified files:
ricci/modules/cluster: ClusterModule.cpp ClusterStatus.cpp
ClusterStatus.h
Log message:
add parameters for start_node and stop_node that allow whether cluster services will be respectively enabled or disabled at boot.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/cluster/ClusterModule.cpp.diff?cvsroot=cluster&r1=1.9&r2=1.10
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/cluster/ClusterStatus.cpp.diff?cvsroot=cluster&r1=1.22&r2=1.23
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/cluster/ClusterStatus.h.diff?cvsroot=cluster&r1=1.7&r2=1.8
--- conga/ricci/modules/cluster/ClusterModule.cpp 2007/09/18 20:17:16 1.9
+++ conga/ricci/modules/cluster/ClusterModule.cpp 2007/09/28 04:47:56 1.10
@@ -333,16 +333,21 @@
start_node(const VarMap& args)
{
bool cluster_startup = false;
+ bool enable_services = true;
try {
VarMap::const_iterator iter = args.find("cluster_startup");
if (iter != args.end())
cluster_startup = iter->second.get_bool();
- } catch ( String e ) {
- throw APIerror(e);
+
+ iter = args.find("enable_services");
+ if (iter != args.end())
+ enable_services = iter->second.get_bool();
+ } catch ( String e ) {
+ throw APIerror(e);
}
- Cluster::start_node(cluster_startup);
+ Cluster::start_node(cluster_startup, enable_services);
VarMap ret;
return ret;
@@ -353,6 +358,7 @@
{
bool cluster_shutdown = false;
bool purge_conf = false;
+ bool disable_services = true;
try {
VarMap::const_iterator iter = args.find("cluster_shutdown");
@@ -362,11 +368,15 @@
iter = args.find("purge_conf");
if (iter != args.end())
purge_conf = iter->second.get_bool();
+
+ iter = args.find("disable_services");
+ if (iter != args.end())
+ disable_services = iter->second.get_bool();
} catch ( String e ) {
throw APIerror(e);
}
- Cluster::stop_node(cluster_shutdown, purge_conf);
+ Cluster::stop_node(cluster_shutdown, purge_conf, disable_services);
VarMap ret;
return ret;
}
--- conga/ricci/modules/cluster/ClusterStatus.cpp 2007/09/18 20:17:16 1.22
+++ conga/ricci/modules/cluster/ClusterStatus.cpp 2007/09/28 04:47:56 1.23
@@ -157,7 +157,7 @@
}
void
-Cluster::start_node(bool cluster_startup)
+Cluster::start_node(bool cluster_startup, bool enable_services)
{
// bail out if cluster.conf is not present
XMLObject cluster_conf(ClusterConf::get());
@@ -218,25 +218,27 @@
run_initd("gfs", true, false);
run_initd("rgmanager", true, true);
- // enable them on boot
- run_chkconfig("ccsd", true);
- if (cman_cluster) {
- run_chkconfig("cman", true);
- run_chkconfig("fenced", true);
- run_chkconfig("lock_gulmd", false);
- } else {
- run_chkconfig("cman", false);
- run_chkconfig("fenced", false);
- run_chkconfig("lock_gulmd", true);
- }
+ if (enable_services) {
+ // enable them on boot
+ run_chkconfig("ccsd", true);
+ if (cman_cluster) {
+ run_chkconfig("cman", true);
+ run_chkconfig("fenced", true);
+ run_chkconfig("lock_gulmd", false);
+ } else {
+ run_chkconfig("cman", false);
+ run_chkconfig("fenced", false);
+ run_chkconfig("lock_gulmd", true);
+ }
- if (use_qdisk)
- run_chkconfig("qdiskd", true);
- else
- run_chkconfig("qdiskd", false);
- run_chkconfig("clvmd", true);
- run_chkconfig("gfs", true);
- run_chkconfig("rgmanager", true);
+ if (use_qdisk)
+ run_chkconfig("qdiskd", true);
+ else
+ run_chkconfig("qdiskd", false);
+ run_chkconfig("clvmd", true);
+ run_chkconfig("gfs", true);
+ run_chkconfig("rgmanager", true);
+ }
} else if (stat.get_attr("cluster_version") == "5") {
try {
run_initd("cman", true, true);
@@ -265,16 +267,18 @@
run_initd("gfs2", true, false);
run_initd("rgmanager", true, true);
- // enable them on boot
- run_chkconfig("cman", true);
- if (use_qdisk)
- run_chkconfig("qdiskd", true);
- else
- run_chkconfig("qdiskd", false);
- run_chkconfig("clvmd", true);
- run_chkconfig("gfs", true);
- run_chkconfig("gfs2", true);
- run_chkconfig("rgmanager", true);
+ if (enable_services) {
+ // enable them on boot
+ run_chkconfig("cman", true);
+ if (use_qdisk)
+ run_chkconfig("qdiskd", true);
+ else
+ run_chkconfig("qdiskd", false);
+ run_chkconfig("clvmd", true);
+ run_chkconfig("gfs", true);
+ run_chkconfig("gfs2", true);
+ run_chkconfig("rgmanager", true);
+ }
} else {
throw String("unsupported cluster version ")
+ stat.get_attr("cluster_version");
@@ -282,7 +286,9 @@
}
void
-Cluster::stop_node(bool cluster_shutdown, bool purge_conf)
+Cluster::stop_node( bool cluster_shutdown,
+ bool purge_conf,
+ bool disable_services)
{
XMLObject stat = status();
@@ -316,15 +322,17 @@
gulm_leave();
run_initd("ccsd", false, false);
- // disable them on boot
- run_chkconfig("ccsd", false);
- run_chkconfig("cman", false);
- run_chkconfig("lock_gulmd", false);
- run_chkconfig("qdiskd", false);
- run_chkconfig("fenced", false);
- run_chkconfig("clvmd", false);
- run_chkconfig("gfs", false);
- run_chkconfig("rgmanager", false);
+ if (disable_services) {
+ // disable them on boot
+ run_chkconfig("ccsd", false);
+ run_chkconfig("cman", false);
+ run_chkconfig("lock_gulmd", false);
+ run_chkconfig("qdiskd", false);
+ run_chkconfig("fenced", false);
+ run_chkconfig("clvmd", false);
+ run_chkconfig("gfs", false);
+ run_chkconfig("rgmanager", false);
+ }
} else if (stat.get_attr("cluster_version") == "5") {
run_initd("rgmanager", false, true);
run_initd("gfs2", false, false);
@@ -333,13 +341,15 @@
run_initd("qdiskd", false, false);
run_initd("cman", false, true);
- // disable them on boot
- run_chkconfig("cman", false);
- run_chkconfig("qdiskd", false);
- run_chkconfig("clvmd", false);
- run_chkconfig("gfs", false);
- run_chkconfig("gfs2", false);
- run_chkconfig("rgmanager", false);
+ if (disable_services) {
+ // disable them on boot
+ run_chkconfig("cman", false);
+ run_chkconfig("qdiskd", false);
+ run_chkconfig("clvmd", false);
+ run_chkconfig("gfs", false);
+ run_chkconfig("gfs2", false);
+ run_chkconfig("rgmanager", false);
+ }
} else {
throw String("unsupported cluster version ")
+ stat.get_attr("cluster_version");
--- conga/ricci/modules/cluster/ClusterStatus.h 2007/09/18 20:17:16 1.7
+++ conga/ricci/modules/cluster/ClusterStatus.h 2007/09/28 04:47:56 1.8
@@ -29,9 +29,12 @@
{
public:
static XMLObject status();
- static void start_node(bool cluster_startup = false);
+ static void start_node( bool cluster_startup = false,
+ bool enable_services = true);
+
static void stop_node( bool cluster_shutdown = false,
- bool purge_conf = false);
+ bool purge_conf = false,
+ bool disable_services = true);
};
#endif
More information about the Cluster-devel
mailing list