Skip to content

Prebuilds trigger autostart/autostop/dormancy before claiming #18740

@ssncferreira

Description

@ssncferreira

Description

The Workspace schedule (Autostart/Autostop) and dormancy features can be configured at 2 levels:

  • Template-level
  • Workspace-level

Prebuilt workspaces inherit these lifecycle configurations from their associated template or workspace. However, prebuilds should not actively follow these settings until they are claimed by a user (i.e., when the owner_id transitions from the prebuilds user to a regular user). Applying lifecycle logic prematurely conflicts with prebuild-specific behaviors, such as the expiration_policy and prebuild scheduling mechanisms, which are designed to manage prebuilds independently of user-driven workspace lifecycle features.

Actual Behavior

  • Prebuilds start behaving as if they are regular workspaces (autostarting, stopping, or becoming dormant) before they are claimed.
  • Specifically, the lifecycle executor (which manages these features) may stop prebuilds based on the inherited configuration.
  • However, stopped prebuilds are not counted as running by the reconciliation loop, which monitors and ensures that the number of running prebuild instances matches the desired number.
  • As a result, the reconciliation loop will see fewer running prebuilds than desired and will attempt to start new prebuild instances, leading to churn, inefficiency, and instability in the prebuild system.

Expected Behavior

  • Prebuilds can inherit lifecycle settings from the template or workspace.
  • These settings should not be enforced or acted upon while the workspace is in the prebuild phase (owned by the prebuilds user).
  • Once a prebuild is claimed (ownership changes to a regular user), the lifecycle settings should take effect.

Proposed Fix

Introduce logic to skip enforcement of Autostart, Autostop, and Dormancy in the lifecycle_executor for workspaces owned by the prebuilds user. Enforcement should only begin once ownership is transferred to a real user.

Related with: #18658

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    pFad - Phonifier reborn

    Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

    Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


    Alternative Proxies:

    Alternative Proxy

    pFad Proxy

    pFad v3 Proxy

    pFad v4 Proxy