diff --git a/capabilities-map.yaml b/capabilities-map.yaml index a029fb8772..a644673a46 100644 --- a/capabilities-map.yaml +++ b/capabilities-map.yaml @@ -354,6 +354,13 @@ topics: configured via puppet requires: - overcloud-resource-registry-puppet.yaml + - file: environments/cinder-dellemc-xtremio-iscsi-config.yaml + title: Cinder Dell EMC XTREMIO Iscsi backend + description: > + Enables a Cinder Dell EMC XTREMIO Iscsi backend, + configured via puppet + requires: + - overcloud-resource-registry-puppet.yaml - file: environments/cinder-hpelefthand-config.yaml title: Cinder HPELeftHandISCSI backend description: > diff --git a/deployed-server/deployed-server-roles-data.yaml b/deployed-server/deployed-server-roles-data.yaml index e3eef0ee21..cbfc4c2b74 100644 --- a/deployed-server/deployed-server-roles-data.yaml +++ b/deployed-server/deployed-server-roles-data.yaml @@ -57,6 +57,7 @@ - OS::TripleO::Services::CinderBackendDellEMCUnity - OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI - OS::TripleO::Services::CinderBackendDellEMCVNX + - OS::TripleO::Services::CinderBackendDellEMCXTREMIOISCSI - OS::TripleO::Services::CinderBackendNetApp - OS::TripleO::Services::CinderBackendScaleIO - OS::TripleO::Services::CinderBackendVRTSHyperScale diff --git a/environments/cinder-dellemc-xtremio-config.yaml b/environments/cinder-dellemc-xtremio-config.yaml new file mode 100644 index 0000000000..608a808e37 --- /dev/null +++ b/environments/cinder-dellemc-xtremio-config.yaml @@ -0,0 +1,15 @@ +# A Heat environment file which can be used to enable a +# Cinder Dell EMC XTREMIOIscsi backend, configured via puppet +resource_registry: + OS::TripleO::Services::CinderBackendDellEMCXTREMIOIscsi: ../puppet/services/cinder-backend-dellemc-xtremio-iscsi.yaml + +parameter_defaults: + CinderEnableDellEMCXTREMIOIscsiBackend: true + CinderDellEMCXTREMIOIscsiBackendName: 'tripleo_dellemc_xtremio_iscsi' + CinderDellEMCXTREMIOIscsiSanIp: '' + CinderDellEMCXTREMIOIscsiSanLogin: 'admin' + CinderDellEMCXTREMIOIscsiSanPassword: '' + CinderDellEMCXTREMIOIscsiClusterName: 'Cluster-Name' + CinderDellEMCXTREMIOIscsiArrayBusyRetryCount: 5 + CinderDellEMCXTREMIOIscsiArrayBusyRetryInterval: 5 + CinderDellEMCXTREMIOIscsiVolumesPerGlanceCache: 100 diff --git a/overcloud-resource-registry-puppet.j2.yaml b/overcloud-resource-registry-puppet.j2.yaml index 5234d1877b..454b726a6a 100644 --- a/overcloud-resource-registry-puppet.j2.yaml +++ b/overcloud-resource-registry-puppet.j2.yaml @@ -300,6 +300,7 @@ resource_registry: OS::TripleO::Services::CinderBackendDellEMCUnity: OS::Heat::None OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI: OS::Heat::None OS::TripleO::Services::CinderBackendDellEMCVNX: OS::Heat::None + OS::TripleO::Services::CinderBackendDellEMCXTREMIOISCSI: OS::Heat::None OS::TripleO::Services::CinderBackendNetApp: OS::Heat::None OS::TripleO::Services::CinderBackendScaleIO: OS::Heat::None OS::TripleO::Services::CinderBackendVRTSHyperScale: OS::Heat::None diff --git a/puppet/services/cinder-backend-dellemc-xtremio-iscsi.yaml b/puppet/services/cinder-backend-dellemc-xtremio-iscsi.yaml new file mode 100644 index 0000000000..6123837a64 --- /dev/null +++ b/puppet/services/cinder-backend-dellemc-xtremio-iscsi.yaml @@ -0,0 +1,93 @@ +# Copyright (c) 2016-2018 Dell Inc, or its subsidiaries. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +heat_template_version: queens + +description: > + Openstack Cinder Dell EMC XTREMIO Iscsi backend + +parameters: + CinderEnableDellEMCXTREMIOIscsiBackend: + type: boolean + default: true + CinderDellEMCXTREMIOIscsiBackendName: + type: string + default: tripleo_dellemc_xtremio_iscsi + CinderDellEMCXTREMIOIscsiSanIp: + type: string + CinderDellEMCXTREMIOIscsiSanLogin: + type: string + default: admin + CinderDellEMCXTREMIOIscsiSanPassword: + type: string + hidden: true + CinderDellEMCXTREMIOIscsiClusterName: + type: string + CinderDellEMCXTREMIOIscsiArrayBusyRetryCount: + type: number + default: 5 + CinderDellEMCXTREMIOIscsiArrayBusyRetryInterval: + type: number + default: 5 + CinderDellEMCXTREMIOIscsiVolumesPerGlanceCache: + type: number + default: 100 + description: Number of volumes created from each cached glance image. + This is for image service optimisation. Limit the number + 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. + ServiceData: + default: {} + description: Dictionary packing service data + type: json + ServiceNetMap: + default: {} + description: Mapping of service_name -> network name. Typically set + via parameter_defaults in the resource registry. This + mapping overrides those in ServiceNetMapDefaults. + type: json + DefaultPasswords: + default: {} + type: json + RoleName: + default: '' + description: Role name on which the service is applied + type: string + RoleParameters: + default: {} + description: Parameters specific to the role + type: json + EndpointMap: + default: {} + type: json + description: Mapping of service endpoint -> protocol. Typically set + via parameter_defaults in the resource registry. + +outputs: + role_data: + description: Role data for the Cinder Dell EMC XTREMIO Iscsi backend. + value: + service_name: cinder_backend_dellemc_xtremio_iscsi + config_settings: + tripleo::profile::base::cinder::volume::cinder_enable_dellemc_xtremio_iscsi_backend: {get_param: CinderEnableDellEMCXTREMIOIscsiBackend} + cinder::backend::dellemc_xtremio_iscsi::volume_backend_name: {get_param: CinderDellEMCXTREMIOIscsiBackendName} + cinder::backend::dellemc_xtremio_iscsi::san_ip: {get_param: CinderDellEMCXTREMIOIscsiSanIp} + cinder::backend::dellemc_xtremio_iscsi::san_login: {get_param: CinderDellEMCXTREMIOIscsiSanLogin} + cinder::backend::dellemc_xtremio_iscsi::san_password: {get_param: CinderDellEMCXTREMIOIscsiSanPassword} + cinder::backend::dellemc_xtremio_iscsi::xtremio_cluster_name: {get_param: CinderDellEMCXTREMIOIscsiClusterName} + 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} + step_config: | + include ::tripleo::profile::base::cinder::volume diff --git a/releasenotes/notes/xtremio_cinder_c5572898724a11e7.yaml b/releasenotes/notes/xtremio_cinder_c5572898724a11e7.yaml new file mode 100644 index 0000000000..1f24285ae3 --- /dev/null +++ b/releasenotes/notes/xtremio_cinder_c5572898724a11e7.yaml @@ -0,0 +1,4 @@ +--- +features: + - | + Add support for Dell EMC XTREMIO ISCSI cinder driver diff --git a/roles/Controller.yaml b/roles/Controller.yaml index 8f2185aa61..92c9107529 100644 --- a/roles/Controller.yaml +++ b/roles/Controller.yaml @@ -57,6 +57,7 @@ - OS::TripleO::Services::CinderBackendDellEMCUnity - OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI - OS::TripleO::Services::CinderBackendDellEMCVNX + - OS::TripleO::Services::CinderBackendDellEMCXTREMIOISCSI - OS::TripleO::Services::CinderBackendNetApp - OS::TripleO::Services::CinderBackendScaleIO - OS::TripleO::Services::CinderBackendVRTSHyperScale diff --git a/roles/ControllerNoCeph.yaml b/roles/ControllerNoCeph.yaml index adf19eaf58..c912162203 100644 --- a/roles/ControllerNoCeph.yaml +++ b/roles/ControllerNoCeph.yaml @@ -50,6 +50,7 @@ - OS::TripleO::Services::CinderBackendDellEMCUnity - OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI - OS::TripleO::Services::CinderBackendDellEMCVNX + - OS::TripleO::Services::CinderBackendDellEMCXTREMIOISCSI - OS::TripleO::Services::CinderBackendNetApp - OS::TripleO::Services::CinderBackendScaleIO - OS::TripleO::Services::CinderBackendVRTSHyperScale diff --git a/roles/ControllerNovaStandalone.yaml b/roles/ControllerNovaStandalone.yaml index 7d1a97bece..3abbe9bc5f 100644 --- a/roles/ControllerNovaStandalone.yaml +++ b/roles/ControllerNovaStandalone.yaml @@ -43,6 +43,7 @@ - OS::TripleO::Services::CinderBackendDellEMCUnity - OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI - OS::TripleO::Services::CinderBackendDellEMCVNX + - OS::TripleO::Services::CinderBackendDellEMCXTREMIOISCSI - OS::TripleO::Services::CinderBackendNetApp - OS::TripleO::Services::CinderBackendScaleIO - OS::TripleO::Services::CinderBackendVRTSHyperScale diff --git a/roles/ControllerStorageNfs.yaml b/roles/ControllerStorageNfs.yaml index d398c0382e..bb128722f2 100644 --- a/roles/ControllerStorageNfs.yaml +++ b/roles/ControllerStorageNfs.yaml @@ -51,6 +51,7 @@ - OS::TripleO::Services::CinderBackendDellSc - OS::TripleO::Services::CinderBackendDellEMCUnity - OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI + - OS::TripleO::Services::CinderBackendDellEMCXTREMIOISCSI - OS::TripleO::Services::CinderBackendNetApp - OS::TripleO::Services::CinderBackendScaleIO - OS::TripleO::Services::CinderBackendVRTSHyperScale diff --git a/roles_data.yaml b/roles_data.yaml index 307c24a0b8..bb2c2ef24b 100644 --- a/roles_data.yaml +++ b/roles_data.yaml @@ -60,6 +60,7 @@ - OS::TripleO::Services::CinderBackendDellEMCUnity - OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI - OS::TripleO::Services::CinderBackendDellEMCVNX + - OS::TripleO::Services::CinderBackendDellEMCXTREMIOISCSI - OS::TripleO::Services::CinderBackendNetApp - OS::TripleO::Services::CinderBackendScaleIO - OS::TripleO::Services::CinderBackendVRTSHyperScale