diff --git a/doc/config-reference/source/block-storage/drivers/nexentaedge-driver.rst b/doc/config-reference/source/block-storage/drivers/nexentaedge-driver.rst new file mode 100644 index 0000000000..64abc8cbf6 --- /dev/null +++ b/doc/config-reference/source/block-storage/drivers/nexentaedge-driver.rst @@ -0,0 +1,87 @@ +======================== +NexentaEdge iSCSI driver +======================== + +NexentaEdge is designed from the ground-up to deliver high performance Block +and Object storage services and limitless scalability to next generation +OpenStack clouds, petabyte scale active archives and Big Data applications. +NexentaEdge runs on shared nothing clusters of industry standard Linux +servers, and builds on Nexenta IP and patent pending Cloud Copy On Write(CCOW) +technology to break new grounds in terms of reliability, functionality and +cost efficiencies. + +For NexentaEdge user documentation, visit http://docs.nexenta.com. + +Supported operations +~~~~~~~~~~~~~~~~~~~~ + +* Create, delete, attach, and detach volumes. + +* Create, list, and delete volume snapshots. + +* Create a volume from a snapshot. + +* Copy an image to a volume. + +* Copy a volume to an image. + +* Clone a volume. + +* Extend a volume. + +iSCSI driver +~~~~~~~~~~~~ + +The NexentaEdge cluster must be installed and configured according to the +relevant Nexenta documentation. A cluster, tenant, bucket must be pre-created, +as well as an iSCSI service on the NexentaEdge gateway node. + +The NexentaEdge iSCSI driver is selected using the normal procedures for one +or multiple back-end volume drivers. + +You must configure these items for each NexentaEdge cluster that the iSCSI +volume driver controls: + +#. Make the following changes on the volume node ``/etc/cinder/cinder.conf`` + file. + + .. code-block:: ini + + # Enable Nexenta iSCSI driver + volume_driver = cinder.volume.drivers.nexenta.nexentaedge.iscsi.NexentaEdgeISCSIDriver + + # Specify the ip address for Rest API (string value) + nexenta_rest_address = MANAGEMENT-NODE-IP + + # Port for Rest API (integer value) + nexenta_rest_port=8080 + + # Protocol used for Rest calls (string value, default=htpp) + nexenta_rest_protocol = http + + # Username for NexentaEdge Rest (string value) + nexenta_user=USERNAME + + # Password for NexentaEdge Rest (string value) + nexenta_password=PASSWORD + + # Path to bucket containing iSCSI LUNs (string value) + nexenta_lun_container = CLUSTER/TENANT/BUCKET + + # Name of pre-created iSCSI service (string value) + nexenta_iscsi_service = SERVICE-NAME + + # IP address of the gateway node attached to iSCSI service above (string value) + nexenta_client_address = GATEWAY-NODE-IP + + +#. Save the changes to the ``/etc/cinder/cinder.conf`` file and + restart the ``cinder-volume`` service. + + +Driver options +~~~~~~~~~~~~~~ + +Nexenta Driver supports these options: + +.. include:: ../../tables/cinder-nexenta_edge.rst diff --git a/doc/config-reference/source/block-storage/drivers/nexentastor4-driver.rst b/doc/config-reference/source/block-storage/drivers/nexentastor4-driver.rst new file mode 100644 index 0000000000..b6c5831071 --- /dev/null +++ b/doc/config-reference/source/block-storage/drivers/nexentastor4-driver.rst @@ -0,0 +1,141 @@ +===================================== +NexentaStor 4.x NFS and iSCSI drivers +===================================== + +NexentaStor is an Open Source-driven Software-Defined Storage (OpenSDS) +platform delivering unified file (NFS and SMB) and block (FC and iSCSI) +storage services, runs on industry standard hardware, scales from tens of +terabytes to petabyte configurations, and includes all data management +functionality by default. + +For NexentaStor 4.x user documentation, visit +https://nexenta.com/products/downloads/nexentastor. + +Supported operations +~~~~~~~~~~~~~~~~~~~~ + +* Create, delete, attach, and detach volumes. + +* Create, list, and delete volume snapshots. + +* Create a volume from a snapshot. + +* Copy an image to a volume. + +* Copy a volume to an image. + +* Clone a volume. + +* Extend a volume. + +* Migrate a volume. + +* Change volume type. + +Nexenta iSCSI driver +~~~~~~~~~~~~~~~~~~~~ + +The Nexenta iSCSI driver allows you to use a NexentaStor appliance to store +Compute volumes. Every Compute volume is represented by a single zvol in a +predefined Nexenta namespace. The Nexenta iSCSI volume driver should work with +all versions of NexentaStor. + +The NexentaStor appliance must be installed and configured according to the +relevant Nexenta documentation. A volume and an enclosing namespace must be +created for all iSCSI volumes to be accessed through the volume driver. This +should be done as specified in the release-specific NexentaStor documentation. + +The NexentaStor Appliance iSCSI driver is selected using the normal procedures +for one or multiple backend volume drivers. + +You must configure these items for each NexentaStor appliance that the iSCSI +volume driver controls: + +#. Make the following changes on the volume node ``/etc/cinder/cinder.conf`` + file. + + .. code-block:: ini + + # Enable Nexenta iSCSI driver + volume_driver=cinder.volume.drivers.nexenta.iscsi.NexentaISCSIDriver + + # IP address of NexentaStor host (string value) + nexenta_host=HOST-IP + + # Username for NexentaStor REST (string value) + nexenta_user=USERNAME + + # Port for Rest API (integer value) + nexenta_rest_port=8457 + + # Password for NexentaStor REST (string value) + nexenta_password=PASSWORD + + # Volume on NexentaStor appliance (string value) + nexenta_volume=volume_name + + +.. note:: + + nexenta_volume represents a zpool which is called volume on NS appliance. It must be pre-created before enabling the driver. + + +#. Save the changes to the ``/etc/cinder/cinder.conf`` file and + restart the ``cinder-volume`` service. + + + +Nexenta NFS driver +~~~~~~~~~~~~~~~~~~ +The Nexenta NFS driver allows you to use NexentaStor appliance to store +Compute volumes via NFS. Every Compute volume is represented by a single +NFS file within a shared directory. + +While the NFS protocols standardize file access for users, they do not +standardize administrative actions such as taking snapshots or replicating +file systems. The OpenStack Volume Drivers bring a common interface to these +operations. The Nexenta NFS driver implements these standard actions using +the ZFS management plane that is already deployed on NexentaStor appliances. + +The Nexenta NFS volume driver should work with all versions of NexentaStor. +The NexentaStor appliance must be installed and configured according to the +relevant Nexenta documentation. A single-parent file system must be created +for all virtual disk directories supported for OpenStack. This directory must +be created and exported on each NexentaStor appliance. This should be done as +specified in the release- specific NexentaStor documentation. + +You must configure these items for each NexentaStor appliance that the NFS +volume driver controls: + +#. Make the following changes on the volume node ``/etc/cinder/cinder.conf`` + file. + + .. code-block:: ini + + # Enable Nexenta NFS driver + volume_driver=cinder.volume.drivers.nexenta.nfs.NexentaNfsDriver + + # Path to shares config file + nexenta_shares_config=/home/ubuntu/shares.cfg + + .. note:: + + Add your list of Nexenta NFS servers to the file you specified with the + ``nexenta_shares_config`` option. For example, this is how this file should look: + + .. code-block:: ini + + 192.168.1.200:/volumes/VOLUME_NAME/NFS_SHARE http://USER:PASSWORD@192.168.1.200:8457 + 192.168.1.201:/volumes/VOLUME_NAME/NFS_SHARE http://USER:PASSWORD@192.168.1.201:8457 + 192.168.1.202:/volumes/VOLUME_NAME/NFS_SHARE http://USER:PASSWORD@192.168.1.202:8457 + +Each line in this file represents an NFS share. The first part of the line is +the NFS share URL, the second line is the connection URL to the NexentaStor +Appliance. + +Driver options +~~~~~~~~~~~~~~ + +Nexenta Driver supports these options: + +.. include:: ../../tables/cinder-nexenta.rst diff --git a/doc/config-reference/source/block-storage/drivers/nexentastor5-driver.rst b/doc/config-reference/source/block-storage/drivers/nexentastor5-driver.rst new file mode 100644 index 0000000000..7163855ad6 --- /dev/null +++ b/doc/config-reference/source/block-storage/drivers/nexentastor5-driver.rst @@ -0,0 +1,87 @@ +======================== +NexentaEdge iSCSI driver +======================== + +NexentaEdge is designed from the ground-up to deliver high performance Block +and Object storage services and limitless scalability to next generation +OpenStack clouds, petabyte scale active archives and Big Data applications. +NexentaEdge runs on shared nothing clusters of industry standard Linux servers, +and builds on Nexenta IP and patent pending Cloud Copy On Write (CCOW) +technology to break new grounds in terms of reliability, functionality +and cost efficiencies. + +For Nexenta user documentation, visit http://docs.nexenta.com. + +Supported operations +~~~~~~~~~~~~~~~~~~~~ + +* Create, delete, attach, and detach volumes. + +* Create, list, and delete volume snapshots. + +* Create a volume from a snapshot. + +* Copy an image to a volume. + +* Copy a volume to an image. + +* Clone a volume. + +* Extend a volume. + +iSCSI driver +~~~~~~~~~~~~ + +The NexentaEdge cluster must be installed and configured according to the +relevant Nexenta documentation. A cluster, tenant, bucket must be pre-created, +as well as an iSCSI service on the NexentaEdge gateway node. + +The NexentaEdge iSCSI driver is selected using the normal procedures for one +or multiple back-end volume drivers. + +You must configure these items for each NexentaEdge cluster that the iSCSI +volume driver controls: + +#. Make the following changes on the volume node ``/etc/cinder/cinder.conf`` + file. + + .. code-block:: ini + + # Enable Nexenta iSCSI driver + volume_driver = cinder.volume.drivers.nexenta.nexentaedge.iscsi.NexentaEdgeISCSIDriver + + # Specify the ip address for Rest API (string value) + nexenta_rest_address = MANAGEMENT-NODE-IP + + # Port for Rest API (integer value) + nexenta_rest_port=8080 + + # Protocol used for Rest calls (string value, default=htpp) + nexenta_rest_protocol = http + + # Username for NexentaEdge Rest (string value) + nexenta_user=USERNAME + + # Password for NexentaEdge Rest (string value) + nexenta_password=PASSWORD + + # Path to bucket containing iSCSI LUNs (string value) + nexenta_lun_container = CLUSTER/TENANT/BUCKET + + # Name of pre-created iSCSI service (string value) + nexenta_iscsi_service = SERVICE-NAME + + # IP address of the gateway node attached to iSCSI service above (string value) + nexenta_client_address = GATEWAY-NODE-IP + + +#. Save the changes to the ``/etc/cinder/cinder.conf`` file and + restart the ``cinder-volume`` service. + + +Driver options +~~~~~~~~~~~~~~ + +Nexenta Driver supports these options: + +.. include:: ../../tables/cinder-nexenta5.rst diff --git a/doc/config-reference/source/block-storage/volume-drivers.rst b/doc/config-reference/source/block-storage/volume-drivers.rst index 03e7db4386..8e0e878714 100644 --- a/doc/config-reference/source/block-storage/volume-drivers.rst +++ b/doc/config-reference/source/block-storage/volume-drivers.rst @@ -31,6 +31,9 @@ Volume drivers drivers/lvm-volume-driver.rst drivers/netapp-volume-driver.rst drivers/nimble-volume-driver.rst + drivers/nexentastor4-driver.rst + drivers/nexentastor5-driver.rst + drivers/nexentaedge-driver.rst drivers/nfs-volume-driver.rst drivers/prophetstor-dpl-driver.rst drivers/pure-storage-driver.rst diff --git a/doc/config-reference/source/block-storage/volume-misc.rst b/doc/config-reference/source/block-storage/volume-misc.rst index 40a79b749b..5fdbbf7886 100644 --- a/doc/config-reference/source/block-storage/volume-misc.rst +++ b/doc/config-reference/source/block-storage/volume-misc.rst @@ -33,7 +33,6 @@ These options can also be set in the ``cinder.conf`` file. .. include:: ../tables/cinder-keymgr.rst .. include:: ../tables/cinder-logging.rst .. include:: ../tables/cinder-nas.rst -.. include:: ../tables/cinder-nexenta.rst .. include:: ../tables/cinder-profiler.rst .. include:: ../tables/cinder-pure.rst .. include:: ../tables/cinder-quota.rst diff --git a/doc/config-reference/source/tables/cinder-nexenta.rst b/doc/config-reference/source/tables/cinder-nexenta.rst index 56d8842872..c067df6b14 100644 --- a/doc/config-reference/source/tables/cinder-nexenta.rst +++ b/doc/config-reference/source/tables/cinder-nexenta.rst @@ -10,7 +10,7 @@ .. _cinder-nexenta: -.. list-table:: Description of Nexenta driver configuration options +.. list-table:: Description of NexentaStor 4.x driver configuration options :header-rows: 1 :class: config-ref-table @@ -32,30 +32,18 @@ - (String) Human-readable description for the folder. * - ``nexenta_host`` = - (String) IP address of Nexenta SA - * - ``nexenta_iscsi_service`` = - - (String) NexentaEdge iSCSI service name * - ``nexenta_iscsi_target_portal_port`` = ``3260`` - (Integer) Nexenta target portal port - * - ``nexenta_lun_container`` = - - (String) NexentaEdge logical path of bucket for LUNs * - ``nexenta_mount_point_base`` = ``$state_path/mnt`` - (String) Base directory that contains NFS share mount points * - ``nexenta_nms_cache_volroot`` = ``True`` - (Boolean) If set True cache NexentaStor appliance volroot option value. - * - ``nexenta_ns5_blocksize`` = ``32`` - - (Integer) Block size for datasets * - ``nexenta_password`` = ``nexenta`` - (String) Password to connect to Nexenta SA - * - ``nexenta_rest_address`` = - - (String) IP address of NexentaEdge management REST API endpoint - * - ``nexenta_rest_password`` = ``nexenta`` - - (String) Password to connect to NexentaEdge * - ``nexenta_rest_port`` = ``8080`` - (Integer) HTTP port to connect to Nexenta REST API server * - ``nexenta_rest_protocol`` = ``auto`` - (String) Use http or https for REST connection (default auto) - * - ``nexenta_rest_user`` = ``admin`` - - (String) User name to connect to NexentaEdge * - ``nexenta_rrmgr_compression`` = ``0`` - (Integer) Enable stream compression, level 1..9. 1 - gives best speed; 9 - gives best compression. * - ``nexenta_rrmgr_connections`` = ``2`` @@ -76,5 +64,3 @@ - (String) User name to connect to Nexenta SA * - ``nexenta_volume`` = ``cinder`` - (String) SA Pool that holds all volumes - * - ``nexenta_volume_group`` = ``iscsi`` - - (String) Volume group for ns5 diff --git a/doc/config-reference/source/tables/cinder-nexenta5.rst b/doc/config-reference/source/tables/cinder-nexenta5.rst new file mode 100644 index 0000000000..51d04b3d02 --- /dev/null +++ b/doc/config-reference/source/tables/cinder-nexenta5.rst @@ -0,0 +1,48 @@ +.. + Warning: Do not edit this file. It is automatically generated from the + software project's code and your changes will be overwritten. + + The tool to generate this file lives in openstack-doc-tools repository. + + Please make any changes needed in the code, then run the + autogenerate-config-doc tool from the openstack-doc-tools repository, or + ask for help on the documentation mailing list, IRC channel or meeting. + +.. _cinder-nexenta5: + +.. list-table:: Description of NexentaStor 5.x driver configuration options + :header-rows: 1 + :class: config-ref-table + + * - Configuration option = Default value + - Description + * - **[DEFAULT]** + - + * - ``nexenta_dataset_compression`` = ``on`` + - (String) Compression value for new ZFS folders. + * - ``nexenta_dataset_dedup`` = ``off`` + - (String) Deduplication value for new ZFS folders. + * - ``nexenta_dataset_description`` = + - (String) Human-readable description for the folder. + * - ``nexenta_host`` = + - (String) IP address of Nexenta SA + * - ``nexenta_iscsi_target_portal_port`` = ``3260`` + - (Integer) Nexenta target portal port + * - ``nexenta_mount_point_base`` = ``$state_path/mnt`` + - (String) Base directory that contains NFS share mount points + * - ``nexenta_ns5_blocksize`` = ``32`` + - (Integer) Block size for datasets + * - ``nexenta_rest_port`` = ``8080`` + - (Integer) HTTP port to connect to Nexenta REST API server + * - ``nexenta_rest_protocol`` = ``auto`` + - (String) Use http or https for REST connection (default auto) + * - ``nexenta_sparse`` = ``False`` + - (Boolean) Enables or disables the creation of sparse datasets + * - ``nexenta_sparsed_volumes`` = ``True`` + - (Boolean) Enables or disables the creation of volumes as sparsed files that take no space. If disabled (False), volume is created as a regular file, which takes a long time. + * - ``nexenta_user`` = ``admin`` + - (String) User name to connect to Nexenta SA + * - ``nexenta_volume`` = ``cinder`` + - (String) SA Pool that holds all volumes + * - ``nexenta_volume_group`` = ``iscsi`` + - (String) Volume group for ns5 diff --git a/doc/config-reference/source/tables/cinder-nexenta_edge.rst b/doc/config-reference/source/tables/cinder-nexenta_edge.rst new file mode 100644 index 0000000000..060b92178d --- /dev/null +++ b/doc/config-reference/source/tables/cinder-nexenta_edge.rst @@ -0,0 +1,42 @@ +.. + Warning: Do not edit this file. It is automatically generated from the + software project's code and your changes will be overwritten. + + The tool to generate this file lives in openstack-doc-tools repository. + + Please make any changes needed in the code, then run the + autogenerate-config-doc tool from the openstack-doc-tools repository, or + ask for help on the documentation mailing list, IRC channel or meeting. + +.. _cinder-nexenta_edge: + +.. list-table:: Description of NexentaEdge driver configuration options + :header-rows: 1 + :class: config-ref-table + + * - Configuration option = Default value + - Description + * - **[DEFAULT]** + - + * - ``nexenta_blocksize`` = ``4096`` + - (Integer) Block size for datasets + * - ``nexenta_chunksize`` = ``16384`` + - (Integer) NexentaEdge iSCSI LUN object chunk size + * - ``nexenta_client_address`` = + - (String) NexentaEdge iSCSI Gateway client address for non-VIP service + * - ``nexenta_iscsi_service`` = + - (String) NexentaEdge iSCSI service name + * - ``nexenta_iscsi_target_portal_port`` = ``3260`` + - (Integer) Nexenta target portal port + * - ``nexenta_lun_container`` = + - (String) NexentaEdge logical path of bucket for LUNs + * - ``nexenta_rest_address`` = + - (String) IP address of NexentaEdge management REST API endpoint + * - ``nexenta_rest_password`` = ``nexenta`` + - (String) Password to connect to NexentaEdge + * - ``nexenta_rest_port`` = ``8080`` + - (Integer) HTTP port to connect to Nexenta REST API server + * - ``nexenta_rest_protocol`` = ``auto`` + - (String) Use http or https for REST connection (default auto) + * - ``nexenta_rest_user`` = ``admin`` + - (String) User name to connect to NexentaEdge diff --git a/tools/autogenerate-config-flagmappings/cinder.flagmappings b/tools/autogenerate-config-flagmappings/cinder.flagmappings index ed3cc60569..70ab68e1cc 100644 --- a/tools/autogenerate-config-flagmappings/cinder.flagmappings +++ b/tools/autogenerate-config-flagmappings/cinder.flagmappings @@ -357,36 +357,36 @@ netapp_transport_type netapp_7mode_iscsi netapp_7mode_nfs netapp_cdot_iscsi neta netapp_vfiler netapp_7mode_iscsi netapp_7mode_nfs netapp_vserver netapp_cdot_iscsi netapp_cdot_nfs netapp_webservice_path netapp_eseries_iscsi -nexenta_blocksize nexenta -nexenta_chunksize nexenta -nexenta_client_address nexenta -nexenta_dataset_compression nexenta -nexenta_dataset_dedup nexenta -nexenta_dataset_description nexenta -nexenta_host nexenta -nexenta_iscsi_service nexenta -nexenta_iscsi_target_portal_port nexenta -nexenta_lun_container nexenta -nexenta_mount_point_base nexenta +nexenta_blocksize nexenta nexenta_edge +nexenta_chunksize nexenta nexenta_edge +nexenta_client_address nexenta nexenta_edge +nexenta_dataset_compression nexenta nexenta5 +nexenta_dataset_dedup nexenta nexenta5 +nexenta_dataset_description nexenta nexenta5 +nexenta_host nexenta nexenta5 +nexenta_iscsi_service nexenta_edge +nexenta_iscsi_target_portal_port nexenta nexenta5 nexenta_edge +nexenta_lun_container nexenta_edge +nexenta_mount_point_base nexenta nexenta5 nexenta_nms_cache_volroot nexenta -nexenta_ns5_blocksize nexenta +nexenta_ns5_blocksize nexenta5 nexenta_password nexenta -nexenta_rest_address nexenta -nexenta_rest_password nexenta -nexenta_rest_port nexenta -nexenta_rest_protocol nexenta -nexenta_rest_user nexenta +nexenta_rest_address nexenta_edge +nexenta_rest_password nexenta_edge +nexenta_rest_port nexenta nexenta5 nexenta_edge +nexenta_rest_protocol nexenta nexenta5 nexenta_edge +nexenta_rest_user nexenta_edge nexenta_rrmgr_compression nexenta nexenta_rrmgr_connections nexenta nexenta_rrmgr_tcp_buf_size nexenta nexenta_shares_config nexenta -nexenta_sparse nexenta -nexenta_sparsed_volumes nexenta +nexenta_sparse nexenta nexenta5 +nexenta_sparsed_volumes nexenta nexenta5 nexenta_target_group_prefix nexenta nexenta_target_prefix nexenta -nexenta_user nexenta -nexenta_volume nexenta -nexenta_volume_group nexenta +nexenta_user nexenta nexenta5 +nexenta_volume nexenta nexenta5 +nexenta_volume_group nexenta5 nfs_mount_attempts storage_nfs nfs_mount_options storage_nfs nfs_mount_point_base storage_nfs