#s4v2 - Do not rerun action on resume
PiperOrigin-RevId: 784305789
Change-Id: Ie909228dc4c24645dbb8509745c834d55040d00e
diff --git a/action_context.cc b/action_context.cc
index b05e60d..cd3b622 100644
--- a/action_context.cc
+++ b/action_context.cc
@@ -92,7 +92,9 @@
absl::Status ActionContext::Activate() {
absl::MutexLock lock(&mutex_);
-
+ LOG(INFO) << "Activate " << action_id_ << " in state "
+ << safepower_agent_proto::ActionState_Name(
+ action_state_updater_->state().current_state());
switch (action_state_updater_->state().current_state()) {
default:
return absl::InvalidArgumentError(
@@ -115,7 +117,15 @@
break;
case safepower_agent_proto::ACTION_STATE_RUNNING_ACTION:
- return EnterStateRunningAction();
+ LOG(INFO) << action_id_
+ << " resumed in running action state. Assuming the action was "
+ "already run successfully.";
+ if (validation_.has_value()) {
+ SetState(ActionState::ACTION_STATE_VALIDATING_FINAL_STATE);
+ } else {
+ SetState(ActionState::ACTION_STATE_SUCCESS);
+ }
+ break;
case safepower_agent_proto::ACTION_STATE_VALIDATING_FINAL_STATE: {
if (validation_.has_value()) {
return EnterStateValidatingFinalState();