self.sync_user_tenant_roles()
self.sync_slivers()
self.sync_sliver_ips()
- time.sleep(7)
+ self.sync_external_routes()
+ time.sleep(10)
except:
traceback.print_exc()
# update manager context
self.manager.init_caller(sliver.creator, sliver.slice.name)
self.manager.save_sliver(sliver)
- logger.info("saved sliver: %s %s" % (sliver))
+ logger.info("saved sliver: %s" % (sliver))
except:
logger.log_exc("save sliver failed: %s" % sliver)
def sync_external_routes(self):
routes = self.manager.driver.get_external_routes()
- subnets = self.manager.driver.shell.quantum.list_subnets()
+ subnets = self.manager.driver.shell.quantum.list_subnets()['subnets']
for subnet in subnets:
- self.manager.driver.add_external_route(subnet, routes)
+ try:
+ self.manager.driver.add_external_route(subnet, routes)
+ except:
+ logger.log_exc("failed to add external route for subnet %s" % subnet)