return
while True:
try:
+ start_time=time.time()
logger.info('Observer run loop')
#self.sync_roles()
except:
logger.log_exc("Exception in sync_tenants")
traceback.print_exc()
+ finish_time = time.time()
+ logger.info('Sync tenants took %f seconds'%(finish_time-start_time))
logger.info('Calling sync users')
try:
except:
logger.log_exc("Exception in sync_users")
traceback.print_exc()
+ finish_time = time.time()
+ logger.info('Sync users took %f seconds'%(finish_time-start_time))
logger.info('Calling sync tenant roles')
try:
except:
logger.log_exc("Exception in sync slivers")
traceback.print_exc()
+ finish_time = time.time()
+ logger.info('Sync slivers took %f seconds'%(finish_time-start_time))
logger.info('Calling sync sliver ips')
try:
except:
logger.log_exc("Exception in sync_sliver_ips")
traceback.print_exc()
+ finish_time = time.time()
+ logger.info('Sync sliver ips took %f seconds'%(finish_time-start_time))
logger.info('Calling sync networks')
try:
except:
logger.log_exc("Exception in sync_networks")
traceback.print_exc()
+ finish_time = time.time()
+ logger.info('Sync networks took %f seconds'%(finish_time-start_time))
+
+ logger.info('Calling sync network slivers')
+ try:
+ self.sync_network_slivers()
+ except:
+ logger.log_exc("Exception in sync_network_slivers")
+ traceback.print_exc()
+ finish_time = time.time()
+ logger.info('Sync network sliver ips took %f seconds'%(finish_time-start_time))
logger.info('Calling sync external routes')
try:
except:
logger.log_exc("Exception in sync_external_routes")
traceback.print_exc()
+ finish_time = time.time()
+ logger.info('Sync external routes took %f seconds'%(finish_time-start_time))
logger.info('Waiting for event')
tBeforeWait = time.time()
for instance in instances:
if instance.uuid not in sliver_dict:
try:
- # lookup tenant and update context
- tenant = self.manager.driver.shell.keystone.tenants.find(id=instance.project_id)
- self.manager.init_admin(tenant=tenant.name)
+ # lookup tenant and update context
+ try:
+ tenant = self.manager.driver.shell.keystone.tenants.find(id=instance.project_id)
+ tenant_name = tenant.name
+ except:
+ tenant_name = None
+ logger.info("exception while retrieving tenant %s. Deleting instance using root tenant." % instance.project_id)
+ self.manager.init_admin(tenant=tenant_name)
self.manager.driver.destroy_instance(instance.uuid)
- logger.info("destroyed sliver: %s" % (instance))
+ logger.info("destroyed sliver: %s" % (instance.uuid))
except:
logger.log_exc("destroy sliver failed: %s" % instance)
ports = self.manager.driver.shell.quantum.list_ports()["ports"]
for port in ports:
-# print port
if port["id"] in networkSlivers_by_port:
# we already have it
print "already accounted for port", port["id"]
print "port", port["id"], "has no fixed_ips"
continue
- print "XXX", port
+# print "XXX", port
ns = NetworkSliver(network=network,
sliver=sliver,