Merge branch 'ipv6'
[nodemanager.git] / plugins / interfaces.py
index 45fd183..6927b23 100644 (file)
@@ -31,6 +31,14 @@ def GetSlivers(data, config=None, plc=None):
 
     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'])
@@ -81,9 +89,12 @@ def GetSlivers(data, config=None, plc=None):
                         logger.log('interfaces (%s): error writing file %s' % (slicename, dest))
                         continue
 
-                    try:
-                        subprocess.check_call(['/usr/sbin/lxcsu', slicename, '/sbin/service',
-                                               'network', 'restart'])
-                    except:
+                    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:
+#                        subprocess.check_call(['/usr/sbin/lxcsu', slicename, '/sbin/service',
+#                                               'network', 'restart'])
+#                    except:
+#                        logger.log('interfaces (%s): error restarting network service' % slicename)
+