From: Mark Huang Date: Mon, 13 Nov 2006 19:05:42 +0000 (+0000) Subject: - if /vservers/sliver does not exist (but /etc/passwd entry does), X-Git-Tag: planetlab-4_0-rc1~61 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=3c94a255f69b9f2394b073634c61edc980e635c8;p=nodemanager.git - if /vservers/sliver does not exist (but /etc/passwd entry does), create it - call vuseradd with -t option if vref is specified --- diff --git a/sliver_vs.py b/sliver_vs.py index 4dad45d..1a588ea 100644 --- a/sliver_vs.py +++ b/sliver_vs.py @@ -33,7 +33,12 @@ class Sliver_VS(accounts.Account, vserver.VServer): TYPE = 'sliver.VServer' def __init__(self, rec): - vserver.VServer.__init__(self, rec['name']) + try: + vserver.VServer.__init__(self, rec['name']) + except vserver.NoSuchVServer: + self.create(rec['name']) + vserver.VServer.__init__(self, rec['name']) + self.keys = '' self.rspec = {} self.initscript = '' @@ -41,7 +46,11 @@ class Sliver_VS(accounts.Account, vserver.VServer): self.configure(rec) @staticmethod - def create(name): logger.log_call('/usr/sbin/vuseradd', name) + def create(name, vref = None): + if vref is not None: + logger.log_call('/usr/sbin/vuseradd', '-t', vref, name) + else: + logger.log_call('/usr/sbin/vuseradd', name) @staticmethod def destroy(name): logger.log_call('/usr/sbin/vuserdel', name)