from rundeck.client import Rundeck
import logging
date = "2017-04-13"
despatch_node = "sysops@172.16.50.21"
job_uuid = "06c4502c-1248-461c-b501-17affc36c6ab"
class RundeckJobInvoker(object):
def __init__(self):
self.api_token = "JJ4vqSbFA9iFZ3d2UTTuwv9hnxK5FK1N"
self.rundeck_instance_ip = "172.16.60.21"
self.__rd = Rundeck(server=self.rundeck_instance_ip, api_token=self.api_token)
def start_job(self, jobargs):
for args_dict in jobargs['job_args']:
logging.info("let's start rundeck job id=%s, args=%s", jobargs['job_uuid'], args_dict)
execution = self.__rd.run_job(jobargs['job_uuid'], argString=args_dict)
logging.debug("let's print job_execution_link=%s, job_status=%s", execution['href'], execution['status'])
if __name__ == '__main__':
invoker = RundeckJobInvoker()
job_dict = {'job_args': {"DATE": date, "despatch_node": despatch_node}, "job_uuid": job_uuid}
invoker.start_job(jobargs=job_dict)