commit 972b03943f31a5df0a8f02a06cc379c366dfa3bb
Author: Gael Chamoulaud (Strider) <gchamoul@redhat.com>
Date:   Wed Oct 7 17:57:51 2020 +0200

    Convert docker molecule usage to podman
    
    This change updates all uses of docker to podman and removes our docker
    installation process from zuul and our local test process.
    
    Change-Id: Idc4d4b0ab2557814d5aa2c543e4b7c546624b776
    Signed-off-by: Gael Chamoulaud (Strider) <gchamoul@redhat.com>

diff --git a/_skeleton_role_/molecule/default/molecule.yml b/_skeleton_role_/molecule/default/molecule.yml
index 693274e..7036a08 100644
--- a/_skeleton_role_/molecule/default/molecule.yml
+++ b/_skeleton_role_/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -17,6 +17,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -27,6 +29,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: &ulimit
 
 provisioner:
   name: ansible
diff --git a/bindep.txt b/bindep.txt
index 1f190fd..d40e707 100644
--- a/bindep.txt
+++ b/bindep.txt
@@ -25,6 +25,7 @@ libxslt-devel     [platform:rpm]
 libxslt1-dev      [platform:dpkg]
 libxslt-dev       [platform:apk]
 
+podman            [platform:rpm]
 python-devel      [platform:rpm !platform:rhel-8 !platform:centos-8]
 python3-devel     [platform:rpm !platform:rhel-7 !platform:centos-7]
 PyYAML            [platform:rpm !platform:rhel-8 !platform:centos-8]
diff --git a/ci/playbooks/pre.yml b/ci/playbooks/pre.yml
index 8d42096..569ff15 100644
--- a/ci/playbooks/pre.yml
+++ b/ci/playbooks/pre.yml
@@ -39,6 +39,3 @@
       with_items:
         - tripleo-ansible
         - validations-common
-
-  roles:
-    - role: ensure-docker
diff --git a/molecule-requirements.txt b/molecule-requirements.txt
index 5b9078d..24b4e83 100644
--- a/molecule-requirements.txt
+++ b/molecule-requirements.txt
@@ -1,7 +1,6 @@
 # this is required for the molecule jobs
 ansi2html
 ansible
-docker
 # https://github.com/sqlalchemy/dogpile.cache/issues/178
 dogpile.cache>=0.6.5,<0.9.1  # MIT
 jinja2>=2.8.0,<3
diff --git a/roles/ceilometerdb_size/molecule/default/molecule.yml b/roles/ceilometerdb_size/molecule/default/molecule.yml
index 980916a..603ec3b 100644
--- a/roles/ceilometerdb_size/molecule/default/molecule.yml
+++ b/roles/ceilometerdb_size/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/ceph/molecule/ceph-ansible-installed/molecule.yml b/roles/ceph/molecule/ceph-ansible-installed/molecule.yml
index 48af576..136ea19 100644
--- a/roles/ceph/molecule/ceph-ansible-installed/molecule.yml
+++ b/roles/ceph/molecule/ceph-ansible-installed/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -17,6 +17,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -27,6 +29,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/ceph/molecule/default/molecule.yml b/roles/ceph/molecule/default/molecule.yml
index add947a..54d9f3e 100644
--- a/roles/ceph/molecule/default/molecule.yml
+++ b/roles/ceph/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -14,6 +14,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -21,6 +23,7 @@ platforms:
     pkg_extras: python*-setuptools python*-enum34 python*-netaddr ruby python*-PyYAML
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/check_kernel_version/molecule/default/molecule.yml b/roles/check_kernel_version/molecule/default/molecule.yml
index 4d067a4..cecb4f9 100644
--- a/roles/check_kernel_version/molecule/default/molecule.yml
+++ b/roles/check_kernel_version/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -15,6 +15,8 @@ platforms:
     environment:
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
 provisioner:
   name: ansible
diff --git a/roles/check_network_gateway/molecule/default/molecule.yml b/roles/check_network_gateway/molecule/default/molecule.yml
index c9fc37e..6e07d5a 100644
--- a/roles/check_network_gateway/molecule/default/molecule.yml
+++ b/roles/check_network_gateway/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/collect_flavors_and_verify_profiles/molecule/default/molecule.yml b/roles/collect_flavors_and_verify_profiles/molecule/default/molecule.yml
index 980916a..603ec3b 100644
--- a/roles/collect_flavors_and_verify_profiles/molecule/default/molecule.yml
+++ b/roles/collect_flavors_and_verify_profiles/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/container_status/molecule/default/molecule.yml b/roles/container_status/molecule/default/molecule.yml
index 51f993b..353ae46 100644
--- a/roles/container_status/molecule/default/molecule.yml
+++ b/roles/container_status/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/controller_token/molecule/default/molecule.yml b/roles/controller_token/molecule/default/molecule.yml
index e236e96..c61de26 100644
--- a/roles/controller_token/molecule/default/molecule.yml
+++ b/roles/controller_token/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/controller_ulimits/molecule/default/converge.yml b/roles/controller_ulimits/molecule/default/converge.yml
index 9eec7f9..49c463c 100644
--- a/roles/controller_ulimits/molecule/default/converge.yml
+++ b/roles/controller_ulimits/molecule/default/converge.yml
@@ -19,20 +19,34 @@
   hosts: all
   gather_facts: false
 
-  vars:
-    nofiles_min: 102400
-    nproc_min: 204800
-
   tasks:
     - block:
         - include_role:
             name: controller_ulimits
+          vars:
+            nofiles_min: 102400
+            nproc_min: 512
+      rescue:
+        - name: Clear host errors
+          meta: clear_host_errors
+
+        - debug:
+            msg: The validation works for detecting nofiles_min!
+
+    - block:
+        - include_role:
+            name: controller_ulimits
+          vars:
+            nofiles_min: 512
+            nproc_min: 204800
       rescue:
         - name: Clear host errors
           meta: clear_host_errors
 
         - debug:
-            msg: The validation works! End the playbook run
+            msg: >-
+              The validation works for detecting noproc_min!
+              End of playbook run.
 
         - name: End play
           meta: end_play
diff --git a/roles/controller_ulimits/molecule/default/molecule.yml b/roles/controller_ulimits/molecule/default/molecule.yml
index 243e3e7..9175bff 100644
--- a/roles/controller_ulimits/molecule/default/molecule.yml
+++ b/roles/controller_ulimits/molecule/default/molecule.yml
@@ -1,13 +1,10 @@
 ---
 driver:
-  name: docker
+  name: podman
 log: true
 
 platforms:
   - name: centos7
-    ulimits: &ulimits
-      - nofile:512:512
-      - nproc:512:512
     hostname: centos7
     image: centos:7
     pkg_extras: python-setuptools
@@ -18,9 +15,11 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - nofile=512:512
+      - nproc=512:512
 
   - name: centos8
-    ulimits: *ulimits
     hostname: centos8
     image: centos:8
     pkg_extras: python*-setuptools
@@ -28,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/ctlplane_ip_range/molecule/default/molecule.yml b/roles/ctlplane_ip_range/molecule/default/molecule.yml
index ec0f2c6..2986882 100644
--- a/roles/ctlplane_ip_range/molecule/default/molecule.yml
+++ b/roles/ctlplane_ip_range/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/dhcp_validations/molecule/default/molecule.yml b/roles/dhcp_validations/molecule/default/molecule.yml
index 980916a..603ec3b 100644
--- a/roles/dhcp_validations/molecule/default/molecule.yml
+++ b/roles/dhcp_validations/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/healthcheck_service_status/molecule/default/molecule.yml b/roles/healthcheck_service_status/molecule/default/molecule.yml
index 980916a..603ec3b 100644
--- a/roles/healthcheck_service_status/molecule/default/molecule.yml
+++ b/roles/healthcheck_service_status/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/image_serve/molecule/default/molecule.yml b/roles/image_serve/molecule/default/molecule.yml
index 81a1b9d..b7f81d3 100644
--- a/roles/image_serve/molecule/default/molecule.yml
+++ b/roles/image_serve/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -21,6 +21,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -35,6 +37,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/ironic_boot_configuration/molecule/default/molecule.yml b/roles/ironic_boot_configuration/molecule/default/molecule.yml
index 980916a..603ec3b 100644
--- a/roles/ironic_boot_configuration/molecule/default/molecule.yml
+++ b/roles/ironic_boot_configuration/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/mysql_open_files_limit/molecule/default/molecule.yml b/roles/mysql_open_files_limit/molecule/default/molecule.yml
index 51f993b..353ae46 100644
--- a/roles/mysql_open_files_limit/molecule/default/molecule.yml
+++ b/roles/mysql_open_files_limit/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/network_environment/molecule/default/molecule.yml b/roles/network_environment/molecule/default/molecule.yml
index 980916a..603ec3b 100644
--- a/roles/network_environment/molecule/default/molecule.yml
+++ b/roles/network_environment/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/neutron_sanity_check/molecule/default/molecule.yml b/roles/neutron_sanity_check/molecule/default/molecule.yml
index 51f993b..353ae46 100644
--- a/roles/neutron_sanity_check/molecule/default/molecule.yml
+++ b/roles/neutron_sanity_check/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/node_disks/molecule/default/molecule.yml b/roles/node_disks/molecule/default/molecule.yml
index 980916a..603ec3b 100644
--- a/roles/node_disks/molecule/default/molecule.yml
+++ b/roles/node_disks/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/node_health/molecule/default/molecule.yml b/roles/node_health/molecule/default/molecule.yml
index 980916a..603ec3b 100644
--- a/roles/node_health/molecule/default/molecule.yml
+++ b/roles/node_health/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/nova_event_callback/molecule/default/molecule.yml b/roles/nova_event_callback/molecule/default/molecule.yml
index 980916a..603ec3b 100644
--- a/roles/nova_event_callback/molecule/default/molecule.yml
+++ b/roles/nova_event_callback/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/nova_status/molecule/default/molecule.yml b/roles/nova_status/molecule/default/molecule.yml
index e236e96..c61de26 100644
--- a/roles/nova_status/molecule/default/molecule.yml
+++ b/roles/nova_status/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/nova_svirt/molecule/default/molecule.yml b/roles/nova_svirt/molecule/default/molecule.yml
index 8f2b8a0..84aed31 100644
--- a/roles/nova_svirt/molecule/default/molecule.yml
+++ b/roles/nova_svirt/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -17,6 +17,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -27,6 +29,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/openshift_on_openstack/molecule/default/molecule.yml b/roles/openshift_on_openstack/molecule/default/molecule.yml
index 980916a..603ec3b 100644
--- a/roles/openshift_on_openstack/molecule/default/molecule.yml
+++ b/roles/openshift_on_openstack/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/openstack_endpoints/molecule/default/molecule.yml b/roles/openstack_endpoints/molecule/default/molecule.yml
index 51f993b..353ae46 100644
--- a/roles/openstack_endpoints/molecule/default/molecule.yml
+++ b/roles/openstack_endpoints/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/ovs_dpdk_pmd/molecule/default/molecule.yml b/roles/ovs_dpdk_pmd/molecule/default/molecule.yml
index 51f993b..353ae46 100644
--- a/roles/ovs_dpdk_pmd/molecule/default/molecule.yml
+++ b/roles/ovs_dpdk_pmd/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/pacemaker_status/molecule/default/molecule.yml b/roles/pacemaker_status/molecule/default/molecule.yml
index 980916a..603ec3b 100644
--- a/roles/pacemaker_status/molecule/default/molecule.yml
+++ b/roles/pacemaker_status/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/package_version/molecule/default/molecule.yml b/roles/package_version/molecule/default/molecule.yml
index 51f993b..353ae46 100644
--- a/roles/package_version/molecule/default/molecule.yml
+++ b/roles/package_version/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/rabbitmq_limits/molecule/default/molecule.yml b/roles/rabbitmq_limits/molecule/default/molecule.yml
index 3e6603c..520da5a 100644
--- a/roles/rabbitmq_limits/molecule/default/molecule.yml
+++ b/roles/rabbitmq_limits/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/repos/molecule/default/molecule.yml b/roles/repos/molecule/default/molecule.yml
index 0ce6f86..5a2edfc 100644
--- a/roles/repos/molecule/default/molecule.yml
+++ b/roles/repos/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/stack_health/molecule/default/molecule.yml b/roles/stack_health/molecule/default/molecule.yml
index 980916a..603ec3b 100644
--- a/roles/stack_health/molecule/default/molecule.yml
+++ b/roles/stack_health/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/stonith_exists/molecule/default/molecule.yml b/roles/stonith_exists/molecule/default/molecule.yml
index 0ce6f86..5a2edfc 100644
--- a/roles/stonith_exists/molecule/default/molecule.yml
+++ b/roles/stonith_exists/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/switch_vlans/molecule/default/molecule.yml b/roles/switch_vlans/molecule/default/molecule.yml
index 980916a..603ec3b 100644
--- a/roles/switch_vlans/molecule/default/molecule.yml
+++ b/roles/switch_vlans/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/system_encoding/molecule/default/molecule.yml b/roles/system_encoding/molecule/default/molecule.yml
index 106126d..59dcc5f 100644
--- a/roles/system_encoding/molecule/default/molecule.yml
+++ b/roles/system_encoding/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -17,6 +17,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -27,6 +29,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/tls_everywhere/molecule/default/molecule.yml b/roles/tls_everywhere/molecule/default/molecule.yml
index 005f423..ccf7767 100644
--- a/roles/tls_everywhere/molecule/default/molecule.yml
+++ b/roles/tls_everywhere/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/undercloud_debug/molecule/default/molecule.yml b/roles/undercloud_debug/molecule/default/molecule.yml
index e236e96..c61de26 100644
--- a/roles/undercloud_debug/molecule/default/molecule.yml
+++ b/roles/undercloud_debug/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/undercloud_disk_space/molecule/default/molecule.yml b/roles/undercloud_disk_space/molecule/default/molecule.yml
index 0ce6f86..5a2edfc 100644
--- a/roles/undercloud_disk_space/molecule/default/molecule.yml
+++ b/roles/undercloud_disk_space/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/undercloud_heat_purge_deleted/molecule/default/molecule.yml b/roles/undercloud_heat_purge_deleted/molecule/default/molecule.yml
index 532c523..32ba1db 100644
--- a/roles/undercloud_heat_purge_deleted/molecule/default/molecule.yml
+++ b/roles/undercloud_heat_purge_deleted/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -18,6 +18,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -29,6 +31,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/undercloud_process_count/molecule/default/molecule.yml b/roles/undercloud_process_count/molecule/default/molecule.yml
index 005f423..ccf7767 100644
--- a/roles/undercloud_process_count/molecule/default/molecule.yml
+++ b/roles/undercloud_process_count/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -16,6 +16,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -25,6 +27,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/undercloud_tokenflush/molecule/default/molecule.yml b/roles/undercloud_tokenflush/molecule/default/molecule.yml
index 532c523..32ba1db 100644
--- a/roles/undercloud_tokenflush/molecule/default/molecule.yml
+++ b/roles/undercloud_tokenflush/molecule/default/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -18,6 +18,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -29,6 +31,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/roles/undercloud_tokenflush/molecule/non-persistent-token-format/molecule.yml b/roles/undercloud_tokenflush/molecule/non-persistent-token-format/molecule.yml
index 532c523..32ba1db 100644
--- a/roles/undercloud_tokenflush/molecule/non-persistent-token-format/molecule.yml
+++ b/roles/undercloud_tokenflush/molecule/non-persistent-token-format/molecule.yml
@@ -1,6 +1,6 @@
 ---
 driver:
-  name: docker
+  name: podman
 
 log: true
 
@@ -18,6 +18,8 @@ platforms:
     environment: &env
       http_proxy: "{{ lookup('env', 'http_proxy') }}"
       https_proxy: "{{ lookup('env', 'https_proxy') }}"
+    ulimits: &ulimit
+      - host
 
   - name: centos8
     hostname: centos8
@@ -29,6 +31,7 @@ platforms:
       - /etc/ci/mirror_info.sh:/etc/ci/mirror_info.sh:ro
     environment:
       <<: *env
+    ulimits: *ulimit
 
 provisioner:
   name: ansible
diff --git a/scripts/run-local-test b/scripts/run-local-test
index 9f4d469..ad35050 100755
--- a/scripts/run-local-test
+++ b/scripts/run-local-test
@@ -40,6 +40,10 @@ case "${ID,,}" in
         ;;
 esac
 
+# Ensure the required ci file is present
+sudo mkdir -p /etc/ci
+sudo touch /etc/ci/mirror_info.sh
+
 # Create a virtual env
 "${PYTHON_EXEC}" -m virtualenv --system-site-packages "${HOME}/test-python"
 
diff --git a/tools/test-setup.sh b/tools/test-setup.sh
deleted file mode 100755
index e3179bf..0000000
--- a/tools/test-setup.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/bash
-set -euxo pipefail
-# Used by Zuul CI to perform extra bootstrapping
-
-# Workaround for a potential:
-# Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock
-# See https://docs.docker.com/install/linux/linux-postinstall/
-newgrp docker || true