Skip to content

ci: switch example charm integration tests to Concierge k8s preset - #2696

Merged
dwilding merged 3 commits into
canonical:mainfrom
dwilding:example-charm-ci-k8s
Aug 20, 2026
Merged

ci: switch example charm integration tests to Concierge k8s preset#2696
dwilding merged 3 commits into
canonical:mainfrom
dwilding:example-charm-ci-k8s

Conversation

@dwilding

@dwilding dwilding commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

The integration tests for our COS-enabled K8s charm (k8s-5-observe) keep failing in CI. For example, https://github.com/canonical/operator/actions/runs/32157684730.

The root cause is an IP range issue with microk8s. See canonical/concierge#251.

This PR switches to Canonical K8s, to match our K8s tutorial. I'm using the same custom k8s Concierge preset as elsewhere in our CI. Our custom preset allows 30 mins for bootstrap to complete.

In addition, I'm setting a 90 min timeout for the whole Concierge job. During testing yesterday, I observed several runs that spun indefinitely - presumably a transient issue with the runner, as the problem didn't appear today. The problem didn't seem to be related to the Concierge preset, so I've set the same timeout for the machine charm job.

Passing run in my fork. The k8s-4-action failure is unrelated; it's related to #2689.

@dwilding
dwilding force-pushed the example-charm-ci-k8s branch 2 times, most recently from ac6b853 to 547ad99 Compare August 19, 2026 07:49
@dwilding
dwilding force-pushed the example-charm-ci-k8s branch from 547ad99 to 87209b5 Compare August 19, 2026 07:51
@dwilding dwilding linked an issue Aug 20, 2026 that may be closed by this pull request
@dwilding
dwilding marked this pull request as ready for review August 20, 2026 01:27

@tonyandrewmeyer tonyandrewmeyer left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the microk8s->k8s change is the right thing to do in general based on company policy.

The 90 minute timeout to avoid waiting longer if things are stuck seems reasonable to me.

As noted in the line comment, using the custom config shouldn't be needed any more, but I'll clean up all the places in a follow-up.

Thanks!

Comment on lines +65 to +69
# .github/integration/concierge-k8s.yaml mirrors the upstream concierge
# k8s preset and adds juju.extra-bootstrap-args: `juju bootstrap`
# regularly fails on slow GHA runners with `unable to contact api server
# after 60 attempts` because the default --bootstrap-timeout is too short.
run: sudo concierge prepare -c .github/integration/concierge-k8s.yaml

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is true, however, I since added this to Concierge as well (canonical/concierge#221), so shouldn't be required any more. I'll open a PR to change that, but it can stay in this one and get removed from all the places in the follow-up.

@tromai tromai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the fix, and verifying that 90 minutes is the sweet spot.

@dwilding
dwilding merged commit 541a43d into canonical:main Aug 20, 2026
60 of 61 checks passed
@dwilding
dwilding deleted the example-charm-ci-k8s branch August 20, 2026 22:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Scheduled workflow 'Example Charm Integration Tests' failed

3 participants