Commit Graph

679 Commits

Author SHA1 Message Date
Stephen Finucane 5da2dc2060 setup: Remove pbr's wsgi_scripts
This is technical dead end and not something we're going to be able to
support long-term in pbr. We need to push users away from this. Doing so
highlights quite a few place where our docs need some work, particularly
in light of the recent removal of the eventlet servers.

Change-Id: I2ffaed710fac2612f5337aca5192af15eab46861
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-11-04 16:11:50 +00:00
Zuul a2fa7b1fa1 Merge "[doc]PCI in Placement tuning" 2025-10-21 11:58:39 +00:00
Zuul 6d5cf6845e Merge "Fix fill_metadata usage for the ImagePropertiesWeigher" 2025-10-16 23:56:01 +00:00
Balazs Gibizer 35b8a1cae9 [doc]PCI in Placement tuning
Related-Bug: #2070257
Related-Bug: #2126751

Change-Id: I602c78e02d1821fab202a91fc4e42e1b0cae42ad
Signed-off-by: Balazs Gibizer <gibi@redhat.com>
2025-10-16 17:29:16 +02:00
Sylvain Bauza 98885344bd Fix fill_metadata usage for the ImagePropertiesWeigher
When using the weigher, we need to target the right cell context for the
existing instances in the host.
fill_metadata was also having an issue as we need to pass the dict value
from the updated dict by keying the instance uuid, not the whole dict of
updated instances.

Change-Id: I18260095ed263da4204f21de27f866568843804e
Closes-Bug: #2125935
Signed-off-by: Sylvain Bauza <sbauza@redhat.com>
2025-10-16 11:09:45 +02:00
Balazs Gibizer ec426532c3 Run nova-conductor in native threading mode
Previous patches removed direct eventlet usage from nova-conductor so
now we can run it with native threading as well. This patch documents
the possibility and switches both nova-conductor process to native
threading mode in the nova-next job.

Change-Id: If26c0c7199cbda157f24b99a419697ecb6618fa6
Signed-off-by: Balazs Gibizer <gibi@redhat.com>
2025-09-22 10:17:39 +00:00
Rajesh Tailor 68fbace8af Fix duplicate words
This change fixes duplicate consecutive words from docs
as well as code.

Signed-off-by: Rajesh Tailor <ratailor@redhat.com>
Change-Id: I236ff41fccf831023b6f85840097148a30e84743
2025-09-02 18:06:31 +05:30
Zuul dcf90dbb25 Merge "Ask for pre-prod testing for native threading" 2025-08-29 04:35:24 +00:00
Zuul 32d76d08cb Merge "libvirt: Launch instances with SEV-ES memory encryption" 2025-08-28 23:24:30 +00:00
Takashi Kajinami 4f5a3f3c00 libvirt: Launch instances with SEV-ES memory encryption
This is the last piece to allow users to request AMD SEV-ES for memory
encryption instead of AMD SEV. The CPU feature for memory encryption
can now be requested via the hw:mem_encryption_model flavor extra spec
or via the hw_mem_encryption_model image property.

Implements: blueprint amd-sev-es-libvirt-support
Change-Id: Ifc9b86ad7db887cc22b2cd252fe8adc81fdc29c6
Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
2025-08-28 08:47:49 +09:00
Balazs Gibizer 2a9cbdabce Ask for pre-prod testing for native threading
This patch refines our logging, doc, and release notes about the native
threading mode of scheduler, api, and metadata services to ask for
pre-prod testing before enabled in production.

Change-Id: I04bbb3d7e4664a0cab8b30f4c34ee71774536353
Signed-off-by: Balazs Gibizer <gibi@redhat.com>
2025-08-27 18:46:31 +02:00
Zuul e39bac965a Merge "Run nova-api and -metadata in threaded mode" 2025-08-15 11:53:36 +00:00
Balazs Gibizer d6a3f86329 Run nova-api and -metadata in threaded mode
It turns out that nova-api and nova-metadata only depend on spawning
threads via scatter-gather. The scatter-gather already supports both
eventlet and threading mode so we can switch these services.

Our WSGI services (nova-api, nova-metadata) are not relying on
oslo.service to fork worker processes, but expect the web server to
handle that (uwsgi, apache mod_wsgi). This means we don't need to handle
any forking issues as no nova code runs before the fork.

Change-Id: Id3a339c605dfc730bdb7994c3ca45baafeb5af80
Signed-off-by: Balazs Gibizer <gibi@redhat.com>
2025-08-14 13:39:25 +02:00
Stephen Finucane d238306aa6 api: Remove '[api] auth_strategy', NoAuthMiddlware
Also remove associated tests.

Change-Id: I098f1d4b61fabb10c4da3de02f10337b2ad6c544
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-08-11 12:12:13 +01:00
Balazs Gibizer 8701a93743 Document native threading mode and tuneables
Change-Id: I003177de3a9f69c71c19eb8eaa7232785e03e669
Signed-off-by: Balazs Gibizer <gibi@redhat.com>
2025-08-01 12:15:20 +02:00
Zuul 3e11280522 Merge "Validated that PCI alias has proper ids" 2025-06-12 03:28:54 +00:00
Zuul 45623879d9 Merge "Multiple spec per PCI alias limitation" 2025-06-12 03:28:17 +00:00
Zuul c127d87f02 Merge "Remove unused config options" 2025-06-11 22:43:02 +00:00
Balazs Gibizer acc6221660 Validated that PCI alias has proper ids
Either the vendor_id and product_id needs to be set or the
resource_class needs to be set in each alias. This is now validated when
the alias is parsed to avoid late failure during placement
allocation_candidates query.

Closes-Bug: #2111440
Change-Id: I7fd43b3d6faac8c4098b0983e8adc596414823a1
2025-06-11 07:23:01 -07:00
Balazs Gibizer c3f392dd8e Multiple spec per PCI alias limitation
Document and the limitation of the PCI in Placement feature that it
does not support [pci]alias configuration where the name of the alias is
repeated. E.g.

[pci]
alias = { "name": "vf1", "product_id":"10ca", "vendor_id":"8086", "device_type":"type-VF"}
alias = { "name": "vf1", "product_id":"f000", "vendor_id":"8086", "device_type":"type-VF"}

This would mean the alias vf1 can be fulfilled from devices with product
id 10ca OR f000. However this OR relationship cannot be encoded to a
single Placement allocation query as Placement does not support
requesting alternative resource classes for a request[2].

This limitation was encoded in the original PCI in Placement
implementation[1] but we missed to mention it in the doc.
This is now fixed.

[1]https://github.com/openstack/nova/blob/0d484ce37d86e989c8abdf57aec5e334f68206ef/nova/objects/request_spec.py#L504-L528
[2]https://docs.openstack.org/api-ref/placement/#list-allocation-candidates

Related-Bug: #2102038
Change-Id: I9dd78b1498f870a4e4c3f26c23d42d105aec0350
2025-06-11 07:23:00 -07:00
Zuul 517415b6cb Merge "update pre-commit version pins" 2025-06-10 16:23:41 +00:00
Arnaud Morin c4c5134369 Fix small documentation issue
Small documentation fix

Change-Id: Ibb650cf428eb9c20be1fdd0a4caee15fa6d309b7
Signed-off-by: Arnaud Morin <arnaud.morin@ovhcloud.com>
2025-06-09 18:14:43 +02:00
Balazs Gibizer b3aefbcb58 Remove unused config options
In c12eebd4c6 we missed that there are
another set of config option that become unused now. So this is a follow
up patch to remove those as well.

Change-Id: Ie00805b5f72b118db134aeb8399ef4c72f434966
2025-06-06 13:31:00 +02:00
Pierre Riteau 6ba5168da8 doc: Fix Caracal release number
Change-Id: Id942d65c657bf537b7953e344aa31b747f78fec6
2025-06-05 17:45:14 +01:00
Balazs Gibizer a1c47fc242 [doc]Clarify where to set pci_in_placement
The doc is now clarifying that [filter_scheduler]pci_in_placement needs
to be set to nova-api, nova-scheduler, and nova-conductor config as
well.

Closes-Bug: #2112303
Change-Id: I3c7be2f109a97ef5cc4b2dc76cb7c58ef8c68afa
2025-06-02 11:12:14 +02:00
Sylvain Bauza e3c494cbd9 [doc] Adding vGPUs max_instances caveat fix for virtual-gpu
When I069879a333152bb849c248b3dcb56357a11d0324 merged in Caracal, we forgot
to add documentation for the SR-IOV GPU caveat fix.
Also, given the new max_instances option was dynamic, we can't even see it
in the configuration list, so actually none of our operators can know that we
fixed it and how to do it 🤦

Change-Id: I3402c28f76cc51dd8c003181f11e0820ce5d9b7d
Related-Bug: #2041519
2025-05-14 19:26:11 +02:00
Sean Mooney 87c0c201a3 update pre-commit version pins
This change bumps to the latest version of each
of our pre-commit hooks. Of note this add py3.13
support to autopep8.

Codespell was also updated and the new spelling
issues resolved.

Change-Id: I1aab019ffb0ee9366a7d26515bef1335d09044df
2025-05-08 23:29:13 +01:00
Balazs Gibizer 05bab98aba [doc]Describe file based GMR triggering
We learned during recent installer development that triggering
GMR with apache/mod_wsgi API services via signals is hard due
to multiple reasons. We ended up using file based triggers instead of
signals. This patch document this approach.

Change-Id: I1fdbe6314ce4a1b173d01d3ebd9db07a0beb25a2
2025-04-17 16:27:46 +02:00
Balazs Gibizer e25418c857 [doc]Remove eventlet based API endpoints
The previous patch[1] removed the entry points. As there is sizable
amount of doc change needed to remove all the references from the doc
to the removed entry points a separate patch, this, is created to do so.

[1] Ie758550c0b8fb02aeb398396961467d9f845fcc9

Change-Id: Ibe8e45e86912e747f07e5fabd5b1204341c1e606
2025-04-17 16:24:16 +02:00
Dan Smith 3dc42b8422 Add one-time-use devices docs and reno
This adds documentation to the PCI-passthrough doc in the admin guide,
explaining how to use one-time-use devices.

Keeping this separate so we can iterate on it separate from the code.

Related to blueprint one-time-use-devices

Change-Id: Iff91c0726bbb37c7a3ef885a73e3c3586feb6004
2025-04-02 11:53:54 -07:00
René Ribaud c6a96a17db FUP Update pci-passthrough and virtual-gpu documentation
This patch adds the necessary documentation identified in:

- pci-passthrough: Explaining live migration and known issues.
- virtual-gpu: Updating the caveats section to clarify what to do
  when VF devices are available instead of `mdev`.

The target goal of these series of patch is to enable VFIO devices
migration with kernel variant drivers.

Implements: blueprint migrate-vfio-devices-using-kernel-variant-drivers
Change-Id: I41271a8af5687fb1d18f9d0852492756e096720d
2025-03-26 10:02:41 +01:00
René Ribaud 03915cd59d Update driver to deal with managed flag
The target goal of these series of patch is to enable VFIO devices
with kernel variant drivers.

Implements: blueprint enable-vfio-devices-with-kernel-variant-drivers
Change-Id: I7949ba6da8b6257865d8e9e48bf3feabc10bdf17
2025-03-02 21:37:47 +01:00
Zuul 4fdbbb6a91 Merge "doc: Use dnf instead of yum" 2025-02-27 23:06:26 +00:00
Sylvain Bauza 7388362f28 Per-Property ImageMetaPropsWeigher
Add a new config option that will only check specific properties
and allow per-property weights.

Change-Id: Iae51558b9eb03da705e0da939cbd459b4d3b51f7
2025-02-20 03:00:03 +00:00
Sylvain Bauza acd6c733c6 Add a new ImagePropertiesWeigher
This weigher will check how many instances in the host have the image
properties that are requested and will prefer by default to pack
instances with the same properties.

Implements blueprint: image-metadata-props-weigher

Change-Id: I3bfed44bd089c6b226d13c3ac4a0003411737cbd
2025-02-20 02:49:08 +00:00
Zuul 4871641b85 Merge "Modify the url of openstack client commands." 2025-01-10 03:02:42 +00:00
Takashi Kajinami d94a9925a7 doc: Use dnf instead of yum
The yum command has been replaced by the dnf command in recent releases
of Fedora-based distributions. Use the native command instead of
the alias kept for compatibility.

Partial-Bug: #2091586
Change-Id: I34cb4f28af65f426f8dd453435c79cbfd7d97394
2025-01-07 01:39:40 +00:00
René Ribaud 73a7c1b295 Manila shares admin guide documentation
Manila is the OpenStack Shared Filesystems service.
These series of patches implement changes required in Nova to allow the shares
provided by Manila to be associated with and attached to instances using
virtiofs.

Implements: blueprint libvirt-virtiofs-attach-manila-shares

Change-Id: I3963e9929c61751ed3ea176d1ef9dcc29c02de82
2024-11-27 14:09:45 +01:00
Zuul 68eb977654 Merge "Add [quota]unified_limits_resource_(strategy|list)" 2024-11-25 20:48:51 +00:00
melanie witt fd5b692905 Add [quota]unified_limits_resource_(strategy|list)
This adds config options for unified limits quotas that allow
admin/operators to specify which resources they will require or ignore
to have unified limits set in Keystone.

The options are only used when ``[quota]driver`` is set to
``UnifiedLimitsDriver``.

When the resource strategy is set to 'require' (the default), the
resource list will represent the resources that are required to have a
registered limit set in Keystone.

When the resource strategy is set to 'ignore', the resource list will
represent the resources that will be ignored for quota enforcement if
they do not have a registered limit set in Keystone.

Related to blueprint unified-limits-nova-unset-limits

Change-Id: Icb08fadbdbf9c1bf354c3091f05edce80ebf68c3
2024-11-22 22:09:22 +00:00
Zuul ecc14912b6 Merge "docs: Correct unified limits CLI commands" 2024-11-12 12:22:13 +00:00
Zuul b58d98c933 Merge "docs: Change note:: to warning:: for service user token" 2024-11-12 12:22:06 +00:00
Zuul a8733bae3c Merge "Adding sysctl changes for post-copy migration" 2024-10-26 06:07:18 +00:00
melanie witt 585c579498 docs: Change note:: to warning:: for service user token
This changes the "note" about the requirement of configuring
[service_user] to a "warning" for better visibility.

Also replace a few setting values with variables instead of the
defaults from Devstack.

Change-Id: I561690582436832f4070a2d17aa8ff79b0f788fd
2024-09-05 23:05:46 +00:00
Zuul 1ecab6dbc5 Merge "doc: Fix markup syntax and typo" 2024-09-05 16:04:22 +00:00
keerthivasan86 3395484105 Adding sysctl changes for post-copy migration
Related-Bug: 2052473
Change-Id: If9efdecbf3bfcb3390ec080b3e2f9cfc7b838459
2024-08-28 19:08:17 +00:00
Michael Still e06890d101 libvirt: Add config option to require secure SPICE.
This patch adds the following SPICE-related configuration option
to the 'spice' configuration group:

- require_secure

When set to true, libvirt will be provided with domain XML which
configures SPICE VDI consoles to require secure connections (that
is, connections protected by TLS). Attempts to connect without
TLS will receive an error indicating they should retry the connection
on the TLS port.

Change-Id: Ica7083b0836f8d66cad8a4b4097613103fc91560
2024-08-21 18:09:50 +10:00
melanie witt 866f2a8563 docs: Correct unified limits CLI commands
The 'openstack (registered )limit set' command examples are incorrectly
showing use of the --resource-name option. The --resource-name option
is only to be used to update the name of a limit's resource and will
actually result in a 409 error if the specified name already exists.

This removes --resource-name from those examples.

Change-Id: I785fce1ba927894cb3b1a2a13c4e8eaf91930f5b
2024-07-24 22:54:55 +00:00
Zuul ac4a67cbda Merge "docs: Follow up for persistent mdevs" 2024-05-27 11:01:32 +00:00
Zuul 3dfdc10f63 Merge "libvirt: Create persistent mdevs" 2024-05-27 11:01:26 +00:00