def create_task(self, name, url, cmd_line, replicate_count, mem_limit, cpu_soft_limit, cpu_limit, deploy_step_size=-1, one_task_per_host=False, restrict_tags=[], conf=None): galaxy_sdk = sdk.GalaxySDK(self.master_addr) status, job_id = galaxy_sdk.make_job( name, 'ftp', url, cmd_line, replicate_num=replicate_count, mem_limit=mem_limit, cpu_limit=cpu_limit, cpu_soft_limit=cpu_soft_limit, deploy_step_size=deploy_step_size, one_task_per_host=one_task_per_host, restrict_tags=restrict_tags, conf=conf) return status, job_id
def main(): master_addr = "localhost:8102" job_id = 0 replicate_num = 0 deploy_step_size = -1 try: opts,args = getopt.getopt(sys.argv[1:],"s:vh",["version","help", "job_id=", "replicate_num=", "deploy_step_size="]) except getopt.GetoptError: sys.exit(2) for opt in opts: if opt[0] == "s" : master_addr = opt[1] elif opt[0] == "--job_id" : job_id = int(opt[1]) elif opt[0] == "--replicate_num" : replicate_num = int(opt[1]) elif opt[0] == "--deploy_step_size" : deploy_step_size = int(opt[1]) elif opt[0] == "--help" : usage() sys.exit(0) else : LOG.critical("invalid args %s"%(str(opt))) sys.exit(-1) master = sdk.GalaxySDK(master_addr) LOG.info("get master sdk") if deploy_step_size == -1 : ret = master.update_job(job_id, replicate_num) else : ret = master.update_job(job_id, replicate_num, deploy_step_size) if ret == False : LOG.critical("update job failed") return -1 return 0
def job_history(self, job_id): galaxy_sdk = sdk.GalaxySDK(self.master_addr) status, task_list = galaxy_sdk.get_scheduled_history(int(job_id)) if not status: return False, [] ret_task_list = [] for task in task_list: ret_task_list.append(task.__dict__) return True, ret_task_list
def get_real_time_status(request): galaxy = sdk.GalaxySDK(request.master) response = galaxy.get_real_time_status() builder = http.ResponseBuilder() status = pb2dict.protobuf_to_dict(response) return builder.ok(data={ "status": status, "dc": request.data_center, "master": request.master }).build_json()
def list_task_by_job_id(self, job_id): galaxy_sdk = sdk.GalaxySDK(self.master_addr) status, task_list = galaxy_sdk.list_task_by_job_id(int(job_id)) if not status: return False, [] ret_task_list = [] for task in task_list: ret_task_list.append(task.__dict__) return True, ret_task_list
def list_task_by_host(self, agent): galaxy_sdk = sdk.GalaxySDK(self.master_addr) status, task_list = galaxy_sdk.list_task_by_host(str(agent)) if not status: return False, [] ret_task_list = [] for task in task_list: ret_task_list.append(task.__dict__) return True, ret_task_list
def job_all(request): galaxy = sdk.GalaxySDK(request.master) jobs, status = galaxy.get_all_job() job_dicts = [] for job in jobs: job_dict = pb2dict.protobuf_to_dict(job) job_dict['state'] = master_pb2.JobState.Name(job_dict['state']) job_dicts.append(job_dict) return util.render_tpl(request, {"jobs":job_dicts, "dc":request.data_center, "master":request.master, "trace":request.trace}, "index.html")
def get_total_status(request): dcs = {} with open(settings.LITE_DB_PATH, "rb") as fd: dcs = json.load(fd) datas = [] for key in dcs: galaxy = sdk.GalaxySDK(dcs[key]["master"]) response = galaxy.get_real_time_status() builder = http.ResponseBuilder() status = pb2dict.protobuf_to_dict(response) datas.append(status); builder = http.ResponseBuilder() return builder.ok(data = {"status":datas}).build_json()
def test_deploy_task(): client = sdk.GalaxySDK("127.0.0.1:%d" % MASTER_PORT) status, job_id = client.make_job("test", "ftp", package, "sh task.sh", replicate_num=4, mem_limit=1024, cpu_limit=1, deploy_step_size=1) assert status time.sleep(2) with open(master_ctrl.output) as fd: log = fd.read() pass
def test_create_job(): client = sdk.GalaxySDK("127.0.0.1:%d" % MASTER_PORT) ret, job_id = client.make_job("task", "ftp", package, "sh task.sh", replicate_num=0) assert job_id >= 0 status, job_list = client.list_all_job() assert status assert len(job_list) == 1 client.kill_job(job_id) time.sleep(1) status, job_list = client.list_all_job() assert status assert len(job_list) == 0
def create_task(self, name, url, cmd_line, replicate_count, mem_limit, cpu_quota, deploy_step_size=-1): galaxy_sdk = sdk.GalaxySDK(self.master_addr) status, job_id = galaxy_sdk.make_job(name, 'ftp', url, cmd_line, replicate_num=replicate_count, mem_limit=mem_limit, cpu_limit=cpu_quota, deploy_step_size=deploy_step_size) return status, job_id
def update_job(self, job_id, replicate_num): galaxy_sdk = sdk.GalaxySDK(self.master_addr) return galaxy_sdk.update_job(job_id, replicate_num)
def kill_job(self, job_id): galaxy_sdk = sdk.GalaxySDK(self.master_addr) galaxy_sdk.kill_job(job_id)
def list_node(self): galaxy_sdk = sdk.GalaxySDK(self.master_addr) node_list = galaxy_sdk.list_all_node() return node_list
def list_tag(self): galaxy_sdk = sdk.GalaxySDK(self.master_addr) return galaxy_sdk.list_tag()
def list_tag(): master = sdk.GalaxySDK('localhost:8102') ret = master.list_tag() print ret
def test_tag_agent(): master = sdk.GalaxySDK('localhost:8102') status = master.tag_agent('dev', set(['cq01-rdqa-pool056.cq01.baidu.com:8201'])) print status
def test_list_node(): client = sdk.GalaxySDK("127.0.0.1:%d" % MASTER_PORT) node_list = client.list_all_node() assert len(node_list) == 1
def list_jobs(self): galaxy_sdk = sdk.GalaxySDK(self.master_addr) status, job_list = galaxy_sdk.list_all_job() return status, job_list
def tag_agent(self, tag, agent_set): galaxy_sdk = sdk.GalaxySDK(self.master_addr) status = galaxy_sdk.tag_agent(tag, agent_set) return status
def pod_all(request): galaxy = sdk.GalaxySDK(request.master) galaxy.