Ensure ironic-python-agent matches ironic-lib

If ironic-python-agent is not installed in the IPA image using
upper-constraints, the ironic-lib selected by pip for installation may
be newer than ipa.

Use upper-constraints for the same version as ironic-python-agent when
installing it, by passing the DIB_REPOREF_requirements environment
variable to ironic-python-agent-builder.

Closes-Bug: #2089263
Change-Id: I6e33f9897dc7efc57987872ffccdfbe0fc78cc52
This commit is contained in:
Matt Anson 2024-11-21 14:26:26 +00:00 committed by Pierre Riteau
parent 3961c2ddbf
commit 89849c1cec
3 changed files with 15 additions and 9 deletions

View File

@ -50,6 +50,7 @@ ipa_build_dib_env_default:
DIB_RELEASE: "{{ '9-stream' if os_distribution == 'rocky' else os_release }}" DIB_RELEASE: "{{ '9-stream' if os_distribution == 'rocky' else os_release }}"
DIB_REPOLOCATION_ironic_python_agent: "{{ ipa_build_source_url }}" DIB_REPOLOCATION_ironic_python_agent: "{{ ipa_build_source_url }}"
DIB_REPOREF_ironic_python_agent: "{{ ipa_build_source_version }}" DIB_REPOREF_ironic_python_agent: "{{ ipa_build_source_version }}"
DIB_REPOREF_requirements: "{{ ipa_build_source_version }}"
# Dictionary of additional environment variables to provide to Diskimage # Dictionary of additional environment variables to provide to Diskimage
# Builder (DIB) during IPA image build. # Builder (DIB) during IPA image build.

View File

@ -62,15 +62,14 @@ image build``.
``ipa_build_dib_elements_extra``. ``ipa_build_dib_elements_extra``.
``ipa_build_dib_env_default`` ``ipa_build_dib_env_default``
Dictionary of default environment variables to provide to Diskimage Builder Dictionary of default environment variables to provide to Diskimage Builder
(DIB) during IPA image build. Default is (DIB) during IPA image build. Default is ``{"DIB_RELEASE": "9-stream",
``{"DIB_RELEASE": "9-stream", "DIB_REPOLOCATION_ironic_python_agent": "{{ "DIB_REPOLOCATION_ironic_python_agent": "{{ ipa_build_source_url }}",
ipa_build_source_url }}", "DIB_REPOREF_ironic_python_agent": "{{ "DIB_REPOREF_ironic_python_agent": "{{ ipa_build_source_version }}",
ipa_build_source_version }}", "DIB_REPOREF_requirements": "{{ "DIB_REPOREF_requirements": "{{ ipa_build_source_version }}"}`` if
openstack_branch }}"}`` if ``os_distribution`` is ``"rocky"`` else ``os_distribution`` is ``"rocky"`` else ``{"DIB_RELEASE": "{{ os_release
``{"DIB_RELEASE": "jammy", "DIB_REPOLOCATION_ironic_python_agent": "{{ }}", "DIB_REPOLOCATION_ironic_python_agent": "{{ ipa_build_source_url }}",
ipa_build_source_url }}", "DIB_REPOREF_ironic_python_agent": "{{ "DIB_REPOREF_ironic_python_agent": "{{ ipa_build_source_version }}",
ipa_build_source_version }}", "DIB_REPOREF_requirements": "{{ "DIB_REPOREF_requirements": "{{ ipa_build_source_version }}"}``.
openstack_branch }}"}``.
``ipa_build_dib_env_extra`` ``ipa_build_dib_env_extra``
Dictionary of additional environment variables to provide to Diskimage Dictionary of additional environment variables to provide to Diskimage
Builder (DIB) during IPA image build. Default is empty. Builder (DIB) during IPA image build. Default is empty.

View File

@ -0,0 +1,6 @@
---
fixes:
- |
Pin requirements for IPA image build to ensure that the ``ironic-lib``
version matches ``ironic-python-agent``.
LP#2089263 <https://bugs.launchpad.net/kayobe/+bug/2089263>`__