Fix: Specify the gallaxy collection for the filter. (#270)

* Fix: Specify the gallaxy collection for the filter.

* Fix cillium and ceph_csi_rbd

* fix percona_xtradb_cluster_operator

* fix: move more docker_image refs

* fix: move rabbitmq to right folder

Co-authored-by: Michiel Piscaer <michiel.piscaer@cgm.com>
Co-authored-by: Mohammed Naser <mnaser@vexxhost.com>
diff --git a/plugins/filter/docker_image.py b/plugins/filter/docker_image.py
index f291e80..f0b9001 100644
--- a/plugins/filter/docker_image.py
+++ b/plugins/filter/docker_image.py
@@ -59,7 +59,7 @@
 EXAMPLES = """
   - name: Generate a Docker image reference
     ansible.builtin.debug:
-      msg: "{{ 'docker.io/library/memcached:1.6.3' | community.general.docker_image('name') }}"
+      msg: "{{ 'docker.io/library/memcached:1.6.3' | vexxhost.atmosphere.docker_image('name') }}"
 """
 
 RETURN = """
diff --git a/roles/atmosphere/defaults/main.yml b/roles/atmosphere/defaults/main.yml
index c50fba3..372b2c1 100644
--- a/roles/atmosphere/defaults/main.yml
+++ b/roles/atmosphere/defaults/main.yml
@@ -1,4 +1,4 @@
-atmosphere_image: "{{ atmosphere_images['atmosphere'] | docker_image('ref') }}"
+atmosphere_image: "{{ atmosphere_images['atmosphere'] | vexxhost.atmosphere.docker_image('ref') }}"
 
 atmosphere_config:
   image_repository: "{{ atmosphere_image_repository | default('') }}"
diff --git a/roles/ceph_csi_rbd/vars/main.yml b/roles/ceph_csi_rbd/vars/main.yml
index 1d728a5..518c151 100644
--- a/roles/ceph_csi_rbd/vars/main.yml
+++ b/roles/ceph_csi_rbd/vars/main.yml
@@ -21,25 +21,25 @@
       containerPort: 8081
     registrar:
       image:
-        repository: "{{ atmosphere_images['csi_node_driver_registrar'] | docker_image('name') }}"
+        repository: "{{ atmosphere_images['csi_node_driver_registrar'] | vexxhost.atmosphere.docker_image('name') }}"
     plugin:
       image:
-        repository: "{{ atmosphere_images['csi_rbd_plugin'] | docker_image('name') }}"
+        repository: "{{ atmosphere_images['csi_rbd_plugin'] | vexxhost.atmosphere.docker_image('name') }}"
   provisioner:
     nodeSelector:
       openstack-control-plane: enabled
     provisioner:
       image:
-        repository: "{{ atmosphere_images['csi_rbd_provisioner'] | docker_image('name') }}"
+        repository: "{{ atmosphere_images['csi_rbd_provisioner'] | vexxhost.atmosphere.docker_image('name') }}"
     attacher:
       image:
-        repository: "{{ atmosphere_images['csi_rbd_attacher'] | docker_image('name') }}"
+        repository: "{{ atmosphere_images['csi_rbd_attacher'] | vexxhost.atmosphere.docker_image('name') }}"
     resizer:
       image:
-        repository: "{{ atmosphere_images['csi_rbd_resizer'] | docker_image('name') }}"
+        repository: "{{ atmosphere_images['csi_rbd_resizer'] | vexxhost.atmosphere.docker_image('name') }}"
     snapshotter:
       image:
-        repository: "{{ atmosphere_images['csi_rbd_snapshotter'] | docker_image('name') }}"
+        repository: "{{ atmosphere_images['csi_rbd_snapshotter'] | vexxhost.atmosphere.docker_image('name') }}"
   storageClass:
     create: true
     name: general
diff --git a/roles/cilium/vars/main.yml b/roles/cilium/vars/main.yml
index e9d418d..ea2474d 100644
--- a/roles/cilium/vars/main.yml
+++ b/roles/cilium/vars/main.yml
@@ -1,10 +1,10 @@
 _cilium_helm_values:
   image:
-    repository: "{{ atmosphere_images['cilium_node'] | docker_image('name') }}"
+    repository: "{{ atmosphere_images['cilium_node'] | vexxhost.atmosphere.docker_image('name') }}"
   tunnel: geneve
   operator:
     image:
-      repository: "{{ atmosphere_images['cilium_operator'] | docker_image('name') | replace('-generic', '') }}"
+      repository: "{{ atmosphere_images['cilium_operator'] | vexxhost.atmosphere.docker_image('name') | replace('-generic', '') }}"
     nodeSelector:
       openstack-control-plane: enabled
   ipam:
diff --git a/roles/coredns/tasks/main.yml b/roles/coredns/tasks/main.yml
index 89b4972..2927627 100644
--- a/roles/coredns/tasks/main.yml
+++ b/roles/coredns/tasks/main.yml
@@ -32,7 +32,7 @@
                 name: coredns
           values:
             image:
-              repository: "{{ atmosphere_images['neutron_coredns'] | docker_image('name') }}"
+              repository: "{{ atmosphere_images['neutron_coredns'] | vexxhost.atmosphere.docker_image('name') }}"
             replicaCount: 3
             prometheus:
               service:
diff --git a/roles/ipmi_exporter/tasks/main.yml b/roles/ipmi_exporter/tasks/main.yml
index b4bee04..578dccd 100644
--- a/roles/ipmi_exporter/tasks/main.yml
+++ b/roles/ipmi_exporter/tasks/main.yml
@@ -47,7 +47,7 @@
             spec:
               containers:
                 - name: exporter
-                  image: "{{ atmosphere_images['prometheus_ipmi_exporter'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['prometheus_ipmi_exporter'] | vexxhost.atmosphere.docker_image('ref') }}"
                   ports:
                     - name: metrics
                       containerPort: 9290
diff --git a/roles/keepalived/tasks/main.yml b/roles/keepalived/tasks/main.yml
index 3ba71b9..3414049 100644
--- a/roles/keepalived/tasks/main.yml
+++ b/roles/keepalived/tasks/main.yml
@@ -118,7 +118,7 @@
               automountServiceAccountToken: true
               initContainers:
                 - name: init
-                  image: "{{ atmosphere_images['dep_check'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['dep_check'] | vexxhost.atmosphere.docker_image('ref') }}"
                   env:
                     - name: NAMESPACE
                       valueFrom:
@@ -133,7 +133,7 @@
                     - name: DEPENDENCY_POD_JSON
                       value: '[{"labels":{"application":"neutron","component":"neutron-ovs-agent"},"requireSameNode":true}]'
                 - name: wait-for-ip
-                  image: "{{ atmosphere_images['keepalived'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['keepalived'] | vexxhost.atmosphere.docker_image('ref') }}"
                   command:
                     - /bin/wait-for-ip.sh
                   volumeMounts:
@@ -144,7 +144,7 @@
                       subPath: wait-for-ip.sh
               containers:
                 - name: keepalived
-                  image: "{{ atmosphere_images['keepalived'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['keepalived'] | vexxhost.atmosphere.docker_image('ref') }}"
                   command:
                     - keepalived
                     - -f
diff --git a/roles/kubernetes/templates/haproxy.yaml.j2 b/roles/kubernetes/templates/haproxy.yaml.j2
index d47c015..f7f3c53 100644
--- a/roles/kubernetes/templates/haproxy.yaml.j2
+++ b/roles/kubernetes/templates/haproxy.yaml.j2
@@ -6,7 +6,7 @@
 spec:
   containers:
     - name: haproxy
-      image: "{{ atmosphere_images['haproxy'] | docker_image('ref') }}"
+      image: "{{ atmosphere_images['haproxy'] | vexxhost.atmosphere.docker_image('ref') }}"
       livenessProbe:
         failureThreshold: 8
         httpGet:
diff --git a/roles/kubernetes/templates/keepalived.yaml.j2 b/roles/kubernetes/templates/keepalived.yaml.j2
index 3a350d7..529f05d 100644
--- a/roles/kubernetes/templates/keepalived.yaml.j2
+++ b/roles/kubernetes/templates/keepalived.yaml.j2
@@ -7,7 +7,7 @@
 spec:
   containers:
     - name: keepalived
-      image: "{{ atmosphere_images['keepalived'] | docker_image('ref') }}"
+      image: "{{ atmosphere_images['keepalived'] | vexxhost.atmosphere.docker_image('ref') }}"
       command: ["keepalived", "-f", "/etc/keepalived/keepalived.conf", "--dont-fork", "--log-console", "--log-detail", "--dump-conf"]
       resources: {}
       securityContext:
diff --git a/roles/openstack_exporter/tasks/main.yml b/roles/openstack_exporter/tasks/main.yml
index 2af8ece..202054c 100644
--- a/roles/openstack_exporter/tasks/main.yml
+++ b/roles/openstack_exporter/tasks/main.yml
@@ -65,7 +65,7 @@
                       mountPath: /etc/openstack
               containers:
                 - name: openstack-exporter
-                  image: "{{ atmosphere_images['prometheus_openstack_exporter'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['prometheus_openstack_exporter'] | vexxhost.atmosphere.docker_image('ref') }}"
                   args:
                     - --endpoint-type
                     - internal
diff --git a/roles/openstack_helm_barbican/vars/main.yml b/roles/openstack_helm_barbican/vars/main.yml
index 25766cd..b970f15 100644
--- a/roles/openstack_helm_barbican/vars/main.yml
+++ b/roles/openstack_helm_barbican/vars/main.yml
@@ -16,7 +16,7 @@
   endpoints: "{{ openstack_helm_endpoints }}"
   images:
     pull_policy: Always
-    tags: "{{ atmosphere_images | openstack_helm_image_tags('barbican') }}"
+    tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('barbican') }}"
   pod:
     replicas:
       api: 3
diff --git a/roles/openstack_helm_cinder/vars/main.yml b/roles/openstack_helm_cinder/vars/main.yml
index 2c2652e..c8964ff 100644
--- a/roles/openstack_helm_cinder/vars/main.yml
+++ b/roles/openstack_helm_cinder/vars/main.yml
@@ -16,7 +16,7 @@
   endpoints: "{{ openstack_helm_endpoints }}"
   images:
     pull_policy: Always
-    tags: "{{ atmosphere_images | openstack_helm_image_tags('cinder') }}"
+    tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('cinder') }}"
   pod:
     replicas:
       api: 3
diff --git a/roles/openstack_helm_designate/vars/main.yml b/roles/openstack_helm_designate/vars/main.yml
index 8424f69..98c13fb 100644
--- a/roles/openstack_helm_designate/vars/main.yml
+++ b/roles/openstack_helm_designate/vars/main.yml
@@ -17,7 +17,7 @@
     pools: "{{ openstack_helm_designate_pools }}"
   endpoints: "{{ openstack_helm_endpoints }}"
   images:
-    tags: "{{ atmosphere_images | openstack_helm_image_tags('designate') }}"
+    tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('designate') }}"
   pod:
     replicas:
       api: 3
diff --git a/roles/openstack_helm_glance/vars/main.yml b/roles/openstack_helm_glance/vars/main.yml
index f3f1246..dbcc5f1 100644
--- a/roles/openstack_helm_glance/vars/main.yml
+++ b/roles/openstack_helm_glance/vars/main.yml
@@ -17,7 +17,7 @@
   storage: rbd
   images:
     pull_policy: Always
-    tags: "{{ atmosphere_images | openstack_helm_image_tags('glance') }}"
+    tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('glance') }}"
   bootstrap:
     enabled: false
   pod:
diff --git a/roles/openstack_helm_heat/vars/main.yml b/roles/openstack_helm_heat/vars/main.yml
index 2edb508..a600f8d 100644
--- a/roles/openstack_helm_heat/vars/main.yml
+++ b/roles/openstack_helm_heat/vars/main.yml
@@ -17,7 +17,7 @@
   endpoints: "{{ openstack_helm_endpoints }}"
   images:
     pull_policy: Always
-    tags: "{{ atmosphere_images | openstack_helm_image_tags('heat') }}"
+    tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('heat') }}"
   pod:
     replicas:
       api: 3
diff --git a/roles/openstack_helm_horizon/vars/main.yml b/roles/openstack_helm_horizon/vars/main.yml
index bcb7441..4801a09 100644
--- a/roles/openstack_helm_horizon/vars/main.yml
+++ b/roles/openstack_helm_horizon/vars/main.yml
@@ -16,7 +16,7 @@
   endpoints: "{{ openstack_helm_endpoints }}"
   images:
     pull_policy: Always
-    tags: "{{ atmosphere_images | openstack_helm_image_tags('horizon') }}"
+    tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('horizon') }}"
   pod:
     replicas:
       server: 3
diff --git a/roles/openstack_helm_infra_libvirt/vars/main.yml b/roles/openstack_helm_infra_libvirt/vars/main.yml
index 5ade112..249141c 100644
--- a/roles/openstack_helm_infra_libvirt/vars/main.yml
+++ b/roles/openstack_helm_infra_libvirt/vars/main.yml
@@ -15,7 +15,7 @@
 _openstack_helm_infra_libvirt_values:
   endpoints: "{{ openstack_helm_endpoints }}"
   images:
-    tags: "{{ atmosphere_images | openstack_helm_image_tags('libvirt') }}"
+    tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('libvirt') }}"
   conf:
     ceph:
       enabled: "{{ atmosphere_ceph_enabled | default(true) | bool }}"
diff --git a/roles/openstack_helm_infra_openvswitch/vars/main.yml b/roles/openstack_helm_infra_openvswitch/vars/main.yml
index 82c8ede..67564f6 100644
--- a/roles/openstack_helm_infra_openvswitch/vars/main.yml
+++ b/roles/openstack_helm_infra_openvswitch/vars/main.yml
@@ -15,4 +15,4 @@
 _openstack_helm_infra_openvswitch_values:
   endpoints: "{{ openstack_helm_endpoints }}"
   images:
-    tags: "{{ atmosphere_images | openstack_helm_image_tags('openvswitch') }}"
+    tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('openvswitch') }}"
diff --git a/roles/openstack_helm_keystone/vars/main.yml b/roles/openstack_helm_keystone/vars/main.yml
index 705ad23..a3e15eb 100644
--- a/roles/openstack_helm_keystone/vars/main.yml
+++ b/roles/openstack_helm_keystone/vars/main.yml
@@ -16,7 +16,7 @@
   endpoints: "{{ openstack_helm_endpoints }}"
   images:
     pull_policy: Always
-    tags: "{{ atmosphere_images | openstack_helm_image_tags('keystone') }}"
+    tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('keystone') }}"
   pod:
     #     mounts = {
     #       keystone_api = {
diff --git a/roles/openstack_helm_magnum/tasks/main.yml b/roles/openstack_helm_magnum/tasks/main.yml
index 00fe82b..587d375 100644
--- a/roles/openstack_helm_magnum/tasks/main.yml
+++ b/roles/openstack_helm_magnum/tasks/main.yml
@@ -105,7 +105,7 @@
                       value: /var/lib/registry
                     - name: REGISTRY_COMPATIBILITY_SCHEMA1_ENABLED
                       value: "true"
-                  image: "{{ atmosphere_images['magnum_registry'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['magnum_registry'] | vexxhost.atmosphere.docker_image('ref') }}"
                   ports:
                     - containerPort: 5000
                       name: registry
@@ -171,189 +171,189 @@
                     - --dest-tls-verify=false
                     - docker://docker.io/calico/cni:v3.13.1
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/cni:v3.13.1
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-cni-v3-13-1
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://docker.io/calico/kube-controllers:v3.13.1
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/kube-controllers:v3.13.1
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-kube-controllers-v3-13-1
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://docker.io/calico/node:v3.13.1
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/node:v3.13.1
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-node-v3-13-1
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://docker.io/calico/pod2daemon-flexvol:v3.13.1
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/pod2daemon-flexvol:v3.13.1
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-pod2daemon-flexvol-v3-13-1
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://docker.io/coredns/coredns:1.6.6
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/coredns:1.6.6
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-coredns-1-6-6
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://docker.io/k8scloudprovider/cinder-csi-plugin:v1.18.0
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/cinder-csi-plugin:v1.18.0
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-cinder-csi-plugin-v1-18-0
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://docker.io/k8scloudprovider/k8s-keystone-auth:v1.18.0
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/k8s-keystone-auth:v1.18.0
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-k8s-keystone-auth-v1-18-0
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://docker.io/k8scloudprovider/magnum-auto-healer:v1.18.0
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/magnum-auto-healer:v1.18.0
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-magnum-auto-healer-v1-18-0
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://docker.io/k8scloudprovider/openstack-cloud-controller-manager:v1.18.0
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/openstack-cloud-controller-manager:v1.18.0
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-openstack-cloud-controller-manager-v1-18-0
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://docker.io/kubernetesui/dashboard:v2.0.0
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/dashboard:v2.0.0
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-dashboard-v2-0-0
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://docker.io/kubernetesui/metrics-scraper:v1.0.4
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/metrics-scraper:v1.0.4
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-metrics-scraper-v1-0-4
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://docker.io/openstackmagnum/cluster-autoscaler:v1.22.0
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/cluster-autoscaler:v1.22.0
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-cluster-autoscaler-v1-22-0
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://docker.io/openstackmagnum/heat-container-agent:wallaby-stable-1
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/heat-container-agent:wallaby-stable-1
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-heat-container-agent-wallaby-stable-1
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://docker.io/planetlabs/draino:abf028a
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/draino:abf028a
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-draino-abf028a
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://docker.io/rancher/hyperkube:v1.19.11-rancher1
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/hyperkube:v1.19.11
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-hyperkube-v1-19-11
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://docker.io/rancher/hyperkube:v1.20.7-rancher1
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/hyperkube:v1.20.7
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-hyperkube-v1-20-7
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://docker.io/rancher/hyperkube:v1.21.1-rancher1
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/hyperkube:v1.21.1
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-hyperkube-v1-21-1
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://gcr.io/google_containers/cluster-proportional-autoscaler-amd64:1.1.2
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/cluster-proportional-autoscaler-amd64:1.1.2
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-cluster-proportional-autoscaler-amd64-1-1-2
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://gcr.io/google_containers/metrics-server-amd64:v0.3.5
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/metrics-server-amd64:v0.3.5
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-metrics-server-amd64-v0-3-5
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://gcr.io/google_containers/node-problem-detector:v0.6.2
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/node-problem-detector:v0.6.2
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-node-problem-detector-v0-6-2
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://gcr.io/google_containers/pause:3.1
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/pause:3.1
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-pause-3-1
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://quay.io/coreos/etcd:v3.4.6
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/etcd:v3.4.6
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-etcd-v3-4-6
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://quay.io/k8scsi/csi-attacher:v2.0.0
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/csi-attacher:v2.0.0
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-csi-attacher-v2-0-0
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://quay.io/k8scsi/csi-node-driver-registrar:v1.1.0
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/csi-node-driver-registrar:v1.1.0
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-csi-node-driver-registrar-v1-1-0
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://quay.io/k8scsi/csi-provisioner:v1.4.0
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/csi-provisioner:v1.4.0
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-csi-provisioner-v1-4-0
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://quay.io/k8scsi/csi-resizer:v0.3.0
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/csi-resizer:v0.3.0
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-csi-resizer-v0-3-0
                 - args:
                     - copy
                     - --dest-tls-verify=false
                     - docker://quay.io/k8scsi/csi-snapshotter:v1.2.2
                     - docker://magnum-registry.openstack.svc.cluster.local:5000/magnum/csi-snapshotter:v1.2.2
-                  image: "{{ atmosphere_images['skopeo'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['skopeo'] | vexxhost.atmosphere.docker_image('ref') }}"
                   name: magnum-csi-snapshotter-v1-2-2
               nodeSelector:
                 openstack-control-plane: enabled
diff --git a/roles/openstack_helm_magnum/vars/main.yml b/roles/openstack_helm_magnum/vars/main.yml
index b29e430..dbe80df 100644
--- a/roles/openstack_helm_magnum/vars/main.yml
+++ b/roles/openstack_helm_magnum/vars/main.yml
@@ -16,7 +16,7 @@
   endpoints: "{{ openstack_helm_endpoints }}"
   images:
     pull_policy: Always
-    tags: "{{ atmosphere_images | openstack_helm_image_tags('magnum') }}"
+    tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('magnum') }}"
   conf:
     magnum:
       DEFAULT:
diff --git a/roles/openstack_helm_neutron/vars/main.yml b/roles/openstack_helm_neutron/vars/main.yml
index 221ebb4..c5d213d 100644
--- a/roles/openstack_helm_neutron/vars/main.yml
+++ b/roles/openstack_helm_neutron/vars/main.yml
@@ -16,7 +16,7 @@
   endpoints: "{{ openstack_helm_endpoints }}"
   images:
     pull_policy: Always
-    tags: "{{ atmosphere_images | openstack_helm_image_tags('neutron') }}"
+    tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('neutron') }}"
   pod:
     replicas:
       server: 3
diff --git a/roles/openstack_helm_nova/vars/main.yml b/roles/openstack_helm_nova/vars/main.yml
index 7e20f5b..b8658c2 100644
--- a/roles/openstack_helm_nova/vars/main.yml
+++ b/roles/openstack_helm_nova/vars/main.yml
@@ -22,7 +22,7 @@
         node_selector_value: enabled
   images:
     pull_policy: Always
-    tags: "{{ atmosphere_images | openstack_helm_image_tags('nova') }}"
+    tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('nova') }}"
   network:
     ssh:
       enabled: true
diff --git a/roles/openstack_helm_octavia/vars/main.yml b/roles/openstack_helm_octavia/vars/main.yml
index 017aa32..e8ca175 100644
--- a/roles/openstack_helm_octavia/vars/main.yml
+++ b/roles/openstack_helm_octavia/vars/main.yml
@@ -15,7 +15,7 @@
 _openstack_helm_octavia_values:
   endpoints: "{{ openstack_helm_endpoints }}"
   images:
-    tags: "{{ atmosphere_images | openstack_helm_image_tags('octavia') }}"
+    tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('octavia') }}"
   pod:
     mounts:
       octavia_api:
diff --git a/roles/openstack_helm_placement/vars/main.yml b/roles/openstack_helm_placement/vars/main.yml
index b250b22..b5fbab2 100644
--- a/roles/openstack_helm_placement/vars/main.yml
+++ b/roles/openstack_helm_placement/vars/main.yml
@@ -16,7 +16,7 @@
   endpoints: "{{ openstack_helm_endpoints }}"
   images:
     pull_policy: Always
-    tags: "{{ atmosphere_images | openstack_helm_image_tags('placement') }}"
+    tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('placement') }}"
   pod:
     replicas:
       api: 3
diff --git a/roles/openstack_helm_senlin/vars/main.yml b/roles/openstack_helm_senlin/vars/main.yml
index 9699171..5c68d46 100644
--- a/roles/openstack_helm_senlin/vars/main.yml
+++ b/roles/openstack_helm_senlin/vars/main.yml
@@ -17,7 +17,7 @@
   endpoints: "{{ openstack_helm_endpoints }}"
   images:
     pull_policy: Always
-    tags: "{{ atmosphere_images | openstack_helm_image_tags('senlin') }}"
+    tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('senlin') }}"
   pod:
     replicas:
       api: 3
diff --git a/roles/openstack_helm_tempest/vars/main.yml b/roles/openstack_helm_tempest/vars/main.yml
index 390fe04..d7ec1f5 100644
--- a/roles/openstack_helm_tempest/vars/main.yml
+++ b/roles/openstack_helm_tempest/vars/main.yml
@@ -15,7 +15,7 @@
 _openstack_helm_tempest_helm_values:
   endpoints: "{{ openstack_helm_endpoints }}"
   images:
-    tags: "{{ atmosphere_images | openstack_helm_image_tags('tempest') }}"
+    tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('tempest') }}"
   jobs:
     run_tests:
       restartPolicy: Never
diff --git a/roles/percona_xtradb_cluster/vars/main.yml b/roles/percona_xtradb_cluster/vars/main.yml
index 0aef1c6..b455d7b 100644
--- a/roles/percona_xtradb_cluster/vars/main.yml
+++ b/roles/percona_xtradb_cluster/vars/main.yml
@@ -3,14 +3,14 @@
   secretsName: percona-xtradb
   pxc:
     size: 3
-    image: "{{ atmosphere_images['percona_xtradb_cluster'] | docker_image('ref') }}"
+    image: "{{ atmosphere_images['percona_xtradb_cluster'] | vexxhost.atmosphere.docker_image('ref') }}"
     autoRecovery: true
     configuration: |
       [mysqld]
       max_connections=8192
     sidecars:
       - name: exporter
-        image: "{{ atmosphere_images['prometheus_mysqld_exporter'] | docker_image('ref') }}"
+        image: "{{ atmosphere_images['prometheus_mysqld_exporter'] | vexxhost.atmosphere.docker_image('ref') }}"
         env:
           - name: MONITOR_PASSWORD
             valueFrom:
@@ -36,6 +36,6 @@
   haproxy:
     enabled: true
     size: 3
-    image: "{{ atmosphere_images['percona_xtradb_cluster_haproxy'] | docker_image('ref') }}"
+    image: "{{ atmosphere_images['percona_xtradb_cluster_haproxy'] | vexxhost.atmosphere.docker_image('ref') }}"
     nodeSelector:
       openstack-control-plane: enabled
diff --git a/roles/percona_xtradb_cluster_operator/vars/main.yml b/roles/percona_xtradb_cluster_operator/vars/main.yml
index 598a844..15079c7 100644
--- a/roles/percona_xtradb_cluster_operator/vars/main.yml
+++ b/roles/percona_xtradb_cluster_operator/vars/main.yml
@@ -13,6 +13,6 @@
 # under the License.
 
 _percona_xtradb_cluster_operator_helm_values:
-  image: "{{ atmosphere_images['percona_xtradb_cluster_operator'] | docker_image('ref') }}"
+  image: "{{ atmosphere_images['percona_xtradb_cluster_operator'] | vexxhost.atmosphere.docker_image('ref') }}"
   nodeSelector:
     openstack-control-plane: enabled
diff --git a/roles/prometheus_ethtool_exporter/tasks/main.yml b/roles/prometheus_ethtool_exporter/tasks/main.yml
index fd338c4..e4d640f 100644
--- a/roles/prometheus_ethtool_exporter/tasks/main.yml
+++ b/roles/prometheus_ethtool_exporter/tasks/main.yml
@@ -31,7 +31,7 @@
                       valueFrom:
                         fieldRef:
                           fieldPath: status.podIP
-                  image: "{{ atmosphere_images['prometheus_ethtool_exporter'] | docker_image('ref') }}"
+                  image: "{{ atmosphere_images['prometheus_ethtool_exporter'] | vexxhost.atmosphere.docker_image('ref') }}"
                   args:
                     - "-L"
                     - "$(IP)"
diff --git a/roles/prometheus_pushgateway/tasks/main.yml b/roles/prometheus_pushgateway/tasks/main.yml
index a26ada5..3553fcd 100644
--- a/roles/prometheus_pushgateway/tasks/main.yml
+++ b/roles/prometheus_pushgateway/tasks/main.yml
@@ -32,7 +32,7 @@
                 name: prometheus-community
           values:
             image:
-              repository: "{{ atmosphere_images['prometheus_pushgateway'] | docker_image('name') }}"
+              repository: "{{ atmosphere_images['prometheus_pushgateway'] | vexxhost.atmosphere.docker_image('name') }}"
             nodeSelector:
               openstack-control-plane: enabled
             serviceMonitor:
diff --git a/rabbitmq/README.md b/roles/rabbitmq/README.md
similarity index 100%
rename from rabbitmq/README.md
rename to roles/rabbitmq/README.md
diff --git a/rabbitmq/meta/main.yml b/roles/rabbitmq/meta/main.yml
similarity index 100%
rename from rabbitmq/meta/main.yml
rename to roles/rabbitmq/meta/main.yml
diff --git a/rabbitmq/tasks/main.yml b/roles/rabbitmq/tasks/main.yml
similarity index 93%
rename from rabbitmq/tasks/main.yml
rename to roles/rabbitmq/tasks/main.yml
index aed2e62..2cc5468 100644
--- a/rabbitmq/tasks/main.yml
+++ b/roles/rabbitmq/tasks/main.yml
@@ -22,7 +22,7 @@
         name: "rabbitmq-{{ rabbitmq_cluster_name }}"
         namespace: openstack
       spec:
-        image: "{{ atmosphere_images['rabbitmq_server'] | docker_image('ref') }}"
+        image: "{{ atmosphere_images['rabbitmq_server'] | vexxhost.atmosphere.docker_image('ref') }}"
         affinity:
           nodeAffinity:
             requiredDuringSchedulingIgnoredDuringExecution: