From ec53529b33c22eb54f6d9af5aa14e4ef74340963 Mon Sep 17 00:00:00 2001 From: Dan Radez Date: Tue, 12 Apr 2016 14:39:32 -0400 Subject: Adding VLAN support JIRA: APEX-136 JIRA: APEX-30 Change-Id: I7cbbe11f4c1f1455dba253733c78fe8dc215de97 Signed-off-by: Dan Radez --- lib/python/apex/network_environment.py | 15 +++++++++++++-- lib/python/apex/network_settings.py | 5 +++++ 2 files changed, 18 insertions(+), 2 deletions(-) (limited to 'lib/python/apex') diff --git a/lib/python/apex/network_environment.py b/lib/python/apex/network_environment.py index c6483d12..fd6f5286 100644 --- a/lib/python/apex/network_environment.py +++ b/lib/python/apex/network_environment.py @@ -69,6 +69,7 @@ class NetworkEnvironment: break if not tht_dir: raise NetworkEnvException('Unable to parse THT Directory') + admin_cidr = net_settings[constants.ADMIN_NETWORK]['cidr'] admin_prefix = str(admin_cidr.prefixlen) self.netenv_obj[param_def]['ControlPlaneSubnetCidr'] = admin_prefix @@ -76,6 +77,9 @@ class NetworkEnvironment: net_settings[constants.ADMIN_NETWORK]['provisioner_ip'] public_cidr = net_settings[constants.PUBLIC_NETWORK]['cidr'] self.netenv_obj[param_def]['ExternalNetCidr'] = str(public_cidr) + if net_settings[constants.PUBLIC_NETWORK]['vlan'] != 'native': + self.netenv_obj[param_def]['ExternalNetworkVlanID'] = \ + net_settings[constants.PUBLIC_NETWORK]['vlan'] public_range = net_settings[constants.PUBLIC_NETWORK][ 'usable_ip_range'].split(',') self.netenv_obj[param_def]['ExternalAllocationPools'] = \ @@ -114,6 +118,9 @@ class NetworkEnvironment: postfix = '/tenant_v6.yaml' else: postfix = '/tenant.yaml' + if net_settings[constants.PRIVATE_NETWORK]['vlan'] != 'native': + self.netenv_obj[param_def]['TenantNetworkVlanID'] = \ + net_settings[constants.PRIVATE_NETWORK]['vlan'] else: postfix = '/noop.yaml' @@ -137,6 +144,9 @@ class NetworkEnvironment: postfix = '/storage_v6.yaml' else: postfix = '/storage.yaml' + if net_settings[constants.STORAGE_NETWORK]['vlan'] != 'native': + self.netenv_obj[param_def]['StorageNetworkVlanID'] = \ + net_settings[constants.STORAGE_NETWORK]['vlan'] else: postfix = '/noop.yaml' @@ -160,8 +170,9 @@ class NetworkEnvironment: postfix = '/internal_api_v6.yaml' else: postfix = '/internal_api.yaml' - - + if net_settings[constants.API_NETWORK]['vlan'] != 'native': + self.netenv_obj[param_def]['InternalApiNetworkVlanID'] = \ + net_settings[constants.API_NETWORK]['vlan'] else: postfix = '/noop.yaml' diff --git a/lib/python/apex/network_settings.py b/lib/python/apex/network_settings.py index 9df8a1de..475082df 100644 --- a/lib/python/apex/network_settings.py +++ b/lib/python/apex/network_settings.py @@ -84,6 +84,11 @@ class NetworkSettings: given NIC in the system. The resulting config in settings object will be an ipaddress.network object, replacing the NIC name. """ + # if vlan not defined then default it to native + if network is not constants.ADMIN_NETWORK: + if 'vlan' not in self.settings_obj[network]: + self.settings_obj[network]['vlan'] = 'native' + cidr = self.settings_obj[network].get('cidr') nic_name = self.settings_obj[network].get('bridged_interface') -- cgit 1.2.3-korg