CVSROOT: /cvs/cluster Module name: conga Changes by: [EMAIL PROTECTED] 2008-01-25 00:38:51
Modified files: ricci/modules/rpm: PackageHandler.cpp RpmModule.cpp ricci/modules/service: ServiceManager.cpp Log message: Fix a few long-standing bugs that caused spurious errors while deploying nodes with odd combinations of packages installed. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/rpm/PackageHandler.cpp.diff?cvsroot=cluster&r1=1.19&r2=1.20 http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/rpm/RpmModule.cpp.diff?cvsroot=cluster&r1=1.8&r2=1.9 http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/modules/service/ServiceManager.cpp.diff?cvsroot=cluster&r1=1.15&r2=1.16 --- conga/ricci/modules/rpm/PackageHandler.cpp 2008/01/02 20:47:37 1.19 +++ conga/ricci/modules/rpm/PackageHandler.cpp 2008/01/25 00:38:51 1.20 @@ -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/02 20:47:37 1.8 +++ conga/ricci/modules/rpm/RpmModule.cpp 2008/01/25 00:38:51 1.9 @@ -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/02 20:47:37 1.15 +++ conga/ricci/modules/service/ServiceManager.cpp 2008/01/25 00:38:51 1.16 @@ -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 {