diff --git a/ansible/group_vars/all/compute b/ansible/group_vars/all/compute
index 3366351e8a227fb85ee6623b1972c9156782c75f..a31e6db65542348e1daf6a0d46f6cda8c1dd8566 100644
--- a/ansible/group_vars/all/compute
+++ b/ansible/group_vars/all/compute
@@ -16,9 +16,10 @@ compute_network_interfaces: >
 
 # List of default networks to which compute nodes are attached.
 compute_default_network_interfaces: >
-  {{ [provision_oc_net_name,
-      internal_net_name,
-      storage_net_name] | unique | list }}
+  {{ ([provision_oc_net_name,
+       internal_net_name,
+       storage_net_name] +
+      (external_net_names if kolla_enable_neutron_provider_networks | bool else [])) | unique | list }}
 
 # List of extra networks to which compute nodes are attached.
 compute_extra_network_interfaces: []
diff --git a/ansible/group_vars/all/kolla b/ansible/group_vars/all/kolla
index c7e1e2ab90938fb7b55d4ce6cf0c04379ef798a7..5fc45ee29c2509ed3641d5bcb8517b8f9d05e0ee 100644
--- a/ansible/group_vars/all/kolla
+++ b/ansible/group_vars/all/kolla
@@ -324,6 +324,7 @@ kolla_enable_monasca: "no"
 kolla_enable_murano: "no"
 kolla_enable_neutron: "yes"
 kolla_enable_neutron_lbaas: "no"
+kolla_enable_neutron_provider_networks: "no"
 kolla_enable_nova: "yes"
 kolla_enable_osprofiler: "no"
 kolla_enable_sahara: "no"
diff --git a/ansible/network.yml b/ansible/network.yml
index e027c57644d4c05c00edb3667fa1834e666aad37..c92794152d953e8aaa113c15ea2d78599bc31e24 100644
--- a/ansible/network.yml
+++ b/ansible/network.yml
@@ -72,7 +72,7 @@
 # Configure virtual ethernet patch links to connect the workload provision
 # and external network bridges to the Neutron OVS bridge.
 - name: Ensure OVS patch links exist
-  hosts: network
+  hosts: network:compute
   tags:
     - config
     - network