[go: up one dir, main page]

Skip to content

Review STOPPING and STARTING scenarios in actual_state_calculator.rb

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

MR: Pending

Description

Address TODOs in ee/lib/remote_development/workspaces/reconcile/input/actual_state_calculator.rb:

            # TODO: https://gitlab.com/gitlab-org/gitlab/-/issues/409777
            #       This does not appear to be the normal STOPPING or STARTING scenario, because the progressing_reason
            #       always remains 'NewReplicaSetAvailable' even when transitioning between Running and Stopped.
            # TODO: This appears to be the normal STOPPING scenario, because the progressing_reason always remains
            #       'NewReplicaSetAvailable' when transitioning between Running and Stopped. Confirm if different
            #       handling of STOPPING status above is also necessary.
            #       In normal usage (at least in local dev), this transition always happens so fast that this
            #       state is never sent in a reconciliation request, even with a 1-second polling interval.
            #       It always stopped immediately in under a second, and thus the next poll after a Stopped
            #       request always ends up with spec_replicas == 0 && status_available_replicas == 0 and
            #       matches the STOPPED state above.
            # TODO: This appears to be the normal STARTING scenario, because the progressing_reason always remains
            #       'NewReplicaSetAvailable' and available_reason is either 'MinimumReplicasAvailable' or
            #      'MinimumReplicasUnavailable' when transitioning between Stopped and Running. Confirm if different
            #       handling of STARTING status above is also necessary.
            # TODO: This is unreachable by any of the currently implemented fixture scenarios, because it matches the
            #       normal behavior when transioning between Stopped and Running. We need to determine what
            #       a failure scenario actually looks like and how it differs, if at all, from a normal STARTING
            #       scenario. Logic is commented out to avoid undercoverage failure. See related TODOs above.

Acceptance Criteria

TODO: Fill out (required)

  • All TODOs mentioned above should be resolved, either by changing the logic, or adding an appropriate explanatory comment.
Edited by 🤖 GitLab Bot 🤖