diff --git a/ci/roles/image/tasks/main.yml b/ci/roles/image/tasks/main.yml index 886d495c..b69210bf 100644 --- a/ci/roles/image/tasks/main.yml +++ b/ci/roles/image/tasks/main.yml @@ -24,6 +24,13 @@ path: '{{ tmp_file.path }}' size: 1M + - name: Calculating file checksum + ansible.builtin.stat: + path: "{{ tmp_file.path }}" + checksum_algorithm: sha512 + get_checksum: true + register: image_details + - name: Ensure mock kernel and ramdisk images (defaults) openstack.cloud.image: cloud: "{{ cloud }}" @@ -42,6 +49,7 @@ name: ansible_image filename: "{{ tmp_file.path }}" is_protected: true + checksum: "{{ image_details.stat.checksum }}" disk_format: raw tags: - test diff --git a/plugins/modules/image.py b/plugins/modules/image.py index 449e7fa7..48527de1 100644 --- a/plugins/modules/image.py +++ b/plugins/modules/image.py @@ -485,7 +485,7 @@ class ImageModule(OpenStackModule): if image_name_or_id: image = self.conn.get_image( image_name_or_id, - filters={(k, self.params[k]) + filters={k: self.params[k] for k in ['checksum'] if self.params[k] is not None}) changed = False