X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fopenstack_observer%2Fsteps%2Fsync_network_slivers.py;h=16bc5a26637bfd4ce1a52823f52dd7144382e5fa;hb=d71a5dab1c155a039187548cce570f0712a8f162;hp=3e85e05cf0652b3fc123c1d1dd767b3d2ad7135b;hpb=d1c5c1c57acb45ee856c651042c6c90ff2bcb696;p=plstackapi.git diff --git a/planetstack/openstack_observer/steps/sync_network_slivers.py b/planetstack/openstack_observer/steps/sync_network_slivers.py index 3e85e05..16bc5a2 100644 --- a/planetstack/openstack_observer/steps/sync_network_slivers.py +++ b/planetstack/openstack_observer/steps/sync_network_slivers.py @@ -3,6 +3,7 @@ import base64 from django.db.models import F, Q from planetstack.config import Config from observer.openstacksyncstep import OpenStackSyncStep +from core.models import Controller from core.models.network import * from util.logger import Logger, logging @@ -17,6 +18,8 @@ class SyncNetworkSlivers(OpenStackSyncStep): # which Network is associated from the port. def call(self, **args): + logger.info("sync'ing network slivers") + networkSlivers = NetworkSliver.objects.all() networkSlivers_by_id = {} networkSlivers_by_port = {} @@ -27,7 +30,7 @@ class SyncNetworkSlivers(OpenStackSyncStep): networks = Network.objects.all() networks_by_id = {} for network in networks: - for nd in network.networkdeployments_set.all(): + for nd in network.controllernetworks.all(): networks_by_id[nd.net_id] = network #logger.info("networks_by_id = ") @@ -39,18 +42,18 @@ class SyncNetworkSlivers(OpenStackSyncStep): for sliver in slivers: slivers_by_instance_id[sliver.instance_id] = sliver - # Get all ports in all deployments + # Get all ports in all controllers ports_by_id = {} - for deployment in Deployment.objects.all(): - if not deployment.admin_tenant: - logger.info("deployment %s has no admin_tenant" % deployment.name) + for controller in Controller.objects.all(): + if not controller.admin_tenant: + logger.info("controller %s has no admin_tenant" % controller) continue try: - driver = self.driver.admin_driver(deployment=deployment.name,tenant='admin') + driver = self.driver.admin_driver(controller = controller,tenant='admin') ports = driver.shell.quantum.list_ports()["ports"] except: - logger.log_exc("failed to get ports from deployment %s" % deployment.name) + logger.log_exc("failed to get ports from controller %s" % controller) continue for port in ports: @@ -82,7 +85,7 @@ class SyncNetworkSlivers(OpenStackSyncStep): continue - if network.template.sharedNetworkName: + if network.template.shared_network_name: # If it's a shared network template, then more than one network # object maps to the quantum network. We have to do a whole bunch # of extra work to find the right one. @@ -137,7 +140,7 @@ class SyncNetworkSlivers(OpenStackSyncStep): if (neutron_nat_list != nat_list): logger.info("Setting nat:forward_ports for port %s network %s sliver %s to %s" % (str(networkSliver.port_id), str(networkSliver.network.id), str(networkSliver.sliver), str(nat_list))) try: - driver = self.driver.admin_driver(deployment=networkSliver.sliver.node.deployment,tenant='admin') + driver = self.driver.admin_driver(controller=networkSliver.sliver.node.site_deployment.controller,tenant='admin') driver.shell.quantum.update_port(networkSliver.port_id, {"port": {"nat:forward_ports": nat_list}}) except: logger.log_exc("failed to update port with nat_list %s" % str(nat_list))