Commit Graph

29 Commits

Author SHA1 Message Date
jayaanand.borra@netapp.com ea1ac5f448 Human readable export location core implementation
Export locations are usually too difficult to memo
rize.Currently, there is no way to determine the
export location before the share is created, so
users wait until the share creation request gets
completed, and then they check the export
locations to mount the share. The generated
export locations are often not human readable
 and it is hard to memorize and control them.

Implements: bp/human-readable-export-locations
Change-Id: I72ac7e24ddd4330d76cafd5e7f78bac2b0174883
2024-03-07 17:20:30 -05:00
Takashi Kajinami aabbd02598 Dell EMC: Drop "vmax" alias
This removes support for using "vmax" backends, which was translated
to "powermax" backends. This behavior was expected to be removed during
Wallaby cycle.

Also replace the remaining reference to EMC VMAX.

Change-Id: Id1187a9a99d87abefe3549e70df768f41494145f
2024-02-01 02:27:34 +00:00
silvacarloss b44c36e5ba Fix py311 unit test issues
- Dell EMC driver had an issue with mocking an object
and sending it forward.

- Some of the create table statements in the database
migrations didn't have the charset specified. That seemed
to trick the DB engine while defining foreign keys and
adding a name to them, as the default charset was defined
in the schema, but not in the tables. This behavior was also
noted in different places, like [1]. Fix this issue by
adding the charset to all create table statements, so they
match the engine default charset.

[1] https://github.com/apache/superset/issues/8808

Change-Id: I7cd6fa0cc8e054af112493746e753fef2024000f
2023-09-21 16:31:05 -03:00
Yian Zong 09555c80de Adds a new Manila driver for Dell PowerStore storage backend
Adds a new Manila driver to support Dell PowerStore storage backend.
It will support NFS share operations and snapshot operations.

Implements: blueprint dell-powerstore-manila-driver
Change-Id: If0d0a7820a1ae2392e5e0e4a4b65c4e631f4c3d4
2023-08-17 08:19:08 +00:00
Manish Honap 6431b86f19 Add config option reserved_share_extend_percentage
'reserved_share_extend_percentage' backend config option allows Manila
to consider different reservation percentage for share extend
operation. With this option, under existing limit of
'reserved_share_percentage', we do not want user to create new share if
limit is hit, but allow user to extend existing share.

DocImpact

Closes-Bug: #1961087
Change-Id: I000a7f530569ff80495b1df62a91981dc5865023
2022-06-14 23:08:31 +05:30
Felipe Rodrigues 2b57d15c64 Add multiple subnets per AZ support
Manila can now configure a share network with multiple subnets
in an availability zone. Also, it can add a new subnet for an
availability that has share servers, which will triger an update
share server allocations.

Changes:
- API:
  - Bump version to 2.70.
  - setup share network with multiple subents per az.
  - Block manage server with multiple subnets.
  - Allow add subnet for in-use share servers.
  - `share_network_subnet_id` is dropped from ShareServer view
  - `share_network_subnet_ids` is added in ShareServer view
  - `network_allocation_update_support` is added to ShareServer and
    ShareNetwork views.
  - Add a check operation for share network subnet create.

- DB:
  - Remove `share_network_subnet_id` from share_servers.
  - Create mapping table `share_server_share_network_subnet_mappings`.
  - Fix queries with new db design.
  - Add migration downgrade and upgrade alembic.
  - Add `share_network_subnet_id` to the NetworkAllocations.

- Scheduler:
  - Change `AvailabilityZoneFilter` to take in account if the
    host supports the allocation required by the setup request.

- Manager:
  - Bump RPC API version.
  - `_setup_server` allocating multiple subnets.
  - Modify signature of driver `_setup_server` interface, passing a
    list of `network_info` for each subnet.
  - Share server DB creation to inform a list of subnets and
    create with `network_allocation_update_support`.
  - Implement `check_update_share_server_network_allocations` and
    `update_share_server_network_allocations`.

- Drivers:
  - For legacy compatibility, all drivers implementing `_setup_server`
    consume the first element of the `network_ino`.
  - Dummy Driver:
    - Implement `_setup_server` with new signature as multiple subnet.
    - Modify the `backend_details` to save allocations for all subnets.
    - Report update allocation and share server multiple subnet support.
    - Implement `check_update_share_server_network_allocations` and
      `update_share_server_network_allocations` interfaces.

Signed-off-by: Felipe Rodrigues <felipefuty01@gmail.com>
Co-Authored-By: Andre Beltrami <debeltrami@gmail.com>
Co-Authored-By: Fábio Oliveira <fabioaurelio1269@gmail.com>
Co-Authored-By: Nahim Alves de Souza <nahimsouza@outlook.com>
Co-Authored-By: Caique Mello <caique_mellosbo@hotmail.com>

DocImpact
APIImpact
Partially-Implements: blueprint multiple-share-network-subnets

Change-Id: I7de9de4ae509182e9494bba604979cce03acceec
2022-03-03 02:31:11 +00:00
kpdev 6ca10003a9 Add config option reserved_share_from_snapshot_percentage.
This config option allows different value for reservation percentage,
mostly useful on the platforms, where shares can only be created from
the snapshot on the host where snapshot was taken. The lower value of
this config option against existing (reserved_share_percentage) allows
to create shares from the snapshot on the same host up to a higher
threshold even though non-snapshot/regular share create fails.
In case this config option is not set, the shares created from snapshot
will use reservation percentage value set in 'reserved_share_percentage'.
This will be useful for users who want to keep same reservation percentage
for both non-snapshot/regular and snapshot shares.

DocImpact

Closes-Bug: #1938060
Change-Id: I390da933fe92875e3c7ee40709eacacc030278dc
2021-08-27 19:10:36 +02:00
kpdev 18668d2465 Early validate for CIFS without security service.
To create a share with protocol CIFS it is mandatory to add a security
service to the share network beforehand. If this is forgotten the share
ends up in error. Validate the security service association based on
share protocol from given driver. Raise invalid request exception if
needed association between share_network and security_service is
missing for given driver e.g. ONTAP.

DocImpact

Closes-Bug: #1900752
Change-Id: Ib7e9850e6439ee5d04f826d129afb1ab06950ce7
2021-08-05 22:44:55 +02:00
debeltrami 2bc27c5678 Add security service update for in-use share networks
This patch implements the update of security service's association
with in-use share networks. The following changes were added:

 - New share network APIs: `share_network_security_service_update`
 and `share_network_reset_state`.

 - A new `status` attribute was added to share network model to
 identify when it's in a modification state, called 'network_change'.
 Other supported status that were added: 'active' and 'error'.

 - New 'security_service_update_support' property was added to both
 share server and share network models, to identify when this resources
 are able to process security service update for in-use share networks.

 - New driver interface was added to support update of security service's
 configuration of a given share server.

DocImpact
APIImpact
Partially Implements: bp add-security-service-in-use-share-networks

Co-Authored-By: Carlos Eduardo <ces.eduardo98@gmail.com>
Co-Authored-By: Douglas Viroel <viroel@gmail.com>
Co-Authored-By: Andre Beltrami <debeltrami@gmail.com>

Change-Id: I129a794dfd2d179fa2b9a2fed050459d6f00b0de
2021-03-12 18:37:45 -03:00
silvacarloss 2fb871cb89 Add share server limits
Add two new capabilities to manila. It is possible to set limits
to share server size and share instances in a share server by
setting `max_share_server_size` and `max_shares_per_share_server`
in a backend stanza.

Change-Id: I3170478d3aa2d09cb2adc32233dc57bc59029a56
Partially-Implements: bp new-share-server-limits
DocImpact
2021-03-08 21:35:06 -03:00
Zuul 3fe0b8e835 Merge "[Unity] Implements default filter function" 2020-05-20 20:21:50 +00:00
Yong Huang a5adb0bd11 [Unity] Implements default filter function
Implements the default filter function for Unity driver, if the
share size is smaller than 3GB, will not schedule the share
creation to Unity backend.

Change-Id: Iebb5063d4e1c4c2f5ddce0d5000b7d51dcb0605b
Closes-bug: #1652379
2020-04-30 14:58:39 +08:00
Yong Huang a903282696 [Unity] Fix unit test issue
Fix unit test issue for manage/unmanage feature

Change-Id: I4ff2095b20bbb71de513fb489b638ca631dad4e7
2020-04-30 04:39:26 +00:00
Goutham Pacha Ravi 598223985a Use unittest.mock instead of third party lib
mock was adopted into standard python
in version 3.3 [1]. Since manila no longer
supports python2.7, we can use the inbuilt
mock package rather than the third party
lib.

Fix some issues with imports that weren't
following our import conventions of grouping
imports [3]

Add a hacking test to ensure we don't regress
on this.

[1] https://docs.python.org/3/library/unittest.mock.html
[2] http://lists.openstack.org/pipermail/openstack-discuss/2020-March/013281.html
[3] https://docs.openstack.org/hacking/latest/user/hacking.html#imports

Co-Authored-By: Sean McGinnis <sean.mcginnis@gmail.com>
Change-Id: If857a49fbf526983e712282a25d7e8bef5093533
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
2020-04-17 16:24:27 -07:00
Zuul 64af75d72a Merge "[Unity] Manage/unmanage share server/share/snap" 2020-04-09 05:32:21 +00:00
dingd 252a7e8118 [Unity] Manage/unmanage share server/share/snap
1. Try parse share_backend_id from export path in case
it is managed share.

2. Try to take snapshot id from 'provider_location' in case
this is managed snapshot

3. Try to get share server name from property 'identifier'
first in case this is managed share server

4. Add property 'provider_location' when creating snapshot

Implements: blueprint emc-unity-manage-unmange

Change-Id: I676475d0500ecce31a1a863926accec8585ac83a
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
2020-04-08 16:02:12 -07:00
Andreas Jaeger 8098045f2a Hacking: Fix E305
Fix:
E305 expected 2 blank lines after class or function definition, found 1

Fix also other problems found by hacking in these files.

Change-Id: I880afc40adf974cbb0e60f8dc5931f77d51f451b
2020-04-01 11:43:29 +02:00
dingd a6e1746a2f [Unity] Shrink share in Unity driver.
Change-Id: Iaa29088456e4dd46039511a2bf8bbf789ddd6e7f
2019-02-14 05:07:05 +00:00
Che, Roger eb65711063 Implement IPv6 support for Manila Dell EMC Unity driver
Major changes:
  * Support to create/delete/extend/access NFS and CIFS share/snapshot
    in the IPv6 network which created by Neutron
  * Support to connect Unity management interface using IPv6 address

Change-Id: I590d569c6fe1a0f8b146bec9c74513269b8358f4
Implements: blueprint unity-manila-ipv6-support
2018-01-19 11:12:45 +08:00
zhongjun2 2b40e5618f Enable IPv6 in manila(network plugins and drivers)
Please read spec for design detail [1].

Support IPv6 in IP drivers, networks and share
type extra specs.

Co-Authored-By: TommyLikeHu(tommylikehu@gmail.com)
Co-Authored-By: Ben Swartzlander <ben@swartzlander.org>

[1] f7202a6cfe32a057f752a4e393f848f8a0211c36

DocImpact

Partial-Implements: blueprint support-ipv6-access
Change-Id: I96d3389262e9829b8b4344870cdf5c76abd22828
2017-07-27 18:28:15 +08:00
Valeriy Ponomaryov 21699451f1 [Share groups] Add scheduler filter ConsistentSnapshotFilter
That will be used for scheduling share groups based on their possibility
to create consistent snapshots.

Also apply following tempest plugin changes:
- Add new 'capability_sg_consistent_snapshot_support' tempest config
option, that will be used for creation of new share group types and used
to prove that scheduling works as expected.
- Fix some share group test attributes from 'only API involved' to
  'API and Backend are involved', because it is so indeed.

Change-Id: I05553c308ae40c4ddc2c6469ff1c1a3da36a87da
Partially-Implements BP manila-share-groups
2017-06-02 17:48:05 +03:00
tpsilva 8d71932c69 Add mountable snapshots support
This new feature gives the user the ability to allow and
deny access to the snapshots, so that they could be mounted in
read-only mode to retrieve files.

APIImpact
DocImpact

Co-Authored-By: Rodrigo Barbieri <rodrigo.barbieri@fit-tecnologia.org.br>
Co-Authored-By: Alyson Rosa <alyson.rosa@fit-tecnologia.org.br>
Co-Authored-By: Miriam Yumi <miriam.peixoto@fit-tecnologia.org.br>

Partially-implements: blueprint manila-mountable-snapshots
Change-Id: I65f398a05f82eef31ec317d70dfa101483b44b30
2017-01-24 17:26:45 -02:00
Alex Meade d25f101ab4 Manila Share Groups
Remove the experimental consistency group APIs and
replace them with the experimental Share Group APIs.

DocImpact
APIImpact
Partially-implements-blueprint: manila-share-groups

Change-Id: I79a80a62ae4e0015d6161edc2b93fd1f9ba69537
2017-01-23 21:29:12 +02:00
Clinton Knight d4a379d083 Implement share revert to snapshot
This commit adds the ability for Manila to revert a
share to the latest available snapshot.

The feature is implemented in the LVM driver, for
testing purposes.

APIImpact
DocImpact
Co-Authored-By: Ben Swartzlander <ben@swartzlander.org>
Co-Authored-By: Andrew Kerr <andrew.kerr@netapp.com>
Implements: blueprint manila-share-revert-to-snapshot
Change-Id: Id497e13070e0003db2db951526a52de6c2182cca
2017-01-17 15:06:01 -05:00
Jenkins 966b1621d3 Merge "Unity/VNX Driver: Rename driver options" 2017-01-10 10:35:37 +00:00
Ryan Liang 01391527ed Unity/VNX Driver: Rename driver options
- Never initialize the log by passing it in to `load_plugin`. Unity and VNX
  driver plugins initialize it in their implementation.
- Move plugins specific options from framework to Unity and VNX plugins.
- Rename driver options for Unity/VNX, the old ones are deprecated:
  emc_nas_pool_names -> unity_share_data_pools/vnx_share_data_pools,
  emc_nas_server_pool -> unity_server_meta_pool,
  emc_interface_ports -> unity_ethernet_ports/vnx_ethernet_ports,
  emc_nas_server_container -> unity_server_container/vnx_server_container.

DocImpact
Closes-Bug: 1652710
Change-Id: I8f1404de8dea9eeb09f1e5f6fc2538cefb0d63d9
2017-01-05 10:42:29 +08:00
Peter Wang c341e52b5e Report create_share_from_snapshot_support
Set create_share_from_snapshot_support as True in order to
be able to create share from snapshot.

This fixes all Dell EMC drivers issue like below:
  Share cannot be created from snapshot

Change-Id: If43d9b15b21a2ae74c6872726e9e537501697405
Closes-Bug: #1652911
2016-12-29 01:03:48 +08:00
Clinton Knight 0d6db3588c Add create_share_from_snapshot_support extra spec
The snapshot_support extra spec has always meant two
things: a driver can take snapshots and create shares
from snapshots. As we add alternate snapshot semantics,
it is likely that some drivers will want to support
snapshots and some of the new semantics while being
unable to create new shares from snapshots.

This work adds a new extra spec,
create_share_from_snapshot_support, that removes the
overloading on snapshot_support. It also makes the
existing snapshot_support extra spec optional,
allowing admins to create types without setting
snapshot_support; shares created with such types
will not support snapshots.

APIImpact
DocImpact

Co-Authored-By: Goutham Pacha Ravi <gouthamr@netapp.com>
Implements: blueprint add-create-share-from-snapshot-extra-spec
Change-Id: Ib0ad5fbfdf6297665c208149b08c8d21b3c232be
2016-12-21 09:57:08 -05:00
xing-yang d9be8fa62b Move EMC drivers to dell_emc folder
This patch moves EMC drivers under dell_emc folder and
changes vendor name to "Dell EMC".

The base driver remains as EMCShareDriver.

DocImpact
UpgradeImpact
Implements-blueprint: move-emc-driver-to-dell-emc-folder
Change-Id: I799c7fcb59fbe887045fe81beb1e257586ba2f0e
2016-11-14 20:34:26 -05:00