Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- import time
- import spur
- import multiprocessing
- IT=0
- HOST_LIST = {
- "192.168.10.4": True,
- "192.168.10.6": True,
- "192.168.10.7": True,
- "192.168.10.8": True
- }
- BOOL_TO_COMMAND = {
- True: 'start',
- False: 'stop'
- }
- COMMAND_TPL = 'sudo systemctl %s monasca-log-transformer'
- def pick_random_host():
- global IT
- keys = HOST_LIST.keys()
- length = len(keys)
- if IT == length:
- IT = 0
- key = keys[IT]
- IT += 1
- return key
- def get_command(val):
- return COMMAND_TPL % BOOL_TO_COMMAND.get(val)
- def run():
- print 'Entering the loop, changing status by 60 seconds'
- print 'Initial state of hosts %s' % HOST_LIST
- while True:
- print 'Waiting for 30 seconds'
- time.sleep(30)
- print '---------------------------------------------------------------'
- try:
- host_ip = pick_random_host()
- status = HOST_LIST[host_ip]
- command = get_command(not status)
- HOST_LIST[host_ip] = not status
- shell = spur.SshShell(hostname=host_ip,
- port=22,
- private_key_file=(
- '/home/kornicameister/.ssh/id_rsa'),
- missing_host_key=spur.ssh.MissingHostKey.accept,
- username='vagrant',
- password='vagrant')
- res = shell.run(command.split(' '))
- print '[', host_ip, ']', '[', HOST_LIST[
- host_ip], ']', command, \
- res.return_code, \
- res.output
- except Exception:
- pass
- print '---------------------------------------------------------------'
- if __name__ == '__main__':
- process = multiprocessing.Process(target=run)
- process.start()
- process.join()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement