From 02a4b4e16268119d9e0a9466246ed96e5800e3df Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Tue, 15 Apr 2014 20:04:13 -0400 Subject: [PATCH] fix login for which networks a sliver connets to --- planetstack/observer/steps/sync_slivers.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/planetstack/observer/steps/sync_slivers.py b/planetstack/observer/steps/sync_slivers.py index 9780dcb..3759747 100644 --- a/planetstack/observer/steps/sync_slivers.py +++ b/planetstack/observer/steps/sync_slivers.py @@ -5,7 +5,7 @@ from planetstack.config import Config from observer.openstacksyncstep import OpenStackSyncStep from core.models.sliver import Sliver from core.models.slice import SlicePrivilege, SliceDeployments -from core.models.network import Network, NetworkDeployments +from core.models.network import Network, NetworkSlice, NetworkDeployments from util.logger import Logger, logging logger = Logger(level=logging.INFO) @@ -37,15 +37,21 @@ class SyncSlivers(OpenStackSyncStep): if sliver.slice.creator.public_key: pubkeys.append(sliver.slice.creator.public_key) # netowrks - #nics = self.get_requested_networks(sliver.slice, sliver.node.deployment) + # include all networks available to the slice and/or associated network templates nics = [] - networks = Network.objects.filter(owner=sliver.slice) + networks = [ns.network for ns in NetworkSlice.objects.filter(slice=sliver.slice)] network_deployments = NetworkDeployments.objects.filter(network__in=networks, deployment=sliver.node.deployment) + # Gather private networks first. This includes networks with a template that has + # visibility = private and translation = none + for network_deployment in network_deployments: + if network_deployment.network.template.visibility == 'private' and \ + network_deployment.network.template.translation == 'none': + nics.append({'net-id': network_deployment.net_id}) + + # now include network template network_templates = [network.template.sharedNetworkName for network in networks \ if network.template.sharedNetworkName] - nics = [{'net-id': nd.net_id} for nd in network_deployments] - # include network template for net in driver.shell.quantum.list_networks()['networks']: if net['name'] in network_templates: nics.append({'net-id': net['id']}) -- 2.43.0