Commit Graph

60475 Commits

Author SHA1 Message Date
Zuul 7cd2ea3652 Merge "pre-commit: Use native hacking pre-commit hook" 2023-12-05 14:55:24 +00:00
Zuul 4b189070e8 Merge "pre-commit: Update plugin versions" 2023-12-05 14:53:56 +00:00
Zuul 404a9f0ab8 Merge "doc: Remove crud from conf.py file" 2023-12-05 12:56:37 +00:00
Zuul 0d0600d62e Merge "Do not untrack resources of a server being unshelved" 2023-12-05 12:56:30 +00:00
Zuul f771778282 Merge "Reproduce bug #2025480 in a functional test" 2023-12-05 11:43:43 +00:00
Zuul 33ab9c5d0e Merge "[libvirt]Add migration_inbound_addr" 2023-12-05 11:43:35 +00:00
Zuul 42f32f8b79 Merge "Add retry on attachment_update" 2023-12-05 11:38:22 +00:00
Zuul 4ff8d38927 Merge "Remove workaround for old python-ironicclient" 2023-12-05 11:38:02 +00:00
Zuul 3a3e01aae1 Merge "Fix traits to cpu flags mapping" 2023-12-04 15:57:26 +00:00
Takashi Natsume d4f34ab8d8 Update contributor guide for 2024.1 Caracal
Signed-off-by: Takashi Natsume <takanattie@gmail.com>
Change-Id: Ie3eea6fcbe2ce20587d23eb9e07fde1e10e21a2a
2023-11-30 23:47:56 +00:00
Ali Safari 99fe8c93a1 Fix traits to cpu flags mapping
Following keys like HW_CPU_X86_SVM and HW_CPU_X86_VMX are placed in TRAITS_CPU_MAPPING as part of a tuple instead of being direct keys.
This patch will flaten these tuples.
Closes-Bug: #2043030

Change-Id: Ia600ceb22c5939117095593b97ed94735c8f953c
2023-11-30 16:52:04 +03:30
Zuul 8ac050c253 Merge "Packed virtqueue support was added." 2023-11-30 12:12:03 +00:00
Danylo Vodopianov eb8519d811 Packed virtqueue support was added.
1) Extend flavor/image extra spec.
2) New xml parameter for qemu command was added.
3) New request filter added for scheduler.
4) Unit and Functional tests were updated
5) Requirments was updated ( os-traits = 3.0.0 )
6) Releasnote was added

Nova spec: https://review.opendev.org/c/openstack/nova-specs/+/868377

Depends-On: https://review.opendev.org/c/openstack/os-traits/+/876069
Change-Id: I789eeae86947e9a3cbd7d5fcc58d2aabe3b8b84c
2023-11-29 16:06:33 +02:00
Rajesh Tailor 1f8ce3cc70 Add retry on attachment_update
In nova-live-migration job, evacuation failures are causing
POST_FAILURE.

As per discussion on bug, it looks like 500 is coming from cinder
which is cause of this failure.

Similar to attachment_delete method, this change adds a retry
mechanism in cinder API calls attachment_update method.

Closes-Bug: #1970642
Change-Id: I1da3c8481f7e7a1e8776cf03f5c4cf117b7fabaa
2023-11-24 13:31:04 +05:30
Zuul 1738b52c30 Merge "Detect maximum number of SEV guests automatically" 2023-11-23 18:13:25 +00:00
Takashi Kajinami 03055de176 Detect maximum number of SEV guests automatically
Libvirt has implemented the capability to expose maximum number of
SEV guests and SEV-ES guests in 8.0.0[1][2]. This allows nova to detect
maximum number of memory encrypted guests using that feature.
The detection is not used if the [libvirt] num_memory_encrypted_guests
option is set to preserve the current behavior.

Note that current nova supports only SEV and does not support SEV-ES,
so this implementation only uses the maximum number of SEV guests.
The maximum number of SEV-ES guests will be used in case we implement
support for SEV-ES.

[1] https://gitlab.com/libvirt/libvirt/-/commit/34cb8f6fcd6a56a7bbcef2f7402def1682509e16
[2] https://gitlab.com/libvirt/libvirt/-/commit/7826148a72c97367fc6aaa76397fe92d32169723

Implements: blueprint libvirt-detect-sev-max-guests
Change-Id: I502e1713add7e6a1eb11ecce0cc2b5eb6a14527a
2023-11-23 07:58:54 +00:00
Zuul 670ba207bc Merge "Allow enabling cpu_power_management with 0 dedicated CPUs" 2023-11-22 07:55:31 +00:00
Balazs Gibizer b1a0aee1ab Allow enabling cpu_power_management with 0 dedicated CPUs
The CPU power management feature of the libvirt driver, enabled with
[libvirt]cpu_power_management, only manages dedicated CPUs and does not
touch share CPUs. Today nova-compute refuses to start if configured
with [libvirt]cpu_power_management=true [compute]cpu_dedicated_set=None.
While this is functionally not limiting it does limit the possibility to
independently enable the power management and define the
cpu_dedicated_set. E.g. there might be a need to enable the former in
the whole cloud in a single step, while not all nodes of the cloud will
have dedicated CPUs configured.

This patch removes the strict config check. The implementation already
handles each PCPU individually, so if there are an empty list of PCPUs
then it does nothing.

Closes-Bug: #2043707
Change-Id: Ib070e1042c0526f5875e34fa4f0d569590ec2514
2023-11-21 15:36:39 +01:00
Zuul cd5b7e8068 Merge "docs: Add documentation on server groups" 2023-11-20 19:13:49 +00:00
Zuul 6c30893d44 Merge "Enforce correct choice for [DEFAULT] enabled_ssl_apis" 2023-11-20 15:25:35 +00:00
Zuul 3405cd45dd Merge "Fix wrong description about minimum values" 2023-11-19 13:49:21 +00:00
Zuul c6e092d2e1 Merge "Fix missing oslo.versionedobjects library option" 2023-11-18 14:48:44 +00:00
Zuul a507b12df1 Merge "Bump jsonschema minimum to 4.0.0" 2023-11-17 12:57:23 +00:00
Zuul f89d4c1c00 Merge "Drop remaining deprecated upgrade_levels option for nova-cert" 2023-11-16 20:50:15 +00:00
Zuul c480c7fb42 Merge "Fix python shebang" 2023-11-16 19:02:48 +00:00
Zuul e5e5e00579 Merge "Make sqlalchemy-2x job voting again" 2023-11-14 18:24:48 +00:00
Balazs Gibizer 6bca37e904 [libvirt]Add migration_inbound_addr
For live migration the libvirt driver already supports generating the
migration URL based on the compute host hostname if so configured.
However for the non live move operations the driver always used the IP
address of the compute host based on [DEFAULT]my_ip.

Some deployments rely on DNS to abstract the IP address management. In
these environments it is beneficial if nova allows connection between
compute hosts based on the hostname (or FQDN) of the host instead of
trying to configure [DEFAUL]my_ip to an IP address.

This patch introduces a new config option
[libvirt]migration_inbound_addr that is used to determine the address
for incoming move operations (cold migrate, resize, evacuate). This
config is defaulted to [DEFAULT]my_ip to keep the configuration backward
compatible. However it allows an explicit hostname or FQDN to be
specified, or allows to specify '%s' that is then resolved to the
hostname of compute host.

blueprint: libvirt-migrate-with-hostname-instead-of-ip

Change-Id: I6a80b5620f32770a04c751143c4ad07882e9f812
2023-11-12 10:27:51 +01:00
Zuul 96d7c42e27 Merge "doc: clarify that pre-commit is optional" 2023-11-10 19:26:38 +00:00
Zuul 338ee65c4c Merge "Fix unit tests broken by olso.utils" 2023-11-10 02:55:21 +00:00
Takashi Kajinami f4f056dda8 Make sqlalchemy-2x job voting again
... because the new oslo.utils version is now used in CI.

Depends-on: https://review.opendev.org/c/openstack/requirements/+/900517
Related-Bug: #2042886
Change-Id: I916a2b64d8d611f0e2bd4583bbe68fdc3bd00511
2023-11-09 15:49:10 +00:00
Takashi Kajinami e04d20a8bc Fix unit tests broken by olso.utils
Some of the object unit tests grub Mock object unintentionally, and
that results in failure during initializing an versioned object,
because the Mock object does not present its version correctly.

This fixes that problem

The sqlalchemy-2x job is made non-voting because this job requires
oslo.utils 6.3.0 which is blocked by this problem.

Closes-Bug: #2043116
Related-Bug: #2042886
Change-Id: Id1c1b77c020e2d8f0ac61c2aee86c9f37d388d53
2023-11-09 15:41:57 +00:00
Stephen Finucane 7ce48d1161 docs: Add documentation on server groups
That's one giant hole in our docs. Whoops.

Change-Id: I8ac6f204dd3ebe424dfe4335a491b8c9df7d0cc4
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2023-11-07 12:17:16 +00:00
Sylvain Bauza b64ecb0cc7 Adding server actions tests to grenade-multinode
We recently found a rolling-upgrade bug on rebuild so we need to make
sure that grenade-multinode can verify all our instance actions.

Given we pin the compute RPC API version to the N-1 compute one, we are
sure that all RPC calls continue to behave the previous release.

NOTE : Given the previous cycle was already supporting 6.2 RPC version,
we can't test here the previous problems hence why this is the last
patch from the series.

Change-Id: I1d8deb139922494dd74ff32965fd7dd74d1d768b
Related-Bug: #2040264
2023-10-30 10:17:57 -07:00
Sylvain Bauza ee9ed0f7c6 Fix rebuild compute RPC API exception for rolling-upgrades
By I0d889691de1af6875603a9f0f174590229e7be18 we broke rebuild for Yoga
or older computes.
By I9660d42937ad62d647afc6be965f166cc5631392 we broke rebuild for Zed
computes.

Fixing this by making the parameters optional.

Change-Id: I0ca04045f8ac742e2b50490cbe5efccaee45c5c0
Closed-Bug: #2040264
2023-10-30 10:17:42 -07:00
Sylvain Bauza 21fd0c430c add a regression test for all compute RPCAPI 6.x pinnings for rebuild
We forgot that we automatically pin our RPC calls to the RPC version
that the older compute supports, so when rolling-upgrading computes, we
continue to use either Yoga or Zed versions for example when upgrading
to 2023.1.

Since the new parameters aren't optional, we broke the
rebuild_instance() method then for Yoga to Zed and Zed to 2023.1.

Change-Id: Icf340f3d4c5ce0a4b7388003f168e7c479e58eee
Related-Bug: #2040264
2023-10-30 10:17:14 -07:00
Zuul 16d4e1d455 Merge "disable ovn based testing of test_live_migration_with_trunk" 2023-10-29 21:06:30 +00:00
Zuul f0d0c92343 Merge "objects: Stop fetching from security_groups table" 2023-10-29 21:06:22 +00:00
Zuul b37d50fecc Merge "fix sphinx-lint issues in api guide" 2023-10-24 23:54:55 +00:00
Zuul bed227c33a Merge "fix sphinx-lint issues in releasenotes" 2023-10-24 23:54:49 +00:00
Takashi Kajinami c5fa7cfe20 Drop remaining deprecated upgrade_levels option for nova-cert
The nova-cert service was removed during Pike cycle by 2bcee77e3 and
the upgrade_levels option for this service was formally deprecated
during rocky by f0d2925bc7 . The other upgrade_levels options which
were deprecated at the same time were already removed.

Change-Id: I385dc41a3a69c51d60acced21cfdf6c6dd0cc724
2023-10-23 12:41:56 +00:00
Zuul d0b459423d Merge "Revert "Add upgrade check for compute-object-ids linkage"" 2023-10-20 21:44:59 +00:00
Zuul 9c9cd3d9b6 Merge "Translate VF network capabilities to port binding" 2023-10-20 14:36:50 +00:00
Zuul 67063dcfab Merge "Do not manage CPU0's state" 2023-10-19 22:13:48 +00:00
Zuul 4eecb60d97 Merge "docs: Fix unified limits code block text alignment" 2023-10-19 13:36:06 +00:00
Zuul 6094a68291 Merge "Clean up service_get_all()" 2023-10-18 23:16:20 +00:00
Zuul fca980cfb8 Merge "Improve logging at '_numa_cells_support_network_metadata'" 2023-10-18 23:05:46 +00:00
melanie witt e36b5315a1 docs: Fix unified limits code block text alignment
The text alignment for one of the code blocks on the unified limits
admin doc page being off by one causes the rendered code block to be
slightly askew.

This fixes the alignment and also adjusts inconsistencies in code block
text alignment throughout the unified limits docs.

Change-Id: I52b61ad63a9788fe6443284db1a4e9012674aafe
2023-10-18 22:01:02 +00:00
Dan Smith e1b84a3987 Revert "Add upgrade check for compute-object-ids linkage"
This is being reverted because it's overly strict and complaining
that upgrade-related work has not been done before it should have or
needs to have been done. This may be re-added later when we start
depending on these linkages.

Closes-Bug: #2039597
This reverts commit 27f384b7ac.

Change-Id: Ifa5b82ca3b83d0ba481aa7a062827bd8e838989a
2023-10-18 07:25:37 -07:00
Takashi Kajinami 7a832ea91c Fix python shebang
The current shebang requires python 2 instead of python 3.

Trivial-Fix

Change-Id: I9172b43648c28e51edfd5d8695e750c18292ff90
2023-10-18 00:43:20 +09:00
Alexey Stupnikov cef3b5ef2c Translate VF network capabilities to port binding
Libvirt's node device driver accumulates and reports information
about host devices. Network capabilities reported by node device
driver for NIC contain information about HW offloads supported
by this NIC.

One of possible features reported by node device driver is
switchdev: a NIC capability to implement VFs similar to actual
HW switch ports (also referred to as SR-IOV OVS hardware offload).
From Neutron perspective, vnic-type should be set to "direct" and
"switchdev" capability should be added to port binding profile to
enable HW offload (there are also configuration steps on compute
hosts to tune NIC config).

This patch was written to automatically translate "switchdev" from
VF network capabilities reported by node device driver to Neutron
port binding profile and allow user to skip manual step that
requires admin privileges.

Other capabilities are also translated: they are not used right
now, but provide visibility and can be utilized later.

Closes-bug: #2020813
Closes-bug: #2008238
Change-Id: I3b17f386325b8f42c0c374f766fb21c520161a59
2023-10-17 13:31:04 +00:00