Support for PowerStore Cinder Backend

Adding support for PowerStore Volume Backend Driver

Depends-On: https://review.opendev.org/#/c/743627/
Change-Id: Idc36f3241b3ebed71722c6a89459c230beea4542
This commit is contained in:
rajinir 2020-07-28 16:11:30 -05:00
parent d216c1e2bf
commit 56e2702f4a
11 changed files with 147 additions and 0 deletions

View File

@ -0,0 +1,105 @@
# Copyright (c) 2020 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: rocky
description: >
Openstack Cinder Dell EMC PowerStore backend
parameters:
CinderEnablePowerStoreBackend:
type: boolean
default: true
CinderPowerStoreBackendName:
type: comma_delimited_list
default: 'tripleo_dellemc_powerstore'
description: A list of Cinder PowerStore Storage backend names.
CinderPowerStoreMultiConfig:
type: json
default: {}
description: >
Dictionary of settings when configuring multiple PowerStore backends. The
hash key is the backend name, and the value is a dictionary of parameter
values unique to that backend.
CinderPowerStoreAvailabilityZone:
default: ''
description: >
The availability zone of the Dell EMC PowerStore Cinder backend.
When set, it overrides the default CinderStorageAvailabilityZone.
type: string
CinderPowerStoreSanIp:
type: string
CinderPowerStoreSanLogin:
type: string
default: 'Admin'
CinderPowerStoreSanPassword:
type: string
hidden: true
CinderPowerStoreAppliances:
type: string
CinderPowerStorePorts:
type: string
default: ''
CinderPowerStoreStorageProtocol:
type: string
default: 'iSCSI'
constraints:
- allowed_values: [ 'iSCSI', 'FC']
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 PowerStore backend.
value:
service_name: cinder_backend_dellemc_powerstore
config_settings:
map_merge:
- tripleo::profile::base::cinder::volume::cinder_enable_dellemc_powerstore_backend: {get_param: CinderEnablePowerStoreBackend}
cinder::backend::dellemc_powerstore::volume_backend_name: {get_param: CinderPowerStoreBackendName}
cinder::backend::dellemc_powerstore::volume_multi_config: {get_param: CinderPowerStoreMultiConfig}
cinder::backend::dellemc_powerstore::san_ip: {get_param: CinderPowerStoreSanIp}
cinder::backend::dellemc_powerstore::san_login: {get_param: CinderPowerStoreSanLogin}
cinder::backend::dellemc_powerstore::san_password: {get_param: CinderPowerStoreSanPassword}
cinder::backend::dellemc_powerstore::powerstore_appliances: {get_param: CinderPowerStoreAppliances}
cinder::backend::dellemc_powerstore::powerstore_ports: {get_param: CinderPowerStorePorts}
cinder::backend::dellemc_powerstore::storage_protocol: {get_param: CinderPowerStoreStorageProtocol}
-
if:
- {equals : [{get_param: CinderPowerStoreAvailabilityZone}, '']}
- {}
- cinder::backend::dellemc_powerstore::backend_availability_zone: {get_param: CinderPowerStoreAvailabilityZone}

View File

@ -0,0 +1,28 @@
# A Heat environment file which can be used to enable a
# Cinder Dell EMC PowerMax backend, configured via puppet.
resource_registry:
OS::TripleO::Services::CinderBackendDellEMCPowerStore: ../deployment/cinder/cinder-backend-dellemc-powerstore-puppet.yaml
parameter_defaults:
CinderEnablePowerStoreBackend: true
CinderPowerStoreBackendName: 'tripleo_dellemc_powerstore'
CinderPowerStoreMultiConfig: {}
CinderPowerStoreAvailabilityZone: ''
CinderPowerStoreSanIp: ''
CinderPowerStoreSanLogin: 'Admin'
CinderPowerStoreSanPassword: ''
CinderPowerStoreAppliances: ''
CinderPowerStorePorts: ''
CinderPowerStoreStorageProtocol: 'iSCSI'
# To configure multiple PowerStore backends, use CinderPowerStoreMultiConfig to
# assign parameter values specific to that backend. For example:
# CinderPowerStoreBackendName:
# - tripleo_dellemc_powerstore_1
# - tripleo_dellemc_powerstore_2
# CinderPowerStoreMultiConfig:
# tripleo_dellemc_powerstore_1:
# CinderPowerStoreStorageProtocol: 'iSCSI' # Specific value for this backend
# tripleo_dellemc_powerstore_2:
# CinderPowerStoreStorageProtocol: 'FC' # Specific value for this backend

View File

@ -275,6 +275,7 @@ resource_registry:
OS::TripleO::Services::CinderBackendDellSc: OS::Heat::None
OS::TripleO::Services::CinderBackendDellEMCSc: OS::Heat::None
OS::TripleO::Services::CinderBackendDellEMCPowermax: OS::Heat::None
OS::TripleO::Services::CinderBackendDellEMCPowerStore: OS::Heat::None
OS::TripleO::Services::CinderBackendDellEMCUnity: OS::Heat::None
OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI: OS::Heat::None
OS::TripleO::Services::CinderBackendDellEMCVNX: OS::Heat::None

View File

@ -0,0 +1,6 @@
---
features:
- Support for PowerStore backend cinder driver.
Supports both iSCSI and FC protocols
and support deploying one or multiple cinder
PowerStore storage backends.

View File

@ -59,6 +59,7 @@
- OS::TripleO::Services::CinderApi
- OS::TripleO::Services::CinderBackendDellSc
- OS::TripleO::Services::CinderBackendDellEMCPowermax
- OS::TripleO::Services::CinderBackendDellEMCPowerStore
- OS::TripleO::Services::CinderBackendDellEMCSc
- OS::TripleO::Services::CinderBackendDellEMCUnity
- OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI

View File

@ -51,6 +51,7 @@
- OS::TripleO::Services::CinderApi
- OS::TripleO::Services::CinderBackendDellSc
- OS::TripleO::Services::CinderBackendDellEMCPowermax
- OS::TripleO::Services::CinderBackendDellEMCPowerStore
- OS::TripleO::Services::CinderBackendDellEMCSc
- OS::TripleO::Services::CinderBackendDellEMCUnity
- OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI

View File

@ -44,6 +44,7 @@
- OS::TripleO::Services::CinderApi
- OS::TripleO::Services::CinderBackendDellSc
- OS::TripleO::Services::CinderBackendDellEMCPowermax
- OS::TripleO::Services::CinderBackendDellEMCPowerStore
- OS::TripleO::Services::CinderBackendDellEMCSc
- OS::TripleO::Services::CinderBackendDellEMCUnity
- OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI

View File

@ -60,6 +60,7 @@
- OS::TripleO::Services::CinderApi
- OS::TripleO::Services::CinderBackendDellSc
- OS::TripleO::Services::CinderBackendDellEMCPowermax
- OS::TripleO::Services::CinderBackendDellEMCPowerStore
- OS::TripleO::Services::CinderBackendDellEMCSc
- OS::TripleO::Services::CinderBackendDellEMCUnity
- OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI

View File

@ -61,6 +61,7 @@
- OS::TripleO::Services::CinderApi
- OS::TripleO::Services::CinderBackendDellSc
- OS::TripleO::Services::CinderBackendDellEMCPowermax
- OS::TripleO::Services::CinderBackendDellEMCPowerStore
- OS::TripleO::Services::CinderBackendDellEMCSc
- OS::TripleO::Services::CinderBackendDellEMCUnity
- OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI

View File

@ -50,6 +50,7 @@
- OS::TripleO::Services::CertmongerUser
- OS::TripleO::Services::CinderApi
- OS::TripleO::Services::CinderBackendDellEMCPowermax
- OS::TripleO::Services::CinderBackendDellEMCPowerStore
- OS::TripleO::Services::CinderBackendDellEMCSc
- OS::TripleO::Services::CinderBackendDellEMCUnity
- OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI

View File

@ -62,6 +62,7 @@
- OS::TripleO::Services::CinderApi
- OS::TripleO::Services::CinderBackendDellSc
- OS::TripleO::Services::CinderBackendDellEMCPowermax
- OS::TripleO::Services::CinderBackendDellEMCPowerStore
- OS::TripleO::Services::CinderBackendDellEMCSc
- OS::TripleO::Services::CinderBackendDellEMCUnity
- OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI