diff options
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/Cfg/CfgInfoXML.py | 6 | ||||
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/Cfg/__init__.py | 3 |
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): |