use networks key if interfaces is missing. Band-aid for short period of time as old...
authorS.Çağlar Onur <caglar@cs.princeton.edu>
Mon, 29 Nov 2010 20:59:02 +0000 (15:59 -0500)
committerS.Çağlar Onur <caglar@cs.princeton.edu>
Mon, 29 Nov 2010 20:59:02 +0000 (15:59 -0500)
net.py
sliver_vs.py

diff --git a/net.py b/net.py
index de3360b..cb7850e 100644 (file)
--- a/net.py
+++ b/net.py
@@ -17,14 +17,31 @@ priority=1
 
 dev_default = tools.get_default_if()
 
+# added by caglar
+# band-aid for short period as old API returns networks instead of interfaces
+
 def start():
     logger.log("net: plugin starting up...")
 
 def GetSlivers(data, config, plc):
+    # added by caglar
+    global KEY_NAME
+    KEY_NAME = "interfaces"
+    #################
+
     logger.verbose("net: GetSlivers called.")
     if not 'interfaces' in data:
-        logger.log_missing_data('net.GetSlivers','interfaces')
-        return
+        # added by caglar
+        # band-aid for short period as old API returns networks instead of interfaces
+        # logger.log_missing_data('net.GetSlivers','interfaces')
+        # return
+        if not 'networks' in data:
+            logger.log_missing_data('net.GetSlivers','interfaces')
+            return
+        else:
+            KEY_NAME = "networks"
+        ##################
+
     plnet.InitInterfaces(logger, plc, data)
     if 'OVERRIDES' in dir(config):
         if config.OVERRIDES.get('net_max_rate') == '-1':
@@ -50,7 +67,7 @@ def InitNodeLimit(data):
     for dev in devs:
         macs[sioc.gifhwaddr(dev).lower()] = dev
 
-    for interface in data['interfaces']:
+    for interface in data[KEY_NAME]:
         # Get interface name preferably from MAC address, falling
         # back on IP address.
         hwaddr=interface['mac']
@@ -118,7 +135,7 @@ def InitNAT(plc, data):
         macs[sioc.gifhwaddr(dev).lower()] = dev
 
     ipt = iptables.IPTables()
-    for interface in data['interfaces']:
+    for interface in data[KEY_NAME]:
         # Get interface name preferably from MAC address, falling
         # back on IP address.
         hwaddr=interface['mac']
index ed81f94..4245e53 100644 (file)
@@ -80,9 +80,10 @@ class Sliver_VS(accounts.Account, vserver.VServer):
         logger.verbose('sliver_vs: %s: create'%name)
         if vref is None:
             logger.log("sliver_vs: %s: ERROR - no vref attached, this is unexpected"%(name))
+            # added by caglar
             # band-aid for short period as old API doesn't have GetSliceFamily function
-            vref = "planetlab-f8-i386"
             #return
+            vref = "planetlab-f8-i386"
 
         # used to look in /etc/planetlab/family,
         # now relies on the 'GetSliceFamily' extra attribute in GetSlivers()