summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzsdc <taras@vyos.io>2022-12-26 17:10:40 +0200
committerzsdc <taras@vyos.io>2023-01-03 17:56:56 +0200
commit0404ecb39499499d86b2a5620ae90a2c78cb4c2d (patch)
treed829e19b0d8f9330e9553e7f4eeb3de189aa9249
parent87211245166ea2b4b40ed37aa42109d920372adc (diff)
downloadvyos-cloud-init-0404ecb39499499d86b2a5620ae90a2c78cb4c2d.tar.gz
vyos-cloud-init-0404ecb39499499d86b2a5620ae90a2c78cb4c2d.zip
user-data: T4895: Fixed tag nodes processing
This commit fixes the problem with overwritting tag nodes by neighbors, when there are more than one tag node on the same level.
-rw-r--r--cloudinit/config/cc_vyos_userdata.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/cloudinit/config/cc_vyos_userdata.py b/cloudinit/config/cc_vyos_userdata.py
index 5ad27b31..21deb3d6 100644
--- a/cloudinit/config/cc_vyos_userdata.py
+++ b/cloudinit/config/cc_vyos_userdata.py
@@ -134,10 +134,12 @@ def mark_tag(config, node_path, tag_nodes):
# apply "set" command
def apply_command_set(config, tag_nodes, multi_nodes, command):
# if a node is multi type add value instead replacing
- replace_option = not inside_nodes_list(command['cmd_path'], multi_nodes)
+ replace_option = not inside_nodes_list(command['cmd_path'],
+ multi_nodes + tag_nodes)
if not replace_option:
- logger.debug("{} is a multi node, adding value".format(
- command['cmd_path']))
+ logger.debug(
+ "{} is a multi or tag node, adding value instead overwriting".
+ format(command['cmd_path']))
config.set(command['cmd_path'],
command['cmd_value'],