spaces after comma
[nodemanager.git] / plugins / interfaces.py
index fb7c6e3..bc24b4e 100644 (file)
@@ -26,16 +26,24 @@ def start():
 def GetSlivers(data, config=None, plc=None):
 
     if 'slivers' not in data:
-        logger.log_missing_data("interfaces.GetSlivers",'slivers')
+        logger.log_missing_data("interfaces.GetSlivers", 'slivers')
         return
 
     for sliver in data['slivers']:
         slicename = sliver['name']
+
+        if not os.path.exists("/vservers/%s" % slicename):
+            # Avoid creating slice directory if slice does not exist, as it
+            # breaks slice creation when sliver_lxc eventually gets around
+            # to creating the sliver.
+            logger.log("vserver %s does not exist yet. Skipping interfaces." % slicename)
+            continue
+
         for tag in sliver['attributes']:
             if tag['tagname'] == 'interface':
                 interfaces = eval(tag['value'])
 
-                if not isinstance(interfaces, (list,tuple)):
+                if not isinstance(interfaces, (list, tuple)):
                     # if interface is not a list, then make it into a singleton list
                     interfaces = [interfaces]
 
@@ -47,7 +55,7 @@ def GetSlivers(data, config=None, plc=None):
                         url = mydict['url']
                         try:
                             contents = curlwrapper.retrieve(url)
-                        except xmlrpclib.ProtocolError,e:
+                        except xmlrpclib.ProtocolError as e:
                             logger.log('interfaces (%s): failed to retrieve %s' % (slicename, url))
                             continue
                     else:
@@ -81,7 +89,7 @@ def GetSlivers(data, config=None, plc=None):
                         logger.log('interfaces (%s): error writing file %s' % (slicename, dest))
                         continue
 
-                    result = logger.log_call(['/usr/sbin/lxcsu', slicename, '/sbin/service network restart'])
+                    result = logger.log_call(['/usr/sbin/lxcsu', slicename, '/sbin/service', 'network', 'restart'])
                     if not result:
                         logger.log('interfaces (%s): error restarting network service' % slicename)
 #                    try: