bugcy013
4/13/2017 - 8:22 PM

rundeck_job_run.py

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)