Merge "Fix nosdn fdio scenario"
[apex.git] / apex / overcloud / deploy.py
index 3fb812e..03e5652 100644 (file)
@@ -547,8 +547,11 @@ def prep_env(ds, ns, inv, opnfv_env, net_env, tmp_dir):
                                        ns['domain_name']))
         elif not ds_opts['sdn_controller'] and ds_opts['dataplane'] == 'fdio':
             if 'NeutronVPPAgentPhysnets' in line:
-                output_line = ("  NeutronVPPAgentPhysnets: 'datacentre:{}'".
-                               format(tenant_nic['Controller']))
+                # VPP interface tap0 will be used for external network
+                # connectivity.
+                output_line = ("  NeutronVPPAgentPhysnets: "
+                               "'datacentre:{},external:tap0'"
+                               .format(tenant_nic['Controller']))
         elif ds_opts['sdn_controller'] == 'opendaylight' and ds_opts.get(
                 'dvr') is True:
             if 'OS::TripleO::Services::NeutronDhcpAgent' in line:
@@ -752,12 +755,18 @@ def prep_sriov_env(ds, tmp_dir):
             print(line)
 
 
-def external_network_cmds(ns):
+def external_network_cmds(ns, ds):
     """
     Generates external network openstack commands
     :param ns: network settings
+    :param ds: deploy settings
     :return: list of commands to configure external network
     """
+    ds_opts = ds['deploy_options']
+    external_physnet = 'datacentre'
+    if ds_opts['dataplane'] == 'fdio' and \
+       ds_opts['sdn_controller'] != 'opendaylight':
+        external_physnet = 'external'
     if 'external' in ns.enabled_network_list:
         net_config = ns['networks']['external'][0]
         external = True
@@ -778,7 +787,8 @@ def external_network_cmds(ns):
                                                        'compute']['vlan'])
     cmds.append("openstack network create external --project service "
                 "--external --provider-network-type {} "
-                "--provider-physical-network datacentre".format(ext_type))
+                "--provider-physical-network {}"
+                .format(ext_type, external_physnet))
     # create subnet command
     cidr = net_config['cidr']
     subnet_cmd = "openstack subnet create external-subnet --project " \