181 Commits

Author SHA1 Message Date
Jenkins
7bbfcbaedf Merge "NetApp: set proper broadcast domain for IPspace" 2017-01-05 22:08:48 +00:00
Jenkins
5365a26e44 Merge "NetApp cDOT controller utilization metrics" 2017-01-04 22:33:53 +00:00
Tom Barron
0f33dcf62b Remove nova net support from service_instance
Nova network was deprecated in Newton and is no longer supported for
regular deployments in Ocata [1].

As a first step towards removal and cleanup of nova network plugin
from manila, remove support for it from the service instance module.

[1] http://docs.openstack.org/releasenotes/nova/unreleased.html

Partially-implements: bp remove-nova-net-plugin

Change-Id: I846b760fa7c01f7f86768399a2bfad9ced7e57cd
2017-01-03 13:35:58 -05:00
digvijay2016
fb4b0b86e9 Add support for manage/unmanage in GPFS driver
Added support for manage/unmanage in GPFS NFS driver.
This patch added functions that allow share on Spectrum Scale
node to be managed by OpenStack if existing fileset is an
independent fileset and doesn't have any NFS export
over the fileset path. Also, share can be unmanaged from
OpenStack but still left in Spectrum Scale cluster.

Implements: blueprint gpfs-manage-support

Change-Id: I9134408b59c30ac4bc593f287294741f6e996136
2016-12-28 15:06:42 +05:30
Jenkins
f427dfe00b Merge "GPFS KNFS: Fix deny access to succeed when possible" 2016-12-27 22:41:15 +00:00
Jenkins
685cb1da81 Merge "[Dell EMC Unity] Support create share smaller than 3 GB" 2016-12-23 19:55:41 +00:00
Jenkins
72fc6f41d0 Merge "Add create_share_from_snapshot_support extra spec" 2016-12-23 19:25:06 +00:00
Mark Sturdevant
9157b8afb2 GPFS KNFS: Fix deny access to succeed when possible
Use looser error code checking and add a verify
after deny access so that the call will succeed
whenever it can be confirmed that the access no
longer exists.

This fixes a variety of situations where previously
a return code of 1 while attempting to remove access
would cause the manila access rule to get stuck while
the actual client access export was removed or never
existed.

Change-Id: Ie058a6185e3f5d91fb1cf232301eb0ac6ddcea7e
Closes-Bug: #1651587
2016-12-23 01:17:20 +00:00
Mark Sturdevant
b76a2af237 GPFS KNFS: Do not reuse ssh prefix in loop
Fix GPFS KNFS allow/deny access so that it does not reuse
the ssh prefix when looping through NFS server commands for
allow and deny access.

This fixes GPFS KNFS allow/deny access incorrect behavior
when multiple NFS servers are configured (gpfs_nfs_server_list)
and any of the servers are remote (except the last one).

Change-Id: I8c182eed386e8325b087c3192d363502bb848633
Closes-Bug: #1651578
2016-12-21 15:33: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
Tom Barron
fa32c3787e NetApp: set proper broadcast domain for IPspace
When DHSS=True, the cDOT driver creates vservers to act as
manila share servers and sets up LIFs within the vservers
as export locations using physical ports.  The LIFs in the
NetApp cluster may use overlapping addresses provided that
they are put in separate IPspaces and the physical ports
underneath them are put in corresponding broadcast domains.

Fix the cDOT driver to maintain a proper 1-1 relation between
IPSpaces and broadcast domains as documented here [1].

[1] https://library.netapp.com/ecmdocs/ECMP1636021/html/GUID-CB9BD2E2-D085-446E-8EB2-6BF609E42ABA.html

Change-Id: I32968e82cc679bb7efe492f3ca980e16e5e29c83
Closes-bug: #1646603
2016-12-19 07:06:53 -05:00
Tina Tang
bf9adef776 [Dell EMC Unity] Support create share smaller than 3 GB
The minimum file system on Unity is 3 GB. This patch changes
driver to create 3 GB underlying file system for shares
smaller than 3 GB.

DocImpact
Change-Id: Ida6ad9ad7e752c25b53390f0fee327c594e03f9f
Closes-Bug: 1648316
2016-12-19 09:39:28 +00:00
Mark Sturdevant
5e7323cd1f GPFS CES: Fix bugs related to access rules not found
Several bugs are caused by an error code and
exception raised when a path has no NFS exports.
Use the machine-readable mmnfs export list command
(the -Y option) which does not cause an exception
when checking for exports.

Co-Authored-By: digvijay2016 <digvijay.ukirde@in.ibm.com>

Change-Id: I770756e0a36c5b61386878164b651fadf9730b7f
Closes-Bug: #1650043
Closes-Bug: #1650044
Closes-Bug: #1650045
2016-12-16 11:23:04 -08:00
Jenkins
e8af5394b8 Merge "Add support for manage/unmanage snapshots in HNAS driver" 2016-12-12 12:10:07 +00:00
Valeriy Ponomaryov
c93e812a58 [LVM,Generic drivers] Fix relationships between parent and child shares
Reportedly [1], the kernel-nfs-server has a bug where we have overlap of
filesystem identifiers using LVM volumes and their snapshots.

We face this bug in manila LVM driver and Generic driver when we use
cinder LVM driver. So, fix it generating unique UUID for all
snapshots (only for LVM, because we cannot do it in Generic driver
while we do not have "mount-snapshot" feature support there) and
child volumes that will be exported as child shares.

[1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1071733

Change-Id: Ib93bfb0d4184da1e70ecece6fde6931e44d05a30
Closes-Bug: #1645751
2016-12-09 20:23:26 +03:00
zhongjun
d5643c75f5 Add share_type filter support to pool_list
Administrators intend to get the pool's information filtered
by share type(actually filtered by share_type's *extra_spec*)
more directly.
The blueprint is to add a filter key 'share_type' to cover
this situation.

APIImpact
Implements: blueprint pool-list-by-share-type
Change-Id: Ifd64bb84d03a02aa0a118cc42e1d1b373c439884
2016-12-09 09:59:34 +08:00
Alyson Rosa
e02e16ea42 Add support for manage/unmanage snapshots in HNAS driver
Adding support for manage/unmanage snapshots in Hitachi HNAS
driver. In order to manage a snapshot, the admin should provide the
snapshot size in "--driver-options" parameter.

Also, updating tempest tests for manage/unmanage snapshots to include
the required driver option.

DocImpact
Implements: blueprint hnas-manage-unmanage-snapshot-support

Change-Id: I93e56dda5cbe8d3dbe142d773f93d03a0c126d2f
2016-12-06 15:01:14 -02:00
Valeriy Ponomaryov
656dc81906 [ZFSonLinux] Stop inheriting options creating share from snapshot
Because, it leads to inheritance of access rules too. That is a bug.
All other expected options are generated on-fly already.

Change-Id: Ibe744c9fd001156a8184aa8f955c424cebfb8664
Closes-Bug: #1645746
2016-12-06 14:57:35 +03:00
Jenkins
7294b2d78e Merge "Move EMC drivers to dell_emc folder" 2016-11-30 16:18:50 +00:00
Rodrigo Barbieri
ec0cda28cd Fix share writable in host-assisted migration
For drivers that implement update_access always through recovery
mode, access rules previously set to read-only were being reset
to read-write when the Data Service was adding/removing its access
rule.

Fixed it by integrating the logic that casts DB rules to read-only
into access helper class.

Change-Id: Ife35dcdb99dffa2f266b5c2f6a68fe163da7edd3
Closes-bug: #1626523
2016-11-29 16:55:32 -02:00
Jenkins
2ad181cffc Merge "Add Admin network support to HNAS driver" 2016-11-24 12:45:40 +00:00
Jenkins
799fc8d55f Merge "Fix extend operation of shrinked share in generic driver" 2016-11-22 13:57:02 +00:00
Rodrigo Barbieri
ce39a50782 Add Admin network support to HNAS driver
Adding Admin Network support to more easily integrate HNAS
EVS networks into the admin network to perform share migrations.

DocImpact

Implements: blueprint hnas-admin-network

Change-Id: I797595aec580e9ec2dcfdf88e965ae29988b1dee
2016-11-21 16:34:23 -02:00
Xiaoyang Zhang
77a0349adc Fix extend operation of shrinked share in generic driver
If a share is shrank from 10G to 5G, the volume is still 10G.
This share`s size display is 5G, but the share extend newsize
must be > 10G in the old code. So, I think only need to perform
resize_filesystem when the share extend newsize <= volume size.
The volume extension is performed only when new size larger than
volume size.

Change-Id: I7e49b446445b8005e2eb23e1d439354eb24915e0
Close-Bug: #1639188
2016-11-21 15:01:58 +08:00
Jenkins
d2cbb01669 Merge "Check ceph backend connection on driver setup" 2016-11-15 13:20:56 +00:00
Jan Provaznik
af79b9f5b7 Check ceph backend connection on driver setup
Check that ceph connection really works when setting up
the driver instead of doing real connect later in init_host
phase. This mitigates the risk that the service crashes/respawns
in an infinite loop because of a connection error.

Change-Id: Ia71b55dab1535ce351310108aaf53304b15ab757
Closes-Bug: 1640169
2016-11-15 12:35:39 +01: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
Clinton Knight
1ce2473f3f NetApp cDOT controller utilization metrics
The NetApp cDOT drivers now include the cluster node utilization
metrics for each pool reported to the manila scheduler. These
values are designed to be included in the filter & goodness functions
used by the scheduler, so the cDOT drivers now also report those
functions to the scheduler for each pool.

Implements: blueprint netapp-cdot-goodness-functions
Change-Id: I3fca5c0ece1819eb4b3b98ed3fd9471cc5045977
2016-11-14 17:40:17 +00:00
Jenkins
641596dfc8 Merge "Fix missing 'migration_completing' task state" 2016-11-10 19:10:38 +00:00
Valeriy Ponomaryov
899941c60e Remove fake CG support from Generic share driver
Generic share driver has fake support of consistency groups. It was
implemented only for testing purpose. Now, it is redundant, because
we have 'dummy' share driver that already used to test this behavior.

So, drop fake CG support from Generic share driver and disable
appropriate tempest tests.

Change-Id: I6ce07fd3a11cd62a3a01ba4ee7c424b839a62757
Closes-Bug: #1638994
2016-11-04 16:41:54 +02:00
Rodrigo Barbieri
3f6fb58810 Fix missing 'migration_completing' task state
For driver-assisted migration, 'migration_completing' task state
was not being set when accepting migration-complete requests.

APIImpact

Change-Id: Ie0ccd587232a4a8007c45d855f0f575a30b881b2
Closes-bug: #1638896
2016-11-03 10:14:16 -02:00
Alexey Ovchinnikov
a915b75d00 Fix concurrency issues in container driver
Previously container driver failed in concurrent environments
deleting shares and share servers.
Fix it by adding shared external lock.

Change-Id: I543fd1226b3d99e06c736f4d925991d0bda7ea6d
Closes-Bug: 1613676
2016-10-20 14:52:50 +03:00
Jenkins
34a1879e6b Merge "NetApp cDOT driver should not report untenable pools" 2016-10-13 17:17:05 +00:00
Clinton Knight
eb2d9640e2 NetApp cDOT driver should not report untenable pools
The NetApp cDOT driver now explicitly filters root aggregates
from the pools reported to the manila scheduler if the driver
is operating with cluster credentials.

Change-Id: I659edada559e50d2332790025c65fae265a27c3d
Closes-Bug: #1624526
2016-10-12 18:58:11 +00:00
Andreas Jaeger
e83ec9b675 Enable release notes translation
Releasenote translation publishing is being prepared. 'locale_dirs'
needs to be defined in conf.py to generate translated version of the
release notes.

Note that this repository might not get translated release notes - or
no translations at all - but we add the entry here nevertheless to
prepare for it.

Change-Id: I6d9eac9c512935a728f3d3919b1ac2f560efe403
2016-10-06 20:29:39 +02:00
Jenkins
77d245618f Merge "Fix huawei driver cannot delete qos while status is idle" 2016-09-23 15:33:30 +00:00
Jenkins
4b77503863 Merge "3PAR driver fails to validate conf share server IPs" 2016-09-23 02:55:08 +00:00
zengyingzhe
f20ab15beb Fix huawei driver cannot delete qos while status is idle
Currently, there are 3 statuses for qos:
  - 'active', 'inactivated' and 'idle'

If qos status is 'idle', the qos deletion will fail because
huawei driver doesn't deactivate it before deleting.

This change fixes this bug by deactivating qos first if qos
status is not 'inactivated'.

Change-Id: I40f937c22d77d8e07fba176bdc09ca461f01733a
Closes-Bug: #1625424
2016-09-22 11:35:55 +00:00
Marc Koderer
e0080bff62 Make port_binding_extension mandatory if host_id is specified
In case create_port is called with host_id it's better to fail if
port_binding_extension is not available. Otherwise there won't
be any binding and no logging that the port will be inactive.

Change-Id: I65595308bc71ae78c992fd97e3f26fd718b249ec
Closes-bug: #1602525
2016-09-21 14:54:51 +02:00
Jay Mehta
cef6dddcee 3PAR driver fails to validate conf share server IPs
With 3PAR, share server(VFS) can have up to 4 IP addresses.
During bootup, driver queries 3PAR to get list of all IP addresses
and validates it against IP addresses provided in manila.conf. If
there is a mismatch, driver throws exception.

The bug was with 3PAR file client which always returns only one IP
address. To make driver backward compatible with 3PAR client,
mediator.py formats the value retured by client and passes it to
driver.py. This patch now correctly accepts all the IP addresses
as obtained from 3PAR and validates configured IPs against it.

Also removing unused function.

Updated and added new unit tests

Added release notes

Closes-Bug: #1621016

Change-Id: I1eeb18cc9905a71cd38c383bc0ab49e0a560ffc9
2016-09-19 15:10:22 -07:00
Doug Hellmann
3d39c901a0 Update reno for stable/newton
Change-Id: I22edc0930670ec615461d0f78554dbfdfe0d1d8e
2016-09-15 08:55:22 -04:00
Jenkins
8f2fa31d8a Merge "Fix allow/deny error message and race in migration" 2016-09-14 21:13:27 +00:00
Jenkins
ab7f29aa6a Merge "Add cleanup to create from snap in Manila HNAS driver" 2016-09-14 20:02:16 +00:00
Jenkins
fdd8cd808a Merge "Fix access rules for managed shares in HSP driver" 2016-09-14 19:56:41 +00:00
Alyson Rosa
9d6823b3ea Add cleanup to create from snap in Manila HNAS driver
Adding a cleanup to method create_from_snapshot in case
of a failure.

Also, raising the correct exception on backend layer in
case of a failure when exporting shares.

Change-Id: I86d2c3c5ff5a790868f8362e065df1eb2be8a3ad
Closes-Bug: #1613721
2016-09-14 13:38:49 -03:00
Jenkins
79a345f9d6 Merge "huawei driver default create thin type share" 2016-09-14 13:46:21 +00:00
Alyson Rosa
b29a0e553f Fix access rules for managed shares in HSP driver
A share managed in HSP could have some access rules that
are not in Manila. Trying to add a rule that already exists
in backend results in an error. Also, rules in backend that
names are not "share_id + ip" can't be deleted.
Additionally, if this share has a rule only in backend and not in
Manila, trying to delete it would fail, because HSP doesn't allow
delete share when it still has rules.

Fix it by adding a check in update access when rules already
exist in backend. Check for access rule name in backend when
denying access. And cleaning all rules from backend before
deleting a share to ensure that it has no children in HSP.

Change-Id: I0c8ee5c47efe22f004692022dd952f301d669b06
Closes-Bug: #1620756
2016-09-13 21:09:33 -03:00
Jenkins
3f922aab6e Merge "glusterfs: handle new cli XML format" 2016-09-13 20:46:53 +00:00
Jenkins
3eb24b54c6 Merge "Fix for LV mounting issue in docker containers" 2016-09-13 17:19:31 +00:00
Rodrigo Barbieri
10487a14a3 Fix allow/deny error message and race in migration
Share migration code [1] merged in newton intending to allow admins
to mount the share between phase1 and phase2, but API code for
allow_access and deny_access was set incorrectly, blocking it.

After discussing this feature's purpose further, we decided we do
not want this feature at this moment, so we are just fixing the
allow_access and deny_access error messages.

Also, addressed a small case of concurrency that was happening
once in a while in CI. Update_access was being invoked while
other rules were being applied, thus setting the access_rule_state
to "UPDATING_MULTIPLE", ignoring the migration access rule change
RPC request completely, failing migration. By refreshing the
model we are able to assign the proper access_rule_state at the
time the function is invoked, setting the access_rule_state
correctly.

[1] If4bfaf7e9d963b83c13a6fea241c2eda14f7f409

APIImpact

Closes-bug: #1623051
Closes-bug: #1623052

Change-Id: I76a7d8c3bdd597b951e700350f8f3f82bfb21e03
2016-09-13 13:09:17 -03:00