Commit Graph

61060 Commits

Author SHA1 Message Date
Zuul f420b321dc Merge "Fix broken link" 2024-11-30 02:55:01 +00:00
Zuul e9cc253ba1 Merge "Drop usage of pkg_resources" 2024-11-30 02:51:59 +00:00
Zuul fe245e071b Merge "Replace distutils" 2024-11-30 02:44:50 +00:00
Zuul f3d6ee6fa2 Merge "Support rescuing an instance with shares" 2024-11-29 22:44:42 +00:00
Zuul 679e82e90e Merge "Add helper methods to rescue/unrescue shares" 2024-11-29 14:47:00 +00:00
Zuul 21e6a54a81 Merge "Support resuming an instance with shares (compute manager part)" 2024-11-28 21:41:43 +00:00
Zuul 1b6dca69b5 Merge "Revert "[libvirt] Live migration fails when config_drive_format=iso9660"" 2024-11-28 16:40:24 +00:00
Zuul 54534fbcb2 Merge "Add share_info parameter to resume method for each driver (driver part)" 2024-11-28 13:50:50 +00:00
Zuul acbd0ab5e8 Merge "Support rebooting an instance with shares (compute manager part)" 2024-11-28 13:37:55 +00:00
Zuul a69ec02921 Merge "Add share_info parameter to reboot method for each driver (driver part)" 2024-11-28 13:28:51 +00:00
Zuul 1cdea531cb Merge "pre-commit: Bump versions" 2024-11-27 18:15:54 +00:00
Zuul 3b075492e3 Merge "[codespell] Fixes for latest version" 2024-11-27 18:15:39 +00:00
René Ribaud 19bf42a582 Support rescuing an instance with shares
Allow to rescue an instance with shares attached.

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: I27a408b5af6103c60947fb2c4415cafe11f37f61
2024-11-27 11:30:03 +01:00
René Ribaud f8810b4347 Add helper methods to rescue/unrescue shares
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: I0d61e0055d95b15e299ebc2b39003a9d05f29441
2024-11-27 11:30:03 +01:00
René Ribaud 8ab51e4422 Support resuming an instance with shares (compute manager part)
Allow to resume an instance with shares attached.

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: I41639e51b624be0d09f8dad25e66cb8bd0185311
2024-11-27 11:30:03 +01:00
René Ribaud dcb9f4a94d Add share_info parameter to resume method for each driver (driver part)
This patch allow to pass share_info parameter to the resume
method. So it will allow to resume an instance and keep the
shares attached.

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: I66da2b010caa7e7bed15e69c1e14fd22ca1c8a31
2024-11-27 11:30:03 +01:00
René Ribaud 3ef78478bc Support rebooting an instance with shares (compute manager part)
Allow to reboot an instance with shares attached.

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: I4ee4bb6cfe4f2baee121c2bcd62a8532d4ed8d1c
2024-11-27 11:30:03 +01:00
René Ribaud 7baf901fd2 Add share_info parameter to reboot method for each driver (driver part)
This patch allow to pass share_info parameter to the reboot
method. So it will allow to reboot instance and keep the
shares attached.

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: I897cbd9ebc91938d0227d988b4bc833f2216618a
2024-11-27 11:30:03 +01:00
Zuul d9f9b3abb3 Merge "api: Add response body schemas for remaining server action APIs" 2024-11-26 20:24:35 +00:00
Zuul f98f414f97 Merge "Add metadata for shares" 2024-11-26 08:40:27 +00:00
Zuul a96c62f200 Merge "Remove default override for config options policy_file" 2024-11-25 23:24:13 +00:00
Zuul 68eb977654 Merge "Add [quota]unified_limits_resource_(strategy|list)" 2024-11-25 20:48:51 +00:00
Zuul fe49e303f0 Merge "Deletion of associated share mappings on instance deletion" 2024-11-25 13:49:45 +00:00
Zuul 8a0fa58d8c Merge "Mounting the shares as part of the initialization process" 2024-11-25 12:59:11 +00:00
Takashi Kajinami ef2a17c78e Replace distutils
distutils module was deprecated in 3.10 and was removed in Python
3.12 .

https://docs.python.org/3.11/library/distutils.html

Closes-Bug: #2083518
Change-Id: Id28c0a7aaabcda0f1f9a6a7402b77a09565899f7
2024-11-23 08:11:45 +00:00
Stephen Finucane b967f2a693 api: Add response body schemas for remaining server action APIs
This demonstrates far more complex response schemas, including the
response to the rebuild action which is effectively the response to the
server show API.

Change-Id: I6dc355f3c3f164d0bc7887a58e8b13979f0b476e
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2024-11-22 14:23:48 -08: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 15a10c6ccd Merge "api: Add response body schemas for server action APIs" 2024-11-22 22:06:46 +00:00
René Ribaud 5bc088de0d Add metadata for shares
This patch add device metatada to an instance if a share is is attached.
Users can get the share information (share_id and tag) from the metadata
and create automation to mount the share on the VM.

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: I4c7bb15dbe423ec2815efe9d9505b1e8f2a3c4f5
2024-11-22 15:39:59 +01:00
René Ribaud 9ea6063ea8 Deletion of associated share mappings on instance deletion
The intended action of this patch is to eliminate the mappings of shares
associated with an instance once the instance is deleted first.

Implements: blueprint libvirt-virtiofs-attach-manila-shares
Change-Id: I920266e5ff1397f6324344e21c56e243e9f02417
2024-11-22 15:39:59 +01:00
René Ribaud 3f3018cde7 Mounting the shares as part of the initialization process
The purpose of this patch is to ensure that, in the event of a compute
reboot, shares associated with instances are mounted successfully on the
compute host during the service initialization process.

To use Manila as an admin, it is necessary to have a Manila section in the
"nova.conf" configuration file. As a result, the dependencies below have
been introduced in DevStack to satisfy this requirement.

Implements: blueprint libvirt-virtiofs-attach-manila-shares
Change-Id: Ia498c72e1d79e98e4d50e2337a5acc4921910f06
2024-11-22 15:39:59 +01:00
René Ribaud 2f0fc21d2a Attach Manila shares via virtiofs (drivers and compute manager part)
This patch does multiple things:
1) Extends the virt interface to pass share_info down to the driver an
   update the signatures in all in tree drivers.
2) Extends the compute manager to pass the share_info to the driver at
   certain actions.
3) Implement the share_info handling in the libvirt driver.
3.1) Checks requirements for shares and reports the new capabilities
     COMPUTE_STORAGE_VIRTIO_FS and
     COMPUTE_MEM_BACKING_FILE to signal that.
3.2) Implements mount / unmount.
4) Changes the scheduler to request new capabilities.

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

Depends-On: https://review.opendev.org/c/openstack/os-traits/+/832769
Depends-On: https://review.opendev.org/c/openstack/manila/+/926491
Change-Id: I3a4bca7f03cfa9a1bc20f3f9937bb9b44fe2cde3
2024-11-22 15:39:59 +01:00
Balazs Gibizer bee0a5c54a Use client token when talking to manila
When a user asks nova to attach a manila share to the user's instance
nova should use the user's keystone token to talk to manila so that
manila can verify if the user has access to the share.

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: I793f0518dcfffd2286e7bc685cab76794aece91d
2024-11-22 15:39:57 +01:00
René Ribaud 0f9001f06e Attach Manila shares via virtiofs (manila abstraction)
This patch is inspired by /nova/volume/cinder.py, it is an abstraction to
the manila service.

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
Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/889519

Change-Id: I44ab37ec2c15fcfc351c42216660bda39461b163
2024-11-22 14:42:49 +01:00
Stephen Finucane 908d9263ee api: Add response body schemas for server action APIs
At least those that don't return bodies (plus rescue, which is easy)
since they're tedious but simple, thus providing a good test ground for
this effort.

Change-Id: I78003b1d2c1515e5fd5e17405df6a219878bdb8a
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2024-11-22 12:40:45 +00:00
Zuul 9a1872d30e Merge "Amend DB model add a unique constraint." 2024-11-21 19:09:02 +00:00
Zuul 40805343e7 Merge "Amend ShareMappingStatus due to asynchronous call" 2024-11-21 19:08:53 +00:00
Zuul 826557706d Merge "nova-manage: Add flavor scanning to migrate_to_unified_limits" 2024-11-21 17:13:26 +00:00
René Ribaud bb247ef96b Amend DB model add a unique constraint.
This update adds a constraint between instance_uuid and share_id to
make sure it will be unique. It aims to avoid potential conflicts
from simultaneous API creation requests, which could result in the
creation of duplicate records in the database.

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: I419fd40baf9acf487154eebc77c181633ea53272
2024-11-21 09:48:12 +01:00
René Ribaud aea56e9bcc Amend ShareMappingStatus due to asynchronous call
This update introduces the "attaching" status, which indicates
the beginning of a connection between a share and a server. When
this occurs, the compute system will permit a policy to connect
the share through Manila and will record this connection in the
share_mapping table. Once completed, the status will transition to
"inactive." Additionally, the "detaching" status has been added to
indicate the end of a link between a share and a server. During this
process, the compute system will revoke the share's policy and delete
its entry from the share_mapping table.

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: I1724940474b2e96e0c3962095f77df55c749529a
2024-11-21 09:48:12 +01:00
melanie witt 294e21c803 nova-manage: Add flavor scanning to migrate_to_unified_limits
This makes 'nova-manage limits migrate_to_unified_limits' scan the API
database for flavors and detect if any resource classes are missing
registered limits in Keystone.

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

Change-Id: I431176fd4d09201c551d8f82c71515cd4616cfea
2024-11-21 02:02:26 +00:00
Zuul e8a544f0e1 Merge "Remove workaround for eventlet < 0.27.0" 2024-11-20 06:01:57 +00:00
Zuul fc02082d95 Merge "Replace deprecated constant_time_compare" 2024-11-19 17:55:29 +00:00
Zuul 4f845a8aae Merge "Drop remaining logic for websockify < 0.9.0" 2024-11-19 17:55:21 +00:00
Ghanshyam Mann ce045b9723 Remove default override for config options policy_file
olso.policy 4.5.0[1] changed the config options policy_file
default value to 'policy.yaml', which means it is changed
for all the OpenStack services and they do not need to
override the default anymore.

NOTE: There is no change in behaviour here, oslo.policy provides
the same configuration that services have overridden till now.

[1] https://review.opendev.org/c/openstack/releases/+/934012
[2] https://review.opendev.org/c/openstack/requirements/+/934295

Change-Id: I6e4c517eb81a50056563189753b21191bbf6b92d
2024-11-16 02:56:03 +00:00
Zuul 1acaf899a6 Merge "Clean up the remaining logic for Windows OS Support" 2024-11-14 22:52:06 +00:00
Doug Szumski 5827c01246 Revert "[libvirt] Live migration fails when config_drive_format=iso9660"
This reverts commit 48d30c16d339c8d1218c3b85c9da7a69f7e99bb8.

The motivation is to work around the issue raised in
https://bugs.launchpad.net/nova/+bug/1939869 for copying
config drives.

As discussed in IRC, the config drive format option has been
deprecated for a long time, and the workaround reverted here
should no longer be required due to a fix in Libvirt v1.2.17.

Change-Id: I65fce259d7a6b14be82ec40b9d1b63cdac828e18
2024-11-13 16:24:41 +00:00
Zuul dfdb833038 Merge "Skip functional tests on pre-commit config update" 2024-11-12 16:35:48 +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