There are known situations where a load might get stuck in
a transient state, like "importing", such as if conductor
restarts during the load import process. In this case, the
load stays permanently in importing state and there are no
mechanisms to remove it from this stuck state, currently.
This commit adds the functionality to set loads in transient
state to 'error' and unmount them from the temporary directory
during conductor startup, so that the load can be deleted and
reimported.
Test Plan
PASS: run load import, restart conductor to simulate the failure
and verify that the load is unmounted and set to error state
after conductor comes back online, then verify that load can
be deleted and reimported successfully
PASS: regression - import load successfully in a "no-error" scenario
PASS: run both tests with and without load-import "--local" option
PASS: all of the above with "--os-region-name SystemController"
Reviewed: https:/ /review. opendev. org/c/starlingx /config/ +/869224 /opendev. org/starlingx/ config/ commit/ 9ad267fe448fd2a a402fff9e49f235 d189c55068
Committed: https:/
Submitter: "Zuul (22348)"
Branch: master
commit 9ad267fe448fd2a a402fff9e49f235 d189c55068
Author: Heitor Matsui <email address hidden>
Date: Wed Jan 4 11:41:31 2023 -0300
Unstuck loads hung in importing state
There are known situations where a load might get stuck in
a transient state, like "importing", such as if conductor
restarts during the load import process. In this case, the
load stays permanently in importing state and there are no
mechanisms to remove it from this stuck state, currently.
This commit adds the functionality to set loads in transient
state to 'error' and unmount them from the temporary directory
during conductor startup, so that the load can be deleted and
reimported.
Test Plan
PASS: run load import, restart conductor to simulate the failure
and verify that the load is unmounted and set to error state
after conductor comes back online, then verify that load can
be deleted and reimported successfully
PASS: regression - import load successfully in a "no-error" scenario
PASS: run both tests with and without load-import "--local" option
PASS: all of the above with "--os-region-name SystemController"
Relates-to: https:/ /review. opendev. org/c/starlingx /config/ +/832789
Closes-bug: 1962779
Signed-off-by: Heitor Matsui <email address hidden> d95200c6d5c79e7 428b232d0a8
Change-Id: I909ebcd9448974