ironic-python-agent-builder/roles/ipa-build-dib-image/tasks/main.yaml
Dmitry Tantsur db238b9c99 Make the debian job voting and start publishing debian images
With only 270MiB in size, the Debian images are likely candidates
for our future default images. Given that CentOS Stream 8 images
are nearly 500MiB in size, Debian may be our only path forward.

Enable installing firmware on Debian images to make them suitable
for bare metal installations.

Do not try to install biosdevname on non-RH systems.

Change-Id: I2c2a71c4afd0cd534961317b7fe9d3fb5d007d24
2020-12-16 19:48:49 +01:00

59 lines
1.8 KiB
YAML

- name: Default to CentOS 8
set_fact:
image_release: 8
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 }}"