diff --git a/roles/multi-node-bridge/templates/zuul-multi-node-bridge-ovs.repo.j2 b/roles/multi-node-bridge/templates/zuul-multi-node-bridge-ovs.repo.j2
index 796111b9c..3905ab3ec 100644
--- a/roles/multi-node-bridge/templates/zuul-multi-node-bridge-ovs.repo.j2
+++ b/roles/multi-node-bridge/templates/zuul-multi-node-bridge-ovs.repo.j2
@@ -12,7 +12,16 @@ enabled=1
 gpgkey=file:///tmp/RPM-GPG-KEY-CentOS-SIG-Cloud
 {% elif ansible_distribution == 'RedHat' and ansible_distribution_major_version|int >= 8 %}
 [RDO-RHEL8-deps]
-name=RedHat Openstack deps repo
+name=RedHat OpenStack deps repo
+baseurl=https://trunk.rdoproject.org/rhel8-master/deps/latest/
+gpgcheck=0
+enabled=1
+{% elif ansible_distribution == 'CentOS' and ansible_distribution_major_version|int >= 8 %}
+[RDO-RHEL8-deps]
+# NOTE(ianw): 2019-11-25 RDO on centos8 is still in the process of
+# being built.  However, for our openvswitch dependency we can use
+# this, for now.
+name=RedHat OpenStack deps repo
 baseurl=https://trunk.rdoproject.org/rhel8-master/deps/latest/
 gpgcheck=0
 enabled=1
diff --git a/roles/multi-node-bridge/vars/CentOS.yaml b/roles/multi-node-bridge/vars/CentOS.yaml
index 19618923f..6f26a79c2 100644
--- a/roles/multi-node-bridge/vars/CentOS.yaml
+++ b/roles/multi-node-bridge/vars/CentOS.yaml
@@ -1,3 +1,8 @@
 ---
-ovs_package: "openvswitch"
+ovs_package: >-
+  {% if ansible_distribution_major_version|int >= 8 -%}
+  rhosp-openvswitch
+  {%- else -%}
+  openvswitch
+  {%- endif %}
 ovs_service: "openvswitch"
diff --git a/tools/update-test-platforms.py b/tools/update-test-platforms.py
index f80e894ec..846685567 100755
--- a/tools/update-test-platforms.py
+++ b/tools/update-test-platforms.py
@@ -30,6 +30,7 @@ import ruamellib
 
 PLATFORMS = [
     'centos-7',
+    'centos-8',
     'debian-stretch',
     'fedora-29',
     'gentoo-17-0-systemd',
diff --git a/zuul-tests.d/general-roles-jobs.yaml b/zuul-tests.d/general-roles-jobs.yaml
index 49bc718ce..38cbccbee 100644
--- a/zuul-tests.d/general-roles-jobs.yaml
+++ b/zuul-tests.d/general-roles-jobs.yaml
@@ -301,6 +301,25 @@
           nodes:
             - secondary
 
+- job:
+    name: zuul-jobs-test-multinode-roles-centos-8
+    description: Tests multinode setup roles on centos-8
+    parent: zuul-jobs-test-multinode-roles
+    tags: auto-generated
+    nodeset:
+      nodes:
+        - name: primary
+          label: centos-8
+        - name: secondary
+          label: centos-8
+      groups:
+        - name: switch
+          nodes:
+            - primary
+        - name: peers
+          nodes:
+            - secondary
+
 - job:
     name: zuul-jobs-test-multinode-roles-debian-stretch
     description: Tests multinode setup roles on debian-stretch
@@ -496,6 +515,7 @@
         - zuul-jobs-test-netconsole
         - zuul-jobs-test-dstat-graph
         - zuul-jobs-test-multinode-roles-centos-7
+        - zuul-jobs-test-multinode-roles-centos-8
         - zuul-jobs-test-multinode-roles-debian-stretch
         - zuul-jobs-test-multinode-roles-fedora-29
         - zuul-jobs-test-multinode-roles-gentoo-17-0-systemd
@@ -525,6 +545,7 @@
         - zuul-jobs-test-netconsole
         - zuul-jobs-test-dstat-graph
         - zuul-jobs-test-multinode-roles-centos-7
+        - zuul-jobs-test-multinode-roles-centos-8
         - zuul-jobs-test-multinode-roles-debian-stretch
         - zuul-jobs-test-multinode-roles-fedora-29
         - zuul-jobs-test-multinode-roles-gentoo-17-0-systemd