summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Bcfg2')
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Cfg/CfgInfoXML.py6
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py3
2 files changed, 8 insertions, 1 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Cfg/CfgInfoXML.py b/src/lib/Bcfg2/Server/Plugins/Cfg/CfgInfoXML.py
index 8e962efb4..92cf45824 100644
--- a/src/lib/Bcfg2/Server/Plugins/Cfg/CfgInfoXML.py
+++ b/src/lib/Bcfg2/Server/Plugins/Cfg/CfgInfoXML.py
@@ -22,3 +22,9 @@ class CfgInfoXML(CfgInfo):
def handle_event(self, event):
self.infoxml.HandleEvent()
+
+ def _set_info(self, entry, info):
+ CfgInfo._set_info(self, entry, info)
+ if '__children__' in info:
+ for child in info['__children__']:
+ entry.append(child)
diff --git a/src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py b/src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py
index 081a68639..5a7edbaff 100644
--- a/src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py
+++ b/src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py
@@ -114,7 +114,8 @@ class CfgInfo(CfgBaseFileMatcher):
def _set_info(self, entry, info):
for key, value in list(info.items()):
- entry.attrib.__setitem__(key, value)
+ if not key.startswith("__"):
+ entry.attrib.__setitem__(key, value)
class CfgVerifier(CfgBaseFileMatcher):