diff --git a/tasks/instance.yml b/tasks/instance.yml index adda1b63b975c48541a06ed4ba9a3ce569a5797f..1d3d95d37cd8630c90a2be37e26092296d001dc5 100644 --- a/tasks/instance.yml +++ b/tasks/instance.yml @@ -110,13 +110,23 @@ - name: Get image from another instance when: item.value.image_instance | default(false) != item.key block: - - name: Check if instance image exists + - name: Check if destination instance image exists community.docker.docker_image_info: name: "filament/{{ item.key }}:{{ instance_odoo_setup.odoo_version }}" - register: prod_image + register: dst_image + + - name: Check if source instance image exists + community.docker.docker_image_info: + name: "filament/{{ item.value.image_instance }}:{{ instance_odoo_setup.odoo_version }}" + register: src_image + + - name: Copy image from {{ item.value.image_instance }} to {{ item.key }} may be needed + when: dst_image.images | length != 0 and dst_image.images[0]['Config']['Image'] != src_image.images[0]['Config']['Image'] + ansible.builtin.debug: + msg: "Images differ between {{ item.value.image_instance }} to {{ item.key }}. You may need to run:\n$ ansible-playbook docker_odoo_operations_playbook.yml -l '{{ inventory_hostname }}' -t 'restart_prod_on_test_image' -e 'instance={{ item.key }}'" - name: Copy image from image_instance if it does not exist - when: prod_image.images | length == 0 + when: dst_image.images | length == 0 community.docker.docker_image: name: "filament/{{ item.value.image_instance }}:{{ instance_odoo_setup.odoo_version }}" repository: "filament/{{ item.key }}:{{ instance_odoo_setup.odoo_version }}"