Commit Graph

2257 Commits

Author SHA1 Message Date
OpenStack Release Bot 0c793f84a8 reno: Update master for unmaintained/yoga
Update the yoga release notes configuration to build from
unmaintained/yoga.

Change-Id: Ibeb1e834dd39cf705360dc228b92560ea74ab71d
2024-02-06 14:27:07 +00:00
Zuul 087c372a8e Merge "[ironic] Partition & use cache for list_instance*" 2024-01-19 14:48:41 +00:00
Zuul 91f7d2397a Merge "Imported Translations from Zanata" 2023-12-20 03:47:57 +00:00
Jay Faulkner fa3cf7d50c [ironic] Partition & use cache for list_instance*
list_instances and list_instance_uuids, as written in the Ironic driver,
do not currently respect conductor_group paritioning. Given a nova
compute is intended to limit it's scope of work to the conductor group
it is configured to work with; this is a bug.

Additionally, this should be a significant performance boost for a
couple of reasons; firstly, instead of calling the Ironic API and
getting all nodes, instead of the subset (when using conductor group),
we're now properly getting the subset of nodes -- this is the optimized
path in the Ironic DB and API code. Secondly, we're now using the
driver's node cache to respond to these requests. Since list_instances
and list_instance_uuids is used by periodic tasks, these operating with
data that may be slightly stale should have minimal impact compared to
the performance benefits.

Closes-bug: #2043036
Change-Id: If31158e3269e5e06848c29294fdaa147beedb5a5
2023-12-19 14:56:42 -08:00
OpenStack Proposal Bot 14dff74f0d Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

Change-Id: I8075ca98de9fa9131dfd1343cf44fa80d14cfb12
2023-12-19 03:35:37 +00:00
Takashi Kajinami a5f68d355c Remove deprecated [api] use_forwarded_for
This option was deprecated in favor of the HTTPProxyToWSGI middleware
in 26.0.0 release[1].

[1] cf906cdcc2

Related-Bug: #1967686
Change-Id: Iad8880127531dc2788d646f8a05b5c17fd9d0969
2023-12-14 14:41:00 +09:00
Zuul da1c40dae9 Merge "[codespell] apply codespell to the releasenotes" 2023-12-11 12:40:51 +00:00
Zuul c7dba52e4e Merge "[codespell] start fixing all the typos" 2023-12-11 09:06:40 +00:00
Zuul 404a9f0ab8 Merge "doc: Remove crud from conf.py file" 2023-12-05 12:56:37 +00:00
Zuul 33ab9c5d0e Merge "[libvirt]Add migration_inbound_addr" 2023-12-05 11:43:35 +00:00
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
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 f89d4c1c00 Merge "Drop remaining deprecated upgrade_levels option for nova-cert" 2023-11-16 20:50:15 +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 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
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
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
Zuul aba83b3fc2 Merge "cpu: make governors to be optional" 2023-10-09 18:45:50 +00:00
Sean Mooney 6314f09ed4 [codespell] apply codespell to the releasenotes
this change fixes the typos in the releasenotes
"""
codespell --ignore-words=doc/dictionary.txt -i 3 -w  releasenotes/
"""

Change-Id: I29cd5268cd129b194c43a9f6b08a2b7b1c254b65
2023-10-03 01:17:21 +01:00
Sean Mooney 7402822f0b [codespell] start fixing all the typos
this is the inital patch of applying codespell to nova.
codespell is a programing focused spellchecker that
looks for common typos and corrects them.

i am breaking this into multiple commits to make it simpler
to read and will automate the execution of codespell
at the end of the series.

Change-Id: If24a6c0a890f713545faa2d44b069c352655274e
2023-10-03 00:51:35 +01:00
Sean Mooney 0829c1b995 fix sphinx-lint issues in releasenotes
This change adress the incorrect use fo single backticks
for literals `literal` -> ``literal``

Change-Id: I852e397d0c19987bd16898581b58d5e776548a6b
2023-10-02 22:07:43 +01:00
Stephen Finucane c2ab7918e4 doc: Remove crud from conf.py file
Change-Id: Ie8078739d077a903e3ad83d27b178eda416b0859
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2023-10-02 11:11:23 +01:00
Zuul f8697f4816 Merge "Update master for stable/2023.2" 2023-09-25 13:31:37 +00:00
OpenStack Proposal Bot 4fa7a335dc Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

Change-Id: I48a9dbd179f46134d653542f94d797dc0b818e38
2023-09-22 03:20:48 +00:00
OpenStack Release Bot ab9f55f649 Update master for stable/2023.2
Add file to the reno documentation build to show release notes for
stable/2023.2.

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

Sem-Ver: feature
Change-Id: Ifd0b0ebbe148a323304a9e422e4c7f2bf39757f8
2023-09-21 10:36:59 +00:00
Zuul 1f60a71e0a Merge "Add a Bobcat prelude section" 2023-09-19 13:50:23 +00:00
Sylvain Bauza 10ea7a4fb2 Add a Bobcat prelude section
Shamelessly copied from the cycle highlights.

Change-Id: I79b501e61b91fc0e003bfe352975c6500917f7e7
2023-09-19 11:32:43 +02:00
Sylvain Bauza 9a27434ffc Revert "Limit nodes by ironic shard key"
This reverts commit f5a12f511b.

Change-Id: I4a329237231ba741b57b2ef6437fcee226915d40
2023-09-13 19:24:48 +02:00
Sylvain Bauza 3491b945b9 Revert "Add nova-manage ironic-compute-node-move"
This reverts commit 9068db09e4.

Change-Id: Ibf9a426a90c73bfc921f807e617a25647fc49400
2023-09-13 19:24:36 +02:00
OpenStack Proposal Bot 82a17a37de Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

Change-Id: I1e8922b801f13a05d82d46d5eb6c237fb4ea56b8
2023-09-05 03:09:58 +00:00
Zuul 0318016ea4 Merge "Add nova-manage ironic-compute-node-move" 2023-09-02 02:42:22 +00:00
Zuul 88c73e2931 Merge "Bump MIN_{LIBVIRT,QEMU} for "Bobcat"" 2023-09-01 04:56:37 +00:00
Zuul 3fdc97ca5f Merge "Add documentation for unified limits" 2023-08-31 23:54:17 +00:00
Zuul f2c84c82e2 Merge "nova-manage: Add 'limits migrate_to_unified_limits'" 2023-08-31 23:54:10 +00:00
Zuul c8bb6236ae Merge "Delete dangling bdms" 2023-08-31 21:02:24 +00:00
John Garbutt 9068db09e4 Add nova-manage ironic-compute-node-move
When people transition from three ironic nova-compute processes down
to one process, we need a way to move the ironic nodes, and any
associcated instances, between nova-compute processes.

For saftey, a nova-compute process must first be forced_down via
the API, similar to when using evacaute, before moving the associated
ironic nodes to another nova-compute process. The destination
nova-compute process should ideally not be running, but not forced
down.

blueprint ironic-shards

Change-Id: I7ef25e27bf8c47f994e28c59858cf3df30975b05
2023-08-31 18:19:49 +01:00
Amit Uniyal 9d5935d007 Delete dangling bdms
On reboot, check the instance volume status on the cinder side.
Verify if volume exists and cinder has an attachment ID, else
delete its BDMS data from nova DB and vice versa.

Updated existing test cases to use CinderFixture while rebooting as
reboot calls get_all_attachments

Implements: blueprint https://blueprints.launchpad.net/nova/+spec/cleanup-dangling-volume-attachments
Closes-Bug: 2019078

Change-Id: Ieb619d4bfe0a6472aefb118b58283d7ad8d24c29
2023-08-31 14:19:58 +00:00
John Garbutt f5a12f511b Limit nodes by ironic shard key
Ironic in API 1.82 added the option for nodes to be associated with
a specific shard key. This can be used to partition up the nodes within
a single ironic conductor group into smaller sets of nodes that can
each be managed by their own nova-compute ironic service.

We add a new [ironic]shard config option to allow operators to say
which shard each nova-compute process should target.
As such, when the shard is set we ignore the peer_list setting
and always have a hash ring of one.

blueprint ironic-shards

Change-Id: I5c1b5688c96096f4cfecfc5b16ea59d2ee5756d6
2023-08-31 14:31:26 +01:00
John Garbutt cbf400df1d Deprecate ironic.peer_list
As part of the move to using Ironic shards, we document that the best
practice for scaling Ironic and Nova deployments is to shard Ironic
nodes between nova-compute processes, rather than attempting to
user the peer_list.

Currently, we only allow users to do this using conductor groups.
This works well for those wanting a conductor group per L2 network
domain. But in general, conductor groups per nova-compute are
a very poor trade off in terms of ironic deployment complexity.
Futher patches will look to enable the use of ironic shards,
alongside conductor groups, to more easily shard your ironic nodes
between nova-compute processes.

To avoid confusion, we rename the partition_key configuration
value to conductor_group.

blueprint ironic-shards

Change-Id: Ia2e23a59dbd2f13c6f74ca975c249751bebf54b2
2023-08-31 08:56:10 +00:00
Zuul 4490c8bc84 Merge "Remove deprecated AZ filter." 2023-08-31 07:21:33 +00:00
melanie witt 8f0817f078 Add documentation for unified limits
This adds documentation for unified limits and signals deprecation of
the nova.quota.DbQuotaDriver.

Related to blueprint unified-limits-nova-tool-and-docs

Change-Id: I3951317111396aa4df36c5700b4d4dd33e721a74
2023-08-30 19:33:50 +00:00
melanie witt 395501c876 nova-manage: Add 'limits migrate_to_unified_limits'
This command aims to help migrate to unified limits quotas by reading
legacy quota limits from the Nova database and calling the Keystone API
to create corresponding unified limits.

Related to blueprint unified-limits-nova-tool-and-docs

Change-Id: I5536010ea1212918e61b3f4f22c2077fadc5ebfe
2023-08-30 19:13:07 +00:00
Zuul 2e40f7952b Merge "Add a new NumInstancesWeigher" 2023-08-30 18:46:10 +00:00
Zuul 767252ca97 Merge "Add upgrade check for compute-object-ids linkage" 2023-08-16 20:39:59 +00:00