diff --git a/ansible/roles/network-redhat/tasks/main.yml b/ansible/roles/network-redhat/tasks/main.yml
index 27aa92d70b4134d3958266415de755e4bb4bfa99..2ff5b5c8f802b2ab6cd9371e7f79942b5a310d2c 100644
--- a/ansible/roles/network-redhat/tasks/main.yml
+++ b/ansible/roles/network-redhat/tasks/main.yml
@@ -46,3 +46,4 @@
     name: veth
   vars:
     veth_interfaces: "{{ network_interfaces | net_ovs_veths }}"
+  when: "'overcloud' in group_names"
diff --git a/releasenotes/notes/patch-links-on-overcloud-e24dbc858d3399cc.yaml b/releasenotes/notes/patch-links-on-overcloud-e24dbc858d3399cc.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..d5137eca57e2d520da0d5bd0131748998b7b3015
--- /dev/null
+++ b/releasenotes/notes/patch-links-on-overcloud-e24dbc858d3399cc.yaml
@@ -0,0 +1,6 @@
+---
+fixes:
+  - |
+    Fixes an issue where patch links could be erroneously created
+    on hosts not in the overcloud group. See `Story 2009911
+    <https://storyboard.openstack.org/#!/story/2009911>`__ for details.