diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml index f341672a2a..12467066c6 100644 --- a/overcloud-without-mergepy.yaml +++ b/overcloud-without-mergepy.yaml @@ -581,6 +581,13 @@ parameters: SwiftStorageImage: default: overcloud-swift-storage type: string + ObjectStorageExtraConfig: + default: {} + description: | + ObjectStorage specific configuration to inject into the cluster. Same + structure as ExtraConfig. + type: json + # Ceph storage specific parameters CephStorageCount: @@ -915,6 +922,8 @@ resources: template: {get_param: ObjectStorageHostnameFormat} params: '%stackname%': {get_param: 'OS::stack_name'} + ExtraConfig: {get_param: ExtraConfig} + ObjectStorageExtraConfig: {get_param: ObjectStorageExtraConfig} CephStorage: type: OS::Heat::ResourceGroup diff --git a/puppet/swift-storage-puppet.yaml b/puppet/swift-storage-puppet.yaml index fb1756b8d1..05664053db 100644 --- a/puppet/swift-storage-puppet.yaml +++ b/puppet/swift-storage-puppet.yaml @@ -65,6 +65,18 @@ parameters: Hostname: type: string default: '' # Defaults to Heat created hostname + ExtraConfig: + default: {} + description: | + Additional hiera configuration to inject into the cluster. Note + that ObjectStorageExtraConfig takes precedence over ExtraConfig. + type: json + ObjectStorageExtraConfig: + default: {} + description: | + Role specific additional hiera configuration to inject into the cluster. + type: json + resources: @@ -126,6 +138,8 @@ resources: hiera: hierarchy: - heat_config_%{::deploy_config_name} + - object_extraconfig + - extraconfig - object - swift_devices_and_proxy # provided by SwiftDevicesAndProxyConfig - all_nodes # provided by allNodesConfig @@ -134,6 +148,10 @@ resources: datafiles: common: raw_data: {get_file: hieradata/common.yaml} + object_extraconfig: + mapped_data: {get_param: ObjectStorageExtraConfig} + extraconfig: + mapped_data: {get_param: ExtraConfig} object: raw_data: {get_file: hieradata/object.yaml} mapped_data: # data supplied directly to this deployment configuration, etc diff --git a/swift-storage.yaml b/swift-storage.yaml index e4cacf3c77..1a2967faa0 100644 --- a/swift-storage.yaml +++ b/swift-storage.yaml @@ -39,6 +39,11 @@ parameters: } } type: json + ObjectStorageExtraConfig: + default: {} + description: | + Role specific additional configuration to inject into the cluster. + type: json Flavor: description: Flavor for Swift storage nodes to request when deploying. type: string