From 8cc58e3669eec69f55269c54fc1de2a0b0c57c02 Mon Sep 17 00:00:00 2001 From: Mark Goddard Date: Tue, 14 Apr 2020 14:11:14 +0100 Subject: [PATCH] Fix service_mapped_to_host filter for common services In Ibecac60d1417269bbe25a280996ca9de6e6d018f, the services in the common role were marked as being mapped to the 'all' group, since the 'service_mapped_to_host' filter expects every service definition to have either a 'group' or 'host_in_groups' field. While this allows the filter to pass the common services without error, it will not actually show them as being mapped to any hosts. This is because the filter uses the 'group_names' variable, which contains all of the groups that a host belongs to, except the default 'all' group. This change fixes the issue by returning True from service_mapped_to_host when the service's group is 'all'. Change-Id: I39c8416f5d30a535c1743f9c43434b7d2a382196 Related-Bug: #1868596 --- kolla_ansible/filters.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kolla_ansible/filters.py b/kolla_ansible/filters.py index bea423347e..10bed9e46d 100644 --- a/kolla_ansible/filters.py +++ b/kolla_ansible/filters.py @@ -63,7 +63,7 @@ def service_mapped_to_host(context, service): group = service.get("group") if group is not None: - return group in context.get("group_names") + return group in context.get("group_names") or group == "all" raise exception.FilterError( "Service definition for '%s' does not have a 'group' or "