Support for Cinder IBM Svf driver

This patch adds support for IBM Spectrum virtualize family (Svf) driver.

With this new tht for Svf, there is no need to use tripleo's ExtraConfig
technique to configure the backend.

Depends-On: I3c74f492d9d34eb8e16d9a203b5f02714b02f69a
Change-Id: I59c38368356595254e8617ef30157040fc204f92
This commit is contained in:
katarimanoj 2022-11-01 11:26:38 +05:30
parent 762a1bfd46
commit 2a0b569e12
13 changed files with 146 additions and 0 deletions

View File

@ -70,6 +70,7 @@
- OS::TripleO::Services::CinderBackendDellEMCUnity
- OS::TripleO::Services::CinderBackendDellEMCVNX
- OS::TripleO::Services::CinderBackendDellEMCXtremio
- OS::TripleO::Services::CinderBackendIBMSvf
- OS::TripleO::Services::CinderBackendNetApp
- OS::TripleO::Services::CinderBackendNfs
- OS::TripleO::Services::CinderBackendNVMeOF

View File

@ -0,0 +1,96 @@
heat_template_version: wallaby
description: >
Openstack Cinder IBM Spectrum Virtualize family (Svf) backend
parameters:
CinderEnableSvfBackend:
type: boolean
default: true
CinderSvfBackendName:
type: comma_delimited_list
default: 'tripleo_ibm_svf'
description: A list of Cinder IBM Svf Storage backend names.
CinderSvfMultiConfig:
type: json
default: {}
description: >
Dictionary of settings when configuring multiple Svf backends. The
hash key is the backend name, and the value is a dictionary of parameter
values unique to that backend.
CinderSvfAllowTenantQos:
type: boolean
default: false
CinderSvfAvailabilityZone:
default: ''
description: >
The availability zone of the IBM Svf Cinder backend.
When set, it overrides the default CinderStorageAvailabilityZone.
type: string
CinderSvfConnectionProtocol:
type: string
default: 'iSCSI'
constraints:
- allowed_values: [ 'iSCSI', 'FC']
CinderSvfIscsiChapEnabled:
type: boolean
default: true
CinderSvfRetainAuxVolume:
type: boolean
default: false
CinderSvfSanIp:
type: string
CinderSvfSanLogin:
type: string
CinderSvfSanPassword:
type: string
hidden: true
CinderSvfVolumePoolName:
type: comma_delimited_list
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. Use
parameter_merge_strategies to merge it with the defaults.
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 IBM Svf backend.
value:
service_name: cinder_backend_ibm_svf
config_settings:
map_merge:
- tripleo::profile::base::cinder::volume::cinder_enable_ibm_svf_backend: {get_param: CinderEnableSvfBackend}
cinder::backend::ibm_svf::volume_backend_name: {get_param: CinderSvfBackendName}
cinder::backend::ibm_svf::volume_multi_config: {get_param: CinderSvfMultiConfig}
cinder::backend::ibm_svf::san_ip: {get_param: CinderSvfSanIp}
cinder::backend::ibm_svf::san_login: {get_param: CinderSvfSanLogin}
cinder::backend::ibm_svf::san_password: {get_param: CinderSvfSanPassword}
# NOTE:Svf was earlier called as storwize/svc driver, so the cinder
# configuration parameters were named accordingly.
cinder::backend::ibm_svf::storwize_svc_volpool_name: {get_param: CinderSvfVolumePoolName}
cinder::backend::ibm_svf::storwize_svc_allow_tenant_qos: {get_param: CinderSvfAllowTenantQos}
cinder::backend::ibm_svf::storwize_svc_retain_aux_volume: {get_param: CinderSvfRetainAuxVolume}
cinder::backend::ibm_svf::storwize_svc_connection_protocol: {get_param: CinderSvfConnectionProtocol}
cinder::backend::ibm_svf::storwize_svc_iscsi_chap_enabled: {get_param: CinderSvfIscsiChapEnabled}
- if:
- not: {equals : [{get_param: CinderSvfAvailabilityZone}, '']}
- cinder::backend::ibm_svf::backend_availability_zone: {get_param: CinderSvfAvailabilityZone}

View File

@ -0,0 +1,31 @@
# A Heat environment file which can be used to enable a
# Cinder IBM Svf backend, configured via puppet.
resource_registry:
OS::TripleO::Services::CinderBackendIBMSvf: ../deployment/cinder/cinder-backend-ibm-svf-puppet.yaml
parameter_defaults:
CinderEnableIscsiBackend: false
CinderEnableSvfBackend: true
CinderSvfBackendName: 'tripleo_ibm_svf'
CinderSvfMultiConfig: {}
CinderSvfAvailabilityZone: ''
CinderSvfSanIp: ''
CinderSvfSanLogin: 'Admin'
CinderSvfSanPassword: 'Admin'
CinderSvfVolumePoolName: ''
CinderSvfAllowTenantQos: 'False'
CinderSvfRetainAuxvolume: 'True'
CinderSvfConnectionProtocol: 'FC'
# To configure multiple Svf backends, use CinderSvfMultiConfig to
# assign parameter values specific to that backend. For example:
# CinderSvfBackendName:
# - tripleo_ibm_svf_1
# - tripleo_ibm_svf_2
# CinderSvfMultiConfig:
# tripleo_ibm_svf_1:
# CinderSvfConnectionProtocol: 'iSCSI' # Specific value for this backend
# tripleo_ibm_svf_2:
# CinderSvfConnectionProtocol: 'FC' # Specific value for this backend

View File

@ -258,6 +258,7 @@ resource_registry:
OS::TripleO::Services::CinderBackendDellEMCUnity: OS::Heat::None
OS::TripleO::Services::CinderBackendDellEMCVNX: OS::Heat::None
OS::TripleO::Services::CinderBackendDellEMCXtremio: OS::Heat::None
OS::TripleO::Services::CinderBackendIBMSvf: OS::Heat::None
OS::TripleO::Services::CinderBackendNetApp: OS::Heat::None
OS::TripleO::Services::CinderBackendNVMeOF: OS::Heat::None
OS::TripleO::Services::CinderBackendPure: OS::Heat::None

View File

@ -0,0 +1,9 @@
---
features:
- |
Add support for Cinder IBM Spectrum virtualize family (Svf) driver.
upgrade:
- |
Cinder IBM Spectrum virtualize family (Svf) driver deployed
using ExtraConfig can switch to new template by using
``environments/cinder-ibm-svf-config.yaml``.

View File

@ -69,6 +69,7 @@
- OS::TripleO::Services::CinderBackendDellEMCUnity
- OS::TripleO::Services::CinderBackendDellEMCVNX
- OS::TripleO::Services::CinderBackendDellEMCXtremio
- OS::TripleO::Services::CinderBackendIBMSvf
- OS::TripleO::Services::CinderBackendNetApp
- OS::TripleO::Services::CinderBackendNfs
- OS::TripleO::Services::CinderBackendNVMeOF

View File

@ -57,6 +57,7 @@
- OS::TripleO::Services::CinderBackendDellEMCUnity
- OS::TripleO::Services::CinderBackendDellEMCVNX
- OS::TripleO::Services::CinderBackendDellEMCXtremio
- OS::TripleO::Services::CinderBackendIBMSvf
- OS::TripleO::Services::CinderBackendNetApp
- OS::TripleO::Services::CinderBackendNfs
- OS::TripleO::Services::CinderBackendNVMeOF

View File

@ -59,6 +59,7 @@
- OS::TripleO::Services::CinderBackendDellEMCUnity
- OS::TripleO::Services::CinderBackendDellEMCVNX
- OS::TripleO::Services::CinderBackendDellEMCXtremio
- OS::TripleO::Services::CinderBackendIBMSvf
- OS::TripleO::Services::CinderBackendNetApp
- OS::TripleO::Services::CinderBackendNfs
- OS::TripleO::Services::CinderBackendNVMeOF

View File

@ -66,6 +66,7 @@
- OS::TripleO::Services::CinderBackendDellEMCVNX
- OS::TripleO::Services::CinderBackendDellEMCVxFlexOS
- OS::TripleO::Services::CinderBackendDellEMCXtremio
- OS::TripleO::Services::CinderBackendIBMSvf
- OS::TripleO::Services::CinderBackendNetApp
- OS::TripleO::Services::CinderBackendNfs
- OS::TripleO::Services::CinderBackendNVMeOF

View File

@ -68,6 +68,7 @@
- OS::TripleO::Services::CinderBackendDellEMCUnity
- OS::TripleO::Services::CinderBackendDellEMCVNX
- OS::TripleO::Services::CinderBackendDellEMCXtremio
- OS::TripleO::Services::CinderBackendIBMSvf
- OS::TripleO::Services::CinderBackendNetApp
- OS::TripleO::Services::CinderBackendNfs
- OS::TripleO::Services::CinderBackendNVMeOF

View File

@ -68,6 +68,7 @@
- OS::TripleO::Services::CinderBackendDellEMCUnity
- OS::TripleO::Services::CinderBackendDellEMCVNX
- OS::TripleO::Services::CinderBackendDellEMCXtremio
- OS::TripleO::Services::CinderBackendIBMSvf
- OS::TripleO::Services::CinderBackendNetApp
- OS::TripleO::Services::CinderBackendNfs
- OS::TripleO::Services::CinderBackendNVMeOF

View File

@ -63,6 +63,7 @@
- OS::TripleO::Services::CinderBackendDellEMCUnity
- OS::TripleO::Services::CinderBackendDellEMCVNX
- OS::TripleO::Services::CinderBackendDellEMCXtremio
- OS::TripleO::Services::CinderBackendIBMSvf
- OS::TripleO::Services::CinderBackendDellSc
- OS::TripleO::Services::CinderBackendNetApp
- OS::TripleO::Services::CinderBackendNfs

View File

@ -72,6 +72,7 @@
- OS::TripleO::Services::CinderBackendDellEMCUnity
- OS::TripleO::Services::CinderBackendDellEMCVNX
- OS::TripleO::Services::CinderBackendDellEMCXtremio
- OS::TripleO::Services::CinderBackendIBMSvf
- OS::TripleO::Services::CinderBackendNetApp
- OS::TripleO::Services::CinderBackendNfs
- OS::TripleO::Services::CinderBackendNVMeOF