After the timeout, an attempt was made to unshelve the instance via the /unshelve comment. However, because the server status remained as ACTIVE due to the earlier timeout, the unshelve command incorrectly assumed success. This occurred because the workflow does not currently verify the "OS-EXT-STS:task_state" server property, which shows intermediate states during status transitions.
For more details on task states and server statuses, please refer to the following documentation:
Verify pending transitions before assuming a command's success, ensuring that the server status is correctly updated before proceeding with subsequent commands.
Consider increasing the polling timeout for control commands.
When the polling associated with control commands like
shelve
times out, subsequent commands may improperly report success.For instance, the
shelve
command executed on the server timed out before the server status could update fromACTIVE
toSHELVED_OFFLOADED
.This issue can be observed in the following links:
After the timeout, an attempt was made to
unshelve
the instance via the/unshelve
comment. However, because the server status remained asACTIVE
due to the earlier timeout, theunshelve
command incorrectly assumed success. This occurred because the workflow does not currently verify the "OS-EXT-STS:task_state" server property, which shows intermediate states during status transitions.For more details on task states and server statuses, please refer to the following documentation:
Proposed Solution: