| Age | Commit message (Collapse) | Author | Files | Lines |
|
[tool.setuptools.data-files] does not support recursive directory
installation. The old setup.cfg [files] worked because PBR's
FilesConfig.expand_globs() used os.walk() to expand docker/*, but
this hook is not triggered by the pbr.build PEP-517 backend.
Move docker/ into kolla/ and use [tool.setuptools.package-data]
instead. Update kolla_worker._get_images_dir() to check the kolla
package directory first so both editable and regular installs work.
Change-Id: I4fc452c03740ef22ebbb4e8d0d86c4f4783e2d09
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
|
|
The build-date label was rendered into a LABEL instruction on line
3 of every Dockerfile template, immediately after FROM.
Because Docker invalidates the cache for a changed instruction and
all subsequent layers, a date change caused a full rebuild of every
image on each new calendar day, even when nothing else had changed.
Fix this by removing build-date from the Dockerfile templates and
applying it as a --label argument at build time via image.labels.
Labels passed on the build command line are not part of the
Dockerfile cache key, so the date is still recorded in the image
metadata without affecting layer caching.
Change-Id: I8ef0d85bab1a999a4d09f7cbf0c088ca00fdcf77
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
|
|
Currently we are enabling repos irrespective of rpm/deb
statement blocks and not failing in the method used
if a repository is missing.
Downside is - we might be producing one more layer,
but it probably is a more logical approach.
This is required for adding rpm support in repos.yaml
that will also include failing on missing repositories.
Change-Id: I5479c5c935760f00fe4cd307366f261deee3199f
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
|
|
It probably has been omitted in Ubuntu 24.04 introduction since
aarch64 build jobs have not been stable.
Removing from nova-compute since it's already in nova-base,
nova-libvirt's parent is base - so updating to qemu-efi-aarch64
Change-Id: Idae2e87bfc8a556a090085e46f96d11279080f0f
|
|
This patch adds a way to patch files in a Docker
image built by Kolla. This is very useful for several
reasons, specifically:
- Custom modifications
- The stable branch of some library has a fix but no pip
package has been released
- Eliminates the need to package your own pip packages
- Eliminates the need to invent your own versioning to prevent
upstream versioning
- Eliminates the need to manage a pip server
- In other words, it eliminates the need to get a wheel into
the image and install it manually using any method not
previously mentioned
It is also highly desirable because, although Kolla can replace
the source for a service with a custom URL for a tarball or its
own Git repo, it cannot do this for dependencies pulled from pip.
I would also like to point out that this is a feature with its own
code path and works only if the user "inserts" a patch into the folder
patches/docker-image/something.patch and creates an analogous series
file for patch source code.
Simply said, this code will never interfere with the upstream build process
since this feature is not intended for use in upstream.
It is rather meant for downstream users who know what they are doing.
Now they just have an option to patch their images.
Everything works on all layers of the Docker image and stores a report
of applied patches which can then be seen in /etc.
This mechanism is similar as debian patch quilt.
Change-Id: I61d0790c5d4d070b7ea9e8c99c0a76ff5d22bf9d
|
|
Closes-Bug: #2067050
Change-Id: Ife426c073048ff27bdfd9f3af30aaaab8c2e4497
|
|
openvswitch package is already installed in nova-base from
CentOS NFV SIG repos - and in nova-compute we don't enable this
repo - so we get openvswitch installed from RDO packages.
Closes-Bug: #2064098
Change-Id: If39e045357563111219a008fa7a81a82ef906627
|
|
Closes-Bug: 2062572
Change-Id: I456a5b8f66aa88a82fb54938e8df7195d127d9cd
|
|
It does not exist in repos.yaml since [1].
[1]: Id585c7744ba130ad1dfc28138fb0f9e6eeae771d
Change-Id: Ic74eba44fc6e5508976de24cf20a5039f3292731
|
|
Since change I1bc19f8198da3f9ab2ae2a8864c3349b21b0249e we install the
centos-release-ceph-reef package as a dependency, but some code was
still expecting the quincy package.
Change-Id: I8ebcf815d80f3bead25e0078d69b34e17ad013bd
|
|
when configure `remote_filesystem_transport` to rsync, rsync binary is
required.
Change-Id: I07be614846be9305f0775df22a6d931ceab1720a
|
|
This is necessary if using nova-compute with RBD backend (directly,
not via Cinder) and wishing to make an instance image to Glance
while (1) following the recommended Ceph permissions which do not
give Nova write permissions to the images' pool or (2) not using
RBD with Glance or (3) not revealing what Glance actually uses
as the backend (hiding locations).
Change-Id: I88e1e0ca01b2b2effad9515b905cc761fbb5d2d4
|
|
OpenStack 'zed' requires Python 3.8+ so RHEL 8 family has to go.
This changeset moves to CentOS Stream 9 while move to RockyLinux 9 is
planned as final solution.
CI moved to CentOS Stream 9 nodes.
Depends-on: https://review.opendev.org/c/openstack/kolla-ansible/+/839715
Change-Id: I113b9984294cf8663d3fc0c8840320e1d40ea731
|
|
Tim Shearer started it in 1d96a2bbe1b536b7d7f4cdbf55c6dabae6d058ae.
Since all extend_start files are sourced rather than executed, the executable
bits are now cleared throughout the project.
Change-Id: Ia1797c32fc6a35f9f077c673abf4d8e16e51a760
|
|
As we have one type of images now some RUN calls could be merged so we
will have less layers in resulting images.
Change-Id: I5178c58fbd8c65efe825dc249c0f1368ef0fe8e0
|
|
Big patch drops all mentions of binary images support. Suggestions are
welcome how to split it into parts or handle better.
Change-Id: I5d5a46c6ce7734ceb8b844e17b43e359d7cac6e3
|
|
Adds Cyrus SASL packages necessary for the DIGEST-MD5 and SCRAM-SHA-256
mechanisms. These can be used for libvirt SASL authentication.
Change-Id: I13e19ca29eeab40cd08fa3afe2cdf7531867f81b
Partial-Bug: #1964013
|
|
In past 'ndctl' was x86-64 only in Ubuntu. This changed in 19.04 so time
to adapt.
Change-Id: I3e599f780e8f84ea131988f4a9a45f17055c8ab2
|
|
The nvme-cli package is required to get the nvme command executed by
os-brick, which is used by nova-compute.
We don't need to explicitely install it for centos binary images, as it
is required by os-brick which is required by openstack-nova-common, but
all other types of images were missing it.
Change-Id: I754939da7636c57d2a8d5b83debb5d8a58e38432
Closes-Bug: #1953509
|
|
libguestfs package fetched kernel-core one which fetched linux-firmware.
We remove the last one and save ~500MB of space:
before/centos-binary-nova-compute: 3.3GB
after1/centos-binary-nova-compute: 2.71GB
Closes-Bug: #1946801
Change-Id: I98cc19c95fcec07dd4e494c14c09938d754f1de0
|
|
There are several images installing 'python3-libvirt' package. Which for
Debian reside in 'libvirt' repo. So let's enable it where needed.
Change-Id: I1c91d27f2578f5ca7c83c4747725b1d9371880b0
|
|
I somehow missed that when it was sent for review.
Change-Id: Iabacaeccdb360544125ad910d5c3f5f9d895dac5
|
|
nova-compute uses daxio to cleanup vpmem backend device on instance
delete. If the daxio binary is missing in the nova-compute container
instance delete fails. daxio is provided in centos via daxio, in
ubuntu via the pmdk-tools package.
Change-Id: Ifb5948653565e2ae902783762e20e33527020efe
Closes-Bug: 1907124
|
|
This fixes the FC Cinder backend usage in Nova.
Change-Id: I036cfe3af3dd96625f986a820c78a10e6558b086
Closes-bug: #1884484
|
|
|
|
With the move to RHEL/CentOS 8 we no longer have Python 2 in our images
so there is no need for checking which Python version (2.x or 3.x) is
used inside of containers.
We also no longer have to support yum as a value for
distro_package_manager.
Partially-Implements: blueprint centos-rhel-8
Change-Id: Ie45cf3465fedddbde7856961527421883ba3d5c9
|
|
`ndctl` is a utility for managing the nvdimm subsystem required
by Nova for attaching PMEM(persistent memory) namespaces to guests [0].
[0]: https://docs.openstack.org/nova/latest/admin/virtual-persistent-memory.html
Change-Id: I8ed1b6c1d0985b2a73206bd9249a5664cd80c912
Closes-Bug: #1870455
|
|
Storage SIG has built Ceph Nautilus and Ganesha for CentOS8 in CentOS
Build System.
Let's switch to use them in kolla.
Change-Id: Id37dca84c4eb918aaf2d3c036ef5387fe75988dd
|
|
Change-Id: I9692dda817ef134d647247431565e1b58cf9da41
|
|
The only Ceph version that will support CentOS 8 is Octopus.
It will be released end of March 2020 - so for now let's use master.
Change-Id: I5955acb41e7346802d76f4f2b244cbf5c36f5bf2
Partially-Implements: blueprint centos-rhel-8
|
|
* Some further changes for python2 vs python3 packages
* Allow rabbitmq 3.7.*, since a newer erlang is available
* Switch from qemu-img-ev to qemu-img on CentOS 8
* bridge-utils no longer available on CentOS 8
* libvirt-daemon-driver-lxc no longer available on CentOS 8
* Mark some more images buildable for CentOS 8
Change-Id: Iaf5b68ff6d944ae730ca0b1d5832172c106a6c08
Partially-Implements: blueprint centos-rhel-8
Partially-Implements: blueprint centos-rhel-python-3
|
|
Disable external repositories by default and enable only when needed.
Depends-on: https://review.opendev.org/696480
Implements: blueprint repos-off-by-default
Change-Id: Icf2a8397a8349e0fe849d88d160409fd234480a9
|
|
xfsprogs is required for formatting XFS ephemeral disk partitions
when format=xfs is specified as instance create failes with
'mkfs.xfs: No such file or directory' due to missing xfsprogs
package in the nova-compute container.
Closes-Bug: #1850610
Change-Id: Iaf3414464f3dd747427247339c6b201b352063cb
|
|
|
|
backport: Stein
During the switch to Stein UCA, we did not switch all packages to python
3 for Debian/Ubuntu binary images. This change switches some more of
those packages.
Change-Id: I0bff21384d88ea678608392de2db1ba418c96665
Co-Authored-By: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
|
|
Commit 43b74ccc157c0b50138c3785ed91dab504895571 enabled use of Python 3
based packages but not switched to use Python 3.
Some of images still contain Python 2. There are two reasons:
- Ceph (ceph-common depends on Py2)
- python3-ldappool on Ubuntu 18.04
In Ceph situation Py3 packages were added. For second one we can not do
anything - Py2 dependency got dropped in Ubuntu 18.10 version.
Removed neutron-server-plugin-networking-infoblox due to being not
maintained. Once https://review.opendev.org/#/c/657578/ get merged
someone may revert that part.
Implements: blueprint debian-ubuntu-python3
Depends-on: Ie2a1077f7def0743f1403341985e2109aa490026
Change-Id: Ibfe0c2b8be98db56c61f74fb0247488ab3749ef4
|
|
Buster is at freeze phase so safe to update and use. Will give us
Python 3 based OpenStack packages (usually release delayed).
Change-Id: I48c2d252a834716f1bcf10b18f2d32fe541e8137
|
|
RDO is currently working on python3 support for the next version of
CentOS/RHEL based systems. This package uses the distro_python3 flag
that was added as part of I4028991bad92c0e8e21066cc4173c06ce5eba393 to
use the python3 specific package names. This change only adds python3
package names for RHEL systems.
Conflicts-With: https://review.openstack.org/#/c/636457/
Change-Id: Iad6b70b433a0dd1b0f8ae6790fd280594517661a
Related-Blueprint: python3-support
|
|
This change updates the docker files to use base_package_type instead
of doing specific distro checks for the rhel/deb generic cases. The
base_distro is still available and is used when a specific distro needs
a customization but if the differences are purely rpm vs deb, then the
base_package_type can be used.
Change-Id: I8d720bb185df65a0178061ccf20b1ab2265da2c5
|
|
Change-Id: I7688a1c2065ed9183e5eeaaade8e31e0f76b4467
|
|
These packages produce a warning during the installation, we should
switch to their new names, usually to be specific about their use of
python2.
Change-Id: I0a80e822f64222d9a32aabd1fd834bcf794d6320
|
|
Ubuntu 18.04 has been released. We need upgrade to it this cycle.
Changes made in this patch
- Bump ubuntu repo from xenial to bionic. Some repos do not have bionic
packages, so still using xenial repos.
- Drop mariadb, percona and nfs-ganesha repo, because these packages are
already provided by Ubuntu official repo.
- Since qdrouterd does not have bionic repo and xenial packages does not
work on Ubuntu bionic, just add it into ignore image list.
- Use python-rtslib-fb and targetcli-fb rather than python-rtslib
and targetcli
- use xen-utils package name rather than with package version one.
- Seems unsigned repo won't work on Ubuntu bionic, stop using infra
mirrored unsigned repo in gate building job.
Needed-By: https://review.openstack.org/568728
Implement blueprint: ubuntu-bionic
Change-Id: I4e3b0ca669cfbf6316bf591f2d8428fa1a0d6182
|
|
For Debian we use 'stretch-backports' image due to requirements of some
images. That means that we also have systemd from backports. This breaks
'open-iscsi' (base) and 'python-guestfs' (nova-compute) installation.
Solution is to install 'udev' and 'systemd' in proper versions.
INFO:kolla.common.utils.base:Some packages could not be installed. This may mean that you have
INFO:kolla.common.utils.base:requested an impossible situation or if you are using the unstable
INFO:kolla.common.utils.base:distribution that some required packages have not yet been created
INFO:kolla.common.utils.base:or been moved out of Incoming.
INFO:kolla.common.utils.base:The following information may help to resolve the situation:
INFO:kolla.common.utils.base:The following packages have unmet dependencies:
INFO:kolla.common.utils.base: open-iscsi : Depends: udev but it is not going to be installed
INFO:kolla.common.utils.base:E: Unable to correct problems, you have held broken packages.
INFO:kolla.common.utils.nova-compute: python-guestfs : Depends: libguestfs0 (= 1:1.34.6-2) but it is not going to be installed
INFO:kolla.common.utils.nova-compute:E: Unable to correct problems, you have held broken packages.
Closes-bug: #1769850
Change-Id: I4865c279d665cf34fc150794c01368a1602319f0
|
|
|
|
|
|
The pip packages are normally already configurable with the
<image_name>_pip_packages variable. It doesn't make much sense to make
the list of packages installed with the plugins mechanism configurable
via the <image_name>_plugins_pip_packages variable too.
And even if we wanted to, the parameter to the `customizable()`
function should be 'plugins_pip_packages' and not 'pip_packages'.
This commit removes the customizable bits from the plugins install
macro, at least until we get a good use case for it.
Change-Id: I90dd28b8c5d981e6028af353e34645712ef09b0b
|
|
python-libguestfs is for centos,
python-guestfs is for ubuntu.
Related-Bug: #1742029
Change-Id: Ia1578dfcc9e4dbf32d29773f07424bbfe9328951
|
|
Add /lib/udev environment variable[1] is to solve the scsi_id access
problems, but the patch[2][3] pointed out the absolute path scsi_id,
we can not add /lib/udev environment variables in the system for
nova-compute. So we can remove /lib/udev in $PATH for nova-compute.
[1]https://review.openstack.org/#/c/291285/
[2]https://review.openstack.org/#/c/277224/
[3]https://github.com/openstack/os-brick/blob/master/os_brick/initiator/linuxscsi.py#L147
Change-Id: I5326edf8fff5745ef119c0c3decd6f4c51e8bd5d
Closes-Bug: #1742340
|
|
Add `parted` to support xenserver in nova.
Change-Id: I07d88702a8f8443efe4487837c2b47b06e16e417
blueprint: xenserver-support
|
|
multipath binary is required after enabled multipath in nova.
This patch is pushed to ocata branch first by mistake. Need cherry pick
into master and pike branch.
Change-Id: I0a1d85597999415cab11feb71a7fdfd7af3f7148
Closes-Bug: #1713639
(cherry picked from commit 4e6add7dbd80ef9326cc8a7e2afd5f6d02f1f68f)
|