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

Side by Side Diff: kick.py

Issue 10635006: Don't validate hosts if no valid hosts are found (Closed)
Patch Set: Created May 22, 2013, 9:48 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 return hosts, groups 97 return hosts, groups
98 98
99 monitoringConfig = readMonitoringConfig() 99 monitoringConfig = readMonitoringConfig()
100 if not monitoringConfig: 100 if not monitoringConfig:
101 print >>sys.stderr, "Failed to parse monitoring configuration" 101 print >>sys.stderr, "Failed to parse monitoring configuration"
102 return [[], []] 102 return [[], []]
103 # Extract hosts and groups from monitoring config 103 # Extract hosts and groups from monitoring config
104 return processNode(monitoringConfig) 104 return processNode(monitoringConfig)
105 105
106 def resolveHostList(hosts, validHosts, validGroups): 106 def resolveHostList(hosts, validHosts, validGroups):
107 if not validHosts:
108 print "Warning: No valid hosts found, not validating"
109 return hosts
110
107 result = set() 111 result = set()
108 for param in hosts: 112 for param in hosts:
109 if param in validGroups: 113 if param in validGroups:
110 for host in validGroups[param]: 114 for host in validGroups[param]:
111 if host == '*': 115 if host == '*':
112 result = result | validHosts 116 result = result | validHosts
113 else: 117 else:
114 result.add(host) 118 result.add(host)
115 elif param in validHosts: 119 elif param in validHosts:
116 result.add(param) 120 result.add(param)
(...skipping 19 matching lines...) Expand all
136 if __name__ == "__main__": 140 if __name__ == "__main__":
137 user, mode, args = parseOptions(sys.argv[1:]) 141 user, mode, args = parseOptions(sys.argv[1:])
138 hosts, groups = getValidHosts() 142 hosts, groups = getValidHosts()
139 needKicking = resolveHostList(args, hosts, groups) 143 needKicking = resolveHostList(args, hosts, groups)
140 if len(needKicking) == 0: 144 if len(needKicking) == 0:
141 print >>sys.stderr, 'No valid hosts or groups specified, nothing to do' 145 print >>sys.stderr, 'No valid hosts or groups specified, nothing to do'
142 sys.exit(0) 146 sys.exit(0)
143 updateMaster(user) 147 updateMaster(user)
144 for host in needKicking: 148 for host in needKicking:
145 updateClient(user, host, mode) 149 updateClient(user, host, mode)
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld