Commit Graph

60722 Commits

Author SHA1 Message Date
Zuul fcda90460f Merge "Fix nova-manage image_property show unexpected keyword" 2024-03-27 18:32:05 +00:00
Takashi Natsume 33ba0f2935 Update contributor guide for 2024.2 Dalmatian
Signed-off-by: Takashi Natsume <takanattie@gmail.com>
Change-Id: Ie06ed81873fa33fb7e1efe3d2db272f0f90619f7
2024-03-25 08:17:42 +00:00
Zuul c9d8317a76 Merge "Update min support for Dalmatian" 2024-03-22 17:59:39 +00:00
Zuul 9ebb9d1198 Merge "reno: Update master for unmaintained/wallaby" 2024-03-21 10:24:26 +00:00
Zuul 1634e07324 Merge "reno: Update master for unmaintained/victoria" 2024-03-21 10:22:25 +00:00
Zuul 36c686dc32 Merge "reno: Update master for unmaintained/xena" 2024-03-21 10:18:56 +00:00
Sylvain Bauza 2a83043bcb Update min support for Dalmatian
Now that master is on Dalmatian, which is a non-SLURP release, we need
to bump our minimum supported version to the previous SLURP release,
which is now Caracal (and no longer Antelope).

Change-Id: I9d5150be2c131899fa2281a971bca965b8fff0b0
2024-03-21 11:17:41 +01:00
Zuul 34fb6a250f Merge "Fix tipo" 2024-03-20 16:52:47 +00:00
Zuul 6bd99eb2ea Merge "Correctly reset instance task state in rebooting hard" 2024-03-20 13:34:22 +00:00
Zuul 3a9d8406b4 Merge "Update master for stable/2024.1" 2024-03-20 03:59:59 +00:00
Zuul e61bb3cf8f Merge "Add new nova.wsgi module" 2024-03-19 19:42:11 +00:00
Zuul 818f0cd4a3 Merge "Remove nova.wsgi module" 2024-03-19 19:42:00 +00:00
OpenStack Release Bot 8f219fce3f Update master for stable/2024.1
Add file to the reno documentation build to show release notes for
stable/2024.1.

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

Sem-Ver: feature
Change-Id: Ifc9062236483c2139921ccdb2ceed197aa6b8b11
2024-03-19 10:21:00 +00:00
Zuul 77de002d61 Merge "Add a Caracal prelude section" 2024-03-18 19:46:09 +00:00
Sylvain Bauza 1ddfda5b11 Add a Caracal prelude section
Shamelessly copied from the cycle highlights.

Change-Id: I6fd5ce392ee07700600ccae8916cd4e6b524cbc3
2024-03-18 19:59:41 +01:00
Zuul 3e358bc37c Merge "vgpu: Allow device_addresses to not be set" 2024-03-18 16:58:28 +00:00
Zuul e255323f46 Merge "libvirt: Cap with max_instances GPU types" 2024-03-18 12:31:30 +00:00
Zuul 8f3976d4cc Merge "Update python classifier in setup.cfg" 2024-03-15 10:01:27 +00:00
Sylvain Bauza a87c10afa7 Update compute rpc alias for caracal
This adds an alias for Caracal

Change-Id: I4a57cdac68cab4cda2a1928dd4346c9f2bca14c3
2024-03-14 16:59:45 +01:00
Zuul 45e5d213f8 Merge "Removed explicit call to delete attachment" 2024-03-14 10:47:58 +00:00
Zuul ef069d928a Merge "pwr mgmt: handle live migrations correctly" 2024-03-14 00:06:49 +00:00
Zuul b10cca0282 Merge "Reproducer test for live migration with power management" 2024-03-13 23:48:38 +00:00
Zuul 52a7d9cef9 Merge "pwr mgmt: make API into a per-driver object" 2024-03-13 23:48:29 +00:00
Zuul db9351ab51 Merge "doc: mark the maximum microversion for 2024.1 Caracal" 2024-03-13 23:15:34 +00:00
Zuul 1e35a461a6 Merge "Add service version for Caracal" 2024-03-13 23:15:27 +00:00
Zuul b59e1f8c00 Merge "Power on cores for isolated emulator threads" 2024-03-13 19:24:15 +00:00
Sylvain Bauza 7d552c44ae Add service version for Caracal
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 Dalmatian will be skippable, we will need a post-RC1 patch for updating the min
that will bump to Caracal.

HTH.

Change-Id: I85a37f652900affaec626aa68f5f2388139a3a87
2024-03-12 19:12:49 +01:00
Sylvain Bauza 6f199b6b0c doc: mark the maximum microversion for 2024.1 Caracal
We need it for this release.

Change-Id: I17fbd9523067b0c19982499e66c314d47e9ee4bb
2024-03-12 19:06:08 +01:00
Artom Lifshitz c1ccc1a316 pwr mgmt: handle live migrations correctly
Previously, live migrations completely ignored CPU power management.
This patch makes sure that we correctly:

* Power up the cores on the destination during pre_live_migration, as
  we need them powered up before the instance starts on the
  destination.
* If the live migration is successful, power down the vacated cores on
  the source.
* In case of a rollback, power down the cores previously powered up on
  pre_live_migration.

Closes-bug: 2056613
Change-Id: I787bd7807950370cd865f29b95989d489d4826d0
2024-03-11 14:21:27 -04:00
Artom Lifshitz 1f5e3421ec Reproducer test for live migration with power management
Building on the previous patch's refactor, we can now do functional
testing of live migration with CPU power management. We quickly notice
that it's mostly broken, leaving the CPUs powered up on the source,
and not powering them up on the dest.

Related-bug: 2056613
Change-Id: Ib4de77d68ceeffbc751bca3567ada72228b750af
2024-03-11 12:10:36 -04:00
Zuul 671c4e0313 Merge "Reproducer for not powering on isolated emulator threads cores" 2024-03-11 15:53:10 +00:00
Zuul 3cb7329ad2 Merge "Add cpuset_reserved helper to instance NUMA topology" 2024-03-11 15:53:03 +00:00
Zuul 336b815a30 Merge "Reproducers for bug 1869804" 2024-03-11 14:20:46 +00:00
Robert Breker 1c02c0da17 Fix nova-manage image_property show unexpected keyword
Reproduction steps:
1. Execute: nova-manage image_property show <vm_uuid> \
                            hw_vif_multiqueue_enabled
2. Observe:
  An error has occurred:
  Traceback (most recent call last):
    File "/var/lib/kolla/venv/lib/python3.9/
          site-packages/nova/cmd/manage.py", line 3394, in main
      ret = fn(*fn_args, **fn_kwargs)
  TypeError: show() got an unexpected keyword argument 'property'

Change-Id: I1349b880934ad9f44a943cf7de324d7338619d2e
Closes-Bug: #2016346
2024-03-09 13:29:34 +02:00
Artom Lifshitz 29dc044a7a pwr mgmt: make API into a per-driver object
We want to test power management in our functional tests in multinode
scenarios (ex: live migration).

This was previously impossible because all the methods in
nova.virt.libvirt.cpu.api and were at the module level, meaning both
source and destination libvirt drivers would call the same method to
online and offline cores. This made it impossible to maintain distinct
core power state between source and destination.

This patch inserts a nova.virt.libvirt.cpu.api.API class, and gives
the libvirt driver a cpu_api attribute with an instance of that
class. Along with the tiny API.core() helper, this allows new
functional tests in the subsequent patches to stub out the core
"model" code with distinct objects on the source and destination
libvirt drivers, and enables a whole bunch of testing (and fixes!)
around live migration.

Related-bug: 2056613
Change-Id: I052535249b9a3e144bb68b8c588b5995eb345b97
2024-03-08 20:31:42 -05:00
Artom Lifshitz 0986d2bbe8 Power on cores for isolated emulator threads
Previously, with the `isolate` emulator threads policy and libvirt cpu
power management enabled, we did not power on the cores to which the
emulator threads were pin. Start doing that, and don't forget to power
them down when the instance is stopped.

Closes-bug: 2056612
Change-Id: I6e5383d8a0bf3f0ed8c870754cddae4e9163b4fd
2024-03-08 20:31:34 -05:00
Artom Lifshitz 521af26209 Reproducer for not powering on isolated emulator threads cores
Related-bug: 2056612
Change-Id: Icd586cdd015143b2e113fd14904f40410809d247
2024-03-08 20:31:30 -05:00
Artom Lifshitz 8dbfecd663 Add cpuset_reserved helper to instance NUMA topology
When we pin emulator threads with the `isolate` policy, those pins are
stored in the `cpuset_reserved` field in each NUMACell. In subsequent
patches we'll need those pins for the whole instance, so this patch
adds a helper property that does this for us, similar to how the
`cpu_pinning` property helper currently works.

Related-bug: 2056612
Change-Id: I8597f13e8089106434018b94e9bbc2091f95fee9
2024-03-08 20:31:19 -05:00
Zuul 13ccaf75f6 Merge "Implement add_consumer, remove_consumer KeyManager APIs" 2024-03-06 12:53:46 +00:00
Zuul 6230018d65 Merge "Disconnecting volume from the compute host" 2024-03-05 19:36:40 +00:00
OpenStack Release Bot 37b5ed6450 reno: Update master for unmaintained/xena
Update the xena release notes configuration to build from
unmaintained/xena.

Change-Id: Icc46726d7849a8b4ecdbfb913745c5acfd61ebb4
2024-03-05 18:51:27 +00:00
OpenStack Release Bot e0107e286c reno: Update master for unmaintained/wallaby
Update the wallaby release notes configuration to build from
unmaintained/wallaby.

Change-Id: I4adad186800b900485737c6b1e88bf658f55d72d
2024-03-05 18:49:52 +00:00
OpenStack Release Bot fda1715744 reno: Update master for unmaintained/victoria
Update the victoria release notes configuration to build from
unmaintained/victoria.

Change-Id: I262dfacc85520a3d26b211b92f22abd9a105c2fd
2024-03-05 18:47:53 +00:00
Sylvain Bauza d445eaf9dd vgpu: Allow device_addresses to not be set
Sometimes, some GPU may have a long list of PCI addresses (say a SRIOV
GPU) or operators may have a long list of GPUs. In order to help their
lifes, let's allow device_addresses to be optional.

This means that a valid configuration could be :

    [devices]
    enabled_mdev_types = nvidia-35, nvidia-36

    [mdev_nvidia-35]

    [mdev_nvidia-36]

NOTE(sbauza): we have a slight coverage gap for testing what happens
if the groups aren't set, but I'll add it in a next patch

Related-Bug: #2041519
Change-Id: I73762a0295212ee003db2149d6a9cf701023464f
2024-03-05 11:48:25 +01:00
Sylvain Bauza 60851e4464 libvirt: Cap with max_instances GPU types
We want to cap a maximum mdevs we can create.
If some type has enough capacity, then other GPUs won't be used and
existing ResourceProviders would be deleted.

Closes-Bug: #2041519
Change-Id: I069879a333152bb849c248b3dcb56357a11d0324
2024-03-05 11:48:19 +01:00
Zuul 2f6418d1a7 Merge "add multinode ironic shard job" 2024-03-03 02:06:48 +00:00
Zuul 39de10777b Merge "Add support for showing requested az in output" 2024-03-01 20:39:00 +00:00
Zuul 9675f142b0 Merge "testing: Add ephemeral encryption support to fixtures" 2024-03-01 20:05:27 +00:00
Zuul dac8bd2493 Merge "libvirt: make <encryption> a sub element of <source>" 2024-03-01 20:05:16 +00:00
Zuul 91ec918ee7 Merge "Add hw_ephemeral_encryption_secret_uuid image property" 2024-03-01 20:05:01 +00:00