Merge values for same key from multiple services
This should merge multiple and different values for the same key found in different services. For example, assuming two services defining a key as follows: config_settings: mykey: - val1 config_settings: mykey: - val2 - val3 the content of the key, as seen by ansible or puppet on the nodes, will be: mykey: ['val1','val2','val3'] Change-Id: I190374e36ad1a2b57611a3a9d0a52ceb1a049aff
This commit is contained in:
parent
1eaa019a1f
commit
8a8ad26435
@ -365,7 +365,10 @@ outputs:
|
||||
monitoring_subscriptions: {get_attr: [MonitoringSubscriptionsConfig, value]}
|
||||
logging_sources: {get_attr: [LoggingSourcesConfig, value]}
|
||||
logging_groups: {get_attr: [LoggingGroupsConfig, value]}
|
||||
config_settings: {map_merge: {get_attr: [ServiceChain, role_data, config_settings]}}
|
||||
config_settings:
|
||||
yaql:
|
||||
expression: $.data.where($ != null).reduce($1.mergeWith($2), {})
|
||||
data: {get_attr: [ServiceChain, role_data, config_settings]}
|
||||
global_config_settings: {get_attr: [GlobalConfigSettings, value]}
|
||||
service_config_settings: {get_attr: [ServiceConfigSettings, value]}
|
||||
workflow_tasks: {get_attr: [WorkflowTasks, value]}
|
||||
|
@ -0,0 +1,21 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
It is now possible to specify values for any key in `config_settings`
|
||||
from multiple services; multiple values will be merged using YAQL
|
||||
mergeWith() function. For example, assuming two services defining
|
||||
a key as follows:
|
||||
|
||||
config_settings:
|
||||
mykey:
|
||||
- val1
|
||||
|
||||
config_settings:
|
||||
mykey:
|
||||
- val2
|
||||
- val3
|
||||
|
||||
the content of the key, as seen by ansible or puppet on the nodes,
|
||||
will be:
|
||||
|
||||
mykey: ['val1','val2','val3']
|
Loading…
Reference in New Issue
Block a user