We are jazzed to announce the release of: manila 19.0.0 This release is part of the dalmatian release series. The source is available from: https://opendev.org/openstack/manila Download the package from: https://tarballs.openstack.org/manila/ Please report issues through: https://bugs.launchpad.net/manila/+bugs For more details, please see below. 19.0.0 ^^^^^^ Bug Fixes * The CephFS driver used to set the "preferred" export path incorrectly. It is now fixed to set it as part of export location metadata. See Launchpad bug 2053100 (https://launchpad.net/bugs/2053100) for more details. * Share manager drivers can now update export location metadata (such as the *preferred* attribute) during the *ensure_shares* routine. (Launchpad bug: 2053100 (https://launchpad.net/bugs/2053100)) Changes in manila 18.0.1..19.0.0 -------------------------------- 620933cdb Fix "preferred" export locations in the CephFS driver 7fd6a54e4 Remove extra policy check ffa4233b9 Fix export location metadata updates by drivers 5b58f3453 Update TOX_CONSTRAINTS_FILE for stable/2024.2 7fc6b8008 Update .gitreview for stable/2024.2 07ce64462 Fix export locations update when subnet is added 2439d9599 Fix the remaining review comments from SnapLock patch 2c90e5992 [api-ref] fix resource lock api reference 911ee6597 Fix broken release note rendering 0892de04f [NetApp] SnapLock support for NetApp driver 201606202 Metadata for Share Export Location 7085a3eaf svm migration across physical networks with multiple port bindings 43538613e [NetApp] Custom storage efficiency policy support for Manila share 09a8d2a03 Imported Translations from Zanata 101becf9b API for ensure shares 861a67193 Add json and yaml formatting to manila-manage 203a5e325 Allow scheduling to disabled manila-share host 30281a646 Manage/unmanage for CephFS drivers 28908d69d Allow drivers to set share size after revert to snapshot 354831c9b NetApp: don't check kerberos config on mgmt LIF. 52d423f60 NetApp: Implement share metadata update method 36f6ec042 Lock shares when creating a locked access rule 53c8b69c0 Create ports as disabled with external networks 503d7dfc6 Remove default override for RBAC config options 1f1bb0d09 pre-commit: Bump versions 835584b3b api: Add schemas for messages c4144bd5a Initialize profiler after ProcessLauncher fork 14ef89161 update requirements for VAST manila driver 8c418e930 Pass share metadata updates to backend drivers 9e0f39f9d OpenStack Shares Backup management documentation d11e6b717 Human readable export location documentation 4ba31e8c6 Imported Translations from Zanata 9c5cdb3de Add share driver for VastData storage 7d1a66632 [NetApp] Fix FlexGroup share creation while configuring dedup/compression e982eae40 Netapp: Retry Dedupe enable/disable if busy 31fa27b8b Explicitly decode with utf-8 in validation helpers 232627db3 Fixed bug 2069125: Manila driver error with ONTAP SVM-scoped user 528a64448 bug fix: error message fix 06f3e12a8 Add OpenAPI generation job 62ad3537c [Netapp] Fix soft_delete_snapshot get children case 436e7f998 api: Add descriptions to API schemas 12aa2913b Bump pylint version and fix pylint issues d7f7b6312 Dell PowerFlex: Set default value for port config 657acf5c1 api: Add schemas for availability_zones 1306849b5 tests: Ensure API schemas are actually valid 52d2a59ac tests: Ensure APIs have schemas 76d032969 Fix leak of ports on share server deletion be0c8561c Fix share/snapshot show for deferred deletion 7bcf51e96 [NetApp] Pause and resume clone split during rename snapshot 9be7243e7 api: Add schemas for resource_locks 05279a6fe [CI] Grenade job changes for 2024.2 release cycle d9dd70c4f Applies nosec in Dell EMC eNAS cad315856 Specify bandit rule to nosec in ZFSSA driver 67f95a49e Fixes for Bandit Issues in Nexenta Drivers 44dedee9f api: Add validation middleware 33034100e QNAP bandit follow up 571d67a8d Refactor mockup file load e047b428a Replace deprecated xml.etree.cElementTree 224e304e8 Remove logic for Python 2 compatibility b6d7129a5 Remove fallback for Python 2 fab04b575 Optimize deferred deletion share instance get query cf94931d9 Remove old excludes 333e6aee9 Enable Bandit testing in Manila 05c9446bd Replaces qnap driver XML with defusedxml 080d3ba66 Fix the backup restore issue for NetApp driver for REST client 2808f3e1f Adds nosec comments to Ganesha drivers 3a958c78c Adds usedforsecurity=False to NetApp ONTAP MD5 hashes f8a53c037 Ensure password values are not logged 674c9c9e1 Adds "usedforsecurity=False" to veritas drivers b269c140a RBAC: Enable "new" defaults and scope checks 32ac17605 Adds timeouts to Quobyte driver file 44248f1f4 Remove SQLAlchemy tips jobs e47c6c261 Adds usedforsecurity=False to HPE 3PAR driver 2a9ac87cc Add job to test with SQLAlchemy master (2.x) 2da6258dd Adds nosec comment to ZFSSA driver 16b02bc70 tests: Don't (always) auto-create snapshot instances 23de7b4b0 Add delete CLI helper to ShareCommands 825ee3743 db: rename_table is not a batch operation ebfeee03e [doc] Quota paramaters have moved to the [quota] section 9c94a9adf db: Don't use strings to indicate relationship names 96274a077 db: Remove unnecessary warning filter cb31307ad Replaces Huawei driver XML with defusedxml 505719a50 db: turn off autocommit 0ce2857d0 db: update migrations to use SQLA 2.0 patterns aa8695716 Fix backup delete issue when source and destination vserver are same cae5ac7be db: Remove final use of legacy facade 98ef4c775 db: Post-migration cleanup 1330a5e34 db: Remove 'get_session' d58171435 db: Remove session arguments from AZ methods d74c80412 db: Migrate "share" APIs to enginefacade f3805e2a1 db: Migrate "share snapshot metadata" APIs to enginefacade a55cafae8 db: Migrate "share snapshot export location" APIs to enginefacade b8f5d6199 db: Migrate "share * access" APIs to enginefacade 685acf601 db: Migrate "share snapshot", "share snapshot instance" APIs to enginefacade dd615466e [doc] Mount options in the ceph native driver 77383b4d1 [DOC] Add subnet metadata to user guide 5b3c29548 [DOC] Add snapshot metadata to user guide 3be71e3e0 db: Unwind unnecessary independent transactions c4096ec66 Use config validation to reject invalid max_over_subscription_ratio ea5afedce [doc] add instructions regarding healthchecks e5e3b1065 [doc] Admin only modifiable metadata 33dc4b767 Fix backup creation errors with NetApp driver 0c8cc2333 Update master for stable/2024.1 c8236141f Fix the link to get the next share replica 36549c8b9 db: Migrate "share instance", "share replica" APIs to enginefacade 2b5205672 Check share network for share groups before deletion Diffstat (except docs and test files) ------------------------------------- .gitreview | 1 + .pre-commit-config.yaml | 17 +- api-ref/source/parameters.yaml | 6 +- api-ref/source/resource-locks.inc | 6 +- .../share_back_ends_feature_support_mapping.rst | 8 + .../admin/shared-file-systems-crud-share.rst | 11 +- .../admin/shared-file-systems-healthcheck.rst | 141 ++ .../admin/shared-file-systems-services-manage.rst | 3 +- ...shared-file-systems-share-backup-management.rst | 322 ++++ .../configuration/shared-file-systems/drivers.rst | 1 + .../shared-file-systems/drivers/cephfs_driver.rst | 11 + .../drivers/vastdata_driver.rst | 90 + .../configuration/tables/manila-vastdata.inc | 32 + .../user/share-network-subnet-operations.rst | 46 + manila/api/common.py | 21 +- manila/api/openstack/__init__.py | 48 +- manila/api/openstack/api_version_request.py | 4 +- manila/api/openstack/rest_api_version_history.rst | 9 + manila/api/schemas/__init__.py | 0 manila/api/schemas/availability_zones.py | 54 + manila/api/schemas/messages.py | 172 ++ manila/api/schemas/resource_locks.py | 325 ++++ manila/api/urlmap.py | 5 +- manila/api/v1/shares.py | 46 +- manila/api/v2/availability_zones.py | 8 + manila/api/v2/messages.py | 11 +- manila/api/v2/metadata.py | 54 +- manila/api/v2/resource_locks.py | 12 + manila/api/v2/router.py | 46 + manila/api/v2/services.py | 46 +- manila/api/v2/share_export_locations.py | 102 +- manila/api/v2/share_network_subnets.py | 9 + manila/api/v2/share_types.py | 2 +- manila/api/v2/shares.py | 31 +- manila/api/validation/__init__.py | 230 +++ manila/api/validation/helpers.py | 32 + manila/api/validation/parameter_types.py | 76 + manila/api/validation/parameters.yaml | 1 + manila/api/validation/response_types.py | 53 + manila/api/validation/validators.py | 277 +++ manila/api/views/export_locations.py | 11 + manila/api/views/services.py | 5 + manila/api/views/share_replicas.py | 1 + manila/cmd/manage.py | 107 +- manila/common/config.py | 15 + manila/common/constants.py | 13 +- manila/db/api.py | 61 +- ...aec99b74_add_per_share_gigabytes_quota_class.py | 5 +- .../alembic/versions/162a3e673105_manila_init.py | 39 +- .../versions/238720805ce1_add_messages_table.py | 3 +- ...4747f_add_share_instance_access_rules_status.py | 18 +- ...17afa_add_create_share_from_snapshot_support.py | 157 +- ...48a7beae3117_move_share_type_id_to_instances.py | 12 +- .../versions/5077ffcc5f1c_add_share_instances.py | 26 +- ...ade7_restore_share_instance_access_map_state.py | 7 +- ...d_snapshot_support_extra_spec_to_share_types.py | 67 +- ...6cdbe267881_add_share_export_locations_table.py | 73 +- .../579c267fbb4d_add_share_instances_access_map.py | 7 +- .../59eb64046740_add_required_extra_spec.py | 85 +- .../87ce15c59bbe_add_revert_to_snapshot_support.py | 40 +- .../a87e0fb17dee_multiple_share_server_subnets.py | 52 +- ...t_members_and_share_snapshot_instance_models.py | 3 +- .../cdefa6287df8_add_ensuring_field_to_services.py | 48 + .../dda6de06349_add_export_locations_metadata.py | 7 +- .../ef0c02b4366_add_share_type_projects.py | 2 +- manila/db/migrations/utils.py | 3 +- manila/db/sqlalchemy/api.py | 1861 +++++++++++--------- manila/db/sqlalchemy/models.py | 9 +- manila/db/sqlalchemy/query.py | 3 +- manila/exception.py | 25 + manila/message/message_field.py | 12 + manila/network/__init__.py | 3 +- manila/network/neutron/api.py | 39 + manila/network/neutron/neutron_network_plugin.py | 156 +- manila/network/standalone_network_plugin.py | 3 +- manila/opts.py | 2 + manila/policies/service.py | 19 + manila/policies/share_export_location.py | 97 + manila/policies/share_snapshot.py | 6 +- manila/policies/shares.py | 6 +- manila/policy.py | 7 +- manila/scheduler/drivers/filter.py | 12 +- manila/scheduler/evaluator/evaluator.py | 2 +- manila/scheduler/host_manager.py | 29 +- manila/service.py | 6 +- manila/services/__init__.py | 0 manila/services/api.py | 38 + manila/share/api.py | 89 +- manila/share/driver.py | 29 +- manila/share/drivers/cephfs/driver.py | 336 +++- .../drivers/dell_emc/common/enas/xml_api_parser.py | 4 +- manila/share/drivers/dell_emc/driver.py | 1 + .../dell_emc/plugins/powerflex/connection.py | 6 +- manila/share/drivers/ganesha/__init__.py | 32 +- manila/share/drivers/ganesha/manager.py | 3 +- manila/share/drivers/ganesha/utils.py | 2 +- manila/share/drivers/glusterfs/common.py | 2 +- manila/share/drivers/glusterfs/layout_directory.py | 2 +- manila/share/drivers/glusterfs/layout_volume.py | 2 +- manila/share/drivers/hdfs/hdfs_native.py | 1 + manila/share/drivers/hpe/hpe_3par_driver.py | 2 +- manila/share/drivers/huawei/huawei_nas.py | 3 +- manila/share/drivers/huawei/v3/helper.py | 2 +- manila/share/drivers/infortrend/driver.py | 2 - manila/share/drivers/macrosan/macrosan_nas.py | 1 - manila/share/drivers/maprfs/maprfs_native.py | 1 + .../share/drivers/netapp/dataontap/client/api.py | 1 + .../netapp/dataontap/client/client_cmode.py | 313 +++- .../netapp/dataontap/client/client_cmode_rest.py | 211 ++- .../netapp/dataontap/cluster_mode/data_motion.py | 10 +- .../netapp/dataontap/cluster_mode/drv_multi_svm.py | 5 + .../dataontap/cluster_mode/drv_single_svm.py | 5 + .../netapp/dataontap/cluster_mode/lib_base.py | 340 +++- .../netapp/dataontap/cluster_mode/lib_multi_svm.py | 6 +- manila/share/drivers/netapp/options.py | 4 +- manila/share/drivers/nexenta/ns4/jsonrpc.py | 2 +- manila/share/drivers/nexenta/ns5/jsonrpc.py | 2 +- manila/share/drivers/qnap/api.py | 44 +- manila/share/drivers/quobyte/jsonrpc.py | 9 +- manila/share/drivers/tegile/tegile.py | 1 + manila/share/drivers/vastdata/__init__.py | 0 manila/share/drivers/vastdata/driver.py | 400 +++++ manila/share/drivers/vastdata/driver_util.py | 211 +++ manila/share/drivers/vastdata/rest.py | 332 ++++ manila/share/drivers/veritas/veritas_isa.py | 6 +- manila/share/drivers/zfssa/restclient.py | 3 +- manila/share/drivers/zfssa/zfssashare.py | 1 + manila/share/manager.py | 259 ++- manila/share/rpcapi.py | 21 +- manila/test.py | 31 - .../migrations/alembic/migrations_data_checks.py | 1587 +++++++++-------- .../dell_emc/plugins/powerflex/test_connection.py | 2 +- .../plugins/powerflex/test_object_manager.py | 10 +- .../dell_emc/plugins/powerstore/test_client.py | 10 +- .../share/drivers/netapp/dataontap/client/fakes.py | 88 +- .../netapp/dataontap/client/test_client_cmode.py | 441 ++++- .../dataontap/client/test_client_cmode_rest.py | 307 +++- .../netapp/dataontap/cluster_mode/test_lib_base.py | 437 ++++- .../share/drivers/nexenta/ns4/test_nexenta_nas.py | 32 +- .../share/drivers/vastdata/test_driver_util.py | 267 +++ manila/utils.py | 22 + .../add-ensure-shares-api-9ac10877a99ab0c5.yaml | 16 + ...t-output-to-manila-manage-c0bbccb16369e5d3.yaml | 6 + .../notes/add-vastdriver-5a2ca79a81bc9280.yaml | 3 + ..._export_location_metadata-d3c279b73f4c4728.yaml | 9 + ...pdates-to-backend-drivers-7fff302f64fda2d7.yaml | 11 + .../bug-1867030-delete-share-55663c74a93e77fd.yaml | 5 + ...eletion-when-group-exists-a35355feb1bf6848.yaml | 7 + ...g-2017501-fix-share-export-location-update.yaml | 7 + ...754-fix-share-replica-url-367797a27a9c314d.yaml | 6 + ...it-during-snapshot-rename-fd0f990d50644d9c.yaml | 8 + ...exgroup-dedup-compression-aeb013a6ef24f610.yaml | 6 + ...ver-preferred-path-update-70147668e0f19c4d.yaml | 7 + ...th-preferred-attr-updates-32db001aacfc8563.yaml | 6 + ...-forever-for-wrong-config-a9e10419f33ecb97.yaml | 9 + ...-destination-same_vserver-7e165f9acfec123c.yaml | 8 + ...-restore-failing-for-rest-bc060fcf893ae0f6.yaml | 10 + ...pp-fix-revert-to-snapshot-f23ab4dc325b2c42.yaml | 9 + ...ll-powerflex-default-port-fc50b82979e3b11b.yaml | 7 + ...-on-share-server-deletion-b6faf19725727988.yaml | 10 + ...how-for-deferred-deletion-37654e034eabccc6.yaml | 6 + ...filer-initialization-compatible-with-forks.yaml | 6 + ...scoped-user-when-add-rule-1ae120a96dd8f68a.yaml | 8 + ...peratin-if-already-active-4625605175f76d07.yaml | 8 + ...heduling-to-disabled-host-82c93468ec322256.yaml | 7 + ...-validate-kerberos-config-ef0f1249fcc4445b.yaml | 9 + ...ports-on-neutron-ext-nets-af3ff56da9a928df.yaml | 9 + ...etion-when-rule-is-locked-9ce9c6914acc1edb.yaml | 12 + .../enable-enforce-scope-c2d57db049741896.yaml | 24 + ...storage-efficiency-policy-5fa0b2b15901bf93.yaml | 10 + ...hare-from-metadata-method-71f308c2b05d59bb.yaml | 6 + ...-get-share-instance-query-b6366b7c3b0a64db.yaml | 8 + ...on-with-network-extension-7433a5c38c8278e4.yaml | 7 + ...support-for-netapp-driver-9b639386c07c4990.yaml | 8 + releasenotes/source/2024.1.rst | 6 + releasenotes/source/index.rst | 1 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 228 ++- requirements.txt | 11 +- tools/check_exec.py | 3 + tox.ini | 17 +- zuul.d/grenade-jobs.yaml | 2 +- zuul.d/project.yaml | 18 +- 231 files changed, 13798 insertions(+), 2987 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 8c7844a50..e0c5f8319 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,4 +4,0 @@ -# The order of packages is significant, because pip processes them in the order -# of appearance. Changing the order has an impact on the overall integration -# process, which may cause wedges in the gate later. - @@ -12,0 +9 @@ alembic>=1.4.2 # MIT +defusedxml>=0.7.1 # PSFL @@ -24 +21 @@ oslo.middleware>=4.1.1 # Apache-2.0 -oslo.policy>=3.7.0 # Apache-2.0 +oslo.policy>=4.4.0 # Apache-2.0 @@ -48 +45 @@ tooz>=2.7.1 # Apache-2.0 -python-cinderclient!=4.0.0,>=3.3.0 # Apache-2.0 +python-cinderclient>=4.0.1 # Apache-2.0 @@ -51,0 +49,2 @@ WebOb>=1.8.6 # MIT +cachetools>=4.2.1 # MIT +packaging>=20.9 # Apache-2.0