ironic-python-agent-builder/roles/ipa-build-dib-image/tasks/main.yaml

59 lines
1.8 KiB
YAML

- name: Default to CentOS Stream 9
set_fact:
image_release: 9-stream
when:
- image_distro in ["centos-minimal", "centos"]
- not image_release
- name: Generate a nice target name for CentOS
set_fact:
image_target_name: centos{{ image_release }}
when:
- image_distro in ["centos-minimal", "centos"]
- not image_target_name
- name: Generate a nice target name for Debian
set_fact:
image_target_name: debian
when:
- image_distro in ["debian-minimal", "debian"]
- not image_target_name
- name: Generate image name
set_fact:
image_name: ipa-{{ image_target_name | default(image_distro, true) }}-{{ ipa_branch_path }}
- name: Build a DIB image
command: |
ironic-python-agent-builder -o {{ image_name }} -b HEAD -v
{{ "-r {}".format(image_release) if image_release else '' }}
{% for element in extra_elements %}
--element {{ element }}
{% endfor %}
{{ "--extra-args '{}'".format(dib_extra_args) if dib_extra_args else '' }}
{{ image_distro }}
environment:
# Increase from the default value of 30
DIB_DHCP_TIMEOUT: 60
# Use repositories checked out by Zuul (combined with -b HEAD above)
DIB_REPOLOCATION_ironic_python_agent: '{{ ipa_source_path }}'
DIB_REPOLOCATION_requirements: '{{ requirements_path }}'
- name: Move the resulting files
shell: |
tar -czf "{{ ipa_tar_dir }}/{{ image_name }}.tar.gz" {{ image_name }}*
mv {{ image_name }}* "{{ ipa_raw_dir }}"
- name: Generate image checksums
shell:
cmd: sha256sum "{{ image_name }}.{{ item }}" > "{{ image_name }}.{{ item }}.sha256"
chdir: "{{ ipa_raw_dir }}"
with_items:
- kernel
- initramfs
- name: Generate tarball checksum
shell:
cmd: sha256sum "{{ image_name }}.tar.gz" > "{{ image_name }}.tar.gz.sha256"
chdir: "{{ ipa_tar_dir }}"