improve support of api server in controller
This commit is contained in:
parent
44fc5b23e9
commit
3b728e5135
3 changed files with 17 additions and 15 deletions
|
|
@ -30,7 +30,7 @@ static int xce_apiserver_push_workers(cluster_t* c, endpoint_t* ep)
|
|||
|
||||
memset(&data, 0x0, sizeof(data));
|
||||
|
||||
data.table = Data_data_schedworkers;
|
||||
data.table = Data_data_workers;
|
||||
data.data.workers = &workers;
|
||||
|
||||
collect_workers(c, (collect_check_fn_t)check_worker_, &(workers.n_total),
|
||||
|
|
@ -40,7 +40,7 @@ static int xce_apiserver_push_workers(cluster_t* c, endpoint_t* ep)
|
|||
rc = xce_push_data_req(ep, c->myhost, &data, check_controller, c, 100);
|
||||
|
||||
/* free up collected resource value which used
|
||||
passed to scheduler
|
||||
passed to api server
|
||||
*/
|
||||
for (i = 0; i < workers.n_total; i++) {
|
||||
xce_worker_t* w = workers.workers[i];
|
||||
|
|
@ -71,7 +71,7 @@ static int xce_apiserver_push_jobs(cluster_t* c, endpoint_t* ep)
|
|||
|
||||
memset(&data, 0x0, sizeof(data));
|
||||
|
||||
data.table = Data_data_schedjobs;
|
||||
data.table = Data_data_jobs;
|
||||
data.data.jobs = &jobs;
|
||||
|
||||
collect_jobs(c, (collect_check_fn_t)check_job_, &(jobs.n_total),
|
||||
|
|
@ -98,7 +98,7 @@ static int apiserver_push_joblist(cluster_t* c, xlist_t* l)
|
|||
.jobs = (xce_job_t**)l->data };
|
||||
|
||||
memset(&data, 0x0, sizeof(data));
|
||||
data.table = Data_data_schedjobs;
|
||||
data.table = Data_data_jobs;
|
||||
data.data.jobs = &jobs;
|
||||
|
||||
rc = xce_push_data_req(c->apiservers[i].ep, c->myhost, &data,
|
||||
|
|
@ -148,8 +148,8 @@ static int apiserver_job_start_fun(int type, int situation, void* data,
|
|||
&& (c->apiservers[i].ep != NULL)) {
|
||||
int rc;
|
||||
xce_notify_data_t xdata
|
||||
= { .event = NotifyData_data_schedStartJob,
|
||||
.data = { .sched_start_job = info->jobid } };
|
||||
= { .event = NotifyData_data_jobPidInfo,
|
||||
.data = { .pidinfo = info } };
|
||||
|
||||
/* FIXME: add job pid to API server? */
|
||||
rc = notify(c, c->apiservers[i].ep, &xdata);
|
||||
|
|
@ -181,8 +181,8 @@ static int apiserver_job_exit_fun(int type, int situation, void* data,
|
|||
&& (c->apiservers[i].ep != NULL)) {
|
||||
int rc;
|
||||
xce_notify_data_t xdata
|
||||
= { .event = NotifyData_data_schedExitJob,
|
||||
.data = { .sched_exit_job = info->jobid } };
|
||||
= { .event = NotifyData_data_jobFinishInfo,
|
||||
.data = { .finishinfo = info } };
|
||||
|
||||
/* FIXME: we need to send exit code of job to API server */
|
||||
rc = notify(c, c->apiservers[i].ep, &xdata);
|
||||
|
|
@ -214,8 +214,8 @@ static int apiserver_job_fail_fun(int type, int situation, void* data,
|
|||
&& (c->apiservers[i].ep != NULL)) {
|
||||
int rc;
|
||||
xce_notify_data_t xdata
|
||||
= { .event = NotifyData_data_schedFailJob,
|
||||
.data = { .sched_fail_job = info->jobid } };
|
||||
= { .event = NotifyData_data_jobFailInfo,
|
||||
.data = { .failinfo = info } };
|
||||
|
||||
/* FIXME: we need to add fail reason of job to api server */
|
||||
rc = notify(c, c->apiservers[i].ep, &xdata);
|
||||
|
|
@ -246,8 +246,8 @@ static int apiserver_job_update_fun(int type, int situation, void* data,
|
|||
&& (c->apiservers[i].ep != NULL)) {
|
||||
int rc;
|
||||
xce_notify_data_t xdata
|
||||
= { .event = NotifyData_data_schedUpdateJob,
|
||||
.data = { .sched_update_job = &(job->job) } };
|
||||
= { .event = NotifyData_data_updateJob,
|
||||
.data = { .update_job = &(job->job) } };
|
||||
|
||||
rc = notify(c, c->apiservers[i].ep, &xdata);
|
||||
if (rc < 0) {
|
||||
|
|
@ -327,7 +327,7 @@ static int apiserver_push_workerlist(cluster_t* c, endpoint_t* ep, xlist_t* l)
|
|||
|
||||
memset(&data, 0x0, sizeof(data));
|
||||
|
||||
data.table = Data_data_schedworkers;
|
||||
data.table = Data_data_workers;
|
||||
data.data.workers = &workers;
|
||||
|
||||
rc = xce_push_data_req(ep, c->myhost, &data, check_controller, c, 100);
|
||||
|
|
@ -493,7 +493,7 @@ static int apiserver_queue_hook_fun(int type, int situation, int detail,
|
|||
= { .event = NotifyData_data_schedUpdateQueue,
|
||||
.data = { .sched_update_queue = &(q->queue) } };
|
||||
|
||||
rc = notify(c, c->sched.ep, &xdata);
|
||||
rc = notify(c, c->apiservers[i].ep, &xdata);
|
||||
if (rc < 0) {
|
||||
WARN(
|
||||
"%s notify queue change to api server %s failed, rc %d",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue