[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Cluster-devel] conga luci/site/luci/Extensions/ricci_communic ...



CVSROOT:	/cvs/cluster
Module name:	conga
Changes by:	kupcevic sourceware org	2006-08-24 20:15:30

Modified files:
	luci/site/luci/Extensions: ricci_communicator.py 
	ricci/ricci    : Ricci.cpp 

Log message:
	xen: domain-0 detection

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/site/luci/Extensions/ricci_communicator.py.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/ricci/ricci/Ricci.cpp.diff?cvsroot=cluster&r1=1.16&r2=1.17

--- conga/luci/site/luci/Extensions/ricci_communicator.py	2006/06/21 23:07:06	1.3
+++ conga/luci/site/luci/Extensions/ricci_communicator.py	2006/08/24 20:15:23	1.4
@@ -33,6 +33,7 @@
         self.__clualias = hello.firstChild.getAttribute('clusteralias')
         self.__reported_hostname = hello.firstChild.getAttribute('hostname')
         self.__os = hello.firstChild.getAttribute('os')
+        self.__dom0 = hello.firstChild.getAttribute('xen_host') == 'true'
         
         pass
     
@@ -49,6 +50,8 @@
         return (self.__cluname, self.__clualias)
     def os(self):
         return self.__os
+    def dom0(self):
+        return self.__dom0
     
     
     def auth(self, password):
@@ -211,6 +214,8 @@
     return ricci.system_name()
 def ricci_get_os(self, ricci):
     return ricci.os()
+def ricci_get_dom0(self, ricci):
+    return ricci.dom0()
 def ricci_get_cluster_info(self, ricci):
     return ricci.cluster_info()
 def ricci_get_authenticated(self, ricci):
--- conga/ricci/ricci/Ricci.cpp	2006/08/14 23:53:21	1.16
+++ conga/ricci/ricci/Ricci.cpp	2006/08/24 20:15:29	1.17
@@ -43,6 +43,7 @@
 using namespace std;
 
 
+static bool dom0();
 static String hostname();
 static pair<String, String> clusterinfo();
 static String os_release();
@@ -83,6 +84,9 @@
       String os = os_release();
       if (os.size())
 	header.set_attr("os", os);
+      
+      header.set_attr("xen_host", 
+		      dom0() ? "true" : "false");
     }
   }
   
@@ -529,3 +533,25 @@
     return "";
   }
 }
+
+bool 
+dom0()
+{
+  try {
+    String out, err;
+    int status;
+    vector<String> args;
+    args.push_back("nodeinfo");
+    if (utils::execute("/usr/bin/virsh",
+		       args,
+		       out,
+		       err,
+		       status,
+		       false))
+      throw String("execution of virsh failed");
+    if (status == 0)
+      return true;
+  } catch ( ... ) {}
+  
+  return false;
+}


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]