summaryrefslogtreecommitdiffstats
path: root/apex/overcloud
diff options
context:
space:
mode:
authorFeng Pan <fpan@redhat.com>2017-10-16 13:17:49 -0400
committerFeng Pan <fpan@redhat.com>2017-10-18 16:18:02 -0400
commitda99ee8cf99824a7ee5ff19544d3eec4788edd68 (patch)
treec704dbb5ce28af7904d74fdcb4d3a8f43f3e9d83 /apex/overcloud
parent37155cf6521e7cf7cb2d61a269f3a9992fa0a6c0 (diff)
Fix interface role mapping config for odl-fdio scenarios
This patch fixes a bug in deploy config function that will make performance parameters overwrite interface role mapping config for honeycomb. apex-os-net-config: Ifa3b18aa6370c79ad6ad3ce983f1648ff0d1d79d Change-Id: Icdb7603577bc7edf1959238ddd3d686c310544ce Signed-off-by: Feng Pan <fpan@redhat.com>
Diffstat (limited to 'apex/overcloud')
-rw-r--r--apex/overcloud/deploy.py40
1 files changed, 25 insertions, 15 deletions
diff --git a/apex/overcloud/deploy.py b/apex/overcloud/deploy.py
index ef916a43..8016e1fd 100644
--- a/apex/overcloud/deploy.py
+++ b/apex/overcloud/deploy.py
@@ -306,8 +306,12 @@ def prep_env(ds, ns, inv, opnfv_env, net_env, tmp_dir):
tmp_opnfv_env = os.path.join(tmp_dir, os.path.basename(opnfv_env))
shutil.copyfile(opnfv_env, tmp_opnfv_env)
tenant_nic_map = ns['networks']['tenant']['nic_mapping']
- tenant_ctrl_nic = tenant_nic_map['controller']['members'][0]
- tenant_comp_nic = tenant_nic_map['compute']['members'][0]
+ tenant_nic = dict()
+ tenant_nic['Controller'] = tenant_nic_map['controller']['members'][0]
+ tenant_nic['NovaCompute'] = tenant_nic_map['compute']['members'][0]
+ external_nic_map = ns['networks']['external'][0]['nic_mapping']
+ external_nic = dict()
+ external_nic['NovaCompute'] = external_nic_map['compute']['members'][0]
# SSH keys
private_key, public_key = make_ssh_key()
@@ -361,22 +365,10 @@ def prep_env(ds, ns, inv, opnfv_env, net_env, tmp_dir):
output_line = (" opendaylight::vpp_routing_node: {}.{}"
.format(ds_opts['odl_vpp_routing_node'],
ns['domain_name']))
- elif 'ControllerExtraConfig' in line:
- output_line = (" ControllerExtraConfig:\n "
- "tripleo::profile::base::neutron::agents::"
- "honeycomb::interface_role_mapping:"
- " ['{}:tenant-interface]'"
- .format(tenant_ctrl_nic))
- elif 'NovaComputeExtraConfig' in line:
- output_line = (" NovaComputeExtraConfig:\n "
- "tripleo::profile::base::neutron::agents::"
- "honeycomb::interface_role_mapping:"
- " ['{}:tenant-interface]'"
- .format(tenant_comp_nic))
elif not ds_opts['sdn_controller'] and ds_opts['dataplane'] == 'fdio':
if 'NeutronVPPAgentPhysnets' in line:
output_line = (" NeutronVPPAgentPhysnets: 'datacentre:{}'".
- format(tenant_ctrl_nic))
+ format(tenant_nic['Controller']))
elif ds_opts['sdn_controller'] == 'opendaylight' and ds_opts.get(
'dvr') is True:
if 'OS::TripleO::Services::NeutronDhcpAgent' in line:
@@ -405,6 +397,24 @@ def prep_env(ds, ns, inv, opnfv_env, net_env, tmp_dir):
perf_line += ("\n "
"fdio::vpp_cpu_corelist_workers: '{}'"
.format(perf_opts['corelist-workers']))
+ if ds_opts['sdn_controller'] == 'opendaylight' and \
+ ds_opts['dataplane'] == 'fdio':
+ if role == 'NovaCompute':
+ perf_line += ("\n "
+ "tripleo::profile::base::neutron::"
+ "agents::honeycomb::"
+ "interface_role_mapping:"
+ " ['{}:tenant-interface',"
+ "'{}:public-interface']"
+ .format(tenant_nic[role],
+ external_nic[role]))
+ else:
+ perf_line += ("\n "
+ "tripleo::profile::base::neutron::"
+ "agents::honeycomb::"
+ "interface_role_mapping:"
+ " ['{}:tenant-interface']"
+ .format(tenant_nic[role]))
if perf_line:
output_line = (" {}:{}".format(cfg, perf_line))