5476 Commits

Author SHA1 Message Date
silvacarloss
413e5e6d08 Fix manila OverQuota issue while managing shares
Fixes the OverQuota issue while managing shares. Now, when a share
manage request is received and there is no available quota to this
resource, manila will allow the quotas to be exceeded and the
administrator will need to adjust it.

Change-Id: If6edfa79965f1a0e6959b436c53a714217d23f7d
Closes-Bug: #1863298
2020-09-18 21:28:11 +00:00
Goutham Pacha Ravi
22d6fe98a3 Fix capacity calculations in the CephFS driver
The driver inflated total and available capacity
due to an incorrect calculation. The driver was
also ignoring the configuration option
"reserved_share_percentage" that allows
deployers to set aside space from scheduling
to prevent oversubscription.

While this bugfix may have an upgrade impact,
some things must be clarified:
- Inflating the total, free space will allow
  manila to schedule workloads that may run
  out of space - this may cause end user
  downtime and frustration, because shares are
  created (empty subvolumes on ceph occupy no
  space) easily, but they could get throttled
  as they start to fill up.
- CephFS shares are always thinly provisioned
  but, the driver does not support oversubscription
  via manila. So, real free space is what
  determines capacity based scheduler decisions.
  Users however expect share sizes to be honored,
  and manila will allow provisioning as long
  as there is free space on the cluster. This
  means that Ceph cluster administrators
  must manage oversubscription outside of manila
  to prevent misbehavior.

Depends-On: Ic96b65d2caab788afca8bfc45575f3c05dc88008
Change-Id: I6ab157d6d099fe910ec1d90193783b55053ce8f6
Closes-Bug: #1890833
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
2020-09-17 19:27:04 +00:00
Maurice Escher
fec7643a85
Improve migration_get_progress error handling
Share manager may raise InvalidShare because the migration phase
has already been completed. In such cases total_progress 100 can
be reported instead of raising ShareMigrationError.

Change-Id: I6e1b1abf6a2fd8c1268e446b7ee8e364bdc496bc
Closes-Bug: #1889549
2020-09-17 18:48:46 +02:00
Zuul
5f433b59ba Merge "[Glusterfs] Fix delete share, Couldn't find the 'gluster_used_vols'" 2020-09-16 07:19:34 +00:00
wu.shiming
12e9c3586c Remove install unnecessary packages
The docs  requirements migrated to doc/requirements.txt
we need not install things from requirements.txt.

Change-Id: Icba145059588222318ba866d6de8c4ce4df24def
2020-09-14 16:59:01 +08:00
Michael Arndt
2f0981602b [NetApp] Adding support for Adaptive QoS in NetApp driver with dhss false.
Added support for Adaptive QoS policies that have been pre-created on
the storage system, with clustered ONTAP version 9.4 or higher.  To use
this feature, configure a Manila share type with the extra-spec
"netapp:adaptive_qos_policy_group" and value set to the qos policy
group on the ONTAP storage system, for example:

netapp:adaptive_qos_policy_group=platform3

Note that a cluster scoped account must be used in the driver
configuration in order to use QoS in clustered ONTAP.  Other notes:

-This only works for backends without share server management.
-This does not work for share replicas or share migration.

Partially-Implements: bp netapp-adaptive-qos-support

Change-Id: I3cc1d2fa2a8380ca925538cab5a3414ac2141d70
2020-09-11 21:09:51 -03:00
Douglas Viroel
4bcf21eaf1 [NetApp] Add support for share server migration
This patch adds support for share server migration between NetApp
ONTAP drivers. This operation is now supported for migrating a share
server and all its resources between two different clusters.
Share server migration relies on ONTAP features available only in
versions equal and greater than ``9.4``. Also, in order to have share
server migration working across ONTAP clusters, they must be peered in
advance.
At this moment, share server migration doesn't support migrate a share
server without disrupting the access to shares, since the export locations
are updated at the migration complete phase.
The driver doesn't support changing security services while changing the
destination share network. This functionality can be added in the future.

Co-Authored-By: Andre Beltrami <debeltrami@gmail.com>

Implements: bp netapp-share-server-migration
Depends-On: Ic0751027d2c3f1ef7ab0f7836baff3070a230cfd
Change-Id: Idfac890c034cf8cbb65abf685ab6cab5ef13a4b1
Signed-off-by: Douglas Viroel <viroel@gmail.com>
2020-09-11 16:24:24 -03:00
Zuul
1886bf6fe5 Merge "[Container driver] Adds share and share server migration" 2020-09-11 18:43:08 +00:00
Zuul
1194910cde Merge "[NetApp] Enables configuring NFS transfer limits" 2020-09-11 18:12:55 +00:00
Goutham Pacha Ravi
370b15b6c6 Modify share groups w/ manila-manage's update-host
We can also condense this code a bit to allow
adding more resources who have a "host" attribute.

Closes-Bug: #1895323
Change-Id: I5b750217e019b7bc5281006f63feba8fa06db534
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
2020-09-11 10:00:41 -07:00
Felipe Rodrigues
ea7e304e33 [Container driver] Adds share and share server migration
Implements the driver interface methods for enabling a share or
a share server to be migrated. They can only work across backends
that work at same volume group.

Change-Id: I813801fd64d4d605c0a4fe06c7a130ad00865b6d
Depends-On: Ic0751027d2c3f1ef7ab0f7836baff3070a230cfd
Implements: bp container-share-server-migration
Implements: bp container-share-migration
2020-09-11 14:20:25 +00:00
Felipe Rodrigues
78ca06d6b8 [NetApp] Enables configuring NFS transfer limits
From this this change, shares and share groups can be created
upon share servers configured with specific NFS max transfer
limits. An administrator is now able to set the share type
extra-specs `netapp:udp_max_xfer_size` and
`netapp:tcp_max_xfer_size`. While creating a share server or
providing a share server to a share or a share group, the NetApp
driver will consider these extra-specs to decide whether to create
or reuse a share server.

Share server now contains the details:nfs_config field, which
stores the server NFS configuration dictionary. In case the server
does not have a NFS configuration requirement, it saves the
default NFS values, retrieved at the driver startup. A server
without details:nfs_config is considered as using the default one.

The share server manage operation was modified to also retrieve
its NFS max transfer configurations.

The share manage operation was modified to check whether the NFS
max transfer extra-specs are matching the share server configured
values.

It relies on ONTAP features available only in versions equal and
greater than ``9.4``.

Implements: bp netapp-share-server-nfs-modify
Change-Id: Iaddb771ae28ec59dd125af0bf638f591f5662bfc
Depends-On: I8daf919a764075998be95c5845807bec37104c78
2020-09-11 13:34:14 +00:00
linpeiwen
41b0b95ef6 [Glusterfs] Fix delete share, Couldn't find the 'gluster_used_vols'
When we have multiple share driver backends, create a shared instance,
and the list of'self.gluster_used_vols' will only be updated on the
current node. If the RPC request to delete the share instance is sent
to other nodes,'self.gluster_used_vols' will be Cannot find the
information of the glusterfs volume we want to delete, so we need to
update'self.gluster_used_vols' when deleting the instance

Change-Id: I14835f6c54376737b41cbf78c94908ea1befde15
Closes-Bug: #1894362
2020-09-11 07:08:30 +00:00
Zuul
4036ff32bd Merge "Add share server migration" 2020-09-11 05:34:07 +00:00
Zuul
6a7b0a1b52 Merge "Add share server migration for Dummy driver" 2020-09-10 23:10:02 +00:00
Douglas Viroel
eb3c897c59 Add share server migration for Dummy driver
Partially Implements: bp share-server-migration

Change-Id: I46a0cee0a4625d950f02fa7a5bf612de926451b5
Signed-off-by: Douglas Viroel <viroel@gmail.com>
2020-09-10 19:24:30 -03:00
Zuul
636f255546 Merge "Improve IPv6 documentation for access rules" 2020-09-10 17:44:36 +00:00
Zuul
05fb54962a Merge "Update user doc index" 2020-09-10 14:52:26 +00:00
Douglas Viroel
56a6b39aa0 Improve IPv6 documentation for access rules
This patch improves the access rules API documentation
to include IPv6 information that was missing.
It includes a note on user guide and changes an access list
example to IPv6.

Change-Id: I5a9ff4e3c8a70cb0b14caa39f5f17740b17b719a
Closes-Bug: #1705045
Signed-off-by: Douglas Viroel <viroel@gmail.com>
2020-09-10 10:19:50 -03:00
Douglas Viroel
39efc2bde8 Add share server migration
This patch adds support for migration of share servers. This
migration is performed using a two-phase approach. Administrators
are now able to request the migration of a share server within and
across backends, with the possibility of chooosing a different share
network for the destination share server.

- A new field called `task_state` was added to the share server
  model in order to help the administrator to track the share server
  migration steps. A new field called `source_share_server_id` was
  added to link destination and source share servers.

- A new periodic task was added to track migration of share servers
  and its resources.

- Two new states were added: `server_migrating` and
  `server_migrating_to` to represent that share migration is in
  progress.

- When performing the server migration, manila will not go to the
  scheduler, instead it will provide a request spec to drivers
  during migration check driver call. It'll be up to the driver
  validate if there is free space to handle the share server.

- A new API called `share-server-migration-check' was added to
  check the feasibility of a migration, before actually triggering
  the start operation.

APIImpact
DocImpact
Partially Implements: bp share-server-migration

Co-Authored-By: Andre Beltrami <debeltrami@gmail.com>
Co-Authored-By: Carlos Eduardo <ces.eduardo98@gmail.com>
Co-Authored-By: Felipe Rodrigues <felipefuty01@gmail.com>

Change-Id: Ic0751027d2c3f1ef7ab0f7836baff3070a230cfd
Signed-off-by: Douglas Viroel <viroel@gmail.com>
2020-09-10 08:52:08 -03:00
Goutham Pacha Ravi
e0f51934a1 Update user doc index
We can link directly to the
API reference rather than including
a redirect page.

TrivialFix

Change-Id: I451f1e540f1678609b9d335d148de1b7ba98fb7b
2020-09-09 22:12:18 +00:00
Ghanshyam Mann
ffd3f1e760 [goal] Migrate tox based testing to ubuntu focal
As per victoria cycle testing runtime and community goal[1]
we need to migrate upstream CI/CD to Ubuntu Focal(20.04).

Fixing:
- bug#1886298
Bump the lower constraints for required deps which added python3.8 support
in their later version.

Story: #2007865
Task: #40194
Depends-On: https://review.opendev.org/#/c/738328/

Closes-Bug: #1886298

Change-Id: Ib0f84e8c3815be48bca0ae8d4fe15a56b5256c20
2020-09-09 13:19:39 -05:00
silvacarloss
25f515643c Update share replica show docstrings
Updated the docstrings from replica show apis.
This is a follow up change to the share replication graduation one.

Change-Id: If6a28efc5d17a0e1e433fb9b78661dbe8ab12cda
Signed-off-by: silvacarloss <ces.eduardo98@gmail.com>
2020-09-09 11:13:10 +00:00
Zuul
64eccebc6f Merge "Graduate share replication feature" 2020-09-09 03:44:08 +00:00
Zuul
3cf2242fb6 Merge "Update "Create and manage shares" doc" 2020-09-09 02:07:24 +00:00
Goutham Pacha Ravi
bce5429d1a Update "Create and manage shares" doc
This is the basic user guide for manila:

- Update examples and outputs
- Add limits and metadata examples
- Add descriptions about common concepts
  including share type extra specifications
- Add contents for easy navigation

Change-Id: Idf374866a63e0da2c4af3157ac5f471af6173d5e
Closes-Bug: #1652375
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
2020-09-08 23:58:01 +00:00
Zuul
1f49450e96 Merge "Handle oslo.messaging ping endpoint" 2020-09-08 20:45:45 +00:00
Goutham Pacha Ravi
aecefee087 Handle oslo.messaging ping endpoint
We have a test that attempts to emulate a messaging endpoint and
fails if anything other than the endpoint's target property is
inspected. With the addition of the ping endpoint in
I51cf67e060f240e6eb82260e70a057fe599f9063, this now blows up
with the latest oslo.messaging release.

To handle this situation, our fake class just needs to also
check for the oslo_rpc_server_ping attribute.

Change-Id: I485c1724614abf03928b83280c88ffc4cdfdb1c4
Co-Authored-By: Sean McGinnis <sean.mcginnis@gmail.com>
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
2020-09-08 11:20:41 -07:00
Zuul
2fb8a15369 Merge "Add the share-type for the server setup metadata" 2020-09-04 00:38:36 +00:00
Zuul
8f58d781ca Merge "[Glusterfs] Fix delete share, mount point not disconnected" 2020-09-04 00:28:31 +00:00
linpeiwen
9d44ba0b6a [Glusterfs] Fix delete share, mount point not disconnected
When we delete the shared instance, in addition to erasing the data
in the share, we should disconnect the client's mount point to
prevent the data from being written in.

Closes-Bug: #1886010
Change-Id: I7a334fb895669cc807a288e6aefe62154a89a7e4
2020-09-02 00:41:59 +00:00
Zuul
f6f8e2b1be Merge "Fix WsgiLimiterProxy check" 2020-08-28 22:07:05 +00:00
Zuul
3b19c3ff25 Merge "add share server update to manila-manage share update_host" 2020-08-28 18:52:57 +00:00
Goutham Pacha Ravi
090d903b70 Fix WsgiLimiterProxy check
The code in the WsgiLimiterProxy checks the response
from the proxy to be in the range [200, 299] to
determine if an API request must be rate limited, but
the check currently corresponds to checking for <=200.

This may not have been consequential since a Proxy
is not expected to set the "X-Wait-Seconds" header in
the response when there is nothing to delay - so, even
with this incorrect check, we weren't rate limiting
incorrectly with a proxy that was setup correctly.

Change-Id: Id58a87b24b19e1d489fe808d11d59cc93df390f2
Closes-Bug: #1823750
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
2020-08-27 10:45:19 -07:00
silvacarloss
ee5ebc8462 Graduate share replication feature
From this patch, share replication feature is no longer considered
experimental. The experimental headers were removed from the share
replication APIs.

DocImpact
Partially-implements: bp graduate-share-replication-feature
Change-Id: Idf8af1c96df373fbcbb4024db490cb4dab42faf7
2020-08-24 13:27:49 +00:00
Helen Walsh
85527715be PowerMax Manila - Version increment for Victoria
Incrementing the manila version for Victoria

Change-Id: I61803be1ee577660c4aac6169ff42568faf342c2
2020-08-24 13:45:56 +01:00
Zuul
90bf1cee86 Merge "Fix documentation for types and extra specs" 2020-08-21 22:58:30 +00:00
Zuul
647528a1f4 Merge "DOC: Update admin generic driver network-options immutable" 2020-08-21 22:58:28 +00:00
Zuul
5d2294268a Merge "Update Share types api-ref" 2020-08-21 22:58:24 +00:00
Tom Barron
d9d9fbcd77 [doc] clean up compute client options
Clean up some tables in our documention
that still mention obsolete, removed configuration
options.

When we fix https://bugs.launchpad.net/manila/+bug/1713062
fixes of this kind will no longer be required, since the
tables in question will (again) be auto-generated from our code.

Closes-bug: #1559265
Depends-on: https://review.opendev.org/#/c/745206/
Change-Id: I1b36f8d35162a3ac326ba24852d35dbae09c3aaa
2020-08-21 17:43:16 -04:00
Goutham Pacha Ravi
36a7ec422b Fix documentation for types and extra specs
Some content in the admin docs was incomplete,
and irrelevant to administrators.

Also add notes on a couple of missing common
capabilities:
- mount_snapshot_support
- availability_zones

Partial-Bug: #1816486
Change-Id: Ie55fd5bf80ca2ebacdb652c701aa9c213f758963
Signed-off-by: Goutham Pacha Ravi <gouthampravi@gmail.com>
2020-08-21 14:34:21 -07:00
debeltrami
dd770bd206 DOC: Update admin generic driver network-options immutable
This patch adds the behavior described in the bug #1713060
as known restriction in the generic driver.

Change-Id: Ic70fcd9f6cf159a960e0d75b4081c88af3d8973e
Closes-Bug: #1713060
2020-08-21 21:29:57 +00:00
Felipe Rodrigues
a9ce0520f4 Add the share-type for the server setup metadata
The driver setup server step may require the share-type that has
originated the server creation. The type is accessible by the
method that choose whether reusing or creating a server, so it
should be accessible when creating (setup server).
It bumps the share RPC version to 1.20.

Partially-implements: bp netapp-share-server-nfs-modify
Change-Id: I8daf919a764075998be95c5845807bec37104c78
2020-08-21 17:30:39 -03:00
Zuul
971b62932f Merge "Update docs for create share from snapshot in another back end" 2020-08-21 01:38:32 +00:00
Douglas Viroel
6b8f416e1b Update docs for create share from snapshot in another back end
This patch add some notes regarding the use of scheduler when
creating share from snapshot in another pool or backend.

Change-Id: I8d904cb3aab4d653178948284571f471bd59ac1b
Closes-Bug: #1878244
2020-08-20 21:15:13 -03:00
Zuul
4b756cd88d Merge "Update access rules documentation for user guide" 2020-08-21 00:13:53 +00:00
Douglas Viroel
e2e764d976 Update access rules documentation for user guide
Updates user guide documentation to provide metadata info
to an access rules. Also add two new operations for access
rule metadata: 'access-metadata set' and 'access-metadata unset'

Change-Id: Ib6008c9dd4284b8c3434ffce61fb74f1db6c3d35
Closes-Bug: #1782859
2020-08-20 19:55:32 -03:00
Zuul
a6f86e53c5 Merge "Add api-ref for share network subnets" 2020-08-20 22:43:47 +00:00
Zuul
9c4ea0bc70 Merge "Updates the API reference for some share operations" 2020-08-17 16:47:34 +00:00
silvacarloss
c650b63d33 Updates the API reference for some share operations
Added missing `user_id` field to the response of share create,
show and manage operations.

Change-Id: I1e7244185d44bff2df85b09c4566836a26c84376
Closes-Bug: #1821837
2020-08-13 12:53:50 +00:00