← Back to issue list

Base _setup_wait_for_system_ready should use systemctl's --wait parameter

View original Github issue

Metadata

Project
craft-providers
Number
#304
Type
issue
State
open
Author
lengau
Labels
Type: Enhancement
Created
Updated
Closed
—

Current evaluation

Enhancement to replace polling of systemctl is-system-running with native --wait; it remains unimplemented and needs CentOS 7 handling plus a Xenial compatibility decision.

Suggested action: keep open

Reason: Current base.py still polls systemctl is-system-running through retry_until_timeout, and no resolving commit was found, so the enhancement remains valid. The target change is clear, but CentOS 7 requires an override and the Xenial decision depends on its unsupported status tracked by #582.

Evaluated by: mr-cal-bot

Impact: 42 Quick Win: 19 Complexity: 38 Confidence: 90 Actionability: 74

Issue body

https://github.com/canonical/craft-providers/blob/778490b9b1601a0ccc052c9a9bb59b1ccf81e5a3/craft_providers/base.py#L315 CentOS 7 and Ubuntu Xenial don't `systemctl is-system-running --wait`. However, we can override this in the centos base. For Xenial we can either override it in the BuilddBase if the alias is Xenial or we can drop Xenial support if we don't need to support ESM.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 42
Quick Win: 19
Complexity: 38
Confidence: 90
Actionability: 74
keep open Enhancement to replace polling of systemctl is-system-running with native --wait; it remains unimplemented and needs CentOS 7 handling plus a Xenial compatibility decision.
stealth/space-bunny-alpha
Impact: 36
Quick Win: 11
Complexity: 50
Confidence: 80
Actionability: 63
needs triage Enhancement proposes systemctl is-system-running --wait for base readiness checks. CentOS 7 and Xenial need compatibility handling, and the Xenial/ESM support decision remains unresolved.
qwen3.6-35b-a3b-mtp-q6
Impact: 30
Quick Win: 22
Staleness: 85
Complexity: 25
Confidence: 60
Support Request: 10
close stale Enhancement to use systemctl --wait instead of polling in _setup_wait_for_system_ready. Open 3+ years with no maintainer engagement.
qwen/qwen3.6-35b-a3b
Staleness: 75
Complexity: 35
Confidence: 65
Support Request: 5
needs triage Enhancement to update _setup_wait_for_system_ready to use systemctl's --wait parameter for better compatibility with older systems like CentOS 7 and Ubuntu Xenial. Currently unaddressed and awaiting maintainer triage.
qwen3.6-35b-a3b-mtp-q6
Staleness: 65
Complexity: 30
Confidence: 80
Support Request: 0
needs triage Compatibility enhancement to use systemctl's --wait parameter in _setup_wait_for_system_ready. Open for over 3 years with no maintainer assessment or assignee.

Update history

No update history recorded yet.

Related work

  • Related To: craft-parts#472 (confidence 98%)

    The identically titled craft-parts issue was closed as misplaced, with tracking moved to craft-providers#304.

  • Blocked By: craft-providers#582 (confidence 84%)

    Xenial remains unimplemented: it has no LXD remote image mapping, and integration tests mark its setup as expected to fail.

Related issues

Issue Project State Summary Similarity
#472 Base _setup_wait_for_system_ready should use systemctl's --wait parameter craft-parts closed Closed by maintainer lengau as misfiled (2023-06-09): the `_setup_wait_for_system_ready` logic lives in craft-providers, not craft-parts. Work tracked in canonical/craft-providers#304, still open.
77%