aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--overcloud.yaml16
-rw-r--r--puppet/services/README.rst4
-rw-r--r--puppet/swift-storage-post.yaml5
-rw-r--r--puppet/swift-storage.yaml6
4 files changed, 31 insertions, 0 deletions
diff --git a/overcloud.yaml b/overcloud.yaml
index c6772ab3..3adfa3e1 100644
--- a/overcloud.yaml
+++ b/overcloud.yaml
@@ -713,6 +713,14 @@ parameters:
type: json
description: Optional scheduler hints to pass to nova
default: {}
+ ObjectStorageServices:
+ default: []
+ description: A list of service resources (configured in the Heat
+ resource_registry) which represent nested stacks
+ for each service that should get installed on the ObjectStorage nodes.
+ Note this role currently only supports steps 2, 3 and 4 configuration.
+ type: comma_delimited_list
+
# Ceph storage specific parameters
CephStorageCount:
@@ -1124,6 +1132,12 @@ resources:
SchedulerHints: {get_param: BlockStorageSchedulerHints}
NodeIndex: '%index%'
+ ObjectStorageServiceChain:
+ type: OS::TripleO::Services
+ properties:
+ Services: {get_param: ObjectStorageServices}
+ EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
+
ObjectStorage:
type: OS::Heat::ResourceGroup
depends_on: Networks
@@ -1156,6 +1170,7 @@ resources:
ServerMetadata: {get_param: ServerMetadata}
SchedulerHints: {get_param: ObjectStorageSchedulerHints}
NodeIndex: '%index%'
+ ServiceConfigSettings: {get_attr: [ObjectStorageServiceChain, config_settings]}
CephStorageServiceChain:
type: OS::TripleO::Services
@@ -1576,6 +1591,7 @@ resources:
allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
objectstorage_config: {get_attr: [ObjectStorage, attributes, config_identifier]}
deployment_identifier: {get_param: DeployIdentifier}
+ StepConfig: {get_attr: [ObjectStorageServiceChain, step_config]}
BlockStorageNodesPostDeployment:
type: OS::TripleO::BlockStoragePostDeployment
diff --git a/puppet/services/README.rst b/puppet/services/README.rst
index 38d2ac64..15c8c1f1 100644
--- a/puppet/services/README.rst
+++ b/puppet/services/README.rst
@@ -48,3 +48,7 @@ are re-asserted when applying latter ones.
5) Service activation (Pacemaker)
6) Fencing (Pacemaker)
+
+Note: Not all roles currently support all steps:
+
+ * ObjectStorage role only supports steps 2, 3 and 4
diff --git a/puppet/swift-storage-post.yaml b/puppet/swift-storage-post.yaml
index 2b652443..1aba2bb4 100644
--- a/puppet/swift-storage-post.yaml
+++ b/puppet/swift-storage-post.yaml
@@ -11,6 +11,10 @@ parameters:
NodeConfigIdentifiers:
type: json
description: Value which changes if the node configuration may need to be re-applied
+ StepConfig:
+ type: string
+ description: Config manifests that will be used to step through the deployment.
+ default: ''
resources:
@@ -42,6 +46,7 @@ resources:
- ''
- - get_file: manifests/overcloud_object.pp
- get_file: manifests/ringbuilder.pp
+ - {get_param: StepConfig}
StorageRingbuilderDeployment_Step2:
type: OS::Heat::StructuredDeployments
diff --git a/puppet/swift-storage.yaml b/puppet/swift-storage.yaml
index 9a1f2fcd..ed52f928 100644
--- a/puppet/swift-storage.yaml
+++ b/puppet/swift-storage.yaml
@@ -121,6 +121,9 @@ parameters:
NodeIndex:
type: number
default: 0
+ ServiceConfigSettings:
+ type: json
+ default: {}
resources:
@@ -257,6 +260,7 @@ resources:
- heat_config_%{::deploy_config_name}
- object_extraconfig
- extraconfig
+ - service_configs
- object
- swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig
- all_nodes # provided by allNodesConfig
@@ -265,6 +269,8 @@ resources:
- network
merge_behavior: deeper
datafiles:
+ service_configs:
+ mapped_data: {get_param: ServiceConfigSettings}
common:
raw_data: {get_file: hieradata/common.yaml}
network: