Added DVR, L2 population and L3 agents HA support.

Added possibility to deploy environments with DVR, L2 population and L3 agents HA
(Neutron options) to system tests templates in fuel-qa.

Change-Id: I45b9a2b96cd7af218c4715cec0c7478b5d7bb387
Closes-Bug: #1529230
This commit is contained in:
Alexander Gromov 2015-12-31 14:59:22 +03:00 committed by tatyana-leontovich
parent b92e7f53f3
commit 103146770e
2 changed files with 31 additions and 1 deletions

View File

@ -480,6 +480,9 @@ class FuelWebClient(object):
section = 'access'
if option == 'assign_to_all_nodes':
section = 'public_network_assignment'
if option in ('neutron_l3_ha', 'neutron_dvr',
'neutron_l2_pop'):
section = 'neutron_advanced_configuration'
if option in 'dns_list':
section = 'external_dns'
if option in 'ntp_list':
@ -488,6 +491,26 @@ class FuelWebClient(object):
attributes['editable'][section][option]['value'] =\
settings[option]
# we should check DVR limitations
section = 'neutron_advanced_configuration'
if attributes['editable'][section]['neutron_dvr']['value']:
if attributes['editable'][section]['neutron_l3_ha']['value']:
raise Exception("Neutron DVR and Neutron L3 HA can't be"
" used simultaneously.")
if 'net_segment_type' in settings:
net_segment_type = settings['net_segment_type']
elif NEUTRON_SEGMENT_TYPE:
net_segment_type = NEUTRON_SEGMENT[NEUTRON_SEGMENT_TYPE]
else:
net_segment_type = None
if not attributes['editable'][section]['neutron_l2_pop'][
'value'] and net_segment_type == 'tun':
raise Exception("neutron_l2_pop is not enabled but "
"it is required for VxLAN DVR "
"network configuration.")
public_gw = self.environment.d_env.router(router_name="public")
remote = self.environment.d_env.get_admin_remote()

View File

@ -239,8 +239,15 @@ class ActionsBase(PrepareBase, HealthCheckActions, PluginsActions):
'vlan'),
"assign_to_all_nodes": self.env_config['network'].get(
'pubip-to-all',
False)
False),
"neutron_l3_ha": self.env_config['network'].get(
'neutron-l3-ha', False),
"neutron_dvr": self.env_config['network'].get(
'neutron-dvr', False),
"neutron_l2_pop": self.env_config['network'].get(
'neutron-l2-pop', False)
}
self.cluster_id = self.fuel_web.create_cluster(
name=self.env_config['name'],
mode=test_settings.DEPLOYMENT_MODE,