diff options
author | Leif Johansson <leifj@sunet.se> | 2013-09-02 16:01:50 +0200 |
---|---|---|
committer | Leif Johansson <leifj@sunet.se> | 2013-09-02 16:01:50 +0200 |
commit | 7515782eb503152dfc3e84fee1260fb10d560df9 (patch) | |
tree | ce0087dc774a156c6a74f11d3af92ef5686b4972 /global/overlay/etc/puppet/cosmos_enc.py |
import
Diffstat (limited to 'global/overlay/etc/puppet/cosmos_enc.py')
-rwxr-xr-x | global/overlay/etc/puppet/cosmos_enc.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/global/overlay/etc/puppet/cosmos_enc.py b/global/overlay/etc/puppet/cosmos_enc.py new file mode 100755 index 0000000..63c3a66 --- /dev/null +++ b/global/overlay/etc/puppet/cosmos_enc.py @@ -0,0 +1,24 @@ +#!/usr/bin/env python + +import sys +import yaml +import os +import re + +rules_path = os.environ.get("COSMOS_RULES_PATH","/etc/puppet") + +node_name = sys.argv[1] + +rules = dict() +for p in rules_path.split(":"): + rules_file = os.path.join(p,"cosmos-rules.yaml") + if os.path.exists(rules_file): + with open(rules_file) as fd: + rules.update(yaml.load(fd)) + +classes = dict() +for reg,cls in rules.iteritems(): + if re.search(reg,node_name): + classes.update(cls) + +print yaml.dump(dict(classes=classes)) |