2013-10-07 22:08:16 +02:00
|
|
|
#!/usr/bin/python
|
2013-05-31 21:04:49 +02:00
|
|
|
|
2013-10-07 22:08:16 +02:00
|
|
|
import sys
|
|
|
|
import subprocess
|
|
|
|
|
|
|
|
force = False
|
|
|
|
extra_args = sys.argv[1:]
|
|
|
|
|
|
|
|
if len(extra_args) and extra_args[0] in ('-f', '--force'):
|
|
|
|
force = True
|
|
|
|
eatra_args = extra_args[1:]
|
|
|
|
|
2013-10-29 23:53:04 +01:00
|
|
|
with open('/etc/zulip/machinetype') as f:
|
2013-10-07 22:08:16 +02:00
|
|
|
machinetype = f.readline().strip()
|
|
|
|
|
2013-10-29 23:53:04 +01:00
|
|
|
puppet_cmd = ["puppet", "apply", "-e", "class {'zulip-internal': machinetype => '%s'}" % (machinetype,)]
|
2013-10-07 22:08:16 +02:00
|
|
|
puppet_cmd += extra_args
|
|
|
|
|
|
|
|
if force:
|
|
|
|
subprocess.check_call(puppet_cmd)
|
|
|
|
sys.exit(0)
|
|
|
|
|
|
|
|
subprocess.check_call(puppet_cmd + ['--noop', '--show_diff'])
|
|
|
|
|
|
|
|
do_apply = None
|
|
|
|
while not (do_apply == 'y' or do_apply == 'n'):
|
|
|
|
sys.stdout.write("Apply changes? [y/N] ")
|
|
|
|
do_apply = sys.stdin.readline().strip().lower()
|
|
|
|
if do_apply == '':
|
|
|
|
do_apply = 'n'
|
|
|
|
|
|
|
|
if do_apply == 'y':
|
|
|
|
subprocess.check_call(puppet_cmd)
|