#!/usr/bin/env python3 import sys import yaml #import xmlrpclib import xmlrpc.client import configparser configfile = "post.conf" def get_cfg_value(configfile, category, what, strict = 'yes'): ret = None parser = configparser.SafeConfigParser() parser.read(configfile) try: ret = parser.get(category, what) except: print('No option %s= found in config file. Fix your config file' % what) if strict == 'yes': exit(1); return ret def submit_yaml_job(job_yaml_str, user, token, host): server = xmlrpc.client.ServerProxy("https://%s:%s@%s/RPC2" % (user, token, host)) try: job_id = server.scheduler.submit_job(job_yaml_str) #print "Job submitted successfuly" except: raise def main(): if len(sys.argv) < 1: print ("""usage: submit_job.py JOB_YAML""") exit(1) with open(sys.argv[1], 'r') as stream: job_yaml = stream.read() user = get_cfg_value(configfile, 'auth', 'user') token = get_cfg_value(configfile, 'auth', 'token') host = get_cfg_value(configfile, 'auth', 'host') submit_yaml_job(job_yaml, user, token, host) if __name__ == "__main__": main()