Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions roles/discover_latest_image/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,4 @@ cifmw_discover_latest_image_debug: "{{ (ansible_verbosity | int) >= 2 | bool }}"
cifmw_discover_latest_image_base_url: https://cloud.centos.org/centos/{{ ansible_distribution_major_version }}-stream/x86_64/images/
cifmw_discover_latest_image_qcow_prefix: CentOS-Stream-GenericCloud-
cifmw_discover_latest_image_images_file: CHECKSUM
cifmw_discover_latest_image_prefix: "cifmw_discovered"
31 changes: 24 additions & 7 deletions roles/discover_latest_image/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,34 @@
# License for the specific language governing permissions and limitations
# under the License.

- name: If one override is set, ensure all are set
when: >-
_discover_latest_image_baseurl_override is defined or
_discover_latest_image_qcow_prefix_override is defined or
_discover_latest_image_images_file_override is defined
ansible.builtin.assert:
that:
- _discover_latest_image_baseurl_override is defined
- _discover_latest_image_qcow_prefix_override is defined
- _discover_latest_image_images_file_override is defined
fail_msg: >-
Attempted to call the discover_latest_image role with an override
var set, but not all were set. Ensure that either all are set or none of them are set.
_discover_latest_image_baseurl_override: {{ _discover_latest_image_baseurl_override | default('UNDEFINED') }}
_discover_latest_image_qcow_prefix_override: {{ _discover_latest_image_qcow_prefix_override | default('UNDEFINED') }}
_discover_latest_image_images_file_override: {{ _discover_latest_image_images_file_override | default('UNDEFINED') }}

- name: Get latest image
register: discovered_image
cifmw.general.discover_latest_image:
url: "{{ cifmw_discover_latest_image_base_url }}"
image_prefix: "{{ cifmw_discover_latest_image_qcow_prefix }}"
images_file: "{{ cifmw_discover_latest_image_images_file }}"
url: "{{ _discover_latest_image_baseurl_override | default(cifmw_discover_latest_image_base_url) }}"
image_prefix: "{{ _discover_latest_image_qcow_prefix_override | default(cifmw_discover_latest_image_qcow_prefix) }}"
images_file: "{{ _discover_latest_image_images_file_override | default(cifmw_discover_latest_image_images_file) }}"

- name: Export facts accordingly
ansible.builtin.set_fact:
cifmw_discovered_image_name: "{{ discovered_image['data']['image_name'] }}"
cifmw_discovered_image_url: "{{ discovered_image['data']['image_url'] }}"
cifmw_discovered_hash: "{{ discovered_image['data']['hash'] }}"
cifmw_discovered_hash_algorithm: "{{ discovered_image['data']['hash_algorithm'] }}"
"{{ cifmw_discover_latest_image_prefix }}_image_name": "{{ discovered_image['data']['image_name'] }}"
"{{ cifmw_discover_latest_image_prefix }}_image_url": "{{ discovered_image['data']['image_url'] }}"
"{{ cifmw_discover_latest_image_prefix }}_hash": "{{ discovered_image['data']['hash'] }}"
"{{ cifmw_discover_latest_image_prefix }}_hash_algorithm": "{{ discovered_image['data']['hash_algorithm'] }}"
cacheable: true
1 change: 1 addition & 0 deletions roles/reproducer/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ cifmw_reproducer_supported_hypervisor_os:
minimum_version: 9
RedHat:
minimum_version: 9.3
cifmw_reproducer_discover_extra_vm_images: {}

# Allow to disable validations - user toggle this at their
# own risks!
Expand Down
17 changes: 17 additions & 0 deletions roles/reproducer/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,23 @@
ansible.builtin.import_role:
name: discover_latest_image

- name: Discover extra VM type images
tags:
- bootstrap
- bootstrap_layout
when:
- cifmw_reproducer_discover_extra_vm_images | default({}) | length > 0
ansible.builtin.include_role:
name: discover_latest_image
vars:
_discover_latest_image_baseurl_override: "{{ item.value.base_url }}"
_discover_latest_image_qcow_prefix_override: "{{ item.value.qcow_prefix }}"
_discover_latest_image_images_file_override: "{{ item.value.images_file }}"
cifmw_discover_latest_image_prefix: "{{ item.value.prefix }}"
loop: "{{ cifmw_reproducer_discover_extra_vm_images | dict2items }}"
loop_control:
label: "{{ item.key }}"

- name: Load CI job environment
tags:
- bootstrap_layout
Expand Down
Loading