fix bugs
diff --git a/planetstack/openstack/manager.py b/planetstack/openstack/manager.py
index 4ddd7f6..83dd954 100644
--- a/planetstack/openstack/manager.py
+++ b/planetstack/openstack/manager.py
@@ -175,6 +175,8 @@
slice.subnet_id = subnet['id']
# add subnet as interface to slice's router
self.driver.add_router_interface(router['id'], subnet['id'])
+ # add external route
+ self.driver.add_external_route(subnet)
if slice.id and slice.tenant_id:
@@ -190,6 +192,14 @@
self.driver.delete_router(slice.router_id)
self.driver.delete_network(slice.network_id)
self.driver.delete_tenant(slice.tenant_id)
+ # delete external route
+ subnet = None
+ subnets = self.driver.shell.quantum.list_subnets()['subnets']
+ for snet in subnets:
+ if snet['id'] == slice.subnet_id:
+ subnet = snet
+ if subnet:
+ self.driver.delete_external_route(subnet)
@@ -233,7 +243,7 @@
def save_sliver(self, sliver):
if not sliver.instance_id:
instance = self.driver.spawn_instance(name=sliver.name,
- key_name = sliver.key.name,
+ key_name = sliver.key.nkey_id,
image_id = sliver.image.image_id,
hostname = sliver.node.name )
sliver.instance_id = instance.id