Filter null/None service names

To enable use of the service_names lists in overcloud.yaml we need
to strip any null/None values or list processing becomes cumbersome.

These happen because we're currently disabling some services via
OS::Heat::None in the resource_registry, it may be possible to remove
when we've got a fully composable approach to generating the
*Services lists.

Change-Id: I8ef53b4279d93850c207c73aab0d75095a2497a2
Partially-Implements: blueprint custom-roles
This commit is contained in:
Steven Hardy 2016-07-27 11:51:30 +01:00
parent fc93cf3e29
commit 23e13cc1e0
1 changed files with 7 additions and 2 deletions

View File

@ -1,4 +1,4 @@
heat_template_version: 2016-04-08
heat_template_version: 2016-10-14
description: >
Utility stack to convert an array of services into a set of combined
@ -30,6 +30,11 @@ outputs:
role_data:
description: Combined Role data for this set of services.
value:
service_names: {get_attr: [ServiceChain, role_data, service_name]}
service_names:
# Filter any null/None service_names which may be present due to mapping
# of services to OS::Heat::None
yaql:
expression: list($.data.s_names.where($ != null))
data: {s_names: {get_attr: [ServiceChain, role_data, service_name]}}
config_settings: {map_merge: {get_attr: [ServiceChain, role_data, config_settings]}}
step_config: {list_join: ["\n", {get_attr: [ServiceChain, role_data, step_config]}]}