From 6c04031e82b68a2d786cf0fbe32f2c7305712602 Mon Sep 17 00:00:00 2001 From: Imran Iqbal Date: Thu, 7 Mar 2019 14:51:19 +0000 Subject: [PATCH] fix(map): avoid `defaults.merge` bug on `salt-ssh` * https://github.com/saltstack/salt/issues/51605 --- redis/map.jinja | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/redis/map.jinja b/redis/map.jinja index a3601ca..f6a85dc 100644 --- a/redis/map.jinja +++ b/redis/map.jinja @@ -1,21 +1,19 @@ # -*- coding: utf-8 -*- # vim: ft=jinja -{% import_yaml 'redis/defaults.yaml' as defaults %} -{% import_yaml 'redis/osfamilymap.yaml' as osfamilymap %} -{% import_yaml 'redis/osfingermap.yaml' as osfingermap %} +{#- Start imports as #} +{%- import_yaml 'redis/defaults.yaml' as default_settings %} +{%- import_yaml 'redis/osfamilymap.yaml' as osfamilymap %} +{%- import_yaml 'redis/osfingermap.yaml' as osfingermap %} -{# merge the osfamilymap #} -{% set osfamily = salt['grains.filter_by'](osfamilymap, grain='os_family') or{} %} -{% do salt['defaults.merge'](defaults['redis'], osfamily) %} +{%- set defaults = salt['grains.filter_by'](default_settings, + default='redis', + merge=salt['grains.filter_by'](osfamilymap, grain='os_family', + merge=salt['grains.filter_by'](osfingermap, grain='osfinger', + merge=salt['pillar.get']('redis:lookup', default={}) + ) + ) +) %} -{# merge the osfingermap #} -{% set osfinger = salt['grains.filter_by'](osfingermap, grain='osfinger') or {} %} -{% do salt['defaults.merge'](defaults['redis'], osfinger) %} - -{# merge the lookup #} -{% set lookup = salt['pillar.get']('redis:lookup', default={}, merge=True) %} -{% do salt['defaults.merge'](defaults['redis'], lookup) %} - -{# merge all #} -{% set redis_settings = salt['pillar.get']('redis', default=defaults['redis'], merge=True) %} +{#- Merge the redis pillar #} +{%- set redis = salt['pillar.get']('redis', default=defaults, merge=True) %}