X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fopenstack%2Fdriver.py;h=15ea3f5124c3bdc541b61580c2fe672e659a9bf1;hb=44187013d70d0ed5362f90baa237223c12c9324e;hp=14eea4148c2c6d13d1c2ec02c20dd78f0ec26902;hpb=70780e90a156018e8e1a9d13124375418fa9362b;p=plstackapi.git diff --git a/planetstack/openstack/driver.py b/planetstack/openstack/driver.py index 14eea41..15ea3f5 100644 --- a/planetstack/openstack/driver.py +++ b/planetstack/openstack/driver.py @@ -264,10 +264,11 @@ class OpenStackDriver: gw_port = port router_id = gw_port['device_id'] router = self.shell.quantum.show_router(router_id)['router'] - ext_net = router['external_gateway_info']['network_id'] - for port in ports: - if port['device_id'] == router_id and port['network_id'] == ext_net: - ip_address = port['fixed_ips'][0]['ip_address'] + if router and router.get('external_gateway_info'): + ext_net = router['external_gateway_info']['network_id'] + for port in ports: + if port['device_id'] == router_id and port['network_id'] == ext_net: + ip_address = port['fixed_ips'][0]['ip_address'] if ip_address: # check if external route already exists @@ -278,7 +279,8 @@ class OpenStackDriver: route_exists = True if not route_exists: cmd = "route add -net %s dev br-ex gw %s" % (subnet['cidr'], ip_address) - commands.getstatusoutput(cmd) + s, o = commands.getstatusoutput(cmd) + #print cmd, "\n", s, o return 1