Configure ObjectStorage services via resource chains
Similar to the https://review.openstack.org/#/c/259568 which added support for the composable services StepConfig and ServiceConfigSettings parameters so that the Controller role supports composable services, this adds those interfaces for the ObjectStorage role. Note that at this time the ObjectStorage post config only supports steps 2, 3 and 4, not all those in services/README.rst Partially-Implements: blueprint composable-services-within-roles Change-Id: I22ffaa68a6ccd4be29d51674871268179bcddcbc
This commit is contained in:
parent
e3cc44579c
commit
be1b311184
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Reference in New Issue