canonical / canonical/charm-integration-testing

Handle beta-only charms from archived/unmaintained upstream repos

Open
#642 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
6
Forks
1
Avg merge
1d 22h
Merged PRs (30d)
96

Description

## Problem

Some charms in the test queue exist only in a beta channel (no stable or candidate), and their upstream repository is archived. These charms cannot be resolved by the bundle builder solver because Charmhub search APIs (`find?provides=`) only return listed charms, and beta-only charms are typically unlisted.

Setting `listed: true` in an override does not help here, because the charm is genuinely not promoted to a stable/candidate channel and is not actively maintained.

## Example

- `slurmd` and `slurmctld` (25.11/beta) - upstream repo https://github.com/omnivector-solutions/slurm-charms is archived.
- Both charms only have a `25.11/beta` channel; no stable or candidate exists.
- Solver fails with `UncompletableBundleError: slurmd:slurmctld` because `find?provides=slurmd` returns 0 results.

## Current workaround

Failures for these charms are attached to SQT-990 (rules 568 and 569) with endpoint-specific attachment rules, which suppresses them from the unattached queue. However, this is a stopgap.

## Questions to resolve

1. Should charms with no stable/candidate channel be excluded from testing entirely? If so, what mechanism do we use (e.g., `listed: false` in override, or a filter in the test pipeline)?
2. Should charms from archived upstream repos be explicitly marked as not-tested (`listed: false`)?
3. Is there a general policy for "beta-only" charms - should they be in scope for integration testing at all?

## Related

- SQT-990 (stale overrides)
- PR #641 (slurmd + slurmctld - currently open with a workaround, pending decision on correct approach)

Contributor guide

Open the contributing guide

Research direction

Start with SQT-990 rules 568 and 569 and the workaround in PR #641, then trace the bundle builder solver failure for beta-only charms and the Charmhub find API behavior described here. Review the questions about stable/candidate channels and archived repositories; done means an agreed policy and a consistent testing mechanism for these charms.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.