| 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>
|
|
Known missing packages:
- mod_auth_mellon - missing SAML support in Keystone/Horizon - built in Kolla COPR
- glusterfs-fuse in manila-share - built in Kolla COPR
- collectd/telegraf - no opstools repository
- redis - needs a switch to valkey
- python3-ethtool - not required for neutron-mlnx-agent since 6 years [1]
Building packages in Kolla COPR is a temporary solution until these show up
in EPEL10.
[1]: Id2cae3ac9ff049e9fc8225551f99e1e99a87fc65
Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/951751
Change-Id: I7074fabcf95184fcfd2561648ae1e05acfb0bc11
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
|
|
In certain deployments ironic-conductor needs to create floppy images to
mount in virtual media. This needs the mtools package installed.
Change-Id: I00ccc47f7a993f13e2b2feb3f6a2565dad32b80c
|
|
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
|
|
The 'syslinux' package is not available on aarch64, so it is only
included in the ironic conductor packages for x86_64 systems.
Related-Bug: #1749780
Change-Id: I3eea308a0a70e47dd3b185eece106185b25616f5
|
|
Closes-Bug: #2067133
Change-Id: I097ad8988a4707173c19006d83b4d76cec5d0940
|
|
This commit adds the ironic-prometheus-exporter, following the
conventions used by the previously integrated exporters. '[The] Ironic
Prometheus Exporter is a Tool to expose hardware sensor data in the
Prometheus format through an HTTP endpoint.'[0]
[0] https://opendev.org/openstack/ironic-prometheus-exporter
Change-Id: If833f1f4a33c27cdc941dcc7cd5bbb06b26e1eaf
|
|
Big patch drops all mentions of binary images support. Suggestions are
welcome how to split it into parts or handle better.
Change-Id: I5d5a46c6ce7734ceb8b844e17b43e359d7cac6e3
|
|
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
|
|
Change-Id: I9692dda817ef134d647247431565e1b58cf9da41
|
|
The disable_extra_repos macro accepts a list as its only argument. We
were calling it like this to disable EPEL:
disable_extra_repos('epel')
The macro interpreted this as a request to disable three repos, e, p, l.
Thanks Python! Type validation to be improved separately.
Additionally, on CentOS 8 the EPEL repository was not included in the
repository mapping file, repos.yaml. There is also another EPEL
repository on CentOS 8, epel-modular, which is enabled by default after
installing epel-release.
This change adds mappings for epel and epel-modular repos to repos.yaml,
and fixes the disabling of epel in the base image, as well as disabling
epel-modular.
There are some cases where EPEL is still used (it seemed a bit too
easy...), and the repository has been enabled for these images:
* bifrost-base (nginx)
* ironic-conductor (C7 only, shellinabox)
* freezer-base (C7 only, trickle)
* gnocchi-base (C8 binary only, python3-boto3)
* mariadb (pv)
* mongodb (C7 only, mongodb)
* nova-spicehtml5proxy (C7 only, spice-html5)
* telegraf (C7 only, python2-pip)
A few other things were changed:
* ironic-conductor does not require the ceph repo
* python3-pika is no longer installed in the openstack-base image
Related: blueprint remove-epel
Change-Id: I3761825239dfc462072383cde6276c4fb3e1bf12
|
|
Adds ssh clients to Ironic Conductor container for
ansible deploy interface.
Change-Id: Ib995c6ebe5ee76ee1a39e4b5918a79bd61b87a01
Closes-Bug: #1862079
|
|
When doing a source install, ironic doesn't have python3-systemd as a
dependency and the current ironic-conductor container doesn't install
the required dependencies which causes the ansible deploy interface to
fail with the error, "Systemd bindings do not exist". This adds the
needed dependencies when doing a source build. This installs the needed
files for both rpm and deb builds on python 2.x and 3.x.
Change-Id: I5d1bcb0f7d7902b4e122c12697483433bcf52ca2
Closes-Bug: #1861427
|
|
shellinabox is used by ironic-conductor to provide a browser-based shell
to access the consoles of nodes. It is not used by all console drivers,
and is not used in the integration with nova serial consoles.
The package was previously installed from EPEL7, but is not currently
provided by EPEL8.
This change removes the package to allow the ironic-conductor image to
build.
Change-Id: I210d9fddd6948dab1feb5abf59a50bce86f21f0f
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
|
|
We have agreed to remove support for Oracle Linux.
http://lists.openstack.org/pipermail/openstack-discuss/2019-June/006896.html
Change-Id: I961dfba1aeef2c509ecdaf376dfe6928926ffb39
Depends-On: https://review.opendev.org/682858
|
|
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>
|
|
backport: rocky, queens
A dependency on udevadm was recently added to ironic-lib:
https://review.opendev.org/#/q/I9db48a3462422749290bbb887c14816734ab0478
Change-Id: I6c5746606ab59fd88e35525ecc17a62bfa9211e6
Closes-Bug: #1825784
|
|
Rather than specify ansible-python3 or ansible, we can try the virtual
package for the python specific version of ansible.
Change-Id: I246edfaf8cc0ee12852c18c6f9027e48880797a4
|
|
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
|
|
Both Ubuntu Stein UCA and Debian 'buster' migrated their OpenStack
packages to Python 3.
Note that Debian 'buster' is not released yet and contains Rocky
packages. Stein ones will be available later.
Co-Authored-By: Lee Yarwood <lyarwood@redhat.com>
Co-Authored-By: Eduardo Gonzalez <dabarren@gmail.com>
Change-Id: I160f79cc57f54ec3eac857c5babd1a6e2656d228
|
|
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
|
|
The module must be loaded from the host directly in order
to avoid any SELinux issues.
There are examples in kolla-ansible and tripleo-heat-templates:
- https://review.openstack.org/#/c/605624/
- https://review.openstack.org/#/c/605450/
Change-Id: Ica68a109c3ed577e6a339ef315b576061cd557e5
Related-Bug: 1794550
|
|
source based builds.
Change-Id: I1a7533c738edeff4e696e95b9b267c23a78003e9
Closes-Bug: #1796194
|
|
qemu-kvm-ev was used with centos,
in case of rhel when you have
access to the virtualisation related channels qemu-kvm pulls
qemu-kvm-rhev which is the recommended one.
qemu-kvm-ev was referenced by devstack long time ago,
but the explicit package install on rhel family today
is qemu-kvm and not qemu-kvm-ev.
I am unsure about the other distros, so just changing rhel.
Change-Id: If6d1e0367730fa80284395be33674a7cd1465389
|
|
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
|
|
We would need socat tool to perform healthchecks on the various containers.
Closes-Bug: #1749227
Change-Id: Ibda77a8d041d894f5efac6578e52b11651bca97f
|
|
* Added python-sushy for CentOS/RHEL for the redfish driver
(introduced in the Pike release).
* Added ansible and systemd-python for ansible driver
(introduced in the Queens cycle).
* Added python-scciclient as it was packaged for CentOS/RHEL.
* Removed seamicroclient, pyghmi and pyremotevbox as the
corresponding drivers were removed.
* Removed wsman as no drivers use it any more: the AMT driver
was removed, the iDrac driver switched to python-dracclient.
Most of removals happened as part of the Ocata driver cleanup:
https://docs.openstack.org/releasenotes/ironic/ocata.html#id9
Change-Id: I8774a45bb1cfcdf5c3b675e235fb074af4a9646c
|
|
This error make the container keep restarting.
Change-Id: I4cdd77eededb6e32282f7a2b33be7ea1181d68b6
Closes-Bug: #1711495
|
|
These are required for formatting ext and XFS ephemeral disk partitions
when using the iSCSI deployment drivers.
Change-Id: Icd187cdd1eb0cb36fbda6c04304bd25d31199bd7
Closes-Bug: #1701320
|
|
centos based images have wrong label info,
these changes fix own image's name and build-date.
Change-Id: I1d13f8f386c8db12b5fbe5f8ecbbf9e3fbb4ba1c
Closes-Bug: #1680341
|
|
Use LABEL instruction instead of MAINTAINER (deprecated) instruc-
tion as suggested by Docker's official dockerfile guide.
docs.docker.com/engine/reference/builder/#maintainer-deprecated
Closes-Bug: #1683652
Change-Id: Ie87a1ddf31aefcd0b623fd2837d78de420e76898
|
|
Debian support is not maintained in Kolla so it got a bit behind Ubuntu
one. This changeset enables Debian for all images. Jessie (even with
backports) may be too old for some images though.
Also unify distro check to ['debian', 'ubuntu'] to keep alphabetical order
like it is done for RPM distributions.
Partially-Implements: blueprint multiarch-and-arm64-containers
Change-Id: I056233fbfa277e0e2360c07c3f80d9558c554357
|
|
|
|
The original fix (8b101b28a1040fd6b4753c09364106274d7e6e09) for bug
1676466 added unnecessary entries to the sudoers file in the
ironic-base image. These included a rootwrap entry pointing to the
virtualenv used by source type images (not present in binary type
images) and a modprobe iscsi_tcp which is only required by the
ironic-conductor image.
This change adds a single sudoers file for the iscsi_tcp modprobe
to the ironic-conductor image and reverts to the common pattern of
adding a sudoers file to ironic-base only for source type images.
Change-Id: I89f1c4bd741de9ba184f14fcbcb708636616e420
Closes-bug: #1678143
Related-bug: #1676466
Related-bug: #1667864
|
|
Some images have packages sorted alphabetically and some not.
Unify common style between all images.
Change-Id: I906ed89c10b12886665618752f525ba71d83d991
|
|
Due to missing comma images built for centos/source lacked dosfstools
and util-linux packages.
Closes-Bug: #1675414
Change-Id: I2fa284890f038c5dcf18669ed19c123f6850d4a2
|
|
ironic-conductor depends on iscsi_tcp module
Change-Id: I1dd7d1a8cd67bbdfc1262b39aa96997c12681900
Closes-Bug: #1672245
|
|
|
|
These packages are needed by ironic console.
Change-Id: Ieff5142935fb55cc9860d6cd4f195da095a01449
Closes-Bug: #1666131
|
|
1. Enable customization of pip packages in source
branch of most images
2. All pip packages install uniformly through
install-pip macro, user can easily customize his
own pip command (For example using a mirror)
Co-Authored-By: Mauricio Lima <mauriciolimab@gmail.com>
Change-Id: If09582039f690fa4136e8f33200d5da15e092da7
|
|
include_header and include_footer parameter is already removed, remove
them in all Dockerfiles.
Add missing footer block.
Change-Id: I90da03eb9f95a3827361d5f5ede65fde7d6be2b3
|
|
Change-Id: I969a769cf349b130035b9136e570849782e9247a
Closes-Bug: #1642578
|
|
Closes-bug: #1616387
Change-Id: Id97f88b9baa3d48d33ce120962450a374282d044
|
|
Change-Id: If3f30f58eae31753d34e94d030d1f37d9a1e6c47
Closes-Bug: #1635128
|
|
On RedHat family distro, util-linux provides the hexdump. On Debian
family distro, bsdmainutils provides the hexdump.
Change-Id: If762f570639782ca477ae4697f354d88c992613b
Closes-Bug: #1627755
|
|
* Mount system folder in ironic-conductor
* Add package need in ironic-conductor
* Fix the log path issue
* Add ironic sudoer in ironic-base
* Fix credential issue
* Do not start nova-compute when enable ironic
Closes-Bug: #1629334
Change-Id: If9d478c6513de37465403d458a88cf0da7ebd8a6
|
|
1.Change "ironic_base" to "ironic_inspector" in ironic-inspector Dockerfile
2.add {% block footer %}{% endblock %}
TrivialFix
Closes-Bug: #1625131
Change-Id: Ibd02676e91a9b00cb1a46e7d00eaa3ab2c6c6412
|