From: rmccabe@sourceware.org <rmccabe@sourceware.org>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] conga ./conga.spec.in.in luci/cluster/busy_wai ...
Date: 25 Jan 2008 17:19:08 -0000 [thread overview]
Message-ID: <20080125171908.28521.qmail@sourceware.org> (raw)
CVSROOT: /cvs/cluster
Module name: conga
Branch: RHEL5
Changes by: rmccabe at sourceware.org 2008-01-25 17:19:05
Modified files:
. : conga.spec.in.in
luci/cluster : busy_wait-macro form-macros
luci/homebase : validate_cluster_add.js
luci/site/luci/Extensions: LuciDB.py RicciQueries.py
cluster_adapters.py
luci/site/luci/var: Data.fs
ricci/modules/rpm: PackageHandler.cpp RpmModule.cpp
ricci/modules/service: ServiceManager.cpp
ricci/ricci : RicciWorker.cpp
Log message:
- Fix a bug that prevented the fix for bz230462 from working
- Fix a few other bugs found while testing
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/conga.spec.in.in.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.45.2.64&r2=1.45.2.65
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/busy_wait-macro.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.2.2.1&r2=1.2.2.2
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/cluster/form-macros.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.90.2.32&r2=1.90.2.33
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/homebase/validate_cluster_add.js.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.4.2.6&r2=1.4.2.7
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/LuciDB.py.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.1.4.6&r2=1.1.4.7
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/RicciQueries.py.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.1.4.8&r2=1.1.4.9
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/cluster_adapters.py.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.120.2.41&r2=1.120.2.42
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/var/Data.fs.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.15.2.26&r2=1.15.2.27
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/rpm/PackageHandler.cpp.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.9.2.5&r2=1.9.2.6
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/rpm/RpmModule.cpp.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.3.2.1&r2=1.3.2.2
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/service/ServiceManager.cpp.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.5.2.3&r2=1.5.2.4
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/ricci/RicciWorker.cpp.diff?cvsroot=cluster&only_with_tag=RHEL5&r1=1.11.2.1&r2=1.11.2.2
--- conga/conga.spec.in.in 2008/01/23 05:20:44 1.45.2.64
+++ conga/conga.spec.in.in 2008/01/25 17:18:37 1.45.2.65
@@ -292,6 +292,9 @@
### changelog ###
%changelog
+* Fri Jan 25 2008 Ryan McCabe <rmccabe@redhat.com> 0.12.0-1
+- Fix a bug that prevented the fix for bz230462 from working
+
* Tue Jan 22 2008 Ryan McCabe <rmccabe@redhat.com> 0.12.0-0
- Fixed bz230462 (RFE: Only reboot installation target machines when needed)
- Fixed bz238655 (conga does not set the "nodename" attribute for manual fencing)
--- conga/luci/cluster/busy_wait-macro 2008/01/23 04:44:30 1.2.2.1
+++ conga/luci/cluster/busy_wait-macro 2008/01/25 17:18:37 1.2.2.2
@@ -65,6 +65,6 @@
tal:attributes="onclick python:'javascript:document.stop_waiting_form%s.submit()' % nodereport.get('report_index')">Stop waiting for this job to complete</a>
</form>
</div>
+ <hr/>
</div>
- <hr/>
</div>
--- conga/luci/cluster/form-macros 2008/01/23 04:44:30 1.90.2.32
+++ conga/luci/cluster/form-macros 2008/01/25 17:18:37 1.90.2.33
@@ -225,7 +225,7 @@
checked add_cluster/shared_storage |string:checked" />Enable Shared Storage Support
</td></tr>
<tr class="systemsTable"><td colspan="2" class="systemsTable">
- <input type="checkbox" name="reboot_nodes"
+ <input type="checkbox" id="reboot_nodes" name="reboot_nodes"
tal:attributes="checked python:(add_cluster and add_cluster.get('reboot_nodes')) and 'checked' or ''" />Reboot nodes before joining cluster
</td></tr>
<tr class="systemsTable"><td colspan="2" class="systemsTable">
@@ -1135,7 +1135,7 @@
checked add_cluster/shared_storage | string:checked" />Enable Shared Storage Support
</td></tr>
<tr class="systemsTable"><td colspan="2" class="systemsTable">
- <input type="checkbox" name="reboot_nodes"
+ <input type="checkbox" id="reboot_nodes" name="reboot_nodes"
tal:attributes="checked python:(add_cluster and add_cluster.get('reboot_nodes')) and 'checked' or ''" />Reboot nodes before joining cluster
</td></tr>
<tr class="systemsTable"><td colspan="2" class="systemsTable">
--- conga/luci/homebase/validate_cluster_add.js 2008/01/23 04:44:31 1.4.2.6
+++ conga/luci/homebase/validate_cluster_add.js 2008/01/25 17:18:38 1.4.2.7
@@ -48,14 +48,21 @@
return (-1);
}
+ var reboot_nodes = document.getElementById('reboot_nodes');
var view_certs = document.getElementById('view_certs');
if (!view_certs || !view_certs.checked) {
var confirm_str = '';
if (form.addnode) {
- confirm_str = 'Add ' + (added_storage.length > 1 ? 'these nodes' : 'this node') + ' to the \"' + clustername + '\" cluster?\nEach node added will be rebooted during this process.';
+ confirm_str = 'Add ' + (added_storage.length > 1 ? 'these nodes' : 'this node') + ' to the \"' + clustername + '\" cluster?';
+ if (reboot_nodes && reboot_nodes.checked) {
+ confirm_str += '\nEach node added will be rebooted during this process.';
+ }
} else {
if (form.cluster_create) {
- confirm_str = 'All nodes added to this cluster will be rebooted as part of this process.\n\nCreate cluster \"' + clustername + '\"?';
+ confirm_str = 'Create cluster \"' + clustername + '\"?\n\n';
+ if (reboot_nodes && reboot_nodes.checked) {
+ confirm_str += 'All nodes added to this cluster will be rebooted as part of this process.\n\n';
+ }
} else {
confirm_str = 'Add the cluster \"' + clustername + '\" to the Luci management interface?';
}
--- conga/luci/site/luci/Extensions/LuciDB.py 2008/01/23 04:44:32 1.1.4.6
+++ conga/luci/site/luci/Extensions/LuciDB.py 2008/01/25 17:18:38 1.1.4.7
@@ -335,14 +335,17 @@
objname = '%s____flag' % key
clusterfolder.manage_addProduct['ManagedSystem'].addManagedSystem(objname)
+
# now designate this new object properly
objpath = str('%s/%s' % (path, objname))
flag = self.restrictedTraverse(objpath)
flag.manage_addProperty(BATCH_ID, batch_id, 'string')
flag.manage_addProperty(TASKTYPE, CLUSTER_ADD, 'string')
- flag.manage_addProperty(FLAG_DESC, 'Creating node "%s" for cluster "%s"' % (key, clustername), 'string')
flag.manage_addProperty(LAST_STATUS, 0, 'int')
+ flag.manage_addProperty(FLAG_DESC,
+ 'Creating node "%s" for cluster "%s"' % (key, clustername),
+ 'string')
except Exception, e:
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose('buildCCF1: error creating flag for %s: %r %s' % (key, e, str(e)))
--- conga/luci/site/luci/Extensions/RicciQueries.py 2008/01/23 04:44:32 1.1.4.8
+++ conga/luci/site/luci/Extensions/RicciQueries.py 2008/01/25 17:18:38 1.1.4.9
@@ -68,7 +68,7 @@
batch.append('</request>')
batch.append('</module>')
- need_reboot = reboot_nodes or install_base or install_services or install_shared_storage or install_LVS
+ need_reboot = reboot_nodes
if need_reboot:
batch.append('<module name="reboot">')
batch.append('<request API_version="1.0">')
@@ -183,7 +183,7 @@
batch.append('</request>')
batch.append('</module>')
- need_reboot = reboot_nodes or install_base or install_services or install_shared_storage or install_LVS
+ need_reboot = reboot_nodes
if need_reboot:
batch.append('<module name="reboot">')
batch.append('<request API_version="1.0">')
@@ -738,11 +738,12 @@
install_shared_storage,
install_LVS,
upgrade_rpms,
- gulm_lockservers):
+ gulm_lockservers,
+ reboot_nodes=False):
batch_str = createClusterBatch(os_str, cluster_name, cluster_alias,
nodeList, install_base, install_services,
install_shared_storage, install_LVS, upgrade_rpms,
- gulm_lockservers)
+ gulm_lockservers, reboot_nodes)
ricci_xml = rc.batch_run(batch_str)
return batchAttemptResult(ricci_xml)
--- conga/luci/site/luci/Extensions/cluster_adapters.py 2008/01/23 04:44:32 1.120.2.41
+++ conga/luci/site/luci/Extensions/cluster_adapters.py 2008/01/25 17:18:38 1.120.2.42
@@ -280,7 +280,8 @@
ret = send_batch_to_hosts(node_list, 10, rq.create_cluster,
add_cluster['cluster_os'], clustername, clustername,
node_list, True, True, add_cluster['shared_storage'], False,
- add_cluster['download_pkgs'], lockservers, add_cluster['reboot_nodes'])
+ add_cluster['download_pkgs'], lockservers,
+ add_cluster['reboot_nodes'])
batch_id_map = {}
for i in ret.iterkeys():
@@ -291,14 +292,13 @@
if LUCI_DEBUG_MODE is True:
luci_log.debug_verbose(msg)
continue
- batch_id_map[i] = ret[i]['batch_result']
+ batch_id_map[i] = ret[i]['batch_result'][0]
if len(batch_id_map) == 0:
request.SESSION.set('create_cluster', add_cluster)
return (False, { 'errors': errors, 'messages': messages })
buildClusterCreateFlags(self, batch_id_map, clustername)
-
response = request.RESPONSE
response.redirect('%s?pagetype=%s&clustername=%s&busyfirst=true' \
% (request['URL'], CLUSTER_CONFIG, clustername))
Binary files /cvs/cluster/conga/luci/site/luci/var/Data.fs 2008/01/23 04:44:34 1.15.2.26 and /cvs/cluster/conga/luci/site/luci/var/Data.fs 2008/01/25 17:18:38 1.15.2.27 differ
rcsdiff: /cvs/cluster/conga/luci/site/luci/var/Data.fs: diff failed
--- conga/ricci/modules/rpm/PackageHandler.cpp 2008/01/17 17:38:38 1.9.2.5
+++ conga/ricci/modules/rpm/PackageHandler.cpp 2008/01/25 17:19:05 1.9.2.6
@@ -576,24 +576,24 @@
String name(iter->name);
map<String, Package>::iterator pack_iter = h_pre.packages().find(name);
if (pack_iter == h_pre.packages().end()) {
- throw String("package ") + name
- + " is present neither locally nor in repository";
+ throw String("Package \"") + name
+ + "\" is present neither locally nor in any available repository";
} else {
String curr_ver(pack_iter->second.version);
String repo_ver(pack_iter->second.repo_version);
if (curr_ver.empty()) {
// not installed
if (repo_ver.empty()) {
- throw String("package ") + name
- + " is not present in repository";
+ throw String("Package \"") + name
+ + "\" is not present in any available repository";
} else
rpms.push_back(name);
} else {
// already installed
if (upgrade) {
if (repo_ver.empty()) {
- throw String("package ") + name
- + " is not present in repository";
+ throw String("Package \"") + name
+ + "\" is not present in any available repository";
} else if (repo_ver > curr_ver)
rpms.push_back(name);
}
@@ -610,8 +610,8 @@
map<String, PackageSet>::iterator set_iter = h_pre.sets().find(name);
if (set_iter == h_pre.sets().end()) {
- throw String("packages of set ") + name
- + " present neither locally nor in repository";
+ throw String("Packages of set \"") + name
+ + "\" are neither present neither locally nor in any available repository";
} else {
PackageSet& p_set = set_iter->second;
if (p_set.installed) {
@@ -627,8 +627,7 @@
rpms.push_back(*name_iter);
}
} else {
- throw String("packages of set ") + name +
- " are not present in any available repository";
+ /* Packages are already up-to-date */
}
}
}
@@ -643,8 +642,8 @@
rpms.push_back(*name_iter);
}
} else {
- throw String("packages of set ") + name +
- " are not present in any available repository";
+ throw String("Packages of set \"") + name +
+ "\" are not present in any available repository";
}
}
}
@@ -679,6 +678,8 @@
FC6 = true;
else if (release.find("Moonshine") != release.npos)
FC6 = true;
+ else if (release.find("Werewolf") != release.npos)
+ FC6 = true;
else if (release.find("Tikanga") != release.npos)
RHEL5 = true;
else
--- conga/ricci/modules/rpm/RpmModule.cpp 2008/01/17 17:38:38 1.3.2.1
+++ conga/ricci/modules/rpm/RpmModule.cpp 2008/01/25 17:19:05 1.3.2.2
@@ -92,24 +92,24 @@
rpms.push_back(pack);
}
}
+ }
- list<PackageSet> sets;
- for (list<XMLObject>::const_iterator
- iter = sets_list.begin() ;
- iter != sets_list.end() ;
- iter++)
- {
- if (iter->tag() == "set") {
- String name(iter->get_attr("name"));
- if (name.size()) {
- PackageSet set(name);
- sets.push_back(set);
- }
+ list<PackageSet> sets;
+ for (list<XMLObject>::const_iterator
+ iter = sets_list.begin() ;
+ iter != sets_list.end() ;
+ iter++)
+ {
+ if (iter->tag() == "set") {
+ String name(iter->get_attr("name"));
+ if (name.size()) {
+ PackageSet set(name);
+ sets.push_back(set);
}
}
- PackageHandler::install(rpms, sets, upgrade);
}
+ PackageHandler::install(rpms, sets, upgrade);
return VarMap();
}
@@ -219,7 +219,7 @@
}
if (installable) {
- if (!set.installed && set.in_repo)
+ if (set.in_repo)
add = true;
}
--- conga/ricci/modules/service/ServiceManager.cpp 2008/01/17 17:38:39 1.5.2.3
+++ conga/ricci/modules/service/ServiceManager.cpp 2008/01/25 17:19:05 1.5.2.4
@@ -311,9 +311,9 @@
name();
for (list<Service>::const_iterator
- iter = servs.begin() ;
- iter != servs.end() ;
- iter++)
+ iter = servs.begin() ;
+ iter != servs.end() ;
+ iter++)
{
if (!iter->enabled())
return false;
@@ -478,13 +478,14 @@
list<String> servs;
String name = "Cluster Base";
- String descr = "Cluster infrastructure: ccs, cman, fence";
-
+ String descr;
if (RHEL4 || FC5) {
+ descr = "Cluster infrastructure (RHEL4): ccs, cman, fence";
servs.push_back("ccsd");
servs.push_back("cman");
servs.push_back("fenced");
} else if (RHEL5 || FC6) {
+ descr = "Cluster infrastructure (RHEL5): ccs, cman, fence";
servs.push_back("cman");
servs.push_back("qdiskd");
}
@@ -830,6 +831,8 @@
FC6 = true;
else if (release.find("Moonshine") != release.npos)
FC6 = true;
+ else if (release.find("Werewolf") != release.npos)
+ FC6 = true;
else if (release.find("Tikanga") != release.npos)
RHEL5 = true;
else {
--- conga/ricci/ricci/RicciWorker.cpp 2008/01/17 17:38:39 1.11.2.1
+++ conga/ricci/ricci/RicciWorker.cpp 2008/01/25 17:19:05 1.11.2.2
@@ -258,6 +258,7 @@
_path(path)
{
QueueLocker lock;
+ struct stat st;
_fd = open(_path.c_str(), O_RDONLY);
if (_fd == -1)
@@ -276,18 +277,24 @@
}
}
+ if (fstat(_fd, &st) != 0)
+ throw String("Unable to stat file: ") + String(strerror(errno));
+
// read file
String xml_str;
- char buff[4096];
- ssize_t res;
- res = read_restart(_fd, buff, sizeof(buff));
- if (res <= 0) {
- throw String("error reading batch file: ")
+ while ((off_t) xml_str.size() < st.st_size) {
+ char buff[4096];
+ ssize_t res;
+
+ res = read_restart(_fd, buff, sizeof(buff));
+ if (res <= 0) {
+ throw String("error reading batch file: ")
+ String(strerror(-res));
+ }
+ xml_str.append(buff, res);
+ memset(buff, 0, sizeof(buff));
}
- xml_str.append(buff, res);
- memset(buff, 0, sizeof(buff));
// _xml
_xml = parseXML(xml_str);
next reply other threads:[~2008-01-25 17:19 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-25 17:19 rmccabe [this message]
-- strict thread matches above, loose matches on Subject: below --
2008-06-10 14:48 [Cluster-devel] conga ./conga.spec.in.in luci/cluster/busy_wai rmccabe
2008-06-13 18:38 rmccabe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080125171908.28521.qmail@sourceware.org \
--to=rmccabe@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.