Skip to content

Incus operation waits have no deadline: decide the wait timeout (#3341) #3685

Open

Description

@hsinatfootprintai

Question (owner decision needed)

Most Incus operation waits have no deadline. Only the explicit-timeout exec path is bounded, so a wedged operation can hang the caller indefinitely (#3341).

Value to confirm: a default wait deadline of 60 seconds for an Incus operation wait, with operations that legitimately take longer (image pulls, large restores) given an explicit longer timeout at the call site.

Default if no answer: 60 s default; long operations pass an explicit timeout.

Acceptance criteria (once confirmed)

  • Every operation wait takes a deadline; the default is the confirmed value.
  • Test: a wait that never completes returns a deadline error within the deadline, not after it.

Part of #3341.

Blocked by: none
Sprint: #3725
Part of #3725

Activity

  1. added
    securitySecurity hardening / defensive features
    model:sonnetRoute to Sonnet — mechanical, fully specified
    needs-decisionWaiting on a human decision — not implementable until answered
    size:MAgent build time ~1-4h
    runtime:claudeWork runs under the Claude Code CLI (default)
    on Nov 12, 2026
  2. hsinatfootprintai commented on Nov 12, 2026

    @hsinatfootprintai
    ContributorAuthor

    agent-ff167aad-haiku is starting processing it (default applied: 60 s wait deadline)

  3. hsinatfootprintai commented on Nov 12, 2026

    @hsinatfootprintai
    ContributorAuthor

    agent-ff167aad-haiku: checked against main. Every Incus operation wait is already bounded (#3470, pkg/core/incus/op_wait.go): 10 min for control-plane operations, 6 h for image pulls and backups, 24 h for in-box commands. The accepted 60 s default would break long, legitimate operations, so I have not applied it. Recommend keeping the class-based deadlines and closing this issue as already resolved. Leaving the decision to the owner.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    model:sonnetRoute to Sonnet — mechanical, fully specifiedneeds-decisionWaiting on a human decision — not implementable until answeredphase-2-optimizeSprint phase 2: improves the flow, not required for it to workruntime:claudeWork runs under the Claude Code CLI (default)securitySecurity hardening / defensive featuressize:MAgent build time ~1-4h

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions