from TestSsh import TestSsh
from TestMapper import TestMapper
+# too painful to propagate this cleanly
+verbose=None
+
def header (message,banner=True):
if not message: return
if banner: print "===============",
self.test_ssh().run("shutdown -r now",message="Rebooting %s"%self.hostname,
dry_run=options.dry_run)
- def hostname_fedora (self): return "%s [%s]"%(self.hostname,self.fedora())
+ def hostname_fedora (self,virt=None):
+ result = "%s {"%self.hostname
+ if virt: result += "%s-"%virt
+ result += "%s"%self.fedora()
+ # too painful to propagate this cleanly
+ global verbose
+ if verbose:
+ result += "-%s" % self.uname()
+ result += "}"
+ return result
separator = "===composite==="
for p in self.plc_instances:
header (p.line(),banner=False)
-
+# we do not this at INRIA any more
class PlcVsBox (PlcBox):
def add_vserver (self,vservername,ctxid):
self.plc_instances.append(PlcVsInstance(self,vservername,ctxid))
def line(self):
- msg="%s [max=%d,free=%d, VS-based] (%s)"%(self.hostname_fedora(), self.max_plcs,self.free_slots(),self.uname())
+ msg="%s [max=%d,free=%d] (%s)"%(self.hostname_fedora(virt="vs"), self.max_plcs,self.free_slots(),self.uptime())
return msg
def plc_instance_by_vservername (self, vservername):
# a line describing the box
def line(self):
- return "%s [max=%d,free=%d, LXC-based] (%s)"%(self.hostname_fedora(), self.max_plcs,self.free_slots(),
- self.uname())
+ return "%s [max=%d,free=%d] (%s)"%(self.hostname_fedora(virt="lxc"),
+ self.max_plcs,self.free_slots(),
+ self.uptime(),
+ )
def plc_instance_by_lxcname (self, lxcname):
for p in self.plc_instances:
# sense is expected to fill self.plc_instances with PlcLxcInstance's
# to describe the currently running VM's
- # as well as to call self.get_uname() once
def sense (self, options):
print "xp",
command="rsync lxc-driver.sh %s:/root"%self.hostname
pid=lxc_line.split(";")[1]
timestamp=lxc_line.split(";")[2]
self.add_lxc(lxcname,pid)
- timestamp=int(timestamp)
+ try: timestamp=int(timestamp)
+ except: timestamp=0
p=self.plc_instance_by_lxcname(lxcname)
if not p:
print 'WARNING zombie plc',self.hostname,lxcname
def line (self):
return "%s [max=%d,free=%d] (%s) %s"%(
- self.hostname_fedora(), self.max_qemus,self.free_slots(),
+ self.hostname_fedora(virt="qemu"), self.max_qemus,self.free_slots(),
self.uptime(),self.driver())
def list(self, verbose=False):
if self.options.qemus: boxes += self.qemu_boxes
if self.options.all: boxes += self.all_boxes
+ global verbose
+ verbose=self.options.verbose
# default scope is -b -p -q -t
if not boxes:
boxes = self.build_boxes + self.plc_boxes + self.qemu_boxes + [self.test_box]