Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Delta Between Two Patch Sets: run.py

Issue 4810150141493248: Issue 122 - Puppet ENC via Hiera (Closed)
Left Patch Set: Puppet ENC via Hiera Created March 4, 2015, 12:32 p.m.
Right Patch Set: Puppet ENC via Hiera - Without Arrow Alignment Created March 16, 2015, 2:04 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « modules/statsmaster/manifests/init.pp ('k') | no next file » | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # coding: utf-8 2 # coding: utf-8
3 3
4 import sys 4 import sys
5 import os 5 import os
6 import re 6 import re
7 import subprocess 7 import subprocess
8 import getopt 8 import getopt
9 import yaml 9 import yaml
10 10
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
45 def getValidHosts(): 45 def getValidHosts():
46 dirname = os.path.dirname(sys.argv[0]) 46 dirname = os.path.dirname(sys.argv[0])
47 path_name = os.path.join(dirname, "hiera", "private", "hosts.yaml") 47 path_name = os.path.join(dirname, "hiera", "private", "hosts.yaml")
48 with open(path_name, 'rb') as handle: 48 with open(path_name, 'rb') as handle:
49 config = yaml.load(handle) 49 config = yaml.load(handle)
50 servers = config.get('servers', {}) 50 servers = config.get('servers', {})
51 return servers 51 return servers
52 52
53 def resolveHostList(hosts): 53 def resolveHostList(hosts):
54 54
55 host_names = (str(item) for item in hosts)
56 result = set() 55 result = set()
57 56
58 try: 57 try:
59 valid_hosts = getValidHosts() 58 valid_hosts = getValidHosts()
60 except Warning as error: 59 except Warning as error:
61 print >>sys.stderr, 'Warning: failed to determine valid hosts:', error 60 print >>sys.stderr, 'Warning: failed to determine valid hosts:', error
62 result.update(host_names) 61 result.update(hosts)
63 else: 62 else:
64 for name in host_names: 63 for name in hosts:
65 chunk = [ 64 chunk = [
66 value.get('dns', key) for (key, value) in valid_hosts.items() 65 value.get('dns', key) for (key, value) in valid_hosts.items()
67 66
68 if name == key 67 if name == key
69 or name == '*' 68 or name == '*'
70 or name == value.get('dns', None) 69 or name == value.get('dns', None)
71 or name in value.get('groups', ()) 70 or name in value.get('groups', ())
72 ] 71 ]
73 72
74 if len(chunk) == 0: 73 if len(chunk) == 0:
(...skipping 14 matching lines...) Expand all
89 88
90 if __name__ == "__main__": 89 if __name__ == "__main__":
91 user, hosts, ignore_errors, args = parseOptions(sys.argv[1:]) 90 user, hosts, ignore_errors, args = parseOptions(sys.argv[1:])
92 selectedHosts = resolveHostList(hosts) 91 selectedHosts = resolveHostList(hosts)
93 if len(selectedHosts) == 0: 92 if len(selectedHosts) == 0:
94 print >>sys.stderr, 'No valid hosts or groups specified, nothing to do' 93 print >>sys.stderr, 'No valid hosts or groups specified, nothing to do'
95 sys.exit(0) 94 sys.exit(0)
96 for host in selectedHosts: 95 for host in selectedHosts:
97 print >>sys.stderr, 'Running on %s...' % host 96 print >>sys.stderr, 'Running on %s...' % host
98 runCommand(user, host, args, ignore_errors=ignore_errors) 97 runCommand(user, host, args, ignore_errors=ignore_errors)
LEFTRIGHT

Powered by Google App Engine
This is Rietveld