Composable services support for Cinder Dell EMC PS Series

Updated the heat templates for Cinder Dell EMC PS Series backend
to use composable services and rebranding of EQLX to Dell EMC PS Series

Closes-Bug: #1661313

Change-Id: Id9d6f172f3f79a31788b26c7776d738fda5a30fa
This commit is contained in:
rajinir 2017-01-26 13:23:01 -06:00 committed by Emilien Macchi
parent 2a461c49db
commit a19e570cad
6 changed files with 120 additions and 107 deletions

View File

@ -426,10 +426,11 @@ topics:
via puppet
requires:
- overcloud-resource-registry-puppet.yaml
- file: environments/cinder-eqlx-config.yaml
title: Cinder EQLX backend
- file: environments/cinder-dellps-config.yaml
title: Cinder Dell EMC PS Series backend
description: >
Enables a Cinder EQLX backend, configured via puppet
Enables a Cinder Dell EMC PS Series backend,
configured via puppet
requires:
- overcloud-resource-registry-puppet.yaml
- file: environments/cinder-iser.yaml

View File

@ -0,0 +1,31 @@
# Copyright (c) 2016-2017 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.
#
# A Heat environment file which can be used to enable a
# a Cinder Dell EMC PS Series backend, configured via puppet
resource_registry:
OS::TripleO::Services::CinderBackendDellPs: ../puppet/services/cinder-backend-dellps.yaml
parameter_defaults:
CinderEnableDellPsBackend: true
CinderDellPsBackendName: 'tripleo_dellps'
CinderDellPsSanIp: ''
CinderDellPsSanLogin: ''
CinderDellPsSanPassword: ''
CinderDellPsSanThinProvision: true
CinderDellPsGroupname: 'group-0'
CinderDellPsPool: 'default'
CinderDellPsChapLogin: ''
CinderDellPsChapPassword: ''
CinderDellPsUseChap: false

View File

@ -1,17 +0,0 @@
# A Heat environment file which can be used to enable a
# a Cinder eqlx backen, configured via puppet
resource_registry:
OS::TripleO::ControllerExtraConfigPre: ../puppet/extraconfig/pre_deploy/controller/cinder-eqlx.yaml
parameter_defaults:
CinderEnableEqlxBackend: true
CinderEqlxBackendName: 'tripleo_eqlx'
CinderEqlxSanIp: ''
CinderEqlxSanLogin: ''
CinderEqlxSanPassword: ''
CinderEqlxSanThinProvision: true
CinderEqlxGroupname: 'group-0'
CinderEqlxPool: 'default'
CinderEqlxChapLogin: ''
CinderEqlxChapPassword: ''
CinderEqlxUseChap: false

View File

@ -460,7 +460,6 @@ resources:
- '"%{::osfamily}"'
- cinder_dellsc_data # Optionally provided by ControllerExtraConfigPre
- cinder_netapp_data # Optionally provided by ControllerExtraConfigPre
- cinder_eqlx_data # Optionally provided by ControllerExtraConfigPre
- neutron_bigswitch_data # Optionally provided by ControllerExtraConfigPre
- neutron_cisco_data # Optionally provided by ControllerExtraConfigPre
- cisco_n1kv_data # Optionally provided by ControllerExtraConfigPre

View File

@ -1,86 +0,0 @@
heat_template_version: ocata
description: Configure hieradata for Cinder Eqlx configuration
parameters:
server:
description: ID of the controller node to apply this config to
type: string
# Config specific parameters, to be provided via parameter_defaults
CinderEnableEqlxBackend:
type: boolean
default: true
CinderEqlxBackendName:
type: string
default: 'tripleo_eqlx'
CinderEqlxSanIp:
type: string
CinderEqlxSanLogin:
type: string
CinderEqlxSanPassword:
type: string
hidden: true
CinderEqlxSanThinProvision:
type: boolean
default: true
CinderEqlxGroupname:
type: string
default: 'group-0'
CinderEqlxPool:
type: string
default: 'default'
CinderEqlxChapLogin:
type: string
default: ''
CinderEqlxChapPassword:
type: string
default: ''
CinderEqlxUseChap:
type: boolean
default: false
resources:
CinderEqlxConfig:
type: OS::Heat::StructuredConfig
properties:
group: os-apply-config
config:
hiera:
datafiles:
cinder_eqlx_data:
mapped_data:
tripleo::profile::base::cinder::volume::cinder_enable_eqlx_backend: {get_input: EnableEqlxBackend}
cinder::backend::eqlx::volume_backend_name: {get_input: EqlxBackendName}
cinder::backend::eqlx::san_ip: {get_input: EqlxSanIp}
cinder::backend::eqlx::san_login: {get_input: EqlxSanLogin}
cinder::backend::eqlx::san_password: {get_input: EqlxSanPassword}
cinder::backend::eqlx::san_thin_provision: {get_input: EqlxSanThinProvision}
cinder::backend::eqlx::eqlx_group_name: {get_input: EqlxGroupname}
cinder::backend::eqlx::eqlx_pool: {get_input: EqlxPool}
cinder::backend::eqlx::eqlx_use_chap: {get_input: EqlxUseChap}
cinder::backend::eqlx::eqlx_chap_login: {get_input: EqlxChapLogin}
cinder::backend::eqlx::eqlx_chap_password: {get_input: EqlxChapPassword}
CinderEqlxDeployment:
type: OS::Heat::StructuredDeployment
properties:
config: {get_resource: CinderEqlxConfig}
server: {get_param: server}
input_values:
EnableEqlxBackend: {get_param: CinderEnableEqlxBackend}
EqlxBackendName: {get_param: CinderEqlxBackendName}
EqlxSanIp: {get_param: CinderEqlxSanIp}
EqlxSanLogin: {get_param: CinderEqlxSanLogin}
EqlxSanPassword: {get_param: CinderEqlxSanPassword}
EqlxSanThinProvision: {get_param: CinderEqlxSanThinProvision}
EqlxGroupname: {get_param: CinderEqlxGroupname}
EqlxPool: {get_param: CinderEqlxPool}
EqlxUseChap: {get_param: CinderEqlxUseChap}
EqlxChapLogin: {get_param: CinderEqlxChapLogin}
EqlxChapPassword: {get_param: CinderEqlxChapPassword}
outputs:
deploy_stdout:
description: Deployment reference, used to trigger puppet apply on changes
value: {get_attr: [CinderEqlxDeployment, deploy_stdout]}

View File

@ -0,0 +1,85 @@
# Copyright (c) 2017 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: ocata
description: >
Openstack Cinder Dell EMC PS Series backend
parameters:
CinderEnableDellPsBackend:
type: boolean
default: true
CinderDellPsBackendName:
type: string
default: 'tripleo_dellps'
CinderDellPsSanIp:
type: string
CinderDellPsSanLogin:
type: string
CinderDellPsSanPassword:
type: string
hidden: true
CinderDellPsSanThinProvision:
type: boolean
default: true
CinderDellPsGroupname:
type: string
default: 'group-0'
CinderDellPsPool:
type: string
default: 'default'
CinderDellPsChapLogin:
type: string
default: ''
CinderDellPsChapPassword:
type: string
default: ''
CinderDellPsUseChap:
type: boolean
default: false
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
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 PS Series backend.
value:
service_name: cinder_backend_dellps
config_settings:
tripleo::profile::base::cinder::volume::cinder_enable_dellps_backend: {get_param: CinderEnableDellPsBackend}
cinder::backend::eqlx::volume_backend_name: {get_param: CinderDellPsBackendName}
cinder::backend::eqlx::san_ip: {get_param: CinderDellPsSanIp}
cinder::backend::eqlx::san_login: {get_param: CinderDellPsSanLogin}
cinder::backend::eqlx::san_password: {get_param: CinderDellPsSanPassword}
cinder::backend::eqlx::san_thin_provision: {get_param: CinderDellPsSanThinProvision}
cinder::backend::eqlx::eqlx_group_name: {get_param: CinderDellPsGroupname}
cinder::backend::eqlx::eqlx_pool: {get_param: CinderDellPsPool}
cinder::backend::eqlx::eqlx_use_chap: {get_param: CinderDellPsUseChap}
cinder::backend::eqlx::eqlx_chap_login: {get_param: CinderDellPsChapLogin}
cinder::backend::eqlx::eqlx_chap_password: {get_param: CinderDellPsChapPassword}
step_config: |
include ::tripleo::profile::base::cinder::volume