Commit Graph

60970 Commits

Author SHA1 Message Date
Balazs Gibizer 7344a87bdf Revert "Test live migration between hosts with differnet cpu_shared_sets"
The nodepool provides different VMs as computes it can have 8 or 4 cpus.
So the reverted commit breaks the test runs that uses 4 cpu computes. We
need a smarter solution and until then we need to get back to a stable
CI.

This reverts commit aca63b66e5.

Change-Id: Id48c6143533fa97f0b79936a4551f0e19751db44
2024-10-14 14:42:43 +02:00
Takashi Natsume cec149be9d Update contributor guide for 2025.1 Epoxy
Change-Id: Id4843abded5a96167c602974c730ed2fbb475ac8
Signed-off-by: Takashi Natsume <takanattie@gmail.com>
2024-10-12 12:35:07 +00:00
Zuul 37076155e6 Merge "Support creating servers with RBAC SGs" 2024-10-09 19:42:35 +00:00
Hang Yang 95bde8b956 Support creating servers with RBAC SGs
Get the shared security groups the tenant has access to by making an
additional Neutron API call with the shared filter, if loaded.

Depends-On: https://review.opendev.org/c/openstack/neutron/+/811242
Related-Bug: #1942615
Implements: blueprint shared-security-groups
Change-Id: I6f2847e89a8e4c32ab7c992d6da229f820c4988d
2024-10-09 10:35:31 -04:00
Stephen Finucane be4f4133a0 docs: Remove unused sphinx deps
We dropped use of these some time ago but forgot to remove them from the
'doc/requirements.txt' file. Fix that oversight now.

Change-Id: I88e5e12d18264ce848457191ba3de2fbd8d8bf5c
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2024-10-09 12:46:44 +01:00
Zuul 1e57c08559 Merge "Fix image format error on vol-backed snapshot" 2024-10-08 19:07:44 +00:00
Balazs Gibizer fca941adb7 [doc]Fix the device_spec config doc about placement
Change-Id: Id08761918ccc3477a39d9c778f3ac92679c22511
2024-10-04 13:46:44 +02:00
Zuul df54540215 Merge "Vmware: Remove uuid parameter from get_vmdk_info call" 2024-10-03 11:08:30 +00:00
Dan Smith e28f90866b Fix image format error on vol-backed snapshot
Long ago, it was decided that we should create an empty image in
glance for snapshots of volume-backed instances[1]. I'm not really sure
why that is, since it doesn't seem to be a useful construct to do
anything with (like a normal snapshot, which can be used to boot).
It was so long ago that it was not documented well[2].  However, when
glance v2 came along, that sort of nonsensical thing became harder
because images would not be "active" until they had content, and nova
decided to continue the status quo by uploading empty data[3] to
force the state transition. Later, that stopped working for Xen
because we were lying about the format in a way that didn't work for
Xen, so we made that lie dynamic[4] to triple-down on the original
decision.

Now, with glance moving to image format safety, our lies have caught
up with us. We can no longer upload an empty stream of data and claim
that it is qcow2 because glance will call our bluff. Although it was
originally suggested[5] as a fix that would be hypervisor-neutral (and
not implemented that way for reasons that were not stated), we must
start uploading that empty stream as the 'raw' format that it is in
order for glance to accept it. Technically glance can be configured
to not allow raw uploads, which means that we could again end up
with the situation from the xen bug[5], but without synthesizing a
fictitious image of a type that is supported, there's no good solutuon,
other than a re-think.

I think it would be worth revisiting whether or not we need an empty
glance image for volume-backed server snapshots, and if we do, whether
or not there's a better way to go about that (like adding a location
which will indicate it lives elsewhere and will result in it becoming
active). However, in the meantime we need to be truthful about the
lie we're making, by correctly identifying the format of the zero-
length data we're not uploading.

Needed-By: https://review.opendev.org/c/openstack/glance-specs/+/925111
Change-Id: I6a6184da3b73506261c61005b6984c69cdc7fb98
1: https://github.com/openstack/nova/commit/c3476b5ca7ab5237d3cb8a84fcb7a3292237b764
2: https://bugs.launchpad.net/nova/+bug/1034730
3: https://github.com/openstack/nova/commit/4a39b8b530b32337749a9e2d2a438b7b2f3430d8
4: https://github.com/openstack/nova/commit/2fe5daeb5fcd2750b0eb083fc5c8bfd3fdb992e2
5: https://bugs.launchpad.net/nova/+bug/1616938/comments/1
2024-09-30 06:49:57 -07:00
Gorka Eguileor 8c1a47c9cf Support os-brick specific lock_path
Note: Initially this patch was related to new feature, but now it has
become a bug since os-brick's `setup` method is not being called and it
can create problems if os-brick changes.

As a new feature, os-brick now supports setting the location of file
locks in a different location from the locks of the service.

The functionality is intended for HCI deployments and hosts that are
running Cinder and Glance using Cinder backend.  In those scenarios the
service can use a service specific location for its file locks while
only sharing the location of os-brick with the other services.

To leverage this functionality the new os-brick code is needed and
method ``os_brick.setup`` needs to be called once the service
configuration options have been loaded.

The default value of the os-brick ``lock_path`` is the one set in
``oslo_concurrency``.

This patch adds support for this new feature in a non backward
compatible way, so it requires an os-brick version bump in the
requirements.

The patch also ensures that ``tox -egenconfig`` includes the os-brick
configuration options when generating the sample config.

Closes-Bug: #2081859
Change-Id: I1b81eb65bd145869e8cf6f3aabc6ade58f832a19
2024-09-24 18:07:04 +02:00
OpenStack Release Bot 6fb1997def Update master for stable/2024.2
Add file to the reno documentation build to show release notes for
stable/2024.2.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2024.2.

Sem-Ver: feature
Change-Id: If5ecb630ece21c7cfc9357820a9a6b9ddcad5c42
2024-09-20 08:15:50 +00:00
Zuul 9c36174539 Merge "nova-manage: modify image properties in request_spec" 2024-09-20 07:11:40 +00:00
Zuul 721166f8f4 Merge "Add service version for Dalmatian" 2024-09-20 00:18:39 +00:00
Zuul 9135a04591 Merge "docs: update libvirt support matrix for C and D" 2024-09-19 13:30:52 +00:00
Zuul d44f18ceae Merge "allow upgrade of pre-victoria InstanceNUMACells" 2024-09-19 13:30:45 +00:00
Zuul 78038f2bed Merge "repoduce post liberty pre vicoria instance numa db issue" 2024-09-19 13:10:51 +00:00
Zuul 39f141605d Merge "Fix regression with live migration on shared storage" 2024-09-19 08:59:48 +00:00
Zuul 64cb5d884b Merge "only safety check bootable files created from glance" 2024-09-19 04:56:06 +00:00
Zuul 5cc6b4aff9 Merge "Add functional repoducer for ephemeral disks" 2024-09-18 21:52:46 +00:00
Zuul b16445df86 Merge "Add Dalmatian prelude section" 2024-09-13 20:01:59 +00:00
Matthew N Heler 035b8404fc Fix regression with live migration on shared storage
The commit c1ccc1a316 introduced
a regression when NUMA live migration was done on shared storage

The live migration support for the power mgmt feature means we need to
call driver.cleanup() for all NUMA instances to potentially offline
pcpus that are not used any more after the instance is migrated away.
However this change exposed an issue with the disk cleanup logic. Nova
should never delete the instance directory if that directory is on
shared storage (e.g. the nova instances path is backed by NFS).

This patch will fix that behavior so live migration will function

Closes-Bug: #2080436
Change-Id: Ia2bbb5b4ac728563a8aabd857ed0503449991df1
2024-09-13 17:06:12 +02:00
Sean Mooney 2a870323c3 allow upgrade of pre-victoria InstanceNUMACells
This change ensures that if we are upgrading a
InstanceNUMACell object created before victoria
<1.5 that we properly set pcpuset=set() when
loading the object form the db.

This is requried to support instances with a numa
topology that do not use cpu pinning.

Depends-On: https://review.opendev.org/c/openstack/python-openstackclient/+/929236
Closes-Bug: #2080556
Change-Id: Iea55aabe71c250d8c8e93c61421450b909a7fa3d
2024-09-13 15:57:47 +01:00
Sylvain Bauza 1eb45e768a Add Dalmatian prelude section
Shamelessly copied from the cycle highlights

Change-Id: I2d0584dee3f8133d6fb63fe4599de1ef76b42d62
2024-09-13 08:14:08 +00:00
Sean Mooney 521db4a435 repoduce post liberty pre vicoria instance numa db issue
This change reproduces a bug in the db load of old
instance numa toplogy json blobs in
_migrate_legacy_dedicated_instance_cpuset
that failed to account for defaulting pcpuset to
the empty set when it is not in the json blob.

Related-Bug: #2080556
Change-Id: Ia0f327c501f65786d5b2538b2742ec2786486956
2024-09-12 21:14:40 +01:00
Sean Mooney 8de15e9a27 only safety check bootable files created from glance
For blank files that are created by nova such as swap
disks and ephemeral disks we do not need need to safety
check them as they always are just bare filesystems.

In the future we should refactor the qcow imagebackend to
not require backing files for swap and ephemeral disks
but for now we simply disable the check to workaround
the addition of the gpt image inspector and the incompatiblity
with vfat. future versions of oslo will account for vfat boot
recored. this is a minimal patch to avoid needing a new oslo
release for 2024.2

Closes-Bug: #2079850
Change-Id: I7df3d9859aa4be3a012ff919f375a7a3d9992af4
2024-09-11 20:04:34 +01:00
Sean Mooney e310049eab Add functional repoducer for ephemeral disks
This commit add a functional repoducer for a regression
in ephmeral disk image format validation

When we changed to use the oslo.utils verison of the
format_inspector we aquired a new inspector which can
detect if a file has a partition table.

As the qcow 2 backend does not know that ephemeral disk
or swap disk are not boot able it requires that they
also have partition tables.

Related-Bug: #2079850
Change-Id: I26c6e8d2efbf7403542e99b8ac45e2a31f08afd1
2024-09-11 18:35:29 +01:00
elajkat f8b2988f67 docs: update libvirt support matrix for C and D
Change-Id: I3cf30ed21cfe7ee78f8721f996f5bc091c1286d3
2024-09-11 12:30:43 +00:00
Zuul 16d815990b Merge "Update compute rpc alias for dalmatian" 2024-09-10 18:27:33 +00:00
zhong.zhou 2a1fad4145 nova-manage: modify image properties in request_spec
At present, we can modify the properties in the instance
system_metadata through the sub command image_property of
nova-manage, but there may be inconsistencies between their
values and those in request_specs.

And the migration is based on request_specs, so the same image
properties are also written to request_specs.

Closes-Bug: 2078999
Change-Id: Id36ecd022cb6f7f9a0fb131b0d202b79715870a9
2024-09-10 22:11:19 +08:00
Sylvain Bauza 0d542f464b Add service version for Dalmatian
We agreed by I2dd906f34118da02783bb7755e0d6c2a2b88eb5d  on the support
envelope.
Pre-RC1, we need to add a service version in the object.
Post-RC1, depending on whether it's SLURP or not SLURP, we need to bump
the minimum version or not.

This patch only focuses on pre-RC1 stage.
Given Epoxy won't be skippable, we won't need a post-RC1 patch for updating the min
that will continue to support Caracal.

HTH.

Change-Id: I9737a6ea02203605c1d36204b74fe3575764841e
2024-09-09 18:15:52 +02:00
Sylvain Bauza 6535386dfa Update compute rpc alias for dalmatian
This adds an alias for Dalmatian

Change-Id: Ie2777206ac3ce9144a163378aba8257d48ceba50
2024-09-09 18:09:42 +02:00
Sylvain Bauza 31accd37c8 doc: mark the maximum microversion for 2024.2 Dalmatian
We need it for this release.

Change-Id: I92a881a8e29c0736f5598018be911d623c38b624
2024-09-09 17:40:41 +02:00
Fabian Wiesel 6a3ca95a36 Vmware: Remove uuid parameter from get_vmdk_info call
We changed the code to ignore the file-name as
- a vmotion will result in renaming of the files
- booting from a volume names the volume by its uuid,
both breaking the heuristic to detect the root disk.

We simply take the first hard disk in the default boot-order.
If we boot from an ISO, it will be attached as a CD-ROM, not as a
disk. Any snapshots would be taken from the first actual disk, so it
still can be used as a method to install an OS to an empty disk.

Disks for rescue operations are attached later in the default
boot-order, but the boot order will be changed to allow booting from
that disk.

Closes-Bug: #2055411
Change-Id: Ib3088cfce4f7a0b24f05d45e7830b011c4a39f42
2024-09-06 11:07:12 +00:00
Zuul 1ecab6dbc5 Merge "doc: Fix markup syntax and typo" 2024-09-05 16:04:22 +00:00
Zuul d88d968e96 Merge "[ironic] Followup fixes around flavor ids" 2024-09-04 00:55:36 +00:00
Zuul b6f60a11a3 Merge "Remove default override for RBAC config options" 2024-09-03 22:07:54 +00:00
Julien Le Jeune 0809f75d79 Skip snapshot test when missing qemu-img
Since the commit the remove AMI snapshot format special casing
has merged, we're now running the libvirt snapshot tests as expected.
However, for those tests qemu-img binary needs to be installed.
Because these tests have been silently and incorrectly skipped for so long,
they didn't receive the same maintenance as other tests as the failures went unnoticed.

Change-Id: Ia90eedbe35f4ab2b200bdc90e0e35e5a86cc2110
Closes-bug: #2075178
Signed-off-by: Julien Le Jeune <julien.le-jeune@ovhcloud.com>
2024-09-03 17:58:59 +02:00
Jay Faulkner 329ff5e1a8 [ironic] Followup fixes around flavor ids
This fixes some unused attributes in the ironic driver tests.

Change-Id: Ibda5243f1ce996123c950afe1c8912e1e16406e1
2024-09-02 17:55:25 -07:00
Zuul 61f44e992e Merge "Test live migration between hosts with differnet cpu_shared_sets" 2024-09-02 12:48:14 +00:00
Zuul 145ca33805 Merge "Handle neutron-client conflict" 2024-09-02 09:28:15 +00:00
Zuul 1ce5ed378c Merge "Ignore support-matrix.css" 2024-09-02 02:26:58 +00:00
Zuul ead4bf81b4 Merge "Fix s/addtional/additional/ typo" 2024-09-01 07:58:01 +00:00
Zuul c79bec0f22 Merge "libvirt: Launch instances with stateless firmware" 2024-09-01 07:57:54 +00:00
Zuul 75cdf19d04 Merge "update nova-next to use ubuntu 24.04" 2024-09-01 04:19:09 +00:00
Takashi Kajinami 305a71e5f9 Ignore support-matrix.css
The file is created during doc build, so should not be added to
the repository.

Change-Id: I6cbef7e8a3d1a176d98fd9b6020ce0603cb94890
2024-08-31 18:05:41 +09:00
Zuul e5dfbb17fe Merge "[ironic] Factor out metadata and send to ironic" 2024-08-31 04:42:22 +00:00
Jay Faulkner 93b90d2b6a [ironic] Factor out metadata and send to ironic
This change migrates the code currently written only to serve libvirt
driver to be generally useful, adding driver-neutral data structures
and a method to build them.

The libvirt driver is reworked to use get_instance_driver_metadata
instead of it's current code.

The ironic driver is reworked, per the blueprint, to send along some of
this additional metadata to the Ironic node.instance_info.

blueprint ironic-guest-metadata
Needed-By: https://review.opendev.org/c/openstack/ironic/+/924887

Change-Id: I2b23c8463f66c38e64625486157f245cd74cec61
2024-08-30 15:21:13 -07:00
Zuul 30800dafd4 Merge "Cleanup setup.py" 2024-08-30 21:00:43 +00:00
Zuul a0450d28f7 Merge "Add hw_firmware_stateless image property" 2024-08-30 20:57:26 +00:00
Zuul cf71be0ef0 Merge "libvirt: Report available TPM models" 2024-08-30 07:27:59 +00:00