allow sharing private network between slices, eliminate smbaker-slice-net testing...
authorScott Baker <smbaker@gmail.com>
Wed, 14 Aug 2013 17:50:48 +0000 (10:50 -0700)
committerScott Baker <smbaker@gmail.com>
Wed, 14 Aug 2013 17:50:48 +0000 (10:50 -0700)
planetstack/openstack/driver.py
planetstack/openstack/manager.py

index 41a653d..5bb1eb2 100644 (file)
@@ -160,12 +160,12 @@ class OpenStackDriver:
         if router and subnet:
             self.shell.quantum.remove_interface_router(router_id, {'subnet_id': subnet_id})
  
-    def create_network(self, name):
+    def create_network(self, name, shared=False):
         nets = self.shell.quantum.list_networks(name=name)['networks']
         if nets: 
             net = nets[0]
         else:
-            net = self.shell.quantum.create_network({'network': {'name': name}})['network']
+            net = self.shell.quantum.create_network({'network': {'name': name, 'shared': shared}})['network']
         return net
  
     def delete_network(self, id):
index e96e9f8..2fb4ff8 100644 (file)
@@ -316,11 +316,7 @@ class OpenStackManager:
     @require_enabled
     def save_sliver(self, sliver):
         if not sliver.instance_id:
-            if (sliver.slice.name == "smbaker-slice-8") or (sliver.slice.name.startswith("smbaker-slice-net")):
-                # only inflict this pain on myself, for now...
-                nics = self.get_requested_networks(sliver.slice)
-            else:
-                nics = None
+            nics = self.get_requested_networks(sliver.slice)
             file("/tmp/scott-manager","a").write("slice: %s\nreq: %s\n" % (str(sliver.slice.name), str(nics)))
             slice_memberships = SliceMembership.objects.filter(slice=sliver.slice)
             pubkeys = [sm.user.public_key for sm in slice_memberships if sm.user.public_key]
@@ -420,7 +416,7 @@ class OpenStackManager:
                 network_name = network.name
 
                 # create network
-                os_network = self.driver.create_network(network_name)
+                os_network = self.driver.create_network(network_name, shared=True)
                 network.network_id = os_network['id']
 
                 # create router