This driver exploits a Docker container as a share server instead
of a virtual machine. The container acts as a CIFS server
and shares logical volume attached to it. The volume gets created
simultaneously to the container on a host in a volume group
specified by the user.
DocImpact
Change-Id: I711813a2022d765ab7a70ed670e34f68f9cf1399
Implements: blueprint manila-container-driver
releasenotes and venv tox jobs had redefined the install_command
to reinstall any packages from requirements/test-requirements files.
Since Infra started supporting constrained requirements for these
jobs as well, we can drop the reinstall command.
Ref:
http://lists.openstack.org/pipermail/openstack-dev/2016-August/101474.html
Change-Id: Ib4b8c6cef22a9911030c2e3e3f5281e7e22575fc
Through change I9b4efae620ec9f6790547c8fffc58872d43277f5
we added support in manila to request the Maximum Transmission
Unit (MTU) from the network provider (neutron, standalone, etc.).
To honor this MTU, the NetApp cDOT driver needs to apply it
to the VLAN ports (via the broadcast domain) that the LIFs of the
newly created share servers are assigned to.
Co-Authored-By: Goutham Pacha Ravi <gouthamr@netapp.com>
Depends-On: I9b4efae620ec9f6790547c8fffc58872d43277f5
Change-Id: Ia01d982c7328feff292d54588d33a16df705f81e
Implements: blueprint netapp-cdot-honor-mtu-size
Changed small case letters to capital case at appropriate
places like beginning of the line.
TrivialFix
Change-Id: Ib7d219af2e531a8bb315377a177e233863759c5c
MTU value can be different for each neutron network.
E.g. for high-performance use-cases it's very important to also
support MTU's with jumbo frames.
This patch exposes this information to the drivers. Each driver
should setup its resources accordingly.
The tempest test actually just covers the api change. Better coverage will
be added when the container driver lands.
APIImpact
DocImpact
Change-Id: I9b4efae620ec9f6790547c8fffc58872d43277f5
Implements: bp add-network-mtu
Related-Bug: #1612528
During recovery/maintenance mode, the driver applied all the
rules it was expected to sync. It couldn't e.g., remove the
already existing but unwanted access rules from the backend.
This was because CephFSVolumeClient, the interface to Ceph
backend, did not have the ability to fetch the existing
access rules from the backend.
Since the following commits in Ceph,
master branch, https://github.com/ceph/ceph/commits/1c1d65a45f4574
Jewel branch, https://github.com/ceph/ceph/commits/e1eb8afea9f202
the CephFSVolumeClient is versioned and can list the existing
access rules. Use this to more faithfully implement update_access()
and ensure backwards compatibility with earlier versions of
CephFSVolumeClient.
Also, when authorizing access for a ceph auth ID using
CephFSVolumeClient's authorize(), pass the project ID of the
share as an additional argument. This is required (since
the above mentioned commits) to retrieve the access key of
the ceph auth ID.
The driver's update_access() now returns access_keys as a
dictionary with access rule ID and access key as key, value
pairs. This would be useful once Manila can store the
access_keys in its DB and expose them to the user.
Partially Implements: bp cephfs-native-driver-enhancements
Change-Id: I49782d62c0a8382d985b9b08612cf5bc394837ae
The cause of failing unit tests is a bug in huawei driver.
When huawei driver logins to backend, it reads username/password from
huawei configuration file. If the username/password are configured as
plain text, huawei driver'll encode them and overwrite the encoded text
to the configuration file.
The encoding logic code is like this:
six.text_type(base64.b64encode("***"))
For py27, this code works fine. However, for py34, this text_type
converting adds some extra words to result unicode string, like
"b'***'"('***' is the actual encoded result string).
Once driver reads the username/password again, it'll get the incorrect
text and then fail while jsonutils.dumps.
All the failed unit tests tried to call login twice, and triggered the
error condition said above.
This patch is just a workaround, because those failed tests actually
no need to login twice, the redundant login calls are removed.
Another patch will be commited to fix the problem thoroughly in huawei
driver. Bug https://launchpad.net/bugs/1612149 has been raised for
that work, and will also analyze what changed to trigger this issue
only recently.
Change-Id: Ia6bf7bbb9ffb9644085bbdf4f5576f09215a877f
Closes-Bug: #1612149
HNAS backend has support for enabling dedupe in file systems. This
commit adds a report for this capability in Manila HNAS driver.
DocImpact
Closes-Bug: #1610956
Change-Id: I6f83da1e51cfdcd8d20b607619c131d13f9e513f
Add read-only share support for cephfs_native driver
using CephFSVolumeClient's enhanced authorize() interface.
Ensure backwards compatibility with older version of
CephFSVolumeClient by checking it's version attribute, or
lack thereof.
The support for read-only authorize() was added in
CephFSVolumeClient with the following commits in Ceph:
Master branch:
https://github.com/ceph/ceph/commit/011ea5e7fb35ee0
Jewel branch:
https://github.com/ceph/ceph/commit/2cd3ed8a59786be
Change-Id: I29eb45104c04da1706c3978441babe9c4a52ca02
DocImpact
Partially-Implements: bp cephfs-native-driver-enhancements
Spectrum Scale supports NFS ganesha through CES protocol services. This
change replaces the current NFS ganesha support with the Spectrum Scale
CES infrastructure.
Implements: blueprint gpfs-ces-support
Change-Id: I8eb307c19761788ea71c15c889794f8b5f110253
Define a NetApp extra spec that is used to define a share type
that selects whether an initial clone split will be processed
as part of the create-from-snapshot workflow.
Change-Id: I7370f8342b8a5a10861e6e8080555959b0c88d62
Implements: blueprint netapp-cdot-clone-split-control
A customer has requested the ability to selectively enable NFS versions
3, 4, and 4.1 in the cDOT multi-SVM drivers. This can be accomplished
via a config option.
Change-Id: Ia16a3bde81568096c118d61e808614d630616d0d
Implements: blueprint netapp-cdot-configure-nfs-versions
Updating Manila Hitachi HNAS driver to support shares using CIFS protocol.
It accepts 'user' as access type and both rw and ro as access level.
Change-Id: I18fd5afcea6f91d870bbfc256c71a92aad014c91
Implements: blueprint hnas-driver-cifs-support
In mitaka, update_access merged with a known concurrency issue.
This concurrency has been randomly failing in our CIs. This change
adds a lock mechanism to prevent that, while rules are being removed
by a thread, a parallel thread adds back or handle the same rules
that are being removed.
Also, a late mitaka update_access patch [1] broke share migration access
rules consistency, thus leaving stale access rule data on share server
that hosted the share prior to its migration. This patch addresses this
by preventing the refresh mechanism from adding back rules
that are removed.
[1] I0f863cbae4d8af0660114161deda7bf7aa60d71d
Change-Id: Ief3b15eefc0fc325a2a5418fc7ac2724c315cc21
Co-Authored-By: Rodrigo Barbieri <rodrigo.barbieri2010@gmail.com>
Co-Authored-By: Goutham Pacha Ravi <gouthamr@netapp.com>
Closes-Bug: #1566815
Closes-Bug: #1609414
If no LIFs are present on a vserver (such as can happen if an error
occurs during share creation in driver_handles_share_servers=True
mode), the vserver deletion fails due to a recent change. This makes
the deletion path more resilient.
Change-Id: I475b7b00cd5ba6bb111e2002bb8faa49e4878592
Closes-Bug: #1607029
We call "apt-get upgrade" to apply changes related to ppa
of ZFS on linux. But "grub"-related packaged started making
dialog that hangs forever in case of automatic setup.
So, exclude "grub" related packages from update as redundant
for unblocking ZFSonLinux driver prerequisites setup.
Change-Id: Ibb94604710b0d4199825e770194655653c26bf89
Closes-Bug: #1609696
Use share mounting and copying to allow the
3PAR to export writable shares created from
snapshots. This version works without the
data service driver data helper.
Implements: blueprint hpe3par-rw-snapshot-shares
Change-Id: I6a15db0dea09e72e9d1de3c817852e5165eec956
There is an issue that happens when access is granted to a manila share
using the same Cephx ID that Manila uses when it is communicating with
the Ceph backend (e.g. the identity specified by the cephfs_auth_id
configuration option). When a request is made to revoke access to the
share with that Cephx ID, the share will become stuck in the
"deleting" state.
This commit adds logic to the _allow_access method in the CephFS Native
driver that checks to see if the Cephx ID given is the same that Manila
is using for its communication with the Ceph backend. If that is the
case, the creation of the access rule will fail with an error.
APIImpact
DocImpact
Change-Id: Ida89b0061db1c8780a19475510b830d013a5c154
Closes-Bug: #1608592
Test 'test_migrate_share_with_snapshot_v2_5' validates that
share migration returns an error when a share has a snapshot
created, but to do so, it tries to create a snapshot, which
would fail in a backend that does not support snapshot.
This fix adds a validation that skips the test in this situation.
Change-Id: Icd6b04266ac2de83747b99295cb3538967922d65
Closes-bug: #1608293