| OLD | NEW |
| 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 getopt | 5 import getopt |
| 6 from run import resolveHostList, runCommand | 6 from run import resolveHostList, runCommand |
| 7 | 7 |
| 8 def usage(): | 8 def usage(): |
| 9 print >>sys.stderr, ''' | 9 print >>sys.stderr, ''' |
| 10 Usage: %s [-u <user>] [-t|-q] [<host>|<group>] ... | 10 Usage: %s [-u <user>] [-t|-q] [<host>|<group>] ... |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 elif option == '-t': | 42 elif option == '-t': |
| 43 mode = ' --test --noop' | 43 mode = ' --test --noop' |
| 44 | 44 |
| 45 return user, mode, args | 45 return user, mode, args |
| 46 | 46 |
| 47 def updateMaster(user): | 47 def updateMaster(user): |
| 48 print 'Updating data on the puppet master...' | 48 print 'Updating data on the puppet master...' |
| 49 remoteCommand = ' && '.join([ | 49 remoteCommand = ' && '.join([ |
| 50 'sudo hg pull -qu -R /etc/puppet/infrastructure', | 50 'sudo hg pull -qu -R /etc/puppet/infrastructure', |
| 51 'sudo hg pull -qu -R /etc/puppet/infrastructure/modules/private', | 51 'sudo hg pull -qu -R /etc/puppet/infrastructure/modules/private', |
| 52 'sudo /etc/puppet/infrastructure/ensure_dependencies.py /etc/puppet/infrastr
ucture', |
| 52 ]) | 53 ]) |
| 53 runCommand(user, "puppetmaster.adblockplus.org", remoteCommand) | 54 runCommand(user, "puppetmaster.adblockplus.org", remoteCommand) |
| 54 | 55 |
| 55 def updateClient(user, host, mode): | 56 def updateClient(user, host, mode): |
| 56 print 'Provisioning %s...' % host | 57 print 'Provisioning %s...' % host |
| 57 remoteCommand = 'sudo puppet agent%s' % mode | 58 remoteCommand = 'sudo puppet agent%s' % mode |
| 58 | 59 |
| 59 # Have to ignore errors here, Puppet will return non-zero for successful runs | 60 # Have to ignore errors here, Puppet will return non-zero for successful runs |
| 60 runCommand(user, host, remoteCommand, ignore_errors=True) | 61 runCommand(user, host, remoteCommand, ignore_errors=True) |
| 61 | 62 |
| 62 if __name__ == "__main__": | 63 if __name__ == "__main__": |
| 63 user, mode, args = parseOptions(sys.argv[1:]) | 64 user, mode, args = parseOptions(sys.argv[1:]) |
| 64 needKicking = resolveHostList(args) | 65 needKicking = resolveHostList(args) |
| 65 if len(needKicking) == 0: | 66 if len(needKicking) == 0: |
| 66 print >>sys.stderr, 'No valid hosts or groups specified, nothing to do' | 67 print >>sys.stderr, 'No valid hosts or groups specified, nothing to do' |
| 67 sys.exit(0) | 68 sys.exit(0) |
| 68 updateMaster(user) | 69 updateMaster(user) |
| 69 for host in needKicking: | 70 for host in needKicking: |
| 70 updateClient(user, host, mode) | 71 updateClient(user, host, mode) |
| OLD | NEW |