Commit Graph

588 Commits

Author SHA1 Message Date
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
Zuul aba83b3fc2 Merge "cpu: make governors to be optional" 2023-10-09 18:45:50 +00:00
Zuul 49bff9b9c6 Merge "Follow up for unified limits: PCPU and documentation" 2023-09-05 14:36:09 +00:00
melanie witt d42fe462be Follow up for unified limits: PCPU and documentation
This addresses comments from code review to add handling of PCPU during
the migration/copy of limits from the Nova database to Keystone. In
legacy quotas, there is no settable quota limit for PCPU, so the limit
for VCPU is used for PCPU. With unified limits, PCPU will have its own
quota limit, so for the automated migration command, we will simply
create a dedicated limit for PCPU that is the same value as the limit
for VCPU.

On the docs side, this adds more detail about the token authorization
settings needed to use the nova-manage limits migrate_to_unified_limits
CLI command and documents more OSC limit commands like show and delete.

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

Change-Id: Ifdb1691d7b25d28216d26479418ea323476fee1a
2023-09-01 06:19:51 +00:00
Zuul 3fdc97ca5f Merge "Add documentation for unified limits" 2023-08-31 23:54:17 +00:00
Zuul c8bb6236ae Merge "Delete dangling bdms" 2023-08-31 21:02:24 +00: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 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
Sylvain Bauza ca3fbb4d15 Add a new NumInstancesWeigher
Despite having a NumInstancesFilter, we miss a weigher that would classify hosts
based on their instance usage.

Change-Id: Id232c2caf29d3443c61c0329d573a34a7481fd57
Implements-Blueprint: bp/num-instances-weigher
2023-07-21 15:50:57 +02:00
Sean Mooney 5edd805fe2 Remove deprecated AZ filter.
This change remvoes the az filter and always enabled
the placement pre-filter. As part of this removal
the config option to control enabling the pre-filter
is removed as it is now mandatory.

The AZ filter docs and tests are also removed and an upgrade
release note is added.

Depends-On: https://review.opendev.org/c/openstack/devstack/+/886972
Change-Id: Icc8580835beb2b4d40341f81c25eb1f024e70ade
2023-07-17 12:22:22 +01:00
Sylvain Bauza 2c4421568e cpu: make governors to be optional
Change-Id: Ifb7d001cfdb95b1b0aa29f45c0ef71c0673e1760
Closes-Bug: #2023018
2023-06-07 11:54:57 +02:00
Amit Uniyal e2264d7657 Fixes a typo in availability-zone doc
Change-Id: Ic1bb8abaf2cbdac31a4503b12f38e5e2d5aadcfd
2023-05-18 06:25:18 +00:00
melanie witt db455548a1 Use force=True for os-brick disconnect during delete
The 'force' parameter of os-brick's disconnect_volume() method allows
callers to ignore flushing errors and ensure that devices are being
removed from the host.

We should use force=True when we are going to delete an instance to
avoid leaving leftover devices connected to the compute host which
could then potentially be reused to map to volumes to an instance that
should not have access to those volumes.

We can use force=True even when disconnecting a volume that will not be
deleted on termination because os-brick will always attempt to flush
and disconnect gracefully before forcefully removing devices.

Closes-Bug: #2004555

Change-Id: I3629b84d3255a8fe9d8a7cea8c6131d7c40899e8
2023-05-10 07:09:05 -07:00
Zuul ad3b3681b6 Merge "add hypervisor version weigher" 2023-05-04 01:29:06 +00:00
Sean Mooney e38d6a356b add hypervisor version weigher
implements: blueprint weigh-host-by-hypervisor-version
Change-Id: I36b16a388383c26bdf432030bc9e28b2fd75d120
2023-04-20 18:33:55 +00:00
Author: Carl Morris 390d647d22 Fix a typo in this URL: https://docs.openstack.org/nova/latest/admin/availability-zones.html
Closes-Bug: #1956506
Change-Id: Iec536713923b17cfceb19f2382b7a10c8527705e
2023-03-28 15:18:07 -04:00
Sylvain Bauza 349100eecc Add service version for Antelope
Also did a bit of cleanup in the text message to tell *when* we need to bump
the min service version.
Given 2023.1 is our first SLURP release, we need to clarify the level of
support we now have for rolling upgrades.

Next cycle, we should update the min version to be Zed.

Change-Id: I2dd906f34118da02783bb7755e0d6c2a2b88eb5d
2023-03-02 12:16:42 +01:00
Arefiev Anton 0ffb61da60 Doc: update live-migration cmd
The deprecated `--live` option of the `server migrate` command
was removed I37ef09eca0db9286544a4b0bb33f845311baa9b2

Update docs with new arguments.

Change-Id: Id7a9a7509ca5e7811b6d3ce060390ea23c93d4ce
2023-02-24 15:50:27 +02:00
Sylvain Bauza 00299dcaad Add docs for cpu management
Relates to blueprint libvirt-cpu-state-mgmt

Change-Id: Id22018a880b39f694a509c04cc6497ef42343049
2023-02-23 12:04:11 +01:00
Zuul 5c32d5efe1 Merge "libvirt: Add configuration options to set SPICE compression settings" 2023-02-17 01:45:41 +00:00
Dan Smith a296441782 Add docs for stable-compute-uuid behaviors
This adds some admin guide documentation about the stable compute_id
file. It covers upgrade, greenfield generation, and greenfield
pre-provisioning by deployment tools.

Related to blueprint stable-compute-uuid

Change-Id: I078b3f9e1919f2008628dc7b889e8696f1f6159a
2023-02-08 09:36:26 -08:00
Zuul 0efdbb3660 Merge "Fix huge-page doc" 2023-01-30 18:29:33 +00:00
Zuul 668d4e590f Merge "Update Availability zone doc page" 2023-01-17 00:06:18 +00:00
Zuul 8e3ffb851b Merge "Allow enabling PCI scheduling in Placement" 2023-01-12 23:08:03 +00:00
Manuel Bentele b5e0ed248f libvirt: Add configuration options to set SPICE compression settings
This patch adds the following SPICE-related options to the 'spice'
configuration group of a Nova configuration:

  - image_compression
  - jpeg_compression
  - zlib_compression
  - playback_compression
  - streaming_mode

These configuration options can be used to enable and set the SPICE
compression settings for libvirt (QEMU/KVM) provisioned instances.
Each configuration option is optional and can be set explictly to
configure the associated SPICE compression setting for libvirt. If all
configuration options are not set, then none of the SPICE compression
settings will be configured for libvirt, which corresponds to the
behavior before this change. In this case, the built-in defaults from
the libvirt backend (e.g. QEMU) are used.

Note that those options are only taken into account if SPICE support is
enabled (and the VNC support is disabled).

Implements: blueprint nova-support-spice-compression-algorithm
Change-Id: Ia7efeb1b1a04504721e1a5bdd1b5fa7a87cdb810
2023-01-11 11:48:17 +00:00
Rajesh Tailor 0826ee1c68 Fix huge-page doc
This change updates the echo command as per description [1],
to append huge-page specific paramters instead of overwriting.

[1] https://docs.openstack.org/nova/zed/admin/huge-pages.html

Closes-Bug: #2002317

Change-Id: Ibd8b555c4d6a70cd221b12821d6e9d88cf132a4a
2023-01-10 17:55:01 +05:30
Balazs Gibizer 2cb1eedeaf Allow enabling PCI scheduling in Placement
A new configuration option [filter_scheduler]pci_in_placement is added
that allows enabling the scheduler logic for PCI device handling in
Placement for flavor based PCI requests.

blueprint: pci-device-tracking-in-placement
Change-Id: I5ddf6d3cdc7e05cc4914b9b1e762fa02a5c7c550
2023-01-05 17:25:27 +01:00
Zuul c18f6f9a4f Merge "doc: soft delete and shadow tables" 2023-01-03 18:55:21 +00:00
Zuul aec72ddeb6 Merge "Modify the command of getting serial console" 2022-12-20 15:05:36 +00:00
Zuul fe839970cf Merge "fix typo in architecture document" 2022-12-20 15:03:36 +00:00
Zuul 035b1c6fbe Merge "Support resource_class and traits in PCI alias" 2022-12-13 17:33:41 +00:00
Bence Romsics 3420b77f62 doc: soft delete and shadow tables
While collecting information because of a question I received
about soft delete and shadow tables I realized that the documentation
contains bits and pieces here and there, but I couldn't find more.
This change summarizes what I found from docs and asking around.
I hope you find it useful.

Change-Id: I5ff90224cc27c57dc463604559d25298ed7b3f98
2022-12-09 09:15:11 +01:00
Amit Uniyal 7eaa3466cd DOC update remote console access
- Adds doc links of libvirt wiki page
- Updates dead links

Closes-Bug: 1991522
Change-Id: Ie45e663c5a7bf980aeecf78b6ef1a6c19d945753
2022-10-27 17:58:18 +00:00
Balazs Gibizer b10482cbc0 Support resource_class and traits in PCI alias
The [pci]alias configuration option now accepts two new optional fields:

* resource_class: that can be used to request PCI device by placement
  RC name.

* traits: a comma separated list of placement trait names that can be
  used to filter placement PCI resource provider by traits.

These fields has the matching counterpart in [pci]device_spec
implemented already.

These fields are matched by the Placement GET allocation_candidates
query therefore these fields are ignored when PCI device pools are
matched against IntancePCIRequest by nova.

Note that InstancePCIRequest object spec field is defined as a list of
dicts. But in reality nova creates the request always with a single
dict. So we restricted the placement logic to handle a single spec.

blueprint: pci-device-tracking-in-placement
Change-Id: I5c8f05c3c5d7597175e60b29e4ab2f22e6496ecd
2022-10-17 13:56:18 +02:00
Zuul 03d2715ed4 Merge "update default overcommit" 2022-10-07 02:29:22 +00:00
Sean Mooney 1260cdd492 update default overcommit
This change updates the cpu and ram initial
allocation ratios to 4.0 and 1.0 to reflect
the typical values that are suitable for non web
hosting workloads.

Change-Id: I283eb270a4e47da15cf01d098b4f3952f7b5b570
implements: bp/nova-change-default-overcommit-values
2022-10-06 12:50:56 +01:00
Jan Klippel 480b63a9a6 fix typo in architecture document
Signed-off-by: Jan Klippel <openstack@kl1pp3l.de>
Change-Id: I6f7cf5bbca5754a91efe788064695134ecff34b6
2022-09-25 21:00:00 +02:00
Rajesh Tailor 0fce3c03ab Fix typos in nova docs
Change-Id: I7b6f8c198aa42f5ef3f8b158308b993b040454ec
2022-09-23 09:09:37 +05:30
Rajesh Tailor b65a910834 Update Availability zone doc page
Availability zone doc page [1] mentioned that server moving
operation (evacuate/live-migrate) request can force target host
and bypass scheduler.

This support of forcing target host for evacuate/live-migrate
request was removed in [2].

This change updates the doc page by mentioning that it was possible
to force a host with older API microversion and how to use it, if
user wants to force target host for evacuate/live-migrate.

[1] https://docs.openstack.org/nova/latest/admin/availability-zones.html#implications-for-moving-servers
[2] https://review.opendev.org/q/topic:bp%252Fremove-force-flag-from-live-migrate-and-evacuate

Closes-Bug: #1947421
Change-Id: Iaf989ccbde49a8c3735d260b2dd4a319bc77caf8
2022-09-23 09:06:58 +05:30
Zuul b542b53585 Merge "Doc follow up for PCI in placement" 2022-09-06 16:30:19 +00:00
Balazs Gibizer efb6fd834e Doc follow up for PCI in placement
This fixes the doc comments for the already merged (or being merged)
patches in the series.

blueprint: pci-device-tracking-in-placement
Change-Id: Ia99138d603722a66c9a6ac61b035384d86ccca75
2022-09-02 14:20:18 +02:00
Zuul 457806e206 Merge "libvirt: Add vIOMMU device to guest" 2022-09-01 19:56:09 +00:00
Zuul 8b55b44cc6 Merge "Allow enabling PCI tracking in Placement" 2022-09-01 18:21:52 +00:00
Zuul 82498dfe4b Merge "Handle PCI dev reconf with allocations" 2022-09-01 18:21:45 +00:00
Zuul 40ca5e169a Merge "Heal PCI allocation during resize" 2022-09-01 18:16:04 +00:00
Stephen Finucane 14e3b352c2 libvirt: Add vIOMMU device to guest
Implementation for BP/libvirt-viommu-device.
With provide `hw:viommu_model` property to extra_specs or
`hw_viommu_model` to image property. will enable viommu to libvirt
guest.

[1] https://www.berrange.com/posts/2017/02/16/setting-up-a-nested-kvm-guest-for-developing-testing-pci-device-assignment-with-numa/
[2] https://review.opendev.org/c/openstack/nova-specs/+/840310

Implements: blueprint libvirt-viommu-device
Change-Id: Ief9c550292788160433a28a7a1c36ba38a6bc849
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2022-09-01 04:50:16 +08:00
Balazs Gibizer 06389f8d84 Allow enabling PCI tracking in Placement
This patch introduces the [pci]report_in_placement config option that is
False by default but if set to True will enable reporting of the PCI
passthrough inventories to Placement.

blueprint: pci-device-tracking-in-placement
Change-Id: I49a3dbf4c5708d2d92dedd29a9dc3ef25b6cd66c
2022-08-27 12:41:20 +02:00
Balazs Gibizer 9268bc36a3 Handle PCI dev reconf with allocations
PCI devices which are allocated to instances can be removed from the
[pci]device_spec configuration or can be removed from the hypervisor
directly. The existing PciTracker code handle this cases by keeping the
PciDevice in the nova DB exists and allocated and issue a warning in the
logs during the compute service startup that nova is in an inconsistent
state. Similar behavior is now added to the PCI placement tracking code
so the PCI inventories and allocations in placement is kept in such
situation.

There is one case where we cannot simply accept the PCI device
reconfiguration by keeping the existing allocations and applying the new
config. It is when a PF that is configured and allocated is removed and
VFs from this PF is now configured in the [pci]device_spec. And vice
versa when VFs are removed and its parent PF is configured. In this case
keeping the existing inventory and allocations and adding the new inventory
to placement would result in placement model where a single PCI device
would provide both PF and VF inventories. This dependent device
configuration is not supported as it could lead to double consumption.
In such situation the compute service will refuse to start.

blueprint: pci-device-tracking-in-placement
Change-Id: Id130893de650cc2d38953cea7cf9f53af71ced93
2022-08-26 19:05:45 +02:00