- f = open("%s/net" % SPACESDIR, "w")
- f.write("%s\n" % value)
- f.close()
- STATUS="OFF"
- if value:
- STATUS="ON"
- logger.log("%s: network namespace %s\n" % (slicename, STATUS))
+
+ if os.path.exists(FILENAME) != value:
+ sliver = vserver.VServer(slicename)
+ restart = sliver.is_running()
+
+ if (restart):
+ sliver.stop()
+
+ if value:
+ STATUS="ON"
+ f = open(FILENAME, "w")
+ f.close()
+ else:
+ STATUS="OFF"
+ os.remove(FILENAME)
+
+ logger.log("%s: network namespace %s\n" % (slicename, STATUS))
+
+ if (restart):
+ logger.log("topo: restarting sliver %s\n" % slicename)
+ sliver.start()