diff --git a/playbooks/container-image/pre-quay.yaml b/playbooks/container-image/pre-quay.yaml
new file mode 100644
index 0000000..4a52d98
--- /dev/null
+++ b/playbooks/container-image/pre-quay.yaml
@@ -0,0 +1,6 @@
+- hosts: localhost
+  roles:
+    # This will create image repos in quay if the container_image
+    # entries and container_registry_credentials have the appropriate
+    # contents.
+    - ensure-quay-repo
diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml
index c6a1d4a..771a592 100644
--- a/zuul.d/jobs.yaml
+++ b/zuul.d/jobs.yaml
@@ -259,6 +259,7 @@
 
       .. include:: ../../playbooks/container-image/README.rst
       .. include:: ../../playbooks/container-image/credentials.rst
+    pre-run: playbooks/container-image/pre-quay.yaml
     post-run: playbooks/container-image/upload.yaml
 
 - job:
@@ -271,6 +272,7 @@
 
       .. include:: ../../playbooks/container-image/README.rst
       .. include:: ../../playbooks/container-image/credentials.rst
+    pre-run: playbooks/container-image/pre-quay.yaml
     vars: *container_vars
 
 - job: