This patch introduces a new directory layout
in doc/source in conformance with the OpenStack
manuals project migration spec [1], moves the
existing content in manila/doc/source into the
new directories, and adjusts index files accordingly.
This is the first step in the migration process
as outlined in the spec.
[1] https://specs.openstack.org/openstack/docs-specs/specs/pike/os-manuals-migration.html
Partial-Bug: #1706181
Needed-By: I7924d94b82e7c8d9716bad7a219fc38c57970773
Depends-On: Ifc80fc56648cef74c85464321d1850e8c68449a0
Depends-On: Ia750cb049c0f53a234ea70ce1f2bbbb7a2aa9454
Change-Id: Ieea33262101a1d2459492c1c8aaac5fe042279f6
ONTAP supports assigning QoS policy groups to storage
objects and workloads. [1]
Expose this functionality through the ONTAP manila
drivers (DHSS=True/False, NFS, CIFS).
The drivers will set the capability "qos" to True if the
configured credentials have access to create qos policy
groups on the configured ONTAP backend. When 'qos'
extra-spec is set in share types, scoped extra-specs can
be used to specify QoS ceiling values in iops or bps.
The drivers support the following QoS specs:
'netapp:maxiops', 'netapp:maxiopspergib', 'netapp:maxbps',
'netapp:maxbpspergib'. Policies are created on-demand
and manipulated as and when shares are manipulated
through manila.
[1] http://docs.netapp.com/ontap-9/index.jsp?topic=%2Fcom.netapp.doc.pow-perf-mon%2FGUID-38357C43-FB36-419D-B31F-6FD75B47254D.html
Implements: blueprint netapp-cdot-qos
Change-Id: I6f82c012ea60cfb1e9f82a696e2346ee95c60df3
Add a NFS protocol helper class that can modify exports of a Ganesha
server based on share access rule changes. This allows the manila
guests to access shares in CephFS backend using NFS protocol through
NFS-Ganesha gateways.
And while adding the driver's helper class that subclasses Ganesha
library's GaneshaNASHelper2 identified minor issues in the
Ganesha library. Fix the issues by:
* escaping special character '=' in values of Ganesha conf's string
options, except for option CLIENTS, by enclosing the values with
double quotes.
* add a new callback interface to GaneshaNASHelper class to
allow driver's to perform Ganesha FSAL specific cleanup.
Partially-implements: bp cephfs-nfs-support
Depends-On: I5234bae0595efdcd30305a32bf9c121072a3625e
Change-Id: I9709d94cdb6f8d3e92b8dfc91b2ec4e154a8ec20
glusterfs is an open source community supported distributed
filesystem so remove references to *Red Hat* GlusterFS since
that phrase gives the impression that the glusterfs drivers
are scoped only to the Red Hat Gluster Storage product.
TrivialFix
Change-Id: I373cbc75700cf0d8cc252500ebb7af0b0893497b
Refactor CephFSNativeDriver as a driver class using protocol helper
classes. The helper classes would handle protocol specific driver
actions such as controlling access and fetching share's export
locations. For now, the driver uses a protocol helper to support
CephFS's native protocol. The driver can be made to support other
NAS protocols later on by adding protocol helper classes.
Since the driver would not just support the native protocol
rename the driver's file name and its driver class as
`driver` and `CephFSDriver` respectively. The driver would by
default support the native protocol, and can be referred to
by its previous class name and module name.
DocImpact
Partially-impelements: blueprint cephfs-nfs-support
Change-Id: I8a33be1df4864131435b794e791cc2d651fbe741
This patch adds Mountable Snapshots support in HNAS driver. Also,
updates feature table in share_back_ends_feature_support_mapping.rst
adding mountable snapshot column.
Implements: bp hnas-mountable-snapshots
Change-Id: I5e2294d218595a7ef28261333ab34d8bcde94ff1
VMAX plugin is the plugin which manages the VMAX to
provide shared filesystems using the Dell EMC manila
driver framework.
DocImpact
Change-Id: I0b69f013443217f2053bbbfdec36dff226664b34
Implements: blueprint vmax-manila-support
This commit adds support for the revert-to-snapshot feature to
the NetApp cDOT drivers for both normal and replicated shares.
Implements: blueprint netapp-cdot-share-revert-to-snapshot
Change-Id: Ia939eba03b3db9cbba0cc6c16184578e8c8893d1
This change adds revert-to-snapshot functionality to the
HNAS driver.
Implements: blueprint hnas-revert-to-snapshot
Change-Id: I3f54edfbd272333b70a27becf469cd09f36e8371
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
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
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
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
Share drivers to support NexentaStor4 and NexentaStor5 via
NFS protocol. Supports all minimal required features.
Implements: blueprint nexenta-manila-driver
DocImpact
Change-Id: Ib8b8525397626162968458ec837f9239ff5dbb2b
This patch adds the Hitachi HSP driver.
Co-Authored-By: Marcus V R Nascimento <marcusvrn@gmail.com>
DocImpact
Implements: blueprint hsp-driver
Change-Id: Ie3028cbff56873721dc51ff4d7fccf7fb7e99611
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
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
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
EMC Unity arrays are capable of support manila.
Add a new Unity plugin in manila which allows user to create NFS/CIFS
share with a Unity backend.
The plugin should support following APIs:
* connect: Connect to the Unity Storage.
* check_for_setup_error: No implementation.
* create_share: Create a share and export it based on the protocol used
(NFS or CIFS).
* create_share_from_snapshot: Create a share from a snapshot - clone a
snapshot.
* delete_share: Delete a share.
* extend_share: Extend the maximum size of a share.
* create_snapshot: Create a snapshot for the specified share.
* delete_snapshot: Delete the snapshot of the share.
* allow_access: Allow access of a user/host to a share.
* deny_access: Remove the access of a user/host to the share.
* ensure_share: Check whether share exists or not.
* update_share_stats: Retrieve share related statistics from Unity.
* get_network_allocatins_number: Returns number of network allocations
for creating VIFs.
* setup_server: Set up and configures share server with given network
parameters.
* teardown_server: Tear down the share server.
DocImpact
Co-Authored-By: Cedric Zhuang <cedric.zhuang@emc.com>
Change-Id: Ic520539341fa19ec5c6c6b85c3c1dcecf70e5141
Implements: blueprint emc-unity-manila-support
Implement 'manage snapshot' feature in ZFSonLinux share driver.
Prerequisites:
- snapshot being managed should exist.
Details:
- snapshot being managed will be renamed by share driver based on
taken ID.
- size for managed snapshot will be taken either from
REST API (--driver_options size=5) or
from its "used" attribute.
Implements BP zfsonlinux-manage-snapshot
DocImpact
Change-Id: If240ecde5676c334d39faaccd5703e93544aaa06
Depends-On: Ifc762a882a78159adacfe168a4edbe824178301a
- Manage share: ask Manila to take control of an existing ZFSSA share
not managed by Manila driver. Current share size will be rounded up
to the nearest whole GB value.
- Unmanage share: ask Manila to release control of a ZFSSA share
managed by the driver.
Change-Id: I0d4a46211dfd15cb7a261eddfa8c14be26adcfc3
Implements: blueprint oracle-zfssa-share-manage
Implement 'manage share' feature in ZFSonLinux share driver.
Prerequisites:
- share being managed should exist.
- share being managed should not be part of any replication relations.
- share being managed should not have redefined mountpoint.
Details:
- share being managed will be renamed by share driver based on taken ID.
- share being managed will get "quota" attribute set based on provided
value in API (--driver_options size=5) or it will set quota
to nearest bigger rounded integer of already
used space (2,4 -> 3, 3.6 -> 4).
Implements blueprint zfsonlinux-manage-share
DocImpact
Change-Id: I03eab5e02835fe660dde0020601c02c0136bddeb
With snapshot manage / unmanage in Manila core, we can
support that in the NetApp single-SVM driver.
Implements: blueprint netapp-cdot-snapshot-manage-unmanage
Change-Id: I7c6c005fb3fd8613da9e9ac04b9dd832781e35ca
Add a new matrix to the share backends feature support mapping page
in the developer reference to indicate which backends support which
common capabilities, such as QoS and Thin Provisioning.
The Driver Handles Share Servers capabilities I retrieved from the
share creation column earlier in the same page. Other common
capabilities are currently filled in with information gathered from
the _update_share_stats() methods for each driver.
Change-Id: I5dfff0a62c91a047fc142018ece5f65edab3866a
The Tegile driver will support the NAS shares and it will
include the minimum set of features.
[Supported Protocols]
- CIFS, NFS
The driver supports Manila driver mode
(driver_handles_share_servers = False).
Tegile has setup a CI. It will report as "Tegile Storage CI".
DocImpact
Implements: blueprint tegile-share-driver
Change-Id: I2e9154454e2a34f9a0653a173846ce554026f33b
This driver exploits a container as a share server instead
of a virtual machine. The container acts as a NFS/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. Currently NFS is limited to v3 since the
only userspace NFS server that works in a container out of the box
seems to be unfs3. Later it will be replaced with nfs-ganesha.
Co-Authored-By: Alexey Ovchinnikov <aovchinnikov@mirantis.com>
Implements: blueprint lxc-driver
Depends-On: Ib1896997f2e7a505b5bf8ec0c9e5ee35942f79a6
Change-Id: Iea73bd34b94919d77ebe17cf054dde1f580384be
This driver enables use of the Ceph filesystem for
Manila shares. Clients require a native CephFS
client to access the share. The interface
to Ceph is CephFSVolumeClient, included in
the 'Jewel' Ceph release and later.
APIImpact
The API microversion is bumped to 2.13 to add a
new access type, cephx, supported by the driver.
Co-Authored-By: Ramana Raja <rraja@redhat.com>
Implements: blueprint cephfs-driver
Change-Id: I33801215f64eacb9dade4d92f11f659173abb7f5
Add support for ZFS (on Linux) filesystem.
Following features are supported:
- Create/delete share
- Create/delete snapshot
- Create share from snapshot
- Extend/shrink share
- Update NFS IP-based access rules using new interface.
(SMB support planned for future).
- create/delete/update/promote share replica
ZFS-related notes:
- Any amount of ZFS zpools can be used by share driver.
- Allowed to configure default options for ZFS datasets that are used
for share creation.
- Any amount of nested datasets is allowed to be used.
- All share replicas are read-only.
- All share replicas are synched periodically, not continuously.
So, status 'in_sync' means latest sync was successful.
Time range between syncs equals to value of
config global opt 'replica_state_update_interval'.
Driver-related notes:
- Able to use remote ZFSonLinux storage as well as local.
Other made changes:
- updated driver private data DB methods removing filtering by host
as redundant operation. Replication requires some common metadata
storage and filtering by host breaks it. It is safe to do so, because
if driver gets some ID of entity then it is allowed to read its info
too.
Implements bp zfsonlinux-driver
DocImpact
Change-Id: I3ddd3767184e4843037de0ac75ff18dce709b6dc
This change adds share shrink and extend features to Oracle ZFSSA
Manila driver.
Change-Id: I09cd9bd3002007bd30e6a2e22bfd3f3f711b2bd9
Implements: blueprint oracle-zfssa-share-shrink-extend
Add APIs to support manage and unmanage share snapshots.
Also add support in the Generic driver.
This only supports for DHSS=False driver mode.
Add provider_location column to the share_snapshots table
to save data used to identify the snapshot on the backend.
Also need to bump microversion.
APIImpact
DocImpact
Change-Id: I87a066173c85d969607d132accd9f0e9bd49c235
Implements: blueprint manage-unmanage-snapshot
Added support for read-only shares to the CIFS protocol in the Isilon
driver.
Change-Id: I0dacb5538071af31cd07a187fead1b34e19db58d
Implements: blueprint emc-isilon-driver-readonly-share
Added support for read-only shares to the NFS protocol in the Isilon
driver. Fixed parameters in the exceptions.
Change-Id: Idf8b8772e30d55667317de9f50117968d34ee877
Implements: blueprint emc-isilon-driver-readonly-share