From 6cbfdfbb52ffbc94a72bac0f6ade6a0b2260ea00 Mon Sep 17 00:00:00 2001 From: "David E. Eisenstat" Date: Thu, 5 Apr 2007 19:04:30 +0000 Subject: [PATCH] Support for the plc_initscript_id attribute. --- sm.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/sm.py b/sm.py index 680120c..67730a4 100644 --- a/sm.py +++ b/sm.py @@ -68,6 +68,12 @@ def GetSlivers(data, fullupdate=True): } database.db.deliver_record(emulabdelegate) ### Emulab-specific hack ends here + + + initscripts_by_id = {} + for is_rec in data['initscripts']: + initscripts_by_id[str(is_rec['initscript_id'])] = is_rec['script'] + for sliver in data['slivers']: rec = sliver.copy() rec.setdefault('timestamp', data['timestamp']) @@ -82,7 +88,11 @@ def GetSlivers(data, fullupdate=True): rec.setdefault('type', attr_dict.get('type', 'sliver.VServer')) rec.setdefault('vref', attr_dict.get('vref', 'default')) - rec.setdefault('initscript', attr_dict.get('initscript', '')) + is_id = attr_dict.get('plc_initscript_id') + if is_id is not None and is_id in initscripts_by_id: + rec['initscript'] = initscripts_by_id[is_id] + else: + rec['initscript'] = '' rec.setdefault('delegations', []) # XXX - delegation not yet supported # extract the implied rspec -- 2.43.0