Commit Graph

279 Commits

Author SHA1 Message Date
Michal Wyszkowski abb969502f Nova: fix swtpm and swtpm-tools missing from deb installs
Closes-Bug: 2062572
Change-Id: I456a5b8f66aa88a82fb54938e8df7195d127d9cd
2024-04-22 13:03:38 +02:00
Michal Nasiadka 66e27b3b0a Remove calls to libvirt repo
It does not exist in repos.yaml since [1].

[1]: Id585c7744ba130ad1dfc28138fb0f9e6eeae771d

Change-Id: Ic74eba44fc6e5508976de24cf20a5039f3292731
2024-02-26 13:04:19 +01:00
Zuul 1580d77821 Merge "Stop removing missing /run/nologin in RPM images" 2024-01-19 12:14:45 +00:00
Michal Arbet 7f5a904e98 Fix openstack CADF audit maps and installation
This patch fixes missing pycadf's audit maps
for services and change the way how pycadf
is installed.

Depends-On: https://review.opendev.org/c/openstack/kolla-ansible/+/905858

Closes-Bug: #2047941
Change-Id: I9b43d1a9990ad8aa7381ea81b0f2d692967be949
2024-01-17 11:52:20 +00:00
Pierre Riteau fa3e5f444a Stop removing missing /run/nologin in RPM images
This code was valid for centos:8 and centos:stream8, but is not required
for centos:stream9 or rockylinux:9 which do not include this file.

Change-Id: I50f78d73afe0944dd91998ab9799fa2f36cc46a3
2024-01-08 22:39:33 +01:00
Alex-Welsh de1487f051 Sync only local cell in nova bootstrap & upgrade
Added the --local_cell argument to nova db sync commands during
bootstrap and upgrade.

This was previously thought to have no effect [1], but has since been
discovered to fail when rotating the nova database password.

[1] https://opendev.org/openstack/kolla-ansible/src/branch/master/ansible/roles/nova/tasks/bootstrap_service.yml#L2-L3

Closes-Bug: #2045558
Change-Id: Ic64eb51325b3503a14ebab9b9ff2f4d9caec734a
2023-12-21 09:46:59 +00:00
Pierre Riteau 33c988a6ce Update Ceph repo name for dnf config-manager command
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
2023-11-22 10:06:39 +00:00
Jeffrey Zhang 92cedcd2b1 Add rsync to nova-compute
when configure `remote_filesystem_transport` to rsync, rsync binary is
required.

Change-Id: I07be614846be9305f0775df22a6d931ceab1720a
2023-10-22 15:41:30 +08:00
Rafal Lewandowski 2783fb7107 nova-libvirt: Fix for missing libvirt-daemon-driver-nodedev package
Closes-Bug: #2012821
Change-Id: I989cedce7a9af3882b5510d3479b29150139e861
2023-04-06 13:14:06 +00:00
Pierre Riteau 48b5980c63 Add support for running Nova upgrade checks
Related-Bug: #1957080
Change-Id: I6cbbdfcd40a8f486a3a636b41d704ee6ffafb812
2023-03-28 09:03:20 +02:00
Radosław Piliszek 2daf4331a6 Fix writable rootwrap/privsep config
Fixes a hypothetical security issue related to privilege escalation via
rootwrap/privsep. A potential vulnerable service could previously allow
writes to its rootwrap/privsep config and thus allow for more commands
to be run with root privileges via rootwrap/privsep. For a succesful
attack, this would also require the service to allow to run arbitrary
commands via rootwrap/privsep. Thus far, no such vulnerabilities have
been reported and thus this fix is simply strengthening the container
images against such an issue in the future.

Change-Id: I92c81c77e6a16570a108cde8031f7977930fb02a
Closes-Bug: #1874298
2022-10-10 15:06:05 +00:00
Radosław Piliszek 9e92e4c8e4 Support qemu block rbd in nova-compute
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
2022-10-04 17:53:57 +00:00
Marcin Juszkiewicz 8d209901fa nova-libvirt: provide TPM emulation
The goal of the swtpm project is to provide a TPM emulator (TPM 1.2 &
TPM 2) that can be integrated into virtualized environments, such as
virtual machines and containers.

Nova supports it for quite a while:
https://review.opendev.org/c/openstack/nova/+/631363

Change-Id: Ifb7e0f1632805807851720873a70179218bdf372
2022-09-27 10:02:23 +00:00
Marcin Juszkiewicz 878b00013b Move to CentOS Stream 9
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
2022-09-27 07:40:06 +00:00
Marcin Juszkiewicz 016c5ed30c adjust permissions on _extend_start files (part II)
Tim Shearer started it in 1d96a2bbe1.

Since all extend_start files are sourced rather than executed, the executable
bits are now cleared throughout the project.

Change-Id: Ia1797c32fc6a35f9f077c673abf4d8e16e51a760
2022-04-22 11:34:55 +02:00
Marcin Juszkiewicz e21aeb5ae9 flatten images a bit
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
2022-04-21 18:53:14 +00:00
Tim Shearer 1d96a2bbe1 Adjust permissions on _extend_start files.
Explicitly set the permissions on the kolla-toolbox kolla_extend_start
file. Also, since all extend_start files are sourced rather than
executed, the executable bits are now cleared throughout the project.

Change-Id: I5c2deb4a2e33575d57c852089f856a9acc6818d0
2022-04-11 17:22:24 +02:00
Zuul 657820362d Merge "docker: drop binary parts" 2022-04-11 09:39:28 +00:00
Marcin Juszkiewicz a1510870e8 drop infra_image_prefix
We have one install_type only now so that infra stuff is not needed
anymore.

Change-Id: I60d50ba7699d46d001eaef365fb84b0ce8e9b262
2022-04-11 06:22:21 +00:00
Marcin Juszkiewicz 1749da2fbf docker: drop binary parts
Big patch drops all mentions of binary images support. Suggestions are
welcome how to split it into parts or handle better.

Change-Id: I5d5a46c6ce7734ceb8b844e17b43e359d7cac6e3
2022-04-09 17:44:26 +02:00
Zuul 61744a7bbf Merge "libvirt: add Cyrus SASL packages for DIGEST-MD5" 2022-03-11 14:54:09 +00:00
Mark Goddard e1efa9d257 libvirt: add Cyrus SASL packages for DIGEST-MD5
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
2022-03-10 10:59:38 +00:00
Michal Nasiadka 8e8a499adc Use python3-openvswitch from distro
We should use the same Python OVS bindings package
version as running OpenvSwitch. See related bug.

Closes-Bug: #1961874

Change-Id: Id6968e3ec1093f26f25f3045e2a6d8cc4f41adaa
2022-03-01 16:59:33 +00:00
Radosław Piliszek 0236bc6d94 Add qemu-img also in nova-libvirt image
This is noop on CentOS (it was installed as a dep already - better
be explicit) but installs qemu-img (and other qemu utils) on
Debian and Ubuntu.

qemu-img may be used by libvirtd to create non-raw images as it
happens, e.g., when Kolla's libvirtd is used by tenks.

Change-Id: Ib79b8486f4d5064e4f249201d28cf5d6541c69ef
2022-02-22 12:20:40 +00:00
Zuul 758b53016a Merge "Revert "nova: drop pypowervm dependency"" 2022-02-08 11:18:33 +00:00
Marcin Juszkiewicz e1637099d5 Revert "nova: drop pypowervm dependency"
This reverts commit 7de91fd603.

Reason for revert: Nova dropped pypowervm dependency so we do not need to handle it anymore.

Change-Id: I8bb6c4c07c30f108e77fbb8cdc38d634b42b900f
2022-02-08 07:16:44 +00:00
Marcin Juszkiewicz c638e768a8 nova-compute: 'ndctl' is available on all archs
In past 'ndctl' was x86-64 only in Ubuntu. This changed in 19.04 so time
to adapt.

Change-Id: I3e599f780e8f84ea131988f4a9a45f17055c8ab2
2022-02-05 09:32:15 +00:00
Mark Goddard 7893306add nova: remove EPEL repository from nova-spicehtml5proxy image
The EPEL8 repository doesn't provide the necessary spice-html5 package,
and the image is marked unbuildable for CentOS. Let's not make EPEL look
more useful than it is.

TrivialFix

Change-Id: Ia37792ca6e5b40156ebd57b6c290d1ee9d4ff87a
2021-12-23 10:55:04 +00:00
Pierre Riteau 30eddf72f6 Ensure nvme-cli is present in nova-compute images
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
2021-12-07 16:02:03 +01:00
Zuul f371e9b6eb Merge "nova: drop pypowervm dependency" 2021-12-04 21:06:41 +00:00
Marcin Juszkiewicz 7de91fd603 nova: drop pypowervm dependency
Nova depends on pypowervm for POWER architecture support. But it is
unmaintained upstream and breaks CentOS builds (wants to install Py2
only 'futures' package).

Change-Id: Ife9385c93239e910db2e4405ec4661f667357bc0
2021-12-01 16:52:08 +01:00
Marcin Juszkiewicz bbef9846c3 nova-compute: trim image a bit on CentOS
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
2021-11-26 12:10:32 +00:00
Pierre Riteau 8ec8ef3d8a Revert "libvirt: pin edk2-ovmf"
The "internal error: unknown feature amd-sev-es" error in libvirt seen
with the edk2-ovmf package is fixed by a commit in libvirt 7.4.0 [0] to
avoid erroring out on unknown QEMU firmware features.

CentOS Stream 8 was wrongly using the CentOS 8 advanced-virtualization
repository [1] instead of the CentOS Stream 8 one [2]. This is fixed by
centos-release-advanced-virtualization-1.0-3 [3], which should bring
libvirt-7.4.0-1 into our nova-libvirt image.

This reverts commit 1a2c33512b.

[0] 61d95a1073
[1] http://mirror.centos.org/centos/8/virt/x86_64/advanced-virtualization/
[2] http://mirror.centos.org/centos/8-stream/virt/x86_64/advancedvirt-common/
[3] https://koji.mbox.centos.org/koji/buildinfo?buildID=18004

Change-Id: I1f58262109dd27a4c4ee9b60d87010170b5ea7bb
2021-06-18 07:22:35 +02:00
Michał Nasiadka 1a2c33512b libvirt: pin edk2-ovmf
edk2-ovmf introduced a bug [1] and results libvirt/qemu errors
It's going to be fixed in next rebase to libvirt 7.4.0 - but let's pin for now.

[1]: https://bugzilla.redhat.com/show_bug.cgi?id=1961558#c10

Change-Id: I0cb0512ef40c48353d582b1c37a446f251b79ac7
2021-05-25 18:37:55 +02:00
Marcin Juszkiewicz 0506ede84f Drop ppc64le support
We do not test support for ppc64le on CI or other systems.

In previous cycles it was used by TripleO and now they have own way.

Change-Id: Ibd955869a6f9485dfa4d08a8ad2f4b28b7d59c15
2021-05-11 12:45:16 +02:00
Marcin Juszkiewicz 38fcd184e8 centos: enable repos where needed
With RDO use we did not disabled some repositories. This patch disable
them and enable where needed.

Change-Id: Ia9d537fe9c1ad54789d2bfb4027254fbb3defe7e
2021-04-13 11:21:39 +00:00
Marcin Juszkiewicz fb61ba7dac enable 'libvirt' repo for images with python*-libvirt
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
2021-03-23 22:08:11 +01:00
Marcin Juszkiewicz fc89e57c1c get rid of traces of CentOS 7 support
Change-Id: I4d20f23a9b26364943bf967908255d82c8f6621b
2021-02-04 17:06:28 +01:00
Christian Berendt 36e5ef2d78 Remove nova-mksproxy image
Signed-off-by: Christian Berendt <berendt@betacloud-solutions.de>
Change-Id: I3d101f171bd1cc6f3c192ddc98cea0d63bccb739
2021-01-15 14:09:23 +01:00
Marcin Juszkiewicz edb6b60a98 nova-compute: daxio on CentOS 8 is x86-64 only
I somehow missed that when it was sent for review.

Change-Id: Iabacaeccdb360544125ad910d5c3f5f9d895dac5
2020-12-18 14:32:46 +01:00
Martin Schuppert 6176d54179 Add daxio for nvdimm scenario
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
2020-12-15 14:22:12 +01:00
Marcin Juszkiewicz 84038e337a Debian: use QEMU 5.0 from buster-backports
This will allow us to make sure of all updates.

'qemu-kvm' got dropped in Debian

Change-Id: If09a8188030baa284dd353b1c3f830d78c5091b7
2020-08-24 09:57:54 +02:00
Zuul fd60c65710 Merge "Refactor httpd install to base image" 2020-08-10 17:52:00 +00:00
James Kirsch 5bdf514645 Refactor httpd install to base image
Refactor installing and initial setup of httpd and mod wsgi from
individual services to base image.

Change-Id: I651a55a9ebe258ef403d33de010a4dfb368a4021
2020-08-10 09:51:07 +00:00
Radosław Piliszek d4b1ee126b Remove TODO in libvirt script
This is no longer required when Kolla-Ansible is patched.

Note this is *not* safe to backport as it requires the user to
have Kolla-Ansible patched, i.e. would normally break most.

Change-Id: Ic5b9a58d212711a4d6c13822548c92013a6bae50
Related-Bug: #1681461
Depends-On: https://review.opendev.org/735441
2020-07-31 09:06:28 +00:00
Marcin Juszkiewicz 90adc2b851 introduce 'infra_image_prefix' for infra images
Defaults to 'image_prefix' for now but shows which images gets their
names changed soon.

Change-Id: I0608e8f62f28d6667b4c8753c47553e4cbf75503
2020-07-09 23:31:42 +02:00
Radosław Piliszek 0c8702c96f Add sysfsutils to nova-compute ubuntu source
This fixes the FC Cinder backend usage in Nova.

Change-Id: I036cfe3af3dd96625f986a820c78a10e6558b086
Closes-bug: #1884484
2020-06-22 11:06:58 +02:00
James Kirsch c7482778aa Enable mod_wsgi in Nova API container
This patch modifies the Dockerfile for the Nova API so that
the 'root' user executes the container setup scripts.
This enables the container httpd configuration script to execute.

Change-Id: I374af00a374346840c12777a530d39768b28c908
Partially-Implements: blueprint add-ssl-internal-network
Depends-On: https://review.opendev.org/725962
2020-05-06 18:35:07 +00:00
Marcin Juszkiewicz 0ca4953269 nova-libvirt: fix after centos 7 removal damage
Removal of CentOS 7 butchered Dockerfile.j2 so UEFI was not installed in
Debian/Ubuntu images.

Change-Id: I13be95df12ed30a366bd7d0e934704bd338781cf
2020-04-16 15:49:59 +02:00
Zuul b53ddab4b6 Merge "nova-compute: add ndctl to expose NVDIMMs to guests" 2020-04-15 15:30:52 +00:00