Remove Nimble Storage Driver
The Nimble Storage driver was marked unsupported during the Train release. Since then, the 3rd Party CI hasn't been fixed and there has been no sign of activity from the vendor. As a result the driver is being removed. Change-Id: I6bfb5bd55ed8d2e194336ecef5d00ea8e22a4c4d
This commit is contained in:
parent
cbda94022c
commit
416e60f579
@ -133,7 +133,6 @@ from cinder.volume.drivers.netapp import options as \
|
||||
from cinder.volume.drivers.nexenta import options as \
|
||||
cinder_volume_drivers_nexenta_options
|
||||
from cinder.volume.drivers import nfs as cinder_volume_drivers_nfs
|
||||
from cinder.volume.drivers import nimble as cinder_volume_drivers_nimble
|
||||
from cinder.volume.drivers import pure as cinder_volume_drivers_pure
|
||||
from cinder.volume.drivers import qnap as cinder_volume_drivers_qnap
|
||||
from cinder.volume.drivers import quobyte as cinder_volume_drivers_quobyte
|
||||
@ -338,7 +337,6 @@ def list_opts():
|
||||
cinder_volume_drivers_nexenta_options.NEXENTA_RRMGR_OPTS,
|
||||
cinder_volume_drivers_nexenta_options.NEXENTA_EDGE_OPTS,
|
||||
cinder_volume_drivers_nfs.nfs_opts,
|
||||
cinder_volume_drivers_nimble.nimble_opts,
|
||||
cinder_volume_drivers_pure.PURE_OPTS,
|
||||
cinder_volume_drivers_qnap.qnap_opts,
|
||||
cinder_volume_drivers_quobyte.volume_opts,
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,252 +0,0 @@
|
||||
============================
|
||||
Nimble Storage volume driver
|
||||
============================
|
||||
|
||||
Nimble Storage fully integrates with the OpenStack platform through
|
||||
the Nimble Cinder driver, allowing a host to configure and manage Nimble
|
||||
Storage array features through Block Storage interfaces.
|
||||
|
||||
Support for iSCSI storage protocol is available with NimbleISCSIDriver
|
||||
Volume Driver class and Fibre Channel with NimbleFCDriver.
|
||||
|
||||
Support for the Liberty release and above is available from Nimble OS
|
||||
2.3.8 or later.
|
||||
|
||||
Support for the Ocata release and above is available from Nimble OS 3.6 or
|
||||
later.
|
||||
|
||||
Nimble Storage Cinder driver does not support port binding with multiple
|
||||
interfaces on the same subnet due to existing limitation in os-brick. This
|
||||
is partially referenced in the bug
|
||||
https://bugs.launchpad.net/os-brick/+bug/1722432 but does not resolve
|
||||
for multiple software iscsi ifaces.
|
||||
|
||||
Supported operations
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* Create, delete, clone, attach, and detach volumes
|
||||
* Create and delete volume snapshots
|
||||
* Create a volume from a snapshot
|
||||
* Copy an image to a volume
|
||||
* Copy a volume to an image
|
||||
* Extend a volume
|
||||
* Get volume statistics
|
||||
* Manage and unmanage a volume
|
||||
* Enable encryption and default performance policy for a volume-type
|
||||
extra-specs
|
||||
* Force backup of an in-use volume.
|
||||
|
||||
Nimble Storage driver configuration
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Update the file ``/etc/cinder/cinder.conf`` with the given configuration.
|
||||
|
||||
In case of a basic (single back-end) configuration, add the parameters
|
||||
within the ``[default]`` section as follows.
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[default]
|
||||
san_ip = NIMBLE_MGMT_IP
|
||||
san_login = NIMBLE_USER
|
||||
san_password = NIMBLE_PASSWORD
|
||||
use_multipath_for_image_xfer = True
|
||||
volume_driver = NIMBLE_VOLUME_DRIVER
|
||||
|
||||
In case of multiple back-end configuration, for example, configuration
|
||||
which supports multiple Nimble Storage arrays or a single Nimble Storage
|
||||
array with arrays from other vendors, use the following parameters.
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[default]
|
||||
enabled_backends = Nimble-Cinder
|
||||
|
||||
[Nimble-Cinder]
|
||||
san_ip = NIMBLE_MGMT_IP
|
||||
san_login = NIMBLE_USER
|
||||
san_password = NIMBLE_PASSWORD
|
||||
use_multipath_for_image_xfer = True
|
||||
volume_driver = NIMBLE_VOLUME_DRIVER
|
||||
volume_backend_name = NIMBLE_BACKEND_NAME
|
||||
|
||||
In case of multiple back-end configuration, Nimble Storage volume type
|
||||
is created and associated with a back-end name as follows.
|
||||
|
||||
.. note::
|
||||
|
||||
Single back-end configuration users do not need to create the volume type.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume type create NIMBLE_VOLUME_TYPE
|
||||
$ openstack volume type set --property volume_backend_name=NIMBLE_BACKEND_NAME NIMBLE_VOLUME_TYPE
|
||||
|
||||
This section explains the variables used above:
|
||||
|
||||
NIMBLE_MGMT_IP
|
||||
Management IP address of Nimble Storage array/group.
|
||||
|
||||
NIMBLE_USER
|
||||
Nimble Storage account login with minimum ``power user`` (admin) privilege
|
||||
if RBAC is used.
|
||||
|
||||
NIMBLE_PASSWORD
|
||||
Password of the admin account for nimble array.
|
||||
|
||||
NIMBLE_VOLUME_DRIVER
|
||||
Use either cinder.volume.drivers.nimble.NimbleISCSIDriver for iSCSI or
|
||||
cinder.volume.drivers.nimble.NimbleFCDriver for Fibre Channel.
|
||||
|
||||
NIMBLE_BACKEND_NAME
|
||||
A volume back-end name which is specified in the ``cinder.conf`` file.
|
||||
This is also used while assigning a back-end name to the Nimble volume type.
|
||||
|
||||
NIMBLE_VOLUME_TYPE
|
||||
The Nimble volume-type which is created from the CLI and associated with
|
||||
``NIMBLE_BACKEND_NAME``.
|
||||
|
||||
.. note::
|
||||
|
||||
Restart the ``cinder-api``, ``cinder-scheduler``, and ``cinder-volume``
|
||||
services after updating the ``cinder.conf`` file.
|
||||
|
||||
Nimble driver extra spec options
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The Nimble volume driver also supports the following extra spec options:
|
||||
|
||||
'nimble:encryption'='yes'
|
||||
Used to enable encryption for a volume-type.
|
||||
|
||||
'nimble:perfpol-name'=PERF_POL_NAME
|
||||
PERF_POL_NAME is the name of a performance policy which exists on the
|
||||
Nimble array and should be enabled for every volume in a volume type.
|
||||
|
||||
'nimble:multi-initiator'='true'
|
||||
Used to enable multi-initiator access for a volume-type.
|
||||
|
||||
nimble:dedupe'='true'
|
||||
Used to enable dedupe support for a volume-type.
|
||||
|
||||
'nimble:iops-limit'=IOPS_LIMIT
|
||||
Used to set the IOPS_LIMIT between 256 and 4294967294 for all
|
||||
volumes created for this volume-type.
|
||||
|
||||
'nimble:folder'=FOLDER_NAME
|
||||
FOLDER_NAME is the name of the folder which exists on the Nimble array
|
||||
and should be enabled for every volume in a volume type
|
||||
|
||||
These extra-specs can be enabled by using the following command:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ openstack volume type set --property KEY=VALUE VOLUME_TYPE
|
||||
|
||||
``VOLUME_TYPE`` is the Nimble volume type and ``KEY`` and ``VALUE`` are
|
||||
the options mentioned above.
|
||||
|
||||
Configuration options
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The Nimble storage driver supports these configuration options:
|
||||
|
||||
.. config-table::
|
||||
:config-target: Nimble
|
||||
|
||||
cinder.volume.drivers.nimble
|
||||
|
||||
Multipathing
|
||||
~~~~~~~~~~~~
|
||||
In OpenStack environments where Cinder block device multipathing is desired
|
||||
there are a few things to consider.
|
||||
|
||||
Configuring mulitpathing varies by system depending on the environment. In a
|
||||
scenario where solely Nimble devices are being created by Cinder, the
|
||||
following ``/etc/multipath.conf`` file may be used:
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
defaults {
|
||||
user_friendly_names yes
|
||||
find_multipaths no
|
||||
}
|
||||
|
||||
blacklist {
|
||||
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
|
||||
devnode "^hd[a-z]"
|
||||
device {
|
||||
vendor ".*"
|
||||
product ".*"
|
||||
}
|
||||
}
|
||||
|
||||
blacklist_exceptions {
|
||||
device {
|
||||
vendor "Nimble"
|
||||
product "Server"
|
||||
}
|
||||
}
|
||||
|
||||
devices {
|
||||
device {
|
||||
vendor "Nimble"
|
||||
product "Server"
|
||||
path_grouping_policy group_by_prio
|
||||
prio "alua"
|
||||
hardware_handler "1 alua"
|
||||
path_selector "service-time 0"
|
||||
path_checker tur
|
||||
features "1 queue_if_no_path"
|
||||
no_path_retry 30
|
||||
failback immediate
|
||||
fast_io_fail_tmo 5
|
||||
dev_loss_tmo infinity
|
||||
rr_min_io_rq 1
|
||||
rr_weight uniform
|
||||
}
|
||||
}
|
||||
|
||||
After making changes to ``/etc/multipath.conf``, the multipath subsystem needs
|
||||
to be reconfigured:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# multipathd reconfigure
|
||||
|
||||
.. tip::
|
||||
|
||||
The latest best practices for Nimble devices can be found in the HPE Nimble
|
||||
Storage Linux Integration Guide found on https://infosight.hpe.com
|
||||
|
||||
.. important::
|
||||
|
||||
OpenStack Cinder is currently not compatible with the HPE Nimble Storage
|
||||
Linux Toolkit (NLT)
|
||||
|
||||
Nova needs to be configured to pickup the actual multipath device created on
|
||||
the host.
|
||||
|
||||
In ``/etc/nova/nova.conf``, add the following to the ``[libvirt]`` section:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
[libvirt]
|
||||
volume_use_multipath = True
|
||||
|
||||
.. note::
|
||||
In versions prior to Newton, the option was called ``iscsi_use_multipath``
|
||||
|
||||
After editing the Nova configuration file, the ``nova-conductor`` service
|
||||
needs to be restarted.
|
||||
|
||||
.. tip::
|
||||
Depending on which particular OpenStack distribution is being used, Nova
|
||||
may use a different configuration file than the default.
|
||||
|
||||
To validate that instances get properly connected to the multipath device,
|
||||
inspect the instance devices:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# virsh dumpxml <Instance ID | Instance Name | Instance UUID>
|
@ -138,9 +138,6 @@ title=Nexenta Driver (iSCSI, NFS)
|
||||
[driver.nfs]
|
||||
title=Generic NFS Reference Driver (NFS)
|
||||
|
||||
[driver.nimble]
|
||||
title=Nimble Storage Driver (iSCSI)
|
||||
|
||||
[driver.pure]
|
||||
title=Pure Storage Driver (iSCSI, FC)
|
||||
|
||||
@ -237,7 +234,6 @@ driver.netapp_ontap=complete
|
||||
driver.netapp_solidfire=complete
|
||||
driver.nexenta=complete
|
||||
driver.nfs=complete
|
||||
driver.nimble=missing
|
||||
driver.pure=complete
|
||||
driver.qnap=complete
|
||||
driver.quobyte=complete
|
||||
@ -300,7 +296,6 @@ driver.netapp_ontap=missing
|
||||
driver.netapp_solidfire=complete
|
||||
driver.nexenta=complete
|
||||
driver.nfs=complete
|
||||
driver.nimble=complete
|
||||
driver.pure=complete
|
||||
driver.qnap=complete
|
||||
driver.quobyte=complete
|
||||
@ -363,7 +358,6 @@ driver.netapp_ontap=missing
|
||||
driver.netapp_solidfire=missing
|
||||
driver.nexenta=missing
|
||||
driver.nfs=missing
|
||||
driver.nimble=missing
|
||||
driver.pure=missing
|
||||
driver.qnap=missing
|
||||
driver.quobyte=missing
|
||||
@ -429,7 +423,6 @@ driver.netapp_ontap=complete
|
||||
driver.netapp_solidfire=complete
|
||||
driver.nexenta=missing
|
||||
driver.nfs=missing
|
||||
driver.nimble=missing
|
||||
driver.pure=missing
|
||||
driver.qnap=missing
|
||||
driver.quobyte=missing
|
||||
@ -494,7 +487,6 @@ driver.netapp_ontap=complete
|
||||
driver.netapp_solidfire=complete
|
||||
driver.nexenta=missing
|
||||
driver.nfs=missing
|
||||
driver.nimble=missing
|
||||
driver.pure=complete
|
||||
driver.qnap=missing
|
||||
driver.quobyte=missing
|
||||
@ -560,7 +552,6 @@ driver.netapp_ontap=complete
|
||||
driver.netapp_solidfire=complete
|
||||
driver.nexenta=missing
|
||||
driver.nfs=missing
|
||||
driver.nimble=missing
|
||||
driver.pure=complete
|
||||
driver.qnap=missing
|
||||
driver.quobyte=missing
|
||||
@ -625,7 +616,6 @@ driver.netapp_ontap=complete
|
||||
driver.netapp_solidfire=complete
|
||||
driver.nexenta=missing
|
||||
driver.nfs=complete
|
||||
driver.nimble=missing
|
||||
driver.pure=complete
|
||||
driver.qnap=missing
|
||||
driver.quobyte=missing
|
||||
@ -691,7 +681,6 @@ driver.netapp_ontap=missing
|
||||
driver.netapp_solidfire=missing
|
||||
driver.nexenta=missing
|
||||
driver.nfs=missing
|
||||
driver.nimble=missing
|
||||
driver.pure=missing
|
||||
driver.qnap=missing
|
||||
driver.quobyte=missing
|
||||
@ -757,7 +746,6 @@ driver.netapp_ontap=complete
|
||||
driver.netapp_solidfire=complete
|
||||
driver.nexenta=missing
|
||||
driver.nfs=missing
|
||||
driver.nimble=missing
|
||||
driver.pure=complete
|
||||
driver.qnap=missing
|
||||
driver.quobyte=missing
|
||||
@ -820,7 +808,6 @@ driver.netapp_ontap=missing
|
||||
driver.netapp_solidfire=complete
|
||||
driver.nexenta=missing
|
||||
driver.nfs=missing
|
||||
driver.nimble=missing
|
||||
driver.pure=missing
|
||||
driver.qnap=missing
|
||||
driver.quobyte=missing
|
||||
@ -887,7 +874,6 @@ driver.netapp_ontap=missing
|
||||
driver.netapp_solidfire=missing
|
||||
driver.nexenta=missing
|
||||
driver.nfs=missing
|
||||
driver.nimble=missing
|
||||
driver.pure=missing
|
||||
driver.qnap=missing
|
||||
driver.quobyte=missing
|
||||
|
@ -89,3 +89,4 @@ release.
|
||||
* Ussuri
|
||||
* Huawei FusionStorage Driver
|
||||
* ProphetStor Flexvisor Driver
|
||||
* Nimble Storage Driver
|
||||
|
@ -0,0 +1,7 @@
|
||||
---
|
||||
upgrade:
|
||||
- |
|
||||
The Nimble Storage driver was marked unsupported in the
|
||||
Train release and has now been removed. All data on
|
||||
Nimble Storage backends should be migrated to a supported
|
||||
storage backend before upgrading your Cinder installation.
|
Loading…
Reference in New Issue
Block a user