personality="linux64"
return personality
- logger.log_call('/usr/sbin/vuseradd', '-t', vref, name)
+# logger.log_call(['/usr/sbin/vuseradd', '-t', vref, name, ], timeout=15*60)
+ logger.log_call(['/bin/bash','-x','/usr/sbin/vuseradd', '-t', vref, name, ], timeout=15*60)
# export slicename to the slice in /etc/slicename
file('/vservers/%s/etc/slicename' % name, 'w').write(name)
file('/vservers/%s/etc/slicefamily' % name, 'w').write(vref)
logger.log('sliver_vs: %s: set personality to %s'%(name,personality(arch)))
@staticmethod
- def destroy(name): logger.log_call('/usr/sbin/vuserdel', name)
+ def destroy(name):
+# logger.log_call(['/usr/sbin/vuserdel', name, ])
+ logger.log_call(['/bin/bash','-x','/usr/sbin/vuserdel', name, ])
def configure(self, rec):
new_rspec = rec['_rspec']
else:
os.waitpid(child_pid, 0)
self.initscriptchanged = False
- else: logger.log('sliver_vs: not starting, is not enabled', name=self.name)
+ else: logger.log('sliver_vs: not starting %s, is not enabled'%self.name)
def stop(self):
logger.log('sliver_vs: %s: stopping' % self.name)
(self.name, self.rspec['ip_addresses']))
self.set_ipaddresses_config(self.rspec['ip_addresses'])
- if self.is_running():
- logger.log("sliver_vs: %s: Setting name to %s" % (self.name, self.slice_id))
- self.setname(self.slice_id)
- ### Sapan's change needs more work
- # raise IOException, file does not get created
- # might be that /etc/vservers is not available here, are we in the chroot ?
- #logger.log("sliver_vs: %s: Storing slice id of %s for PlanetFlow" % (self.name, self.slice_id))
- #file('/etc/vservers/%s/slice_id' % self.name, 'w').write(self.slice_id)
+ #logger.log("sliver_vs: %s: Setting name to %s" % (self.name, self.slice_id))
+ #self.setname(self.slice_id)
+ #logger.log("sliver_vs: %s: Storing slice id of %s for PlanetFlow" % (self.name, self.slice_id))
+ try:
+ vserver_config_path = '/etc/vservers/%s'%self.name
+ if not os.path.exists (vserver_config_path):
+ os.makedirs (vserver_config_path)
+ file('%s/slice_id'%vserver_config_path, 'w').write("%d"%self.slice_id)
+ logger.log("sliver_vs: Recorded slice id %d for slice %s"%(self.slice_id,self.name))
+ except IOError,e:
+ logger.log("sliver_vs: Could not record slice_id for slice %s. Error: %s"%(self.name,str(e)))
+ except Exception,e:
+ logger.log_exc("sliver_vs: Error recording slice id: %s"%str(e),name=self.name)
+
if self.enabled == False:
self.enabled = True