Composable service support for Cinder Dell EMC Storage Center
authorrajinir <rajini_ram@dell.com>
Thu, 26 Jan 2017 19:45:33 +0000 (13:45 -0600)
committerrajinir <rajini_ram@dell.com>
Fri, 3 Feb 2017 18:07:33 +0000 (12:07 -0600)
Updated the heat templates for Cinder Dell EMC Storage Center
Backend to use composable services

Closes-Bug: #1661314

Change-Id: I454549c45da7388f0e42975c9f4637dde9ec51e3

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

index aae8930..279ff1c 100644 (file)
@@ -413,10 +413,10 @@ topics:
             requires:
               - overcloud-resource-registry-puppet.yaml
           - file: environments/cinder-dellsc-config.yaml
-            title: Cinder Dell Storage Center ISCSI backend
+            title: Cinder Dell EMC Storage Center ISCSI backend
             description: >
-              Enables a Cinder Dell Storage Center ISCSI backend, configured
-              via puppet
+              Enables a Cinder Dell EMC Storage Center ISCSI backend,
+              configured via puppet
             requires:
               - overcloud-resource-registry-puppet.yaml
           - file: environments/cinder-hpelefthand-config.yaml
index 92e257d..617d640 100644 (file)
@@ -1,7 +1,7 @@
 # A Heat environment file which can be used to enable a
-# a Cinder  Dell Storage Center ISCSI backend, configured via puppet
+# Cinder Dell EMC Storage Center ISCSI backend, configured via puppet
 resource_registry:
-  OS::TripleO::ControllerExtraConfigPre: ../puppet/extraconfig/pre_deploy/controller/cinder-dellsc.yaml
+  OS::TripleO::Services::CinderBackendDellSc: ../puppet/services/cinder-backend-dellsc.yaml
 
 parameter_defaults:
   CinderEnableDellScBackend: true
index 9e35af5..007023c 100644 (file)
@@ -458,7 +458,6 @@ resources:
           - all_nodes # provided by allNodesConfig
           - vip_data # provided by allNodesConfig
           - '"%{::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
diff --git a/puppet/extraconfig/pre_deploy/controller/cinder-dellsc.yaml b/puppet/extraconfig/pre_deploy/controller/cinder-dellsc.yaml
deleted file mode 100644 (file)
index 7d63988..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-heat_template_version: ocata
-
-description: Configure hieradata for Cinder Dell Storage Center 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
-  CinderEnableDellScBackend:
-    type: boolean
-    default: true
-  CinderDellScBackendName:
-    type: string
-    default: 'tripleo_dellsc'
-  CinderDellScSanIp:
-    type: string
-  CinderDellScSanLogin:
-    type: string
-    default: 'Admin'
-  CinderDellScSanPassword:
-    type: string
-    hidden: true
-  CinderDellScSsn:
-    type: string
-    default: '64702'
-  CinderDellScIscsiIpAddress:
-    type: string
-    default: ''
-  CinderDellScIscsiPort:
-    type: string
-    default: '3260'
-  CinderDellScApiPort:
-    type: string
-    default: '3033'
-  CinderDellScServerFolder:
-    type: string
-    default: 'dellsc_server'
-  CinderDellScVolumeFolder:
-    type: string
-    default: 'dellsc_volume'
-
-resources:
-  CinderDellScConfig:
-    type: OS::Heat::StructuredConfig
-    properties:
-      group: os-apply-config
-      config:
-        hiera:
-          datafiles:
-            cinder_dellsc_data:
-              mapped_data:
-                tripleo::profile::base::cinder::volume::cinder_enable_dellsc_backend: {get_input: EnableDellScBackend}
-                cinder::backend::dellsc_iscsi::volume_backend_name: {get_input: DellScBackendName}
-                cinder::backend::dellsc_iscsi::san_ip: {get_input: DellScSanIp}
-                cinder::backend::dellsc_iscsi::san_login: {get_input: DellScSanLogin}
-                cinder::backend::dellsc_iscsi::san_password: {get_input: DellScSanPassword}
-                cinder::backend::dellsc_iscsi::dell_sc_ssn: {get_input: DellScSsn}
-                cinder::backend::dellsc_iscsi::iscsi_ip_address: {get_input: DellScIscsiIpAddress}
-                cinder::backend::dellsc_iscsi::iscsi_port: {get_input: DellScIscsiPort}
-                cinder::backend::dellsc_iscsi::dell_sc_api_port: {get_input: DellScApiPort}
-                cinder::backend::dellsc_iscsi::dell_sc_server_folder: {get_input: DellScServerFolder}
-                cinder::backend::dellsc_iscsi::dell_sc_volume_folder: {get_input: DellScVolumeFolder}
-
-  CinderDellScDeployment:
-    type: OS::Heat::StructuredDeployment
-    properties:
-      config: {get_resource: CinderDellScConfig}
-      server: {get_param: server}
-      input_values:
-        EnableDellScBackend: {get_param: CinderEnableDellScBackend}
-        DellScBackendName: {get_param: CinderDellScBackendName}
-        DellScSanIp: {get_param: CinderDellScSanIp}
-        DellScSanLogin: {get_param: CinderDellScSanLogin}
-        DellScSanPassword: {get_param: CinderDellScSanPassword}
-        DellScSsn: {get_param: CinderDellScSsn}
-        DellScIscsiIpAddress: {get_param: CinderDellScIscsiIpAddress}
-        DellScIscsiPort: {get_param: CinderDellScIscsiPort}
-        DellScApiPort: {get_param: CinderDellScApiPort}
-        DellScServerFolder: {get_param: CinderDellScServerFolder}
-        DellScVolumeFolder: {get_param: CinderDellScVolumeFolder}
-
-outputs:
-  deploy_stdout:
-    description: Deployment reference, used to trigger puppet apply on changes
-    value: {get_attr: [CinderDellScDeployment, deploy_stdout]}
diff --git a/puppet/services/cinder-backend-dellsc.yaml b/puppet/services/cinder-backend-dellsc.yaml
new file mode 100644 (file)
index 0000000..6a6196a
--- /dev/null
@@ -0,0 +1,85 @@
+# 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.
+heat_template_version: ocata
+
+description: >
+  Openstack Cinder Dell EMC Storage Center backend
+
+parameters:
+  CinderEnableDellScBackend:
+    type: boolean
+    default: true
+  CinderDellScBackendName:
+    type: string
+    default: 'tripleo_dellsc'
+  CinderDellScSanIp:
+    type: string
+  CinderDellScSanLogin:
+    type: string
+    default: 'Admin'
+  CinderDellScSanPassword:
+    type: string
+    hidden: true
+  CinderDellScSsn:
+    type: number
+    default: 64702
+  CinderDellScIscsiIpAddress:
+    type: string
+    default: ''
+  CinderDellScIscsiPort:
+    type: number
+    default: 3260
+  CinderDellScApiPort:
+    type: number
+    default: 3033
+  CinderDellScServerFolder:
+    type: string
+    default: 'dellsc_server'
+  CinderDellScVolumeFolder:
+    type: string
+    default: 'dellsc_volume'
+  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 Storage Center backend.
+    value:
+      service_name: cinder_backend_dellsc
+      config_settings:
+                tripleo::profile::base::cinder::volume::cinder_enable_dellsc_backend: {get_param: CinderEnableDellScBackend}
+                cinder::backend::dellsc_iscsi::volume_backend_name: {get_param: CinderDellScBackendName}
+                cinder::backend::dellsc_iscsi::san_ip: {get_param: CinderDellScSanIp}
+                cinder::backend::dellsc_iscsi::san_login: {get_param: CinderDellScSanLogin}
+                cinder::backend::dellsc_iscsi::san_password: {get_param: CinderDellScSanPassword}
+                cinder::backend::dellsc_iscsi::dell_sc_ssn: {get_param: CinderDellScSsn}
+                cinder::backend::dellsc_iscsi::iscsi_ip_address: {get_param: CinderDellScIscsiIpAddress}
+                cinder::backend::dellsc_iscsi::iscsi_port: {get_param: CinderDellScIscsiPort}
+                cinder::backend::dellsc_iscsi::dell_sc_api_port: {get_param: CinderDellScApiPort}
+                cinder::backend::dellsc_iscsi::dell_sc_server_folder: {get_param: CinderDellScServerFolder}
+                cinder::backend::dellsc_iscsi::dell_sc_volume_folder: {get_param: CinderDellScVolumeFolder}
+      step_config: |
+        include ::tripleo::profile::base::cinder::volume