4 from optparse import OptionParser
12 self.url="https://localhost:443/PLCAPI/"
13 self.server=xmlrpclib.Server(self.url,allow_none=True)
14 self.path=os.path.dirname(sys.argv[0])
18 return {'Username':'root@onelab-test.inria.fr',
19 'AuthMethod':'password',
20 'AuthString':'test++',
24 ##############check if the db version exsit
25 def check_dir(self,dbname):
27 config_file = "/plc/data/var/lib/pgsql/backups/"+dbname
28 if (os.path.isfile (config_file)):
29 print "==>dbversion found "
32 print "\n %s non-existing Bdd version\n" % config_file
35 ##############restoring one db return list of host nodes
36 def restore_db(self,db,display):
40 os.system('chroot /plc/root service httpd stop')
42 os.system(' echo drop database planetlab4 |chroot /plc/root psql --user=pgsqluser template1')
44 os.system('chroot /plc/root createdb -U postgres --encoding=UNICODE --owner=pgsqluser planetlab4')
46 os.system('chroot /plc/root psql -U pgsqluser planetlab4 -f /var/lib/pgsql/backups/'+db)
47 ##starting httpd service
48 os.system('chroot /plc/root service httpd start')
51 hosts=self.server.GetNodes(self.auth_root())
53 print host['hostname']
54 list_host.append(host['hostname'])
58 os.system('DISPLAY=%s vmplayer %s/VirtualFile-%s/My_Virtual_Machine.vmx &'%(display,self.path,l))
62 ###########################
69 usage = """usage: %prog [options] BDDversion"""
70 parser=OptionParser(usage=usage,version=self.subversion_id)
72 parser.add_option("-v","--verbose", action="store_true", dest="verbose", default=False,
73 help="Run in verbose mode")
75 parser.add_option("-d","--display", action="store", dest="Xdisplay", default='bellami:0.0',
76 help="export the display on the mentionneted one")
79 (self.options, self.args) = parser.parse_args()
87 if (self.options.Xdisplay):
88 display=self.options.Xdisplay
89 print 'the display is', display
92 if (len(self.args) == 0 ):
98 if (not (self.check_dir(dirname))):
102 self.restore_db(dirname,display)
107 if __name__ == "__main__":