6b4f180a1e
Diskimage builder supports specifying a list of packages to install via -p. We currently support this for the root image, but not IPA images. This change adds a new configuration option, 'ipa_build_dib_packages', that should be a list of additional packages to install in locally built IPA images. This affects the following commands: kayobe seed deployment image build kayobe overcloud deployment image build This depends on https://github.com/stackhpc/ansible-role-os-images/pull/25. Also adds an example to the documentation for the equivalent option for root image. Change-Id: I04191d9541894b6a264e966c9ecb1056e0edade4 Story: 2006855 Task: 37446
55 lines
2.1 KiB
YAML
55 lines
2.1 KiB
YAML
---
|
|
# Build and install an Ironic Python Agent (IPA) image for the seed host's
|
|
# ironic and ironic-inspector services.
|
|
|
|
- name: Ensure Ironic Python Agent images are built and installed
|
|
hosts: seed
|
|
tags:
|
|
- ipa-build
|
|
vars:
|
|
ipa_image_name: "ipa"
|
|
ipa_images:
|
|
- "{{ ipa_image_name }}.vmlinuz"
|
|
- "{{ ipa_image_name }}.initramfs"
|
|
ipa_image_force_rebuild: false
|
|
tasks:
|
|
- block:
|
|
- name: Ensure Ironic Python Agent images are built
|
|
include_role:
|
|
name: stackhpc.os-images
|
|
vars:
|
|
os_images_venv: "{{ virtualenv_path }}/ipa-build-dib"
|
|
os_images_package_state: latest
|
|
os_images_upper_constraints_file: "{{ pip_upper_constraints_file }}"
|
|
os_images_cache: "{{ image_cache_path }}"
|
|
os_images_common: ""
|
|
os_images_list:
|
|
- name: "{{ ipa_image_name }}"
|
|
elements: "{{ ipa_build_dib_elements }}"
|
|
env: "{{ ipa_build_dib_env }}"
|
|
packages: "{{ ipa_build_dib_packages }}"
|
|
# Avoid needing to install qemu-img for qcow2 image.
|
|
type: raw
|
|
os_images_git_elements: "{{ ipa_build_dib_git_elements }}"
|
|
os_images_upload: False
|
|
os_images_force_rebuild: "{{ ipa_image_force_rebuild }}"
|
|
|
|
- name: Ensure Ironic Python Agent images are copied onto seed
|
|
copy:
|
|
src: "{{ image_cache_path }}/{{ ipa_image_name }}/{{ item }}"
|
|
dest: "/etc/kolla/bifrost/{{ item }}"
|
|
remote_src: True
|
|
with_items: "{{ ipa_images }}"
|
|
become: True
|
|
|
|
- name: Copy Ironic Python Agent images into /httpboot
|
|
command: >
|
|
docker exec bifrost_deploy
|
|
bash -c 'source /bifrost/env-vars &&
|
|
ansible -vvvv target -i /bifrost/playbooks/inventory/target
|
|
-m copy
|
|
-a "src=/etc/bifrost/{{ item }} dest=/httpboot/{{ item }}"
|
|
-e "ansible_python_interpreter=/var/lib/kolla/venv/bin/python"'
|
|
with_items: "{{ ipa_images }}"
|
|
when: ipa_build_images | bool
|