diff options
Diffstat (limited to 'post.py')
-rwxr-xr-x | post.py | 51 |
1 files changed, 51 insertions, 0 deletions
@@ -0,0 +1,51 @@ +#!/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') + for count in range(0, 2): + submit_yaml_job(job_yaml, user, token, host) + + +if __name__ == "__main__": + main() |