diff --git a/ansible/group_vars/all/ipa b/ansible/group_vars/all/ipa index 23e94a79c..bf8444290 100644 --- a/ansible/group_vars/all/ipa +++ b/ansible/group_vars/all/ipa @@ -19,6 +19,9 @@ ipa_builder_source_url: "https://opendev.org/openstack/ironic-python-agent-build # Version of IPA builder source repository. Default is {{ openstack_branch }}. ipa_builder_source_version: "{{ openstack_branch }}" +# List of additional build host packages to install. +ipa_build_dib_host_packages_extra: [] + # List of default Diskimage Builder (DIB) elements to use when building IPA # images. Default is ["centos", "enable-serial-console", # "ironic-python-agent-ramdisk"]. diff --git a/ansible/group_vars/all/overcloud-dib b/ansible/group_vars/all/overcloud-dib index 737d91832..6b0408eba 100644 --- a/ansible/group_vars/all/overcloud-dib +++ b/ansible/group_vars/all/overcloud-dib @@ -10,6 +10,9 @@ # is {{ os_distribution == 'rocky' }}. This will change in a future release. overcloud_dib_build_host_images: "{{ os_distribution == 'rocky' }}" +# List of additional build host packages to install. +overcloud_dib_host_packages_extra: [] + # List of overcloud host disk images to build. Each element is a dict defining # an image in a format accepted by the stackhpc.os-images role. Default is to # build an image named "deployment_image" configured with the overcloud_dib_* diff --git a/ansible/overcloud-host-image-build.yml b/ansible/overcloud-host-image-build.yml index 5ac5af42e..d895c5016 100644 --- a/ansible/overcloud-host-image-build.yml +++ b/ansible/overcloud-host-image-build.yml @@ -22,6 +22,7 @@ include_role: name: stackhpc.os-images vars: + os_images_package_dependencies_extra: "{{ overcloud_dib_host_packages_extra | select | list }}" os_images_venv: "{{ virtualenv_path }}/overcloud-host-image-dib" os_images_package_state: latest os_images_upper_constraints_file: "{{ overcloud_dib_upper_constraints_file }}" diff --git a/ansible/overcloud-ipa-build.yml b/ansible/overcloud-ipa-build.yml index bc8e9f68a..4198c3572 100644 --- a/ansible/overcloud-ipa-build.yml +++ b/ansible/overcloud-ipa-build.yml @@ -36,6 +36,7 @@ include_role: name: stackhpc.os-images vars: + os_images_package_dependencies_extra: "{{ ipa_build_dib_host_packages_extra | select | list }}" os_images_venv: "{{ virtualenv_path }}/ipa-build-dib" os_images_package_state: latest os_images_upper_constraints_file: "{{ ipa_build_upper_constraints_file }}" diff --git a/ansible/seed-ipa-build.yml b/ansible/seed-ipa-build.yml index 1145bf819..fb26f7d05 100644 --- a/ansible/seed-ipa-build.yml +++ b/ansible/seed-ipa-build.yml @@ -26,6 +26,7 @@ include_role: name: stackhpc.os-images vars: + os_images_package_dependencies_extra: "{{ ipa_build_dib_host_packages_extra | select | list }}" os_images_venv: "{{ virtualenv_path }}/ipa-build-dib" os_images_package_state: latest os_images_upper_constraints_file: "{{ ipa_build_upper_constraints_file }}" diff --git a/doc/source/configuration/reference/ironic-python-agent.rst b/doc/source/configuration/reference/ironic-python-agent.rst index da2936e40..fb8f7aaa0 100644 --- a/doc/source/configuration/reference/ironic-python-agent.rst +++ b/doc/source/configuration/reference/ironic-python-agent.rst @@ -44,6 +44,9 @@ image build``. https://opendev.org/openstack/ironic-python-agent-builder ``ipa_builder_source_version`` Version of IPA builder source repository. Default is ``master``. +``ipa_build_dib_host_packages_extra`` + List of additional build host packages to install. Default is an empty + list. ``ipa_build_dib_elements_default`` List of default Diskimage Builder (DIB) elements to use when building IPA images. Default is ``["centos", "enable-serial-console", diff --git a/doc/source/configuration/reference/overcloud-dib.rst b/doc/source/configuration/reference/overcloud-dib.rst index 86b8c97e5..90a1e8770 100644 --- a/doc/source/configuration/reference/overcloud-dib.rst +++ b/doc/source/configuration/reference/overcloud-dib.rst @@ -41,6 +41,8 @@ Linux is used. `Cloud-init `__ is used to process the configuration drive built by Bifrost during provisioning. +``overcloud_dib_host_packages_extra`` + List of additional host packages to install. Default is an empty list. ``overcloud_dib_host_images`` List of overcloud host disk images to build. Each element is a dict defining an image in a format accepted by the `stackhpc.os-images diff --git a/etc/kayobe/ipa.yml b/etc/kayobe/ipa.yml index 519ca2a59..81ee97493 100644 --- a/etc/kayobe/ipa.yml +++ b/etc/kayobe/ipa.yml @@ -19,6 +19,9 @@ # Version of IPA builder source repository. Default is {{ openstack_branch }}. #ipa_builder_source_version: +# List of additional build host packages to install. Default is an empty list. +#ipa_build_dib_host_packages_extra: + # List of default Diskimage Builder (DIB) elements to use when building IPA # images. Default is ["centos", "enable-serial-console", # "ironic-python-agent-ramdisk"]. diff --git a/etc/kayobe/overcloud-dib.yml b/etc/kayobe/overcloud-dib.yml index 3d69f8eb1..bca69e92d 100644 --- a/etc/kayobe/overcloud-dib.yml +++ b/etc/kayobe/overcloud-dib.yml @@ -10,6 +10,9 @@ # is {{ os_distribution == 'rocky' }}. This will change in a future release. #overcloud_dib_build_host_images: +# List of additional build host packages to install. Default is an empty list. +#overcloud_dib_host_packages_extra: + # List of overcloud host disk images to build. Each element is a dict defining # an image in a format accepted by the stackhpc.os-images role. Default is to # build an image named "deployment_image" configured with the overcloud_dib_* diff --git a/releasenotes/notes/image-build-host-packages-1f1a3cf59436d82b.yaml b/releasenotes/notes/image-build-host-packages-1f1a3cf59436d82b.yaml new file mode 100644 index 000000000..2d80edc7e --- /dev/null +++ b/releasenotes/notes/image-build-host-packages-1f1a3cf59436d82b.yaml @@ -0,0 +1,7 @@ +--- +features: + - | + Adds support for installing additional build host dependencies when + building IPA and overcloud host images via + ``ipa_build_dib_host_packages_extra`` and + ``overcloud_dib_host_packages_extra``. diff --git a/requirements.yml b/requirements.yml index 6c48cffd6..9edf58cf3 100644 --- a/requirements.yml +++ b/requirements.yml @@ -43,7 +43,7 @@ roles: - src: stackhpc.mellanox-switch version: v1.0.0 - src: stackhpc.os-images - version: v1.11.0 + version: v1.15.0 - src: stackhpc.os-ironic-state version: v1.3.1 - src: stackhpc.os-networks