f/antelope: stx-openstack: `stx-openstackclients` is being built with dependencies on wrong versions
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
StarlingX |
In Progress
|
Undecided
|
Luan Nunes Utimura |
Bug Description
Brief Description
-----------------
It has been observed that the `stx-openstackc
Severity
--------
Minor.
Despite the image building, this could lead to runtime issues.
Steps to Reproduce
------------------
1. Build `stx-debian` base image;
2. Build `stx-openstackc
3. Inspect logs and confirm that some dependencies -- such as python3-oslo.log -- are on wrong versions.
Expected Behavior
------------------
OpenStack Antelope clients are built on top of OpenStack Antelope dependencies.
Actual Behavior
----------------
OpenStack Antelope clients are built on top of OpenStack Victoria dependencies.
Reproducibility
---------------
Reproducible.
System Configuration
-------
N/A.
Branch/Pull Time/Commit
-------
StarlingX (f/antelope)
StarlingX OpenStack (f/antelope)
Last Pass
---------
N/A.
Timestamp/Logs
--------------
```
Unpacking python3-
Setting up python3-attr (20.3.0-1) ...
Setting up libpython2.7:amd64 (2.7.18-8) ...
Setting up libapparmor1:amd64 (2.13.6-10) ...
[...]
Setting up python3-
Setting up python3-osc-lib (2.2.1-2) ...
Setting up python3-oslo.log (4.4.0-2) ...
```
According to [1], the minimum version of `python3-oslo.log` for OpenStack Antelope should be 5.1.0, and not 4.4.0.
[1] https:/
Test Activity
-------------
Developer Testing.
Workaround
----------
N/A.
tags: | added: stx.9.0 stx.distro.openstack |
description: | updated |
Changed in starlingx: | |
assignee: | nobody → Luan Nunes Utimura (lutimura) |
Reviewed: https:/ /review. opendev. org/c/starlingx /root/+ /896277 /opendev. org/starlingx/ root/commit/ 5fa60a542120d7d d510aabae237c18 839127705e
Committed: https:/
Submitter: "Zuul (22348)"
Branch: f/antelope
commit 5fa60a542120d7d d510aabae237c18 839127705e
Author: Luan Nunes Utimura <email address hidden>
Date: Fri Sep 22 13:18:37 2023 -0300
Add sources.list for non-default layers
After reestructuring `deb-local-binary` into multiple binary
repositories, one for each layer, the image build now has access to
three repositories by default:
* deb-local-binary; binary- containers;
* deb-local-
* deb-local-build.
Although these repositories are sufficient for the vast majority of lients` , that require local-binary- openstack` .
images, there are some, such as `stx-openstackc
dependencies that are found in another repository:
`deb-
This image, as the name suggests, contains all the OpenStack clients
currently supported by the StarlingX OpenStack application.
As one can see in [1], although most clients are installed in the form
of pip packages, i.e., through wheel files collected from the upstream
indexes, there are two clients that are installed in the form of
distribution packages:
* python3- cinderclient; openstackclient .
* python3-
The reason why they are installed as distribution packages is because local-build` and use the patched versions as expected by us (of
they have patches that are specific to StarlingX OpenStack -- [2] and
[3] -- and also because the build procedure can easily identify them in
`deb-
course, it they have been built previously).
The problem, however, is that although this image is currently being
built, there is a detail in it that can cause problems at run time.
Despite the build locating (and using) our patched packages, when it binary- containers` or local-build` .
searches for their dependencies, it always ends up using binaries from
repositories `deb-local-binary`, `deb-local-
`deb-
Which means that, if we have a dependency on local-binary- openstack` meant for OpenStack Antelope, and the same binary- openstack` ).
`deb-
dependency on `deb-local-binary` meant for OpenStack Victoria, the image
build will use the latter, for the simple fact that it do not consider
the `openstack` layer (and, therefore, `deb-local-
To get around this problem, this change seeks to add a `sources.list`
for each build layer. By default, they are all disabled. However, if
necessary, they can be enabled and used in image builds based on Docker
or LOCI.
Note: This change is the prerequisite of [4]. lients` image will be done
The test plan with the `stx-openstackc
there.
[1] https:/ /opendev. org/starlingx/ openstack- armada- app/src/ branch/ f/antelope/ upstream/ openstack/ python- openstackclient /debian/ stx-openstackcl ient.stable_ docker_ image#L26- L27 /opendev. org/starlingx/ openstack- armada- app/src/ branch/ f/antelope/ upstream/ openstack/ python- cinderclient/ debian/ patches /opend...
[2] https:/
[3] https:/