From 7ad7efcc3865f3feb58269fbd53f47efc4ec1327 Mon Sep 17 00:00:00 2001 From: Daniel Hokka Zakrisson Date: Mon, 16 Jul 2007 17:53:22 +0000 Subject: [PATCH] add support for capabilities --- sliver_vs.py | 3 +++ sm.py | 9 ++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/sliver_vs.py b/sliver_vs.py index db1d340..ad37e3e 100644 --- a/sliver_vs.py +++ b/sliver_vs.py @@ -143,6 +143,9 @@ class Sliver_VS(accounts.Account, vserver.VServer): self.set_rlimit_config(limit, hard, soft, minimum) self.set_WHITELISTED_config(self.rspec['whitelist']) + self.set_capabilities_config(self.rspec['capabilities']) + if self.rspec['capabilities']: + logger.log('%s: setting capabilities to %s' % (self.name, self.rspec['capabilities'])) if False: # this code was commented out before # N.B. net_*_rate are in kbps because of XML-RPC maxint diff --git a/sm.py b/sm.py index 919b72a..11c9ee7 100644 --- a/sm.py +++ b/sm.py @@ -38,6 +38,8 @@ DEFAULT_ALLOCATION = { 'net_i2_thresh_kbyte': 13757316, # disk space limit 'disk_max': 5000000, # bytes + # capabilities + 'capabilities': '', # NOTE: this table is further populated with resource names and # default amounts via the start() function below. This probably @@ -163,7 +165,12 @@ def GetSlivers(data, fullupdate=True): rec['rspec'] = rspec for resname, default_amt in DEFAULT_ALLOCATION.iteritems(): try: amt = int(attr_dict[resname]) - except (KeyError, ValueError): amt = default_amt + except KeyError: amt = default_amt + except ValueError: + if type(default_amt) is type('str'): + amt = attr_dict[resname] + else: + amt = default_amt rspec[resname] = amt # disable sliver -- 2.43.0