canonical / canonical/charm-integration-testing

k8s charm blocked on OpenStack test environments: Cilium/Fan networking (ftun0) port conflict not mitigated in environments.yaml

Open Beginner friendly
#852 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
6
Forks
1
Avg merge
1d 20h
Merged PRs (30d)
98

Description

*This issue was generated with AI assistance (GitHub Copilot) from automated CI test failure triage.*

## Bug Description

The k8s charm becomes permanently `blocked` when deployed on the `ps6-sqa-prod_charm_qa_openstack` (and likely `ps7-sqa-prod_charm_qa_openstack`) test environments because Cilium's VXLAN tunnel conflicts with Juju's Fan networking interface (`ftun0`) on the workload model. Both interfaces use the same destination port, and Cilium refuses to come up while the conflict persists — the `network` feature never reports ready, so `test_deploy` times out after 15 minutes.

Repository search confirms neither `static/environments.yaml` nor any test-plan/fixture code in this repo sets `container-networking-method` or `fan-config` on the OpenStack environments:
- `container-networking-method`: 0 matches repo-wide
- `fan-config`: 0 matches repo-wide
- `ps6-sqa-prod_charm_qa_openstack-1/2` has no `model-config` block at all
- `ps7-sqa-prod_charm_qa_openstack-1/2` has a `model-config` block, but it only sets proxy/logging options — no networking-method override

This matches a known, previously reported conflict: [canonical/k8s-operator#392](https://github.com/canonical/k8s-operator/issues/392), which documents the workaround:
```
juju model-config container-networking-method=local fan-config=
```
and points to the OpenStack charm how-to guide: https://documentation.ubuntu.com/canonical-kubernetes/latest/charm/howto/openstack/

## To Reproduce

1. Deploy the `k8s` charm (channel `1.32/stable`, revision 1921) alongside `etcd` (latest/beta rev 706) and `containers-easyrsa` (latest/stable rev 441) on the `ps6-sqa-prod_charm_qa_openstack` environment, without setting `container-networking-method=local` / clearing `fan-config` on the model.
2. Wait for `test_deploy` to reach idle.

Test Observer: https://test-observer.canonical.com/#/charms/337980?testExecutionId=337614&testResultId=12683772
Workflow run: https://github.com/canonical/charm-integration-testing/actions/runs/30833558959

## Relevant log output

```
adaac62f-4a87-46fa-8588-f458d5533f7a: unit-k8s-0 2026-08-03 16:52:44 ERROR unit.k8s/0.juju-log server.go:405 etcd:4: Feature 'network' enabled=True,deployed=False,ver=1.17.12-ck0-static,updated_at=2026-08-03 16:52:36+00:00: Failed to deploy Cilium Network, the error was: interface ftun0 uses the same destination port as cilium. Please consider changing the Cilium tunnel port
adaac62f-4a87-46fa-8588-f458d5533f7a: unit-k8s-0 2026-08-03 16:52:44 ERROR unit.k8s/0.juju-log server.go:405 etcd:4: Failed features reported: Feature 'network' is not ready

[repeats every 30-60s for the full 15-minute deploy window, ending with:]

juju.backend.JujuWaitTimeoutError: Timed out while waiting for applications: [active], units: [active], unit agents: [idle] (applications: ['k8s', 'neighbor', 'target'], unit agents: ['neighbor/0', 'target/0'], units: ['k8s/0', 'neighbor/0', 'target/0'])

App Version Status Scale Charm Channel Rev Exposed Message
k8s 1.32.13 blocked 1 k8s 1.32/stable 1921 no Feature 'network' is not ready
```

## Additional context

Note that in this same execution, `neighbor` (containers-easyrsa) and `target` (etcd) also failed to get their units running, but for an unrelated, separate reason — a transient OpenStack image-metadata timeout (`radosgw.ps6.canonical.com` Swift/Keystone catalog `i/o timeout`) blocked machine provisioning for those two applications. That appears to be a transient infrastructure issue rather than a configuration problem, and is not the subject of this report — flagging it here only to avoid confusion when reading the linked test execution's full `test_deploy` failure message, which references all three applications.

The Cilium/`ftun0` conflict specifically affects only the `k8s` application and is expected to recur deterministically on every run against this environment family until the model configuration is updated.

Contributor guide

Open the contributing guide

Research direction

Start with static/environments.yaml and inspect the ps6-sqa-prod_charm_qa_openstack and ps7-sqa-prod_charm_qa_openstack entries, then trace the test_deploy setup for model configuration. Confirm the OpenStack environments apply the required networking settings and run the affected deployment test; done means the k8s network feature becomes ready and test_deploy reaches idle without the ftun0 conflict.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
ci-cd, cloud, infrastructure
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.