From a31e100caf30f1b6a818b67b40c4885a3f67cf56 Mon Sep 17 00:00:00 2001 From: Ivan Pchelintsev Date: Wed, 17 Feb 2021 23:17:53 +0300 Subject: [PATCH] Add ports filtering support to XtremIO Cinder driver If there are some iSCSI or FC targets (ESXi for example) that are not connected to the OpenStack host, attach volume operation waits until timeout. The XtremIO Cinder driver needs a new option to support ports filtering. Depends-On: https://review.opendev.org/#/c/779005 Related-Bug: #1915800 Change-Id: Ib689f08e414f3a10d18ed34932f8a314be7a7344 (cherry picked from commit e0adf10564209e75d02d9a9ceb43d58b69c96d51) --- .../cinder-backend-dellemc-xtremio-iscsi-puppet.yaml | 8 ++++++++ .../cinder/cinder-backend-dellemc-xtremio-puppet.yaml | 7 +++++++ environments/cinder-dellemc-xtremio-config.yaml | 1 + environments/cinder-dellemc-xtremio-iscsi-config.yaml | 1 + .../notes/xtremio-add-ports-option-8991f7c8acc1aadb.yaml | 5 +++++ 5 files changed, 22 insertions(+) create mode 100644 releasenotes/notes/xtremio-add-ports-option-8991f7c8acc1aadb.yaml diff --git a/deployment/cinder/cinder-backend-dellemc-xtremio-iscsi-puppet.yaml b/deployment/cinder/cinder-backend-dellemc-xtremio-iscsi-puppet.yaml index 883fb75b4c..ab40b9be56 100644 --- a/deployment/cinder/cinder-backend-dellemc-xtremio-iscsi-puppet.yaml +++ b/deployment/cinder/cinder-backend-dellemc-xtremio-iscsi-puppet.yaml @@ -55,6 +55,12 @@ parameters: of copies (XtremIO snapshots) taken from each image cache. A value of 0 ignores the limit and defers to the array maximum as the effective limit. + CinderDellEMCXTREMIOIscsiPorts: + type: string + default: '' + description: Allowed ports. Comma separated list of XtremIO + iSCSI IPs or FC WWNs (ex. 58:cc:f0:98:49:22:07:02) + to be used. If option is not set all ports are allowed. ServiceData: default: {} description: Dictionary packing service data @@ -96,6 +102,7 @@ parameter_groups: - CinderDellEMCXTREMIOIscsiArrayBusyRetryCount - CinderDellEMCXTREMIOIscsiArrayBusyRetryInterval - CinderDellEMCXTREMIOIscsiVolumesPerGlanceCache + - CinderDellEMCXTREMIOIscsiPorts outputs: role_data: @@ -113,6 +120,7 @@ outputs: cinder::backend::dellemc_xtremio_iscsi::xtremio_array_busy_retry_count: {get_param: CinderDellEMCXTREMIOIscsiArrayBusyRetryCount} cinder::backend::dellemc_xtremio_iscsi::xtremio_array_busy_retry_interval: {get_param: CinderDellEMCXTREMIOIscsiArrayBusyRetryInterval} cinder::backend::dellemc_xtremio_iscsi::xtremio_volumes_per_glance_cache: {get_param: CinderDellEMCXTREMIOIscsiVolumesPerGlanceCache} + cinder::backend::dellemc_xtremio_iscsi::xtremio_ports: {get_param: CinderDellEMCXTREMIOIscsiPorts} - if: - {equals : [{get_param: CinderDellEMCXTREMIOIscsiAvailabilityZone}, '']} diff --git a/deployment/cinder/cinder-backend-dellemc-xtremio-puppet.yaml b/deployment/cinder/cinder-backend-dellemc-xtremio-puppet.yaml index 227726d2df..66a5007349 100644 --- a/deployment/cinder/cinder-backend-dellemc-xtremio-puppet.yaml +++ b/deployment/cinder/cinder-backend-dellemc-xtremio-puppet.yaml @@ -66,6 +66,12 @@ parameters: default: 'iSCSI' constraints: - allowed_values: [ 'iSCSI', 'FC'] + CinderXtremioPorts: + type: string + default: '' + description: Allowed ports. Comma separated list of XtremIO + iSCSI IPs or FC WWNs (ex. 58:cc:f0:98:49:22:07:02) + to be used. If option is not set all ports are allowed. ServiceData: default: {} description: Dictionary packing service data @@ -111,6 +117,7 @@ outputs: cinder::backend::dellemc_xtremio::xtremio_array_busy_retry_interval: {get_param: CinderXtremioArrayBusyRetryInterval} cinder::backend::dellemc_xtremio::xtremio_volumes_per_glance_cache: {get_param: CinderXtremioVolumesPerGlanceCache} cinder::backend::dellemc_xtremio::xtremio_storage_protocol: {get_param: CinderXtremioStorageProtocol} + cinder::backend::dellemc_xtremio::xtremio_ports: {get_param: CinderXtremioPorts} - if: - {equals : [{get_param: CinderXtremioAvailabilityZone}, '']} diff --git a/environments/cinder-dellemc-xtremio-config.yaml b/environments/cinder-dellemc-xtremio-config.yaml index 5e95c1196c..1dc8611632 100644 --- a/environments/cinder-dellemc-xtremio-config.yaml +++ b/environments/cinder-dellemc-xtremio-config.yaml @@ -13,6 +13,7 @@ parameter_defaults: CinderXtremioArrayBusyRetryCount: 5 CinderXtremioArrayBusyRetryInterval: 5 CinderXtremioVolumesPerGlanceCache: 100 + CinderXtremioPorts: '' # To configure multiple backends, use CinderXtremioMultiConfig to # assign parameter values specific to that backend. CinderXtremioMultiConfig # is a dictionary of the parameter values for each backend specified in diff --git a/environments/cinder-dellemc-xtremio-iscsi-config.yaml b/environments/cinder-dellemc-xtremio-iscsi-config.yaml index 90159ab54a..4c80987a97 100644 --- a/environments/cinder-dellemc-xtremio-iscsi-config.yaml +++ b/environments/cinder-dellemc-xtremio-iscsi-config.yaml @@ -16,3 +16,4 @@ parameter_defaults: CinderDellEMCXTREMIOIscsiArrayBusyRetryCount: 5 CinderDellEMCXTREMIOIscsiArrayBusyRetryInterval: 5 CinderDellEMCXTREMIOIscsiVolumesPerGlanceCache: 100 + CinderDellEMCXTREMIOIscsiPorts: '' diff --git a/releasenotes/notes/xtremio-add-ports-option-8991f7c8acc1aadb.yaml b/releasenotes/notes/xtremio-add-ports-option-8991f7c8acc1aadb.yaml new file mode 100644 index 0000000000..004cdb58be --- /dev/null +++ b/releasenotes/notes/xtremio-add-ports-option-8991f7c8acc1aadb.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + `Bug #1915800 `_: + Add support for ports filtering in XtremIO driver. \ No newline at end of file