diff --git a/doc/source/nodepool.rst b/doc/source/nodepool.rst
index 5039bee49b..cf1ecef517 100644
--- a/doc/source/nodepool.rst
+++ b/doc/source/nodepool.rst
@@ -21,7 +21,7 @@ At a Glance
   * nb03.opendev.org
   * zk01.openstack.org
   * zk02.openstack.org
-  * zk03.openstack.org
+  * zk04.opendev.org
 :Puppet:
   * https://opendev.org/opendev/puppet-openstackci/src/branch/master/manifests/nodepool_builder.pp
 :Configuration:
diff --git a/hiera/common.yaml b/hiera/common.yaml
index 23b9bc9016..ef54f4dffb 100644
--- a/hiera/common.yaml
+++ b/hiera/common.yaml
@@ -314,7 +314,7 @@ cacti_hosts:
 - ze12.opendev.org
 - zk01.openstack.org
 - zk02.openstack.org
-- zk03.openstack.org
+- zk04.opendev.org
 - zm01.opendev.org
 - zm02.opendev.org
 - zm03.opendev.org
diff --git a/inventory/base/hosts.yaml b/inventory/base/hosts.yaml
index e13f5bcd98..cb0823cc85 100644
--- a/inventory/base/hosts.yaml
+++ b/inventory/base/hosts.yaml
@@ -823,13 +823,30 @@ all:
         region_name: DFW
       public_v4: 172.99.117.32
       public_v6: 2001:4800:7821:105:be76:4eff:fe04:d599
-    zk03.openstack.org:
-      ansible_host: 23.253.90.246
+    zk04.opendev.org:
+      ansible_host: 104.130.253.62
       location:
         cloud: openstackci-rax
         region_name: DFW
-      public_v4: 23.253.90.246
-      public_v6: 2001:4800:7815:102:be76:4eff:fe02:f134
+      public_v4: 104.130.253.62
+      public_v6: 2001:4800:7818:103:be76:4eff:fe03:e80d
+    # Clarkb recording these here for ease of use later, but they need to be
+    # added to the inventory in a controlled manner as we rotate cluster
+    # members in and out.
+    #zk05.opendev.org:
+    #  ansible_host: 104.130.253.65
+    #  location:
+    #    cloud: openstackci-rax
+    #    region_name: DFW
+    #  public_v4: 104.130.253.65
+    #  public_v6: 2001:4800:7818:103:be76:4eff:fe03:5ef8
+    #zk06.opendev.org:
+    #  ansible_host: 104.130.253.74
+    #  location:
+    #    cloud: openstackci-rax
+    #    region_name: DFW
+    #  public_v4: 104.130.253.74
+    #  public_v6: 2001:4800:7818:103:be76:4eff:fe04:3d08
     zm01.opendev.org:
       ansible_host: 104.239.144.206
       location:
diff --git a/playbooks/roles/install-ansible/files/inventory_plugins/test-fixtures/results.yaml b/playbooks/roles/install-ansible/files/inventory_plugins/test-fixtures/results.yaml
index 3ab5c701be..2bbf13d5d6 100644
--- a/playbooks/roles/install-ansible/files/inventory_plugins/test-fixtures/results.yaml
+++ b/playbooks/roles/install-ansible/files/inventory_plugins/test-fixtures/results.yaml
@@ -49,5 +49,5 @@ results:
     - zuul
     - zuul-executor
 
-  zk01.openstack.org:
+  zk04.opendev.org:
     - zookeeper
diff --git a/testinfra/test_zookeeper.py b/testinfra/test_zookeeper.py
index 27255dab17..efe1148610 100644
--- a/testinfra/test_zookeeper.py
+++ b/testinfra/test_zookeeper.py
@@ -15,13 +15,13 @@
 import json
 
 
-testinfra_hosts = ['zk01.opendev.org']
+testinfra_hosts = ['zk04.opendev.org']
 
 
 def test_id_file(host):
     # Test that wacky hostname regex works
     myid = host.file('/var/zookeeper/data/myid')
-    assert myid.content == b'1\n'
+    assert myid.content == b'4\n'
 
 def test_zk_listening(host):
     zk = host.socket("tcp://0.0.0.0:2181")
diff --git a/zuul.d/system-config-run.yaml b/zuul.d/system-config-run.yaml
index cdd0962df0..f692ef9a02 100644
--- a/zuul.d/system-config-run.yaml
+++ b/zuul.d/system-config-run.yaml
@@ -229,8 +229,8 @@
       nodes:
         - name: bridge.openstack.org
           label: ubuntu-bionic
-        - name: zk01.opendev.org
-          label: ubuntu-bionic
+        - name: zk04.opendev.org
+          label: ubuntu-focal
         - name: nl01.opendev.org
           label: ubuntu-focal
         - name: nb01.opendev.org
@@ -692,8 +692,8 @@
       nodes:
         - name: bridge.openstack.org
           label: ubuntu-bionic
-        - name: zk01.opendev.org
-          label: ubuntu-bionic
+        - name: zk04.opendev.org
+          label: ubuntu-focal
     vars:
       run_playbooks:
         - playbooks/service-zookeeper.yaml
@@ -740,8 +740,8 @@
       nodes:
         - name: bridge.openstack.org
           label: ubuntu-bionic
-        - name: zk01.opendev.org
-          label: ubuntu-bionic
+        - name: zk04.opendev.org
+          label: ubuntu-focal
         - name: zm01.opendev.org
           label: ubuntu-focal
         - name: ze01.opendev.org