summaryrefslogtreecommitdiff
path: root/doc/source/admin
Commit message (Collapse)AuthorAgeFilesLines
* Use force=True for os-brick disconnect during deletemelanie witt2023-05-106-67/+63
| | | | | | | | | | | | | | | | | | | 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
* Merge "add hypervisor version weigher"Zuul2023-05-041-0/+31
|\
| * add hypervisor version weigherSean Mooney2023-04-201-0/+31
| | | | | | | | | | implements: blueprint weigh-host-by-hypervisor-version Change-Id: I36b16a388383c26bdf432030bc9e28b2fd75d120
* | Fix a typo in this URL: ↵Author: Carl Morris2023-03-281-1/+1
|/ | | | | | | https://docs.openstack.org/nova/latest/admin/availability-zones.html Closes-Bug: #1956506 Change-Id: Iec536713923b17cfceb19f2382b7a10c8527705e
* Add service version for AntelopeSylvain Bauza2023-03-021-7/+13
| | | | | | | | | | | 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
* Doc: update live-migration cmdArefiev Anton2023-02-241-1/+1
| | | | | | | | | The deprecated `--live` option of the `server migrate` command was removed I37ef09eca0db9286544a4b0bb33f845311baa9b2 Update docs with new arguments. Change-Id: Id7a9a7509ca5e7811b6d3ce060390ea23c93d4ce
* Add docs for cpu managementSylvain Bauza2023-02-231-0/+91
| | | | | | Relates to blueprint libvirt-cpu-state-mgmt Change-Id: Id22018a880b39f694a509c04cc6497ef42343049
* Merge "libvirt: Add configuration options to set SPICE compression settings"Zuul2023-02-171-0/+10
|\
| * libvirt: Add configuration options to set SPICE compression settingsManuel Bentele2023-01-111-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Add docs for stable-compute-uuid behaviorsDan Smith2023-02-082-0/+84
| | | | | | | | | | | | | | | | | | | | 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
* | Merge "Fix huge-page doc"Zuul2023-01-301-1/+1
|\ \
| * | Fix huge-page docRajesh Tailor2023-01-101-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | 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
* | Merge "Update Availability zone doc page"Zuul2023-01-171-15/+41
|\ \
| * | Update Availability zone doc pageRajesh Tailor2022-09-231-15/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge "Allow enabling PCI scheduling in Placement"Zuul2023-01-121-0/+22
|\ \ \ | |_|/ |/| |
| * | Allow enabling PCI scheduling in PlacementBalazs Gibizer2023-01-051-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge "doc: soft delete and shadow tables"Zuul2023-01-032-0/+63
|\ \ \
| * | | doc: soft delete and shadow tablesBence Romsics2022-12-092-0/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge "Modify the command of getting serial console"Zuul2022-12-201-2/+8
|\ \ \ \
| * | | | Modify the command of getting serial consolewangkuntian2022-07-221-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old command 'nova get-serial-proxy' was not found when using novaclient Change-Id: Ib106e36b77d32cdcc535e4237364b647d1cc04e0
* | | | | Merge "fix typo in architecture document"Zuul2022-12-201-1/+1
|\ \ \ \ \
| * | | | | fix typo in architecture documentJan Klippel2022-09-251-1/+1
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | Signed-off-by: Jan Klippel <openstack@kl1pp3l.de> Change-Id: I6f7cf5bbca5754a91efe788064695134ecff34b6
* | | | | Merge "Support resource_class and traits in PCI alias"Zuul2022-12-131-0/+15
|\ \ \ \ \ | |_|_|/ / |/| | | / | | |_|/ | |/| |
| * | | Support resource_class and traits in PCI aliasBalazs Gibizer2022-10-171-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | DOC update remote console accessAmit Uniyal2022-10-271-1/+5
|/ / / | | | | | | | | | | | | | | | | | | | | | - Adds doc links of libvirt wiki page - Updates dead links Closes-Bug: 1991522 Change-Id: Ie45e663c5a7bf980aeecf78b6ef1a6c19d945753
* | | Merge "update default overcommit"Zuul2022-10-071-0/+10
|\ \ \
| * | | update default overcommitSean Mooney2022-10-061-0/+10
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Fix typos in nova docsRajesh Tailor2022-09-2311-16/+16
|/ / | | | | | | Change-Id: I7b6f8c198aa42f5ef3f8b158308b993b040454ec
* | Merge "Doc follow up for PCI in placement"Zuul2022-09-061-3/+18
|\ \
| * | Doc follow up for PCI in placementBalazs Gibizer2022-09-021-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge "libvirt: Add vIOMMU device to guest"Zuul2022-09-011-0/+58
|\ \ \
| * | | libvirt: Add vIOMMU device to guestStephen Finucane2022-09-011-0/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | Merge "Allow enabling PCI tracking in Placement"Zuul2022-09-011-0/+8
|\ \ \ \ | | |/ / | |/| |
| * | | Allow enabling PCI tracking in PlacementBalazs Gibizer2022-08-271-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge "Handle PCI dev reconf with allocations"Zuul2022-09-011-0/+16
|\ \ \ \ | |/ / /
| * | | Handle PCI dev reconf with allocationsBalazs Gibizer2022-08-261-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge "Heal PCI allocation during resize"Zuul2022-09-011-0/+10
|\ \ \ \ | |/ / / | | / / | |/ / |/| |
| * | Heal PCI allocation during resizeBalazs Gibizer2022-08-251-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During resize an instance with existing PCI allocation can be changed to consume less, more, or different PCI devices. So the heal allocation logic needs to handle the case when an existing instance is changed to consume different PCI devices. This patch adds support to change existing PCI allocations in placement during resize. There is one limitation of the healing logic. It assumes that there is no in-progress migration when nova is upgraded. If there is an in progress migration, then the PCI usage will not be healed in the migration allocation. The placement view will be consistent after such migration is completed or reverted. blueprint: pci-device-tracking-in-placement Change-Id: Icc968c567f9967d7449d6c6c1f57783098e63f55
* | | Merge "Add locked_memory extra spec and image property"Zuul2022-08-261-0/+30
|\ \ \ | |/ / |/| |
| * | Add locked_memory extra spec and image propertySean Mooney2022-08-241-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds a new hw:locked_memory extra spec and hw_locked_memory image property to contol preventing guest memory from swapping. This change adds docs and extend the flavor validators for the new extra spec. Also add new image property. Blueprint: libvirt-viommu-device Change-Id: Id3779594f0078a5045031aded2ed68ee4301abbd
* | | Reject devname based device_spec configBalazs Gibizer2022-08-251-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | We agreed not to support 'devname' based [pci]device_spec configuration in the new PCI Placement tracking code. So this patch adds a check to reject those. blueprint: pci-device-tracking-in-placement Change-Id: Ifa0dd34506ebc25cfe5bafd6952b72b0008fc741
* | | Ignore PCI devs with physical_network tagBalazs Gibizer2022-08-251-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | The first version of the PCI tracking in placement feature will not handle Neutron based SRIOV devices. So those are now ignored during placement inventory reporting. blueprint: pci-device-tracking-in-placement Change-Id: Ie24969d60c84379673c5450863f4cf58cf09207c
* | | Reject mixed VF rc and trait configBalazs Gibizer2022-08-251-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If two VFs from the same PF are configured by two separate [pci]device_spec entries then it is possible to define contradicting resource classes or traits. This patch detects and rejects such configuration. blueprint: pci-device-tracking-in-placement Change-Id: I623ab24940169991a400eba854c9619a11662a91
* | | Reject PCI dependent device configBalazs Gibizer2022-08-251-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The PCI tracking in placement does not support the configuration where both a PF and its children VFs are configured for nova usage. This patch adds logic to detect and reject such configuration. To be able to kill the service if started with such config special exception handling is added for the update_available_resource code path, similarly how a failed reshape is handled. blueprint: pci-device-tracking-in-placement Change-Id: I708724465d2afaa37a65c231c64da88fc8b458eb
* | | Extend device_spec with resource_class and traitsBalazs Gibizer2022-08-251-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each [pci]device_spec entry can specify the two new resource_class and traits tags. If the resource_class is specified then it will be used as the RC in the placement inventory of the PCI devices matching the spec. If not specified then the RC is defaulted CUSTOM_PCI_<vendor_id>_<product_id>. The traits tag is a comma separated list of trait names. Nova will report these traits to RP representing the matching PCI devices. blueprint: pci-device-tracking-in-placement Change-Id: I71b7a2fb8b03a3679733a98958b2f6d447ed5004
* | | Basics for PCI Placement reportingBalazs Gibizer2022-08-251-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A new PCI resource handler is added to the update_available_resources code path update the ProviderTree with PCI device RPs, inventories and traits. It is a bit different than the other Placement inventory reporter. It does not run in the virt driver level as PCI is tracked in a generic way in the PCI tracker in the resource tracker. So the virt specific information is already parsed and abstracted by the resource tracker. Another difference is that to support rolling upgrade the PCI handler code needs to be prepared for situations where the scheduler does not create PCI allocations even after some of the compute already started reporting inventories and started healing PCI allocations. So the code is not prepared to do a single, one shot, reshape at startup, but instead to do a continuous healing of the allocations. We can remove this continuous healing after the PCI prefilter will be made mandatory in a future release. The whole PCI placement reporting behavior is disabled by default while it is incomplete. When it is functionally complete a new [pci]report_in_placement config option will be added to allow enabling the feature. This config is intentionally not added by this patch as we don't want to allow enabling this logic yet. blueprint: pci-device-tracking-in-placement Change-Id: If975c3ec09ffa95f647eb4419874aa8417a59721
* | | Add VDPA support for suspend and livemigrateSean Mooney2022-08-231-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change append vnic-type vdpa to the list of passthough vnic types and removes the api blocks This should enable the existing suspend and live migrate code to properly manage vdpa interfaces enabling "hot plug" live migrations similar to direct sr-iov. Implements: blueprint vdpa-suspend-detach-and-live-migrate Change-Id: I878a9609ce0d84f7e3c2fef99e369b34d627a0df
* | | Add source dev parsing for vdpa interfacesSean Mooney2022-08-221-20/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change extends the guest xml parsing such that the source device path can be extreacted from interface elements of type vdpa. This is required to identify the interface to remove when detaching a vdpa port from a domain. This change fixes a latent bug in the libvirt fixutre related to the domain xml generation for vdpa interfaces. Change-Id: I5f41170e7038f4b872066de4b1ad509113034960
* | | Merge "enable blocked VDPA move operations"Zuul2022-08-202-0/+93
|\ \ \ | |/ / |/| |
| * | enable blocked VDPA move operationsSean Mooney2022-08-162-0/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds functional test for operations on servers with VDPA devices that are expected to work but currently blocked due to lack of testing or qemu bugs. cold-migrate, resize, evacuate,and shelve are enabled and tested by this patch Closes-Bug: #1970467 Change-Id: I6e220cf3231670d156632e075fcf7701df744773