We are ecstatic to announce the release of: nova 31.0.0 This release is part of the epoxy release series. The source is available from: https://opendev.org/openstack/nova Download the package from: https://tarballs.openstack.org/nova/ Please report issues through: https://bugs.launchpad.net/nova/+bugs For more details, please see below. Changes in nova 30.0.0..31.0.0 ------------------------------ 8197f7d5a6 Add Epoxy prelude section 0d484ce37d Add service version for Epoxy a1a118c9f0 Update compute rpc alias for epoxy 4a5e67cff7 doc: mark the maximum microversion for 2025.1 Epoxy 0954ec9e5c Don't calculate the minimum compute version repeatedly. bf8883ca3b Fix serial console for ironic 244f9b0ad1 api: Address TODO in microversion v2.99 244ff89060 tests: Filter out eventlet deprecation warnings 8f6b14bada api: project/tenant and user IDs are not UUIDs 401ca73c26 api: Add response body schemas for for console auth token APIs (v2.99) fd656f3943 Update driver to map the targeted address for SR-IOV PCI devices b227efd967 Update libvirt fixtures to support hostdevs 099859ecf0 Update conductor and filters allowing migration with SR-IOV devices 34f905a8e7 Update manager to allow vfio pci device live migration f9c5f50376 Add live_migratable flag to PCI device specification 07f54bfced Augment the LiveMigrateData object 03915cd59d Update driver to deal with managed flag 7a00971b8f Fix microversion 2.98 doc/tests for update/rebuild APIs f9e89bc0d1 Fix microversion 2.96 for update/rebuild APIs 4aab14a09f libvirt: Add new option to enforce multipath volume connections f7d99623ed Bump MIN_{LIBVIRT,QEMU} for "Epoxy" 5f6ff008c3 libvirt: fix maxphysaddr passthrough dom parsing 2db8af71dd Add support for showing scheduler_hints in server details 12905dade3 Add managed flag to PCI device specification cbc263f6bc libvirt: allow direct SPICE connections to qemu d8e95078cd libvirt: direct SPICE console database changes 253dfc76eb libvirt: direct SPICE console object changes 2c07aa0645 libvirt: Fix regression of listDevices() return type 3cf6667c50 Reproducer for bug 2098892 08cbf0f4b1 FUP for reno issues 7388362f28 Per-Property ImageMetaPropsWeigher acd6c733c6 Add a new ImagePropertiesWeigher d4f40976d0 move nova-ovs-hybrid-plug to deploy with spice and fix qxl default 420050cf33 Add fill_metadata() to InstanceList 9b9534c2f2 Add unit test coverage of get_machine_ips 46435daf5c Drop dependency on netifaces 9507b7b92f Update InstanceNUMACell version in more cases 05c6b6cdbb Add support for showing image properties in server show response 5635095bd2 Replace oslo_utils.encodeutils.exception_to_unicode c161914a4a Bump os-traits to 3.3.0 in requirements 643a6a8a57 Update InstanceNUMACell version after data migration e98393c5c2 allow discover host to be enabled in multiple schedulers a458033568 Fix parameter order in add_instance_info_to_node b3f8815720 Disable the heal instance info cache periodic task bb8ee15106 Cleanup RBAC jobs in check/gate pipeline b8b11c69bd [Trivial] Fix the typo error ae2f9bd573 Reproduce bug/2097359 6ebd8a56d1 ironic: Fix ConflictException when deleting server 41a8a6ff82 trivial: Remove legacy API artifact 97ca3204ad api: Allow min/max_version arguments to response 06e1353334 api: Allow min/max_version arguments to expected_errors 96a5c21f24 Fix device type when booting from ISO image 6f537e756b Restore nova.virt.__init__ cd9ba75b9a Correctly patch get_by_flavor_id 9851a80ed3 Switch to using oslo.utils secretutils 466156c3d5 Add ServersViewBuilderTestV296 unit test class f304b9eaad libvirt: Wrap un-proxied listDevices() and listAllDevices() 26d174b65d Run nova-next without periodic cache healing a67ab85678 Revert "libvirt: Wrap un-proxied listDevices() and listAllDevices()" 9c8f1bcf41 Drop environment for Python 3.8 37e3d960f4 api-ref: Update note on flavor disabled property d94a9925a7 doc: Use dnf instead of yum b063728254 Respect supplied arguments in novncproxy_base_url 2c8400043d Allow hyphen in cinder catalog_info service-type 71e644764c Refactor response schemas for share API b27447d55d Fix unit tests on macOS 168974ef0f Adapt tests to new messages from jsonschema 4.23.0 0c14daf763 Drop compatibility code for Windows 7b22a0af03 Drop unused decoding of xml content 15dccaeed3 Update Nova bdm with updated swap info 115c9b685f Update contributor process documentation ca58f33da2 Replace deprecated FormatChecker.cls_checks 0fccb365dd libvirt: Wrap un-proxied listDevices() and listAllDevices() 838706ded9 Deprecate [wsgi] secure_proxy_ssl_header 5e6474dc97 Refactor test_server_shares: Mock in Base Class and trait verification 73a7c1b295 Manila shares admin guide documentation 1f756657d8 Add virt/libvirt error test cases a34103c53f Add libvirt test to ensure metadata are working. 57d96c265b Reports instance events to the DB regarding attaching and detaching a share 7dfb15235e Add instance.share_detach_error notification 9f8b05fd90 Add instance.share_attach_error notification bf96ca7c9a Add shares to InstancePayload 13d45b6d37 Add instance.share_detach notification 320dca5391 Add instance.share_attach notification bef088040d Add helper methods to attach/detach shares 5e508a09b3 Attach Manila shares via virtiofs (API) d6f5a30caa Check shares support (compute manager) cee77d87f3 Allow to mount manila share using Cephfs protocol 19bf42a582 Support rescuing an instance with shares f8810b4347 Add helper methods to rescue/unrescue shares 8ab51e4422 Support resuming an instance with shares (compute manager part) dcb9f4a94d Add share_info parameter to resume method for each driver (driver part) 3ef78478bc Support rebooting an instance with shares (compute manager part) 7baf901fd2 Add share_info parameter to reboot method for each driver (driver part) fa9883e6f2 api: Remove use of microversion constants 62e9484a8d docs: Add contributor docs for response body validation 873c48c33f api: Add response body schemas for floating IP pool APIs 4404790656 api: Add response body schemas for flavors APIs 807cf3fa84 api: Add response body schemas for flavor extra specs APIs 5cd01e9ec4 api: Add response body schemas for flavor access API 7fff76aca3 api: Add response body schemas for console auth token APIs 52e00f8db9 api: Add response body schemas for bare metal node APIs 7f56f09c21 api: Add response body schemas for availability zone APIs af537d8b3a api: Add response body schemas for port interface APIs ef2a17c78e Replace distutils 277d98433c api: Add response body schemas for assisted volume snapshots APIs fde3f5cce6 api: Add response body schemas for versions APIs 9797183494 api: Add response body schemas for extensions API 14bb8ff237 api: Add response body schemas for host aggregate APIs eec975c063 api: Add response body schemas for host aggregate actions API b967f2a693 api: Add response body schemas for remaining server action APIs fd5b692905 Add [quota]unified_limits_resource_(strategy|list) 5bc088de0d Add metadata for shares 9ea6063ea8 Deletion of associated share mappings on instance deletion 3f3018cde7 Mounting the shares as part of the initialization process 2f0fc21d2a Attach Manila shares via virtiofs (drivers and compute manager part) bee0a5c54a Use client token when talking to manila 0f9001f06e Attach Manila shares via virtiofs (manila abstraction) 908d9263ee api: Add response body schemas for server action APIs 1d43a61167 Improve heal_instance_info_cache periodic bb247ef96b Amend DB model add a unique constraint. aea56e9bcc Amend ShareMappingStatus due to asynchronous call 294e21c803 nova-manage: Add flavor scanning to migrate_to_unified_limits ac48ebd08a zuul: Add missing context comments for nova-next 5e23567707 Fix typo in release note 3abab88784 Update gate jobs as per the 2025.1 cycle testing runtime ce045b9723 Remove default override for config options policy_file 5827c01246 Revert "[libvirt] Live migration fails when config_drive_format=iso9660" 55f5b175ba Fix add/remove SecurityGroup action json schemas b476f0c615 Skip functional tests on pre-commit config update 0254e5da7d Drop remaining logic for websockify < 0.9.0 507c6c1113 Handle iso+gpt detections 2c76fd3baf Route shared storage RPC to evac dest at startup 1d6c80bfe6 Reproduce bug 2085975 in functional f97d674d08 [doc]Developer doc about PCI and SRIOV testing df4cb00b71 [doc]Add `socket` option to [pci]alias numa_policy 07295b0f99 [libvirt]Support hw_vif_model = igb 638efe3cd5 [ovo]Add igb value to hw_vif_model image property b36b7b3a66 Refactor obj_make_compatible to reduce complexity 877e449a11 Add whitebox-devstack-multinode job to periodic 9db3eba813 Fix detaching devices by alias with mdevs 7941533107 Add repoducer test for bug 2074219 957141a2ca pre-commit: Bump versions 0db5dbc8ab [codespell] Fixes for latest version 72e60b5a28 Clean up the remaining logic for Windows OS Support 7344a87bdf Revert "Test live migration between hosts with differnet cpu_shared_sets" cec149be9d Update contributor guide for 2025.1 Epoxy 818b0da7a8 libvirt: Deprecate volume driver for unsupported volume backends 14b5232e12 Drop usage of pkg_resources 6167600e76 Imported Translations from Zanata 4f587a58fa VMware: updates resource provider trait list 95bde8b956 Support creating servers with RBAC SGs be4f4133a0 docs: Remove unused sphinx deps ab18f3763c Libvirt: updates resource provider trait list 9136c74565 Fix broken link fca941adb7 [doc]Fix the device_spec config doc about placement aa943fcb29 Replace deprecated constant_time_compare 91596bef6b Remove Python 3.8 support e28f90866b Fix image format error on vol-backed snapshot cd980cdd1e Remove workaround for eventlet < 0.27.0 8c1a47c9cf Support os-brick specific lock_path 6fb1997def Update master for stable/2024.2 f358a87417 Drop SQLALCHEMY_WARN_20 109647c049 [tox] add LOCALE_ARCHIVE to passenv 6a3ca95a36 Vmware: Remove uuid parameter from get_vmdk_info call 76c10acb33 docs: Show the recommended way to PXE boot an instance 585c579498 docs: Change note:: to warning:: for service user token 3395484105 Adding sysctl changes for post-copy migration b4418001e1 Rephrase the help message 866f2a8563 docs: Correct unified limits CLI commands a8cfa5abc1 Update api-ref for 2.95: evacuate to STOPPED 75c75305ca Fix the command to list hw_machine_type unset instances a87b80fb39 Fix bug 2000069 c5b122f021 Modify the url of openstack client commands. 6d3349dda5 db: Retrieve VirtualInterface objects by UUID, not address Diffstat (except docs and test files) ------------------------------------- .pre-commit-config.yaml | 21 +- .zuul.yaml | 100 +- README.rst | 3 + api-ref/source/index.rst | 1 + api-ref/source/os-server-shares.inc | 163 ++ api-ref/source/parameters.yaml | 90 +- api-ref/source/servers-action-evacuate.inc | 5 + api-ref/source/servers-actions.inc | 17 + api-ref/source/servers-remote-consoles.inc | 21 + api-ref/source/servers.inc | 33 + .../flavor-access-add-tenant-resp.json | 2 +- .../flavor-access/flavor-access-list-resp.json | 2 +- .../v2.99/create-spice-direct-console-req.json | 6 + .../v2.99/get-console-connect-info-get-resp.json | 9 + .../v2.99/create-spice-direct-console-req.json | 6 + .../v2.99/create-spice-direct-console-resp.json | 8 + .../v2.97/server-shares-admin-create-resp.json | 9 + .../v2.97/server-shares-admin-show-resp.json | 9 + .../v2.97/server-shares-create-req.json | 6 + .../v2.97/server-shares-create-resp.json | 7 + .../v2.97/server-shares-list-resp.json | 9 + .../v2.97/server-shares-show-resp.json | 7 + .../servers/v2.100/server-action-rebuild-resp.json | 97 + .../servers/v2.100/server-create-resp.json | 22 + .../servers/v2.100/server-get-resp.json | 98 + .../servers/v2.100/server-update-req.json | 8 + .../servers/v2.100/server-update-resp.json | 95 + .../servers/v2.100/servers-details-resp.json | 105 ++ .../servers/v2.100/servers-list-resp.json | 24 + .../servers/v2.96/server-action-rebuild-resp.json | 81 + .../servers/v2.96/server-action-rebuild.json | 15 + .../servers/v2.96/server-update-req.json | 8 + .../servers/v2.96/server-update-resp.json | 79 + .../servers/v2.98/server-action-rebuild-resp.json | 92 + .../servers/v2.98/server-action-rebuild.json | 15 + .../servers/v2.98/server-update-req.json | 8 + .../servers/v2.98/server-update-resp.json | 90 + .../servers/v2.98/servers-details-resp.json | 100 + .../servers/v2.98/servers-list-resp.json | 24 + .../common_payloads/ImageMetaPropsPayload.json | 2 +- .../common_payloads/InstanceActionPayload.json | 2 +- .../InstanceActionPayloadShareActive.json | 9 + .../InstanceActionPayloadShareInactive.json | 9 + .../InstanceActionRebuildPayload.json | 19 +- .../InstanceActionRescuePayload.json | 12 +- .../InstanceActionResizePrepPayload.json | 54 +- .../InstanceActionSharePayload.json | 9 + .../InstanceActionSnapshotPayload.json | 14 +- .../InstanceActionVolumePayload.json | 16 +- .../InstanceActionVolumeSwapPayload.json | 2 +- .../common_payloads/InstanceCreatePayload.json | 49 +- .../common_payloads/InstanceExistsPayload.json | 12 +- .../common_payloads/InstancePayload.json | 5 +- .../InstancePayloadShareActive.json | 57 + .../InstancePayloadShareInactive.json | 57 + .../common_payloads/InstanceUpdatePayload.json | 58 +- .../common_payloads/ShareActivePayload.json | 12 + .../common_payloads/ShareInactivePayload.json | 12 + .../instance-power_on_share-end.json | 8 + .../instance-power_on_share-start.json | 13 + .../instance-share_attach-end.json | 8 + .../instance-share_attach-error.json | 22 + .../instance-share_attach-start.json | 8 + .../instance-share_detach-end.json | 8 + .../instance-share_detach-error.json | 22 + .../instance-share_detach-start.json | 8 + .../admin/configuration/service-user-token.rst | 10 +- .../contributor/testing/pci-passthrough-sriov.rst | 65 + .../reference/libvirt-distro-support-matrix.rst | 67 +- etc/nova/nova-config-generator.conf | 1 + gate/post_test_hook.sh | 99 + nova/api/metadata/base.py | 8 + nova/api/metadata/handler.py | 3 +- nova/api/openstack/api_version_request.py | 21 +- nova/api/openstack/compute/admin_actions.py | 12 +- nova/api/openstack/compute/admin_password.py | 5 +- nova/api/openstack/compute/aggregates.py | 39 +- .../openstack/compute/assisted_volume_snapshots.py | 16 +- nova/api/openstack/compute/attach_interfaces.py | 17 +- nova/api/openstack/compute/availability_zone.py | 2 + nova/api/openstack/compute/baremetal_nodes.py | 19 +- nova/api/openstack/compute/console_auth_tokens.py | 38 +- nova/api/openstack/compute/console_output.py | 5 +- nova/api/openstack/compute/create_backup.py | 12 +- nova/api/openstack/compute/deferred_delete.py | 2 + nova/api/openstack/compute/evacuate.py | 14 +- nova/api/openstack/compute/extension_info.py | 2 + nova/api/openstack/compute/fixed_ips.py | 8 +- nova/api/openstack/compute/flavor_access.py | 3 + nova/api/openstack/compute/flavors.py | 37 +- nova/api/openstack/compute/flavors_extraspecs.py | 5 + nova/api/openstack/compute/floating_ip_pools.py | 1 + nova/api/openstack/compute/floating_ips.py | 2 + nova/api/openstack/compute/hypervisors.py | 26 +- nova/api/openstack/compute/lock_server.py | 2 + nova/api/openstack/compute/migrate_server.py | 24 +- nova/api/openstack/compute/multinic.py | 8 +- nova/api/openstack/compute/pause_server.py | 2 + nova/api/openstack/compute/remote_consoles.py | 18 +- nova/api/openstack/compute/rescue.py | 8 +- .../openstack/compute/rest_api_version_history.rst | 49 +- nova/api/openstack/compute/routes.py | 11 + .../api/openstack/compute/schemas/admin_actions.py | 8 + .../openstack/compute/schemas/admin_password.py | 4 + .../openstack/compute/schemas/aggregate_images.py | 6 +- nova/api/openstack/compute/schemas/aggregates.py | 139 +- .../compute/schemas/assisted_volume_snapshots.py | 23 +- .../openstack/compute/schemas/attach_interfaces.py | 78 +- .../openstack/compute/schemas/availability_zone.py | 58 + .../openstack/compute/schemas/baremetal_nodes.py | 75 + .../compute/schemas/console_auth_tokens.py | 42 +- .../openstack/compute/schemas/console_output.py | 9 + .../api/openstack/compute/schemas/create_backup.py | 18 +- .../openstack/compute/schemas/deferred_delete.py | 8 + nova/api/openstack/compute/schemas/evacuate.py | 25 +- .../openstack/compute/schemas/extension_info.py | 52 + .../api/openstack/compute/schemas/flavor_access.py | 32 +- nova/api/openstack/compute/schemas/flavors.py | 203 +- .../compute/schemas/flavors_extraspecs.py | 45 +- .../openstack/compute/schemas/floating_ip_pools.py | 19 + nova/api/openstack/compute/schemas/floating_ips.py | 8 + nova/api/openstack/compute/schemas/lock_server.py | 8 + .../openstack/compute/schemas/migrate_server.py | 16 +- nova/api/openstack/compute/schemas/multinic.py | 9 +- nova/api/openstack/compute/schemas/pause_server.py | 8 + .../openstack/compute/schemas/remote_consoles.py | 99 + nova/api/openstack/compute/schemas/rescue.py | 14 + .../openstack/compute/schemas/security_groups.py | 40 +- .../openstack/compute/schemas/server_migrations.py | 4 + .../api/openstack/compute/schemas/server_shares.py | 87 + nova/api/openstack/compute/schemas/servers.py | 574 +++++- nova/api/openstack/compute/schemas/shelve.py | 12 + .../openstack/compute/schemas/suspend_server.py | 8 + nova/api/openstack/compute/schemas/versions.py | 107 ++ nova/api/openstack/compute/security_groups.py | 10 +- nova/api/openstack/compute/server_groups.py | 11 +- nova/api/openstack/compute/server_migrations.py | 9 +- nova/api/openstack/compute/server_shares.py | 262 +++ nova/api/openstack/compute/servers.py | 148 +- nova/api/openstack/compute/services.py | 18 +- nova/api/openstack/compute/shelve.py | 7 + nova/api/openstack/compute/suspend_server.py | 6 + nova/api/openstack/compute/versions.py | 5 + nova/api/openstack/compute/versionsV21.py | 1 + nova/api/openstack/compute/views/server_shares.py | 46 + nova/api/openstack/compute/views/servers.py | 79 +- nova/api/openstack/wsgi.py | 68 +- nova/api/validation/parameter_types.py | 23 + nova/api/validation/validators.py | 73 +- nova/cmd/compute.py | 2 + nova/cmd/manage.py | 207 ++- nova/compute/api.py | 105 +- nova/compute/instance_actions.py | 2 + nova/compute/manager.py | 682 ++++++- nova/compute/resource_tracker.py | 2 +- nova/compute/rpcapi.py | 34 + nova/compute/utils.py | 64 +- nova/conductor/tasks/live_migrate.py | 36 +- nova/conf/__init__.py | 2 + nova/conf/cinder.py | 2 +- nova/conf/compute.py | 27 +- nova/conf/console.py | 2 +- nova/conf/keystone.py | 2 +- nova/conf/libvirt.py | 85 + nova/conf/manila.py | 58 + nova/conf/netconf.py | 15 + nova/conf/notifications.py | 9 + nova/conf/pci.py | 98 +- nova/conf/quota.py | 110 ++ nova/conf/scheduler.py | 91 + nova/conf/spice.py | 18 +- nova/conf/vnc.py | 4 + nova/conf/wsgi.py | 6 + nova/config.py | 5 - nova/console/websocketproxy.py | 5 +- nova/context.py | 2 +- nova/crypto.py | 4 +- nova/db/main/api.py | 16 +- ...cd72dc14_add_tls_port_to_console_auth_tokens.py | 33 + ...df7a903_add_constraint_instance_share_avoid_.py | 75 + nova/db/main/models.py | 11 + nova/exception.py | 85 + nova/image/glance.py | 13 +- nova/limit/local.py | 14 +- nova/limit/placement.py | 25 +- nova/limit/utils.py | 114 ++ nova/locale/cs/LC_MESSAGES/nova.po | 43 +- nova/locale/de/LC_MESSAGES/nova.po | 44 +- nova/locale/es/LC_MESSAGES/nova.po | 43 +- nova/locale/fr/LC_MESSAGES/nova.po | 45 +- nova/locale/it/LC_MESSAGES/nova.po | 44 +- nova/locale/ja/LC_MESSAGES/nova.po | 42 +- nova/locale/ko_KR/LC_MESSAGES/nova.po | 42 +- nova/locale/pt_BR/LC_MESSAGES/nova.po | 43 +- nova/locale/ru/LC_MESSAGES/nova.po | 69 +- nova/locale/tr_TR/LC_MESSAGES/nova.po | 34 +- nova/locale/zh_CN/LC_MESSAGES/nova.po | 43 +- nova/locale/zh_TW/LC_MESSAGES/nova.po | 40 +- nova/monkey_patch.py | 11 - nova/network/constants.py | 1 + nova/network/model.py | 2 + nova/network/neutron.py | 111 +- nova/notifications/objects/base.py | 4 +- nova/notifications/objects/image.py | 3 +- nova/notifications/objects/instance.py | 114 +- nova/objects/base.py | 10 + nova/objects/console_auth_token.py | 20 +- nova/objects/fields.py | 12 +- nova/objects/host_mapping.py | 4 +- nova/objects/image_meta.py | 63 +- nova/objects/instance.py | 24 + nova/objects/instance_numa.py | 88 +- nova/objects/instance_pci_requests.py | 18 + nova/objects/migrate_data.py | 25 +- nova/objects/pci_device.py | 32 +- nova/objects/service.py | 7 +- nova/objects/share_mapping.py | 96 +- nova/objects/virt_device_metadata.py | 10 + nova/objects/virtual_interface.py | 2 +- nova/pci/devspec.py | 22 + nova/pci/manager.py | 7 +- nova/pci/request.py | 13 + nova/pci/stats.py | 42 + nova/pci/whitelist.py | 13 +- nova/policies/__init__.py | 2 + nova/policies/remote_consoles.py | 2 +- nova/policies/server_shares.py | 70 + nova/policy.py | 9 - nova/privsep/fs.py | 5 +- nova/quota.py | 2 +- nova/scheduler/client/report.py | 6 +- nova/scheduler/filters/image_props_filter.py | 6 +- nova/scheduler/manager.py | 18 +- nova/scheduler/weights/image_props.py | 101 + nova/share/__init__.py | 0 nova/share/manila.py | 354 ++++ nova/test.py | 14 +- .../flavor-access/flavor-access-list-resp.json.tpl | 2 +- .../v2.99/create-spice-direct-console-req.json.tpl | 6 + .../get-console-connect-info-get-resp.json.tpl | 9 + .../v2.99/create-spice-direct-console-req.json.tpl | 7 + .../create-spice-direct-console-resp.json.tpl | 8 + .../v2.97/server-shares-admin-create-resp.json.tpl | 10 + .../v2.97/server-shares-admin-show-resp.json.tpl | 10 + .../v2.97/server-shares-create-req.json.tpl | 5 + .../v2.97/server-shares-create-resp.json.tpl | 8 + .../v2.97/server-shares-create-tag-req.json.tpl | 6 + .../v2.97/server-shares-delete-req.json.tpl | 1 + .../v2.97/server-shares-list-resp.json.tpl | 9 + .../v2.97/server-shares-show-resp.json.tpl | 8 + .../v2.100/server-action-rebuild-resp.json.tpl | 97 + .../servers/v2.100/server-action-rebuild.json.tpl | 15 + .../servers/v2.100/server-create-req.json.tpl | 25 + .../{v2.96 => v2.100}/server-create-resp.json.tpl | 0 .../servers/v2.100/server-get-resp.json.tpl | 99 + .../servers/v2.100/server-list-resp.json.tpl | 25 + .../servers/v2.100/server-update-req.json.tpl | 8 + .../servers/v2.100/server-update-resp.json.tpl | 95 + .../servers/v2.100/servers-details-resp.json.tpl | 106 ++ .../servers/v2.100/servers-list-resp.json.tpl | 24 + .../v2.96/server-action-rebuild-resp.json.tpl | 81 + .../servers/v2.96/server-action-rebuild.json.tpl | 15 + .../servers/v2.96/server-update-req.json.tpl | 8 + .../servers/v2.96/server-update-resp.json.tpl | 79 + .../v2.98/server-action-rebuild-resp.json.tpl | 93 + .../servers/v2.98/server-action-rebuild.json.tpl | 15 + .../{v2.96 => v2.98}/server-create-req.json.tpl | 0 .../servers/v2.98/server-create-resp.json.tpl | 22 + .../servers/v2.98/server-details-resp.json.tpl | 93 + .../servers/v2.98/server-get-resp.json.tpl | 95 + .../servers/v2.98/server-list-resp.json.tpl | 25 + .../servers/v2.98/server-update-req.json.tpl | 8 + .../servers/v2.98/server-update-resp.json.tpl | 90 + .../servers/v2.98/servers-details-resp.json.tpl | 102 + .../servers/v2.98/servers-list-resp.json.tpl | 24 + .../functional/libvirt/test_numa_live_migration.py | 2 +- .../functional/libvirt/test_pci_sriov_servers.py | 1172 +++++++++++- .../functional/regressions/test_bug_1890244.py | 2 +- .../functional/regressions/test_bug_1995153.py | 4 +- .../functional/regressions/test_bug_2062425.py | 22 +- .../{test_bug_1951656.py => test_bug_2074219.py} | 37 +- .../functional/regressions/test_bug_2085975.py | 131 ++ .../functional/regressions/test_bug_2098892.py | 52 + .../functional/regressions/test_bug_2143972.py | 15 +- .../openstack/compute/admin_only_action_common.py | 9 +- .../api/openstack/compute/test_admin_actions.py | 13 +- .../api/openstack/compute/test_admin_password.py | 10 +- .../unit/api/openstack/compute/test_aggregates.py | 44 +- .../openstack/compute/test_attach_interfaces.py | 31 +- .../api/openstack/compute/test_baremetal_nodes.py | 38 +- .../api/openstack/compute/test_cloudpipe_update.py | 3 - .../openstack/compute/test_console_auth_tokens.py | 71 +- .../api/openstack/compute/test_create_backup.py | 28 +- .../api/openstack/compute/test_deferred_delete.py | 8 +- .../api/openstack/compute/test_flavor_access.py | 65 +- .../api/openstack/compute/test_flavor_manage.py | 7 +- ...s_extra_specs.py => test_flavors_extraspecs.py} | 0 .../unit/api/openstack/compute/test_hypervisors.py | 2 +- .../unit/api/openstack/compute/test_images.py | 10 +- .../unit/api/openstack/compute/test_keypairs.py | 14 +- .../unit/api/openstack/compute/test_lock_server.py | 16 +- .../api/openstack/compute/test_migrate_server.py | 40 +- .../unit/api/openstack/compute/test_networks.py | 3 - .../api/openstack/compute/test_pause_server.py | 15 +- .../unit/api/openstack/compute/test_quotas.py | 13 +- .../api/openstack/compute/test_remote_consoles.py | 47 +- .../unit/api/openstack/compute/test_rescue.py | 4 +- .../api/openstack/compute/test_security_groups.py | 8 +- .../api/openstack/compute/test_server_actions.py | 40 +- .../openstack/compute/test_server_group_quotas.py | 21 +- .../api/openstack/compute/test_server_groups.py | 4 +- .../api/openstack/compute/test_server_password.py | 5 +- .../openstack/compute/test_server_reset_state.py | 8 +- .../api/openstack/compute/test_server_shares.py | 410 ++++ .../unit/api/openstack/compute/test_servers.py | 293 ++- .../unit/api/openstack/compute/test_services.py | 10 +- .../unit/api/openstack/compute/test_snapshots.py | 4 +- .../api/openstack/compute/test_suspend_server.py | 15 +- .../unit/api/openstack/compute/test_volumes.py | 20 +- .../v1/validation_error_test_data.yaml | 4 +- .../unit/conductor/tasks/test_live_migrate.py | 113 +- .../unit/notifications/objects/test_instance.py | 41 + .../notifications/objects/test_notification.py | 29 +- .../policies/test_assisted_volume_snapshots.py | 9 +- .../unit/policies/test_console_auth_tokens.py | 13 + .../scheduler/weights/test_weights_image_props.py | 196 ++ nova/utils.py | 58 +- nova/virt/__init__.py | 18 - nova/virt/disk/api.py | 15 +- nova/virt/driver.py | 53 +- nova/virt/fake.py | 58 +- nova/virt/hardware.py | 31 + nova/virt/images.py | 26 +- nova/virt/ironic/driver.py | 56 +- nova/virt/libvirt/blockinfo.py | 32 +- nova/virt/libvirt/config.py | 3 +- nova/virt/libvirt/driver.py | 376 +++- nova/virt/libvirt/guest.py | 8 +- nova/virt/libvirt/host.py | 92 +- nova/virt/libvirt/imagebackend.py | 2 +- nova/virt/libvirt/migration.py | 77 +- nova/virt/libvirt/utils.py | 2 +- nova/virt/libvirt/vif.py | 2 + nova/virt/libvirt/volume/cephfs.py | 52 + nova/virt/libvirt/volume/fibrechannel.py | 3 +- nova/virt/libvirt/volume/fs.py | 2 +- nova/virt/libvirt/volume/iscsi.py | 3 +- nova/virt/libvirt/volume/iser.py | 3 +- nova/virt/libvirt/volume/mount.py | 5 +- nova/virt/libvirt/volume/nvme.py | 3 +- nova/virt/libvirt/volume/quobyte.py | 6 + nova/virt/libvirt/volume/smbfs.py | 6 + nova/virt/libvirt/volume/vzstorage.py | 4 + nova/virt/vmwareapi/driver.py | 25 +- nova/virt/vmwareapi/images.py | 5 +- nova/virt/vmwareapi/vm_util.py | 60 +- nova/virt/vmwareapi/vmops.py | 20 +- nova/virt/zvm/driver.py | 6 +- nova/volume/cinder.py | 7 +- .../notes/bp-igb-vif-model-d1366bcbea7afdd2.yaml | 6 + ...ge-metadata-props-weigher-b09125e1837428f5.yaml | 18 + ...ched-hints-server-details-22bc15d5ea81e43a.yaml | 7 + ...-event-during-hard-reboot-fb491f6a68370bab.yaml | 2 +- .../notes/bug-2019977-4afe7658394130b8.yaml | 7 + .../notes/bug-2074219-937d6404c1cbb04c.yaml | 17 + ...rameter-order-in-add_instance_info_to_node.yaml | 7 + .../notes/caracal-prelude-63fac6e27509930d.yaml | 2 +- ...inder-catalog-info-hyphen-842f02febcfff041.yaml | 7 + ...e-secure_proxy_ssl_header-cc0bf562efaa5eba.yaml | 5 + ...nsupported-volume-drivers-269265578de1c1e3.yaml | 10 + ...tance_info_cache_interval-0d9ae7c12793bf7b.yaml | 43 + ...ed-discover-hosts-perodic-b983f528516dec14.yaml | 12 + ...th-kernel-variant-drivers-fb675539545d2db2.yaml | 8 + ...libvirt-QEMU-version-bump-acfbb1b9228e1136.yaml | 10 + .../notes/epoxy-prelude-f164cc03b742cfc5.yaml | 47 + ...erial-console-with-ironic-830dbd920e8c0f15.yaml | 6 + ...mage-props-in-server-show-e28886d164774343.yaml | 10 + releasenotes/notes/lock_path-7a9f0230f3e25716.yaml | 7 + ...default-spice-video-model-fff5189fa637d4bd.yaml | 24 + .../notes/microversion-2-96-ca56e1e5a4ee4e02.yaml | 4 +- ...ng-kernel-variant-drivers-d4180849f973012e.yaml | 8 + .../novnc_respect_query-5a670b25a44e7fdc.yaml | 6 + .../notes/remove-py38-5c619aee267bc1f3.yaml | 5 + .../notes/resize-swap-size-1e15e67c436f4b95.yaml | 10 + .../share-notifications-e9f096aa2a302c57.yaml | 9 + .../spice-direct-consoles-4bee40633633c971.yaml | 12 + ...rt-shared-security-groups-3651e1e1f56cfb7b.yaml | 9 + ...nified-limits-flavor-scan-3e41db3379ed0aba.yaml | 12 + ...limits-required-resources-fb99b0d994decf62.yaml | 36 + ...xied-libvirt-list-devices-7cd218c1a33535c9.yaml | 11 + .../volume_enforce_multipath-c790e98b9b05848e.yaml | 9 + releasenotes/source/2024.2.rst | 6 + releasenotes/source/index.rst | 1 + requirements.txt | 11 +- setup.cfg | 4 +- tox.ini | 13 +- 505 files changed, 21942 insertions(+), 3220 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index ba5c4dca53..1670ecc5bb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -21 +20,0 @@ netaddr>=0.7.18 # BSD -netifaces>=0.10.4 # MIT @@ -41 +40 @@ oslo.upgradecheck>=1.3.0 -oslo.utils>=7.3.0 # Apache-2.0 +oslo.utils>=8.0.0 # Apache-2.0 @@ -45 +44 @@ oslo.messaging>=14.1.0 # Apache-2.0 -oslo.policy>=4.4.0 # Apache-2.0 +oslo.policy>=4.5.0 # Apache-2.0 @@ -53 +52 @@ oslo.versionedobjects>=1.35.0 # Apache-2.0 -os-brick>=5.2 # Apache-2.0 +os-brick>=6.10.0 # Apache-2.0 @@ -55 +54 @@ os-resource-classes>=1.1.0 # Apache-2.0 -os-traits>=3.1.0 # Apache-2.0 +os-traits>=3.3.0 # Apache-2.0 @@ -65 +64 @@ futurist>=1.8.0 # Apache-2.0 -openstacksdk>=0.35.0 # Apache-2.0 +openstacksdk>=4.4.0 # Apache-2.0
participants (1)
-
no-reply@openstack.org