Replace per role manifests with a common role manifest
authorSteven Hardy <shardy@redhat.com>
Fri, 23 Sep 2016 14:39:33 +0000 (15:39 +0100)
committerCarlos Camacho <ccamacho@redhat.com>
Fri, 30 Sep 2016 14:11:01 +0000 (14:11 +0000)
This removes the (nearly empty) per role manifests, and
replaces them with a generic manifest, where we use str_replace
to substitute the role name at runtime (or in some cases a
subset of the name for backwards compatibility)

Change-Id: I79da0f523189959b783bbcbb3b0f37be778e02fe
Partial-Bug: #1626976

puppet/blockstorage-config.yaml
puppet/cephstorage-config.yaml
puppet/compute-config.yaml
puppet/controller-config.yaml
puppet/manifests/overcloud_cephstorage.pp [deleted file]
puppet/manifests/overcloud_controller.pp [deleted file]
puppet/manifests/overcloud_object.pp [deleted file]
puppet/manifests/overcloud_role.pp [moved from puppet/manifests/overcloud_compute.pp with 71% similarity]
puppet/manifests/overcloud_volume.pp [deleted file]
puppet/objectstorage-config.yaml

index e455c4c..0a05231 100644 (file)
@@ -1,7 +1,7 @@
 heat_template_version: 2015-04-30
 
 description: >
-  A software config which runs manifests/overcloud_volume.pp
+  A software config which applies puppet on the blockstorage role
 
 parameters:
   ConfigDebug:
@@ -32,10 +32,13 @@ resources:
       config:
         list_join:
         - ''
-        - - get_file: manifests/overcloud_volume.pp
+        - - str_replace:
+              template: {get_file: manifests/overcloud_role.pp}
+              params:
+                __ROLE__: blockstorage
           - {get_param: StepConfig}
 
 outputs:
   OS::stack_id:
-    description: The software config which runs overcloud_controller.pp
+    description: The software config which applies puppet on the blockstorage role
     value: {get_resource: BlockStoragePuppetConfigImpl}
index 3f42860..09757ea 100644 (file)
@@ -1,7 +1,7 @@
 heat_template_version: 2015-04-30
 
 description: >
-  A software config which runs manifests/overcloud_cephstorage.pp
+  A software config which runs applies puppet on the cephstorage role
 
 parameters:
   ConfigDebug:
@@ -32,10 +32,13 @@ resources:
       config:
         list_join:
         - ''
-        - - get_file: manifests/overcloud_cephstorage.pp
+        - - str_replace:
+              template: {get_file: manifests/overcloud_role.pp}
+              params:
+                __ROLE__: cephstorage
           - {get_param: StepConfig}
 
 outputs:
   OS::stack_id:
-    description: The software config which runs overcloud_controller.pp
+    description: The software config which applies puppet on the cephstorage role
     value: {get_resource: CephStoragePuppetConfigImpl}
index 2314c47..acc9e61 100644 (file)
@@ -1,7 +1,7 @@
 heat_template_version: 2015-04-30
 
 description: >
-  A software config which runs manifests/overcloud_compute.pp
+  A software config which applies puppet on the compute role
 
 parameters:
   ConfigDebug:
@@ -32,10 +32,13 @@ resources:
       config:
         list_join:
         - ''
-        - - get_file: manifests/overcloud_compute.pp
+        - - str_replace:
+              template: {get_file: manifests/overcloud_role.pp}
+              params:
+                __ROLE__: compute
           - {get_param: StepConfig}
 
 outputs:
   OS::stack_id:
-    description: The software config which runs overcloud_controller.pp
+    description: The software config which applies puppet on the compute role
     value: {get_resource: ComputePuppetConfigImpl}
index 99c7b26..3996347 100644 (file)
@@ -1,7 +1,7 @@
 heat_template_version: 2015-04-30
 
 description: >
-  A software config which runs manifests/overcloud_controller.pp
+  A software config which runs puppet on the controller role
 
 parameters:
   ConfigDebug:
@@ -32,10 +32,13 @@ resources:
       config:
         list_join:
         - ''
-        - - get_file: manifests/overcloud_controller.pp
+        - - str_replace:
+              template: {get_file: manifests/overcloud_role.pp}
+              params:
+                __ROLE__: controller
           - {get_param: StepConfig}
 
 outputs:
   OS::stack_id:
-    description: The software config which runs overcloud_controller.pp
+    description: The software config which runs puppet on the controller role
     value: {get_resource: ControllerPuppetConfigImpl}
diff --git a/puppet/manifests/overcloud_cephstorage.pp b/puppet/manifests/overcloud_cephstorage.pp
deleted file mode 100644 (file)
index 2653bad..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2015 Red Hat, Inc.
-# All Rights Reserved.
-#
-# 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.
-
-if hiera('step') >= 4 {
-  hiera_include('ceph_classes', [])
-}
-
-$package_manifest_name = join(['/var/lib/tripleo/installed-packages/overcloud_ceph', hiera('step')])
-package_manifest{$package_manifest_name: ensure => present}
diff --git a/puppet/manifests/overcloud_controller.pp b/puppet/manifests/overcloud_controller.pp
deleted file mode 100644 (file)
index 25bdbfb..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2014 Red Hat, Inc.
-# All Rights Reserved.
-#
-# 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.
-
-if hiera('step') >= 4 {
-  hiera_include('controller_classes', [])
-}
-
-$package_manifest_name = join(['/var/lib/tripleo/installed-packages/overcloud_controller', hiera('step')])
-package_manifest{$package_manifest_name: ensure => present}
diff --git a/puppet/manifests/overcloud_object.pp b/puppet/manifests/overcloud_object.pp
deleted file mode 100644 (file)
index 414a06b..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2015 Red Hat, Inc.
-# All Rights Reserved.
-#
-# 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.
-
-if hiera('step') >= 4 {
-  hiera_include('object_classes', [])
-}
-
-$package_manifest_name = join(['/var/lib/tripleo/installed-packages/overcloud_object', hiera('step')])
-package_manifest{$package_manifest_name: ensure => present}
similarity index 71%
rename from puppet/manifests/overcloud_compute.pp
rename to puppet/manifests/overcloud_role.pp
index f96c193..1a59620 100644 (file)
 # License for the specific language governing permissions and limitations
 # under the License.
 
+# The content of this file will be used to generate
+# the puppet manifests for all roles, the placeholder
+# __ROLE__ will be replaced by 'controller', 'blockstorage',
+# 'cephstorage' and all the deployed roles.
+
 if hiera('step') >= 4 {
-  hiera_include('compute_classes', [])
+  hiera_include('__ROLE___classes', [])
 }
 
-$package_manifest_name = join(['/var/lib/tripleo/installed-packages/overcloud_compute', hiera('step')])
+$package_manifest_name = join(['/var/lib/tripleo/installed-packages/overcloud___ROLE__', hiera('step')])
 package_manifest{$package_manifest_name: ensure => present}
diff --git a/puppet/manifests/overcloud_volume.pp b/puppet/manifests/overcloud_volume.pp
deleted file mode 100644 (file)
index e1cdadd..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2015 Red Hat, Inc.
-# All Rights Reserved.
-#
-# 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.
-
-if hiera('step') >= 4 {
-  hiera_include('volume_classes', [])
-}
-
-$package_manifest_name = join(['/var/lib/tripleo/installed-packages/overcloud_volume', hiera('step')])
-package_manifest{$package_manifest_name: ensure => present}
index 3348054..76bffdd 100644 (file)
@@ -1,7 +1,7 @@
 heat_template_version: 2015-04-30
 
 description: >
-  A software config which runs manifests/overcloud_object.pp
+  A software config which applies puppet on the objectstorage role
 
 parameters:
   ConfigDebug:
@@ -32,10 +32,13 @@ resources:
       config:
         list_join:
         - ''
-        - - get_file: manifests/overcloud_object.pp
+        - - str_replace:
+              template: {get_file: manifests/overcloud_role.pp}
+              params:
+                __ROLE__: objectstorage
           - {get_param: StepConfig}
 
 outputs:
   OS::stack_id:
-    description: The software config which runs overcloud_controller.pp
+    description: The software config which applies puppet on the objectstorage role
     value: {get_resource: ObjectStoragePuppetConfigImpl}