[PATCH compass-ci] scheduler: fix: alter processes of request_state

There're 2 "finished" states before, one is *daemon* request, the other is *test* request. Now change *daemon*'s to "started", means daemon started. This state will save to redis key "sched/cluster_state". Why move "finished" to another "when condition"? When all nodes in cluster do *run_test*, no *start_daemon*, the node will restart immediately after its tests finished. Now need to wait other nodes, so move "finished" to another "when condition" to wait all nodes finished. Signed-off-by: Ren Wen <15991987063@163.com> --- src/scheduler/request_cluster_state.cr | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/scheduler/request_cluster_state.cr b/src/scheduler/request_cluster_state.cr index ac6cb8e..fffa4cf 100644 --- a/src/scheduler/request_cluster_state.cr +++ b/src/scheduler/request_cluster_state.cr @@ -13,13 +13,14 @@ class Sched cluster_state = "" states = {"abort" => "abort", + "started" => "started", "finished" => "finish", "failed" => "abort", "wait_ready" => "ready", "wait_finish" => "finish"} case request_state - when "abort", "finished", "failed" + when "abort", "started", "failed" # update node state only update_cluster_state(cluster_id, job_id, {"state" => states[request_state]}) when "wait_ready" @@ -30,7 +31,7 @@ class Sched } return cluster_state - when "wait_finish" + when "wait_finish", "finished" update_cluster_state(cluster_id, job_id, {"state" => states[request_state]}) while 1 sleep(10) -- 2.23.0

On Fri, Nov 20, 2020 at 04:00:35PM +0800, Ren Wen wrote:
There're 2 "finished" states before, one is *daemon* request, the other is *test* request. Now change *daemon*'s to "started", means daemon started. This state will save to redis key "sched/cluster_state".
Why move "finished" to another "when condition"?
When all nodes in cluster do *run_test*, no *start_daemon*, the node will restart immediately after its tests finished. Now need to wait other nodes, so move "finished" to another "when condition" to wait all nodes finished.
Signed-off-by: Ren Wen <15991987063@163.com> --- src/scheduler/request_cluster_state.cr | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/scheduler/request_cluster_state.cr b/src/scheduler/request_cluster_state.cr index ac6cb8e..fffa4cf 100644 --- a/src/scheduler/request_cluster_state.cr +++ b/src/scheduler/request_cluster_state.cr @@ -13,13 +13,14 @@ class Sched cluster_state = ""
states = {"abort" => "abort", + "started" => "started", "finished" => "finish",
maybe you can keep the same for started/finished: "started" => "started", "finished" => "finished",
"failed" => "abort", "wait_ready" => "ready", "wait_finish" => "finish"}
case request_state - when "abort", "finished", "failed" + when "abort", "started", "failed" # update node state only update_cluster_state(cluster_id, job_id, {"state" => states[request_state]}) when "wait_ready" @@ -30,7 +31,7 @@ class Sched }
return cluster_state - when "wait_finish" + when "wait_finish", "finished"
the value you write above is finish, here is finished whether need to fix it? Thanks, Luan Shengde
update_cluster_state(cluster_id, job_id, {"state" => states[request_state]}) while 1 sleep(10) -- 2.23.0

On Fri, Nov 20, 2020 at 04:28:34PM +0800, Luan Shengde wrote:
On Fri, Nov 20, 2020 at 04:00:35PM +0800, Ren Wen wrote:
There're 2 "finished" states before, one is *daemon* request, the other is *test* request. Now change *daemon*'s to "started", means daemon started. This state will save to redis key "sched/cluster_state".
Why move "finished" to another "when condition"?
When all nodes in cluster do *run_test*, no *start_daemon*, the node will restart immediately after its tests finished. Now need to wait other nodes, so move "finished" to another "when condition" to wait all nodes finished.
Signed-off-by: Ren Wen <15991987063@163.com> --- src/scheduler/request_cluster_state.cr | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/scheduler/request_cluster_state.cr b/src/scheduler/request_cluster_state.cr index ac6cb8e..fffa4cf 100644 --- a/src/scheduler/request_cluster_state.cr +++ b/src/scheduler/request_cluster_state.cr @@ -13,13 +13,14 @@ class Sched cluster_state = ""
states = {"abort" => "abort", + "started" => "started", "finished" => "finish",
maybe you can keep the same for started/finished: "started" => "started", "finished" => "finished",
"failed" => "abort", "wait_ready" => "ready", "wait_finish" => "finish"}
case request_state - when "abort", "finished", "failed" + when "abort", "started", "failed" # update node state only update_cluster_state(cluster_id, job_id, {"state" => states[request_state]}) when "wait_ready" @@ -30,7 +31,7 @@ class Sched }
return cluster_state - when "wait_finish" + when "wait_finish", "finished"
the value you write above is finish, here is finished whether need to fix it?
ignore this paragraph Thanks, Luan Shengde
Thanks, Luan Shengde
update_cluster_state(cluster_id, job_id, {"state" => states[request_state]}) while 1 sleep(10) -- 2.23.0

states = {"abort" => "abort", + "started" => "started", "finished" => "finish",
maybe you can keep the same for started/finished: "started" => "started", "finished" => "finished",
"finish" used to do a response, lkp did a limit. can change "started" to "start".
"failed" => "abort", "wait_ready" => "ready", "wait_finish" => "finish"}
case request_state - when "abort", "finished", "failed" + when "abort", "started", "failed" # update node state only update_cluster_state(cluster_id, job_id, {"state" => states[request_state]}) when "wait_ready" @@ -30,7 +31,7 @@ class Sched }
return cluster_state - when "wait_finish" + when "wait_finish", "finished"
the value you write above is finish, here is finished whether need to fix it?
"finished" is a request state, "finish" will be a node state and a response. You can refer 'lkp/lib/job.sh'. Thanks, RenWen
Thanks, Luan Shengde
update_cluster_state(cluster_id, job_id, {"state" => states[request_state]}) while 1 sleep(10) -- 2.23.0
participants (2)
-
Luan Shengde
-
Ren Wen