From 6a71beb3db1d5a547799089804839204e20e2224 Mon Sep 17 00:00:00 2001
From: "Pietsch, Martin" <martin.pietsch@tu-dresden.de>
Date: Tue, 8 Jun 2021 07:31:18 +0200
Subject: [PATCH] changed list merge behavior of roles from 'append' to
 'replace'

---
 CHANGELOG.rst              | 7 +++++++
 changelogs/changelog.yaml  | 5 +++++
 galaxy.yml                 | 2 +-
 plugins/callback/sdmoor.py | 6 +++---
 4 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index e6bb0f2..8ab164c 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -21,3 +21,10 @@ Minor Changes
 
 - added action plugin `dump_role_vars`
 
+v1.2.0
+======
+
+Minor Changes
+-------------
+
+- changed list merge behavior of roles from 'append' to 'replace'
diff --git a/changelogs/changelog.yaml b/changelogs/changelog.yaml
index b0e4d74..11c9489 100644
--- a/changelogs/changelog.yaml
+++ b/changelogs/changelog.yaml
@@ -11,3 +11,8 @@ releases:
       minor_changes:
         - added action plugin `dump_role_vars`
     release_date: '2021-06-01'
+  1.2.0:
+    changes:
+      minor_changes:
+        - changed list merge behavior of roles from 'append' to 'replace'
+    release_date: '2021-06-08'
diff --git a/galaxy.yml b/galaxy.yml
index f1339cb..0df78c7 100644
--- a/galaxy.yml
+++ b/galaxy.yml
@@ -6,7 +6,7 @@ readme: README.md
 repository: https://gitlab.mn.tu-dresden.de/sdm/sdm.oor.git
 documentation: https://sdm.mn.tu-dresden.de/references/collections/sdm.oor/
 homepage: https://sdm.mn.tu-dresden.de
-version: 1.1.0
+version: 1.2.0
 authors:
   - Martin Pietsch <martin.pietsch@tu-dresden.de>
   - Robin Richter <robin.richter@mailbox.tu-dresden.de>
diff --git a/plugins/callback/sdmoor.py b/plugins/callback/sdmoor.py
index 93c5d40..74f7254 100644
--- a/plugins/callback/sdmoor.py
+++ b/plugins/callback/sdmoor.py
@@ -583,17 +583,17 @@ class SDMRole(Role):
       self._load_base_role_vars(self._system)
 
     try:
-      self._role_vars = merge_hash(self._base_role_vars.get(self._system, dict()), self._additional_role_vars, recursive=True, list_merge="append")
+      self._role_vars = merge_hash(self._base_role_vars.get(self._system, dict()), self._additional_role_vars, recursive=True, list_merge="replace")
     except TypeError: #ansible version 2.9 and older
       self._role_vars = merge_hash(self._base_role_vars.get(self._system, dict()), self._additional_role_vars)
 
     try:
-      self._default_vars = merge_hash(self._base_default_vars.get(self._system, dict()), self._additional_default_vars, recursive=True, list_merge="append")
+      self._default_vars = merge_hash(self._base_default_vars.get(self._system, dict()), self._additional_default_vars, recursive=True, list_merge="replace")
     except TypeError: #ansible version 2.9 and older
       self._default_vars = merge_hash(self._base_default_vars.get(self._system, dict()), self._additional_default_vars)
 
     try:
-      self._role_vars = merge_hash(self._role_vars, rolehostcache, recursive=True, list_merge="append")
+      self._role_vars = merge_hash(self._role_vars, rolehostcache, recursive=True, list_merge="replace")
     except TypeError: #ansible version 2.9 and older
       self._role_vars = merge_hash(self._role_vars, rolehostcache)
     
-- 
GitLab