Composable services support for Cinder Dell EMC PS Series
authorrajinir <rajini_ram@dell.com>
Thu, 26 Jan 2017 19:23:01 +0000 (13:23 -0600)
committerEmilien Macchi <emilien@redhat.com>
Tue, 7 Feb 2017 11:54:24 +0000 (11:54 +0000)
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

capabilities-map.yaml
environments/cinder-dellps-config.yaml [new file with mode: 0644]
environments/cinder-eqlx-config.yaml [deleted file]
puppet/controller-role.yaml
puppet/extraconfig/pre_deploy/controller/cinder-eqlx.yaml [deleted file]
puppet/services/cinder-backend-dellps.yaml [new file with mode: 0644]

index 08c455f..bfdedae 100644 (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
diff --git a/environments/cinder-dellps-config.yaml b/environments/cinder-dellps-config.yaml
new file mode 100644 (file)
index 0000000..eefd0fd
--- /dev/null
@@ -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
diff --git a/environments/cinder-eqlx-config.yaml b/environments/cinder-eqlx-config.yaml
deleted file mode 100644 (file)
index ca2c5e5..0000000
+++ /dev/null
@@ -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
index 9e35af5..854e51e 100644 (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
diff --git a/puppet/extraconfig/pre_deploy/controller/cinder-eqlx.yaml b/puppet/extraconfig/pre_deploy/controller/cinder-eqlx.yaml
deleted file mode 100644 (file)
index 3050904..0000000
+++ /dev/null
@@ -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]}
diff --git a/puppet/services/cinder-backend-dellps.yaml b/puppet/services/cinder-backend-dellps.yaml
new file mode 100644 (file)
index 0000000..1f15c53
--- /dev/null
@@ -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