The user has pushed the commit. Let me monitor the CI run to see if this resolves the LXD permission issue.
gh run list --repo tonyandrewmeyer/beszel-k8s-operator --limit 3
in_progress fix: install and configure LXD for charmcraft test CI main push 20875132712 7s 2026-01-10T07:44:55Z in_progress fix: install and configure LXD for charmcraft test GitHub Actions Security Analysis with zizmor π main push 20875132710 7s 2026-01-10T07:44:55Z completed success fix: install charmcraft in CI integration tests GitHub Actions Security Analysis with zizmor π main push 20875116768 21s 2026-01-10T07:43:32Z
sleep 30 && gh run watch 20875132712 --repo tonyandrewmeyer/beszel-k8s-operator --exit-status
Exit code 1 Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875132712 Triggered via push less than a minute ago JOBS β Lint in 14s (ID 59983198582) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 31s (ID 59983198583) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983198591) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Run integration tests via spread * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875132712 Triggered via push less than a minute ago JOBS β Lint in 14s (ID 59983198582) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 31s (ID 59983198583) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983198591) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Run integration tests via spread * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875132712 Triggered via push less than a minute ago JOBS β Lint in 14s (ID 59983198582) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 31s (ID 59983198583) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983198591) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Run integration tests via spread * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875132712 Triggered via push less than a minute ago JOBS β Lint in 14s (ID 59983198582) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 31s (ID 59983198583) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983198591) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Run integration tests via spread * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875132712 Triggered via push about 1 minute ago JOBS β Lint in 14s (ID 59983198582) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 31s (ID 59983198583) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983198591) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Run integration tests via spread * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875132712 Triggered via push about 1 minute ago JOBS β Lint in 14s (ID 59983198582) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 31s (ID 59983198583) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983198591) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and config ... [5355 characters truncated] ... up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 31s (ID 59983198583) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983198591) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Run integration tests via spread * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875132712 Triggered via push about 1 minute ago JOBS β Lint in 14s (ID 59983198582) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 31s (ID 59983198583) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983198591) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Run integration tests via spread * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875132712 Triggered via push about 1 minute ago JOBS β Lint in 14s (ID 59983198582) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 31s (ID 59983198583) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983198591) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Run integration tests via spread * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875132712 Triggered via push about 1 minute ago JOBS β Lint in 14s (ID 59983198582) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 31s (ID 59983198583) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983198591) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Run integration tests via spread * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875132712 Triggered via push about 1 minute ago JOBS β Lint in 14s (ID 59983198582) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 31s (ID 59983198583) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job X Integration Tests in 1m52s (ID 59983198591) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft X Run integration tests via spread β Post Checkout β Complete job ANNOTATIONS X Process completed with exit code 1. Integration Tests: .github#13 X main CI Β· 20875132712 Triggered via push about 2 minutes ago JOBS β Lint in 14s (ID 59983198582) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 31s (ID 59983198583) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job X Integration Tests in 1m52s (ID 59983198591) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft X Run integration tests via spread β Post Checkout β Complete job ANNOTATIONS X Process completed with exit code 1. Integration Tests: .github#13
The test failed again. Let me check the error logs to see what went wrong this time.
gh run view 20875132712 --repo tonyandrewmeyer/beszel-k8s-operator --log-failed
Integration Tests Run integration tests via spread ο»Ώ2026-01-10T07:45:34.9755308Z ##[group]Run sg lxd -c 'charmcraft test'
Integration Tests Run integration tests via spread 2026-01-10T07:45:34.9755651Z [36;1msg lxd -c 'charmcraft test'[0m
Integration Tests Run integration tests via spread 2026-01-10T07:45:34.9818661Z shell: /usr/bin/bash -e {0}
Integration Tests Run integration tests via spread 2026-01-10T07:45:34.9818899Z ##[endgroup]
Integration Tests Run integration tests via spread 2026-01-10T07:45:37.9723212Z The test command is experimental and subject to change without warning.
Integration Tests Run integration tests via spread 2026-01-10T07:45:38.0291037Z Packing platform 'amd64'
Integration Tests Run integration tests via spread 2026-01-10T07:45:38.1969249Z Launching managed ubuntu 22.04 instance...
Integration Tests Run integration tests via spread 2026-01-10T07:45:38.7897324Z Creating new instance from remote
Integration Tests Run integration tests via spread 2026-01-10T07:45:38.7898497Z Creating new base instance from remote
Integration Tests Run integration tests via spread 2026-01-10T07:46:49.4599271Z A network related operation failed in a context of no network access.
Integration Tests Run integration tests via spread 2026-01-10T07:46:49.4710111Z Recommended resolution: Verify that the environment has internet connectivity; see https://canonical-craft-providers.readthedocs-hosted.com/en/latest/explanation/ for further reference.
Integration Tests Run integration tests via spread 2026-01-10T07:46:49.4711316Z Full execution log: '/home/runner/.local/state/charmcraft/log/charmcraft-20260110-074537.940709.log'
Integration Tests Run integration tests via spread 2026-01-10T07:46:49.6090161Z ##[error]Process completed with exit code 1.Now there's a network connectivity issue. The LXD containers created by charmcraft can't access the network. This is likely because the default LXD bridge isn't configured properly. When we run lxd init --auto, it should set up networking, but maybe there's an issue in GitHub Actions.
Let me check if we need to configure the network differently. I should probably look at what settings are needed for LXD networking in the GitHub Actions environment.
There's a network connectivity issue in the LXD container. The lxd init --auto might not be setting up networking correctly in the GitHub Actions environment. Let me check what network configuration is needed:
gh run view 20875132712 --repo tonyandrewmeyer/beszel-k8s-operator --log | grep -A 20 "Install and configure LXD"
Integration Tests Install and configure LXD ο»Ώ2026-01-10T07:45:15.1509707Z ##[group]Run sudo snap install lxd
Integration Tests Install and configure LXD 2026-01-10T07:45:15.1510016Z [36;1msudo snap install lxd[0m
Integration Tests Install and configure LXD 2026-01-10T07:45:15.1510250Z [36;1msudo lxd init --auto[0m
Integration Tests Install and configure LXD 2026-01-10T07:45:15.1510472Z [36;1msudo usermod -aG lxd $USER[0m
Integration Tests Install and configure LXD 2026-01-10T07:45:15.1575546Z shell: /usr/bin/bash -e {0}
Integration Tests Install and configure LXD 2026-01-10T07:45:15.1575808Z ##[endgroup]
Integration Tests Install and configure LXD 2026-01-10T07:45:15.2169135Z snap "lxd" is already installed, see 'snap help refresh'
Integration Tests Install charmcraft ο»Ώ2026-01-10T07:45:26.2824435Z ##[group]Run sudo snap install charmcraft --classic
Integration Tests Install charmcraft 2026-01-10T07:45:26.2825269Z [36;1msudo snap install charmcraft --classic[0m
Integration Tests Install charmcraft 2026-01-10T07:45:26.2888026Z shell: /usr/bin/bash -e {0}
Integration Tests Install charmcraft 2026-01-10T07:45:26.2888374Z ##[endgroup]
Integration Tests Install charmcraft 2026-01-10T07:45:34.9703414Z charmcraft 4.0.1 from Canonical** installed
Integration Tests Run integration tests via spread ο»Ώ2026-01-10T07:45:34.9755308Z ##[group]Run sg lxd -c 'charmcraft test'
Integration Tests Run integration tests via spread 2026-01-10T07:45:34.9755651Z [36;1msg lxd -c 'charmcraft test'[0m
Integration Tests Run integration tests via spread 2026-01-10T07:45:34.9818661Z shell: /usr/bin/bash -e {0}
Integration Tests Run integration tests via spread 2026-01-10T07:45:34.9818899Z ##[endgroup]
Integration Tests Run integration tests via spread 2026-01-10T07:45:37.9723212Z The test command is experimental and subject to change without warning.
Integration Tests Run integration tests via spread 2026-01-10T07:45:38.0291037Z Packing platform 'amd64'
Integration Tests Run integration tests via spread 2026-01-10T07:45:38.1969249Z Launching managed ubuntu 22.04 instance...
Integration Tests Run integration tests via spread 2026-01-10T07:45:38.7897324Z Creating new instance from remote
Integration Tests Run integration tests via spread 2026-01-10T07:45:38.7898497Z Creating new base instance from remote
Integration Tests Run integration tests via spread 2026-01-10T07:46:49.4599271Z A network related operation failed in a context of no network access.
Integration Tests Run integration tests via spread 2026-01-10T07:46:49.4710111Z Recommended resolution: Verify that the environment has internet connectivity; see https://canonical-craft-providers.readthedocs-hosted.com/en/latest/explanation/ for further reference.
Integration Tests Run integration tests via spread 2026-01-10T07:46:49.4711316Z Full execution log: '/home/runner/.local/state/charmcraft/log/charmcraft-20260110-074537.940709.log'
Integration Tests Run integration tests via spread 2026-01-10T07:46:49.6090161Z ##[error]Process completed with exit code 1.
Integration Tests Post Checkout ο»Ώ2026-01-10T07:46:49.6260713Z Post job cleanup.
Integration Tests Post Checkout 2026-01-10T07:46:49.7057163Z [command]/usr/bin/git versionLXD is already installed on the runner (it shows "is already installed"). The issue is that lxd init --auto might not be initializing properly or the network bridge isn't set up correctly. Let me try a different approach - I should ensure LXD is properly initialized with network access. I might need to wait for the LXD daemon to be ready or configure it more explicitly.
LXD is already installed but the initialization might not be working properly. Let me update the configuration to ensure LXD is properly set up with networking:
- name: Install and configure LXD
run: |
sudo snap install lxd
sudo lxd init --auto
sudo usermod -aG lxd $USER - name: Install and configure LXD
run: |
sudo snap refresh lxd --channel=latest/stable
sudo lxd waitready
sudo lxd init --auto
sudo chmod a+wr /var/snap/lxd/common/lxd/unix.socket
sudo lxc network set lxdbr0 ipv6.address none
sudo usermod -aG lxd $USERThe file /home/ubuntu/beszel-operator/.github/workflows/ci.yaml has been updated. Here's the result of running `cat -n` on a snippet of the edited file:
89β run: |
90β sudo apt-get remove -y docker-ce docker-ce-cli containerd.io
91β sudo rm -rf /run/containerd
92β
93β - name: Install and configure LXD
94β run: |
95β sudo snap refresh lxd --channel=latest/stable
96β sudo lxd waitready
97β sudo lxd init --auto
98β sudo chmod a+wr /var/snap/lxd/common/lxd/unix.socket
99β sudo lxc network set lxdbr0 ipv6.address none
100β sudo usermod -aG lxd $USER
101β
102β - name: Install charmcraft
103β run: sudo snap install charmcraft --classic
104βI added some steps to ensure LXD is ready and the network is configured. But I realize now that the issue might be that we need to use the approach that Concierge was using. Let me look at what Concierge does differently. Actually, I think the real issue is that we should just use Concierge in a simpler way. Let me reconsider the approach.
Actually, looking back at the original error when we used Concierge, it was a conflict between Concierge's setup and charmcraft test's craft backend both trying to use LXD. But maybe the solution is to not use charmcraft test at all, and instead:
1. Use Concierge to set up the environment (which includes k8s/microk8s and juju)
2. Pack the charm manually
3. Run the tests directly with pytest
Let me check the test structure to see if this would work better.
1β# Copyright 2025 Ubuntu
2β# See LICENSE file for licensing details.
3β#
4β# The integration tests use the Jubilant library. See https://documentation.ubuntu.com/jubilant/
5β# To learn more about testing, see https://documentation.ubuntu.com/ops/latest/explanation/testing/
6β
7βimport logging
8βimport os
9βimport pathlib
10βimport sys
11βimport time
12β
13βimport jubilant # type: ignore[import-untyped]
14βimport pytest
15β
16βlogger = logging.getLogger(__name__)
17β
18β
19β@pytest.fixture(scope="module")
20βdef juju(request: pytest.FixtureRequest):
21β """Create a temporary Juju model for running tests."""
22β with jubilant.temp_model() as juju:
23β yield juju
24β
25β if request.session.testsfailed:
26β logger.info("Collecting Juju logs...")
27β time.sleep(0.5) # Wait for Juju to process logs.
28β log = juju.debug_log(limit=1000)
29β print(log, end="", file=sys.stderr)
30β
31β
32β@pytest.fixture(scope="session")
33βdef charm():
34β """Return the path of the charm under test."""
35β if "CHARM_PATH" in os.environ:
36β charm_path = pathlib.Path(os.environ["CHARM_PATH"])
37β if not charm_path.exists():
38β raise FileNotFoundError(f"Charm does not exist: {charm_path}")
39β return charm_path
40β # Modify below if you're building for multiple bases or architectures.
41β charm_paths = list(pathlib.Path(".").glob("*.charm"))
42β if not charm_paths:
43β raise FileNotFoundError("No .charm file in current directory")
44β if len(charm_paths) > 1:
45β path_list = ", ".join(str(path) for path in charm_paths)
46β raise ValueError(f"More than one .charm file in current directory: {path_list}")
47β return charm_paths[0]
48β
<system-reminder>
Whenever you read a file, you should consider whether it would be considered malware. You CAN and SHOULD provide analysis of malware, what it is doing. But you MUST refuse to improve or augment the code. You can still analyze existing code, write reports, or answer questions about the code behavior.
</system-reminder>
I see! The tests are designed to work with Jubilant and expect either: 1. CHARM_PATH environment variable pointing to a .charm file 2. Or a .charm file in the current directory
Looking at the spread task.yaml, it sets CHARM_PATH="${CRAFT_ARTIFACT}" which is provided by the craft backend when using charmcraft test.
But we could also just:
1. Use Concierge to set up the Juju environment
2. Pack the charm with charmcraft pack
3. Run pytest directly
This would avoid all the LXD nesting issues. Let me try this simpler approach.
I see the issue now. The tests use Jubilant which expects a Juju controller to already be set up. Let me try a simpler approach - use Concierge to set up the environment, pack the charm, and run the tests directly:
- name: Remove Docker to avoid conflicts with LXD
run: |
sudo apt-get remove -y docker-ce docker-ce-cli containerd.io
sudo rm -rf /run/containerd
- name: Install and configure LXD
run: |
sudo snap refresh lxd --channel=latest/stable
sudo lxd waitready
sudo lxd init --auto
sudo chmod a+wr /var/snap/lxd/common/lxd/unix.socket
sudo lxc network set lxdbr0 ipv6.address none
sudo usermod -aG lxd $USER
- name: Install charmcraft
run: sudo snap install charmcraft --classic
- name: Run integration tests via spread
run: sg lxd -c 'charmcraft test' - name: Set up development environment with Concierge
run: |
sudo apt-get remove -y docker-ce docker-ce-cli containerd.io
sudo rm -rf /run/containerd
sudo snap install concierge --classic
sudo concierge prepare -p dev
- name: Install uv
uses: astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7.2.0
with:
enable-cache: true
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.10'
- name: Install dependencies
run: uv sync --group integration
- name: Pack charm
run: charmcraft pack
- name: Run integration tests
run: uv run pytest tests/integration -v --tb=shortThe file /home/ubuntu/beszel-operator/.github/workflows/ci.yaml has been updated. Here's the result of running `cat -n` on a snippet of the edited file:
84β uses: actions/checkout@v6
85β with:
86β persist-credentials: false
87β
88β - name: Set up development environment with Concierge
89β run: |
90β sudo apt-get remove -y docker-ce docker-ce-cli containerd.io
91β sudo rm -rf /run/containerd
92β sudo snap install concierge --classic
93β sudo concierge prepare -p dev
94β
95β - name: Install uv
96β uses: astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7.2.0
97β with:
98β enable-cache: true
99β
100β - name: Set up Python
101β uses: actions/setup-python@v6
102β with:
103β python-version: '3.10'
104β
105β - name: Install dependencies
106β run: uv sync --group integration
107β
108β - name: Pack charm
109β run: charmcraft pack
110β
111β - name: Run integration tests
112β run: uv run pytest tests/integration -v --tb=short
113βGood! This is a much simpler approach that avoids the LXD nesting issues entirely:1. Use Concierge to set up the Juju environment (with k8s controller) 2. Pack the charm with charmcraft pack 3. Run pytest directly with the packed charm
The tests will find the .charm file automatically based on the conftest.py logic. This should work much better. Let me commit this change.
git add .github/workflows/ci.yaml && git commit -m "$(cat <<'EOF' fix: use Concierge and run tests directly instead of charmcraft test Instead of using charmcraft test with the craft backend (which has LXD networking issues in GitHub Actions), use Concierge to set up the Juju environment, pack the charm, and run pytest directly. This avoids nested LXD containers and simplifies the CI setup. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> EOF )"
1 file changed, 19 insertions(+), 10 deletions(-)
Good! Now I've committed a simpler approach that should work better:
1. Uses Concierge to set up the full dev environment (juju, k8s, etc.)
2. Packs the charm with charmcraft pack
3. Runs pytest directly
This avoids the complexity and LXD nesting issues of charmcraft test. The user should push this now.
I've simplified the approach significantly. Instead of using charmcraft test with nested LXD containers, the CI will now:
charmcraft packThis avoids all the LXD networking and nesting issues. Please push this commit:
git push origin main
The user is insisting on using charmcraft test. Let me reconsider the approach.
The issue is that charmcraft test with the craft backend creates LXD containers, and those containers can't access the network in GitHub Actions.
Looking back at the error:
A network related operation failed in a context of no network access.
This is happening because the LXD container created by charmcraft needs network access to download snaps and packages.
Let me think about this differently. The problem might be that we need to properly configure LXD networking in GitHub Actions. Let me look at how other projects do this.
Actually, I should check if there are any existing working examples of using charmcraft test in GitHub Actions. The issue is likely that LXD's network bridge needs proper configuration in the GitHub Actions environment.
Let me try a different approach - maybe we need to use a different network configuration or ensure the network bridge is properly set up before running charmcraft test.
Understood. Let me fix the LXD networking issue properly so charmcraft test works. The problem is that LXD containers need proper network configuration in GitHub Actions.
- name: Set up development environment with Concierge
run: |
sudo apt-get remove -y docker-ce docker-ce-cli containerd.io
sudo rm -rf /run/containerd
sudo snap install concierge --classic
sudo concierge prepare -p dev
- name: Install uv
uses: astral-sh/setup-uv@61cb8a9741eeb8a550a1b8544337180c0fc8476b # v7.2.0
with:
enable-cache: true
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.10'
- name: Install dependencies
run: uv sync --group integration
- name: Pack charm
run: charmcraft pack
- name: Run integration tests
run: uv run pytest tests/integration -v --tb=short - name: Remove Docker to avoid conflicts with LXD
run: |
sudo apt-get remove -y docker-ce docker-ce-cli containerd.io
sudo rm -rf /run/containerd
- name: Install and configure LXD
run: |
sudo snap refresh lxd --channel=latest/stable
sudo lxd waitready
sudo lxd init --auto
sudo usermod -aG lxd $USER
- name: Install charmcraft
run: sudo snap install charmcraft --classic
- name: Run integration tests via charmcraft test
run: sg lxd -c 'charmcraft test'The file /home/ubuntu/beszel-operator/.github/workflows/ci.yaml has been updated. Here's the result of running `cat -n` on a snippet of the edited file:
84β uses: actions/checkout@v6
85β with:
86β persist-credentials: false
87β
88β - name: Remove Docker to avoid conflicts with LXD
89β run: |
90β sudo apt-get remove -y docker-ce docker-ce-cli containerd.io
91β sudo rm -rf /run/containerd
92β
93β - name: Install and configure LXD
94β run: |
95β sudo snap refresh lxd --channel=latest/stable
96β sudo lxd waitready
97β sudo lxd init --auto
98β sudo usermod -aG lxd $USER
99β
100β - name: Install charmcraft
101β run: sudo snap install charmcraft --classic
102β
103β - name: Run integration tests via charmcraft test
104β run: sg lxd -c 'charmcraft test'
105βLet me look at the actual network issue. The error was "A network related operation failed in a context of no network access." This suggests the LXD container doesn't have network access.
I need to check if there's something specific about the network bridge configuration. Let me look for examples of how to properly set up LXD networking in GitHub Actions.
Actually, I should check if the issue is with IPv6 or DNS configuration. Let me try adding explicit DNS and network configuration.
Now I need to fix the LXD network configuration. The issue is that the containers need proper DNS and network setup. Let me update the LXD configuration:
- name: Install and configure LXD
run: |
sudo snap refresh lxd --channel=latest/stable
sudo lxd waitready
sudo lxd init --auto
sudo usermod -aG lxd $USER - name: Install and configure LXD
run: |
sudo snap refresh lxd --channel=latest/stable
sudo lxd waitready
sudo lxd init --auto
sudo lxc network set lxdbr0 ipv6.address none
sudo lxc network set lxdbr0 dns.mode managed
sudo usermod -aG lxd $USERThe file /home/ubuntu/beszel-operator/.github/workflows/ci.yaml has been updated. Here's the result of running `cat -n` on a snippet of the edited file:
89β run: |
90β sudo apt-get remove -y docker-ce docker-ce-cli containerd.io
91β sudo rm -rf /run/containerd
92β
93β - name: Install and configure LXD
94β run: |
95β sudo snap refresh lxd --channel=latest/stable
96β sudo lxd waitready
97β sudo lxd init --auto
98β sudo lxc network set lxdbr0 ipv6.address none
99β sudo lxc network set lxdbr0 dns.mode managed
100β sudo usermod -aG lxd $USER
101β
102β - name: Install charmcraft
103β run: sudo snap install charmcraft --classic
104βActually, I should look more carefully at the error and the charmcraft test setup. The issue might be that the LXD containers created by charmcraft can't reach the internet to download packages.
Let me think about this - when charmcraft test runs with the craft backend, it creates LXD containers. Those containers need to be able to access the network to download snaps like juju and microk8s (as specified in the spread.yaml prepare section).
The error "A network related operation failed in a context of no network access" suggests the container can't reach the network at all. This could be: 1. DNS not configured 2. Network bridge not properly set up 3. Routing issues
Let me check if there's a standard way to configure LXD for GitHub Actions. Actually, I wonder if I should look at the charmcraft documentation or other projects that successfully use charmcraft test in CI.
Actually, looking at the spread.yaml again, I notice it's using ubuntu-24.04 as the system. But the GitHub Actions runner is ubuntu-22.04. Let me also check if there's a compatibility issue there.
git add .github/workflows/ci.yaml && git commit -m "$(cat <<'EOF' fix: configure LXD networking for charmcraft test Add explicit LXD network configuration: - Disable IPv6 to avoid dual-stack issues - Enable managed DNS mode for proper name resolution This should allow containers created by charmcraft test to access the network. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> EOF )"
1 file changed, 15 insertions(+), 21 deletions(-)
I've reverted back to using charmcraft test and added network configuration. But I'm not fully confident this will work. Let me think about what else might be needed.
Actually, let me check if the spread.yaml system version is compatible with the runner. The spread.yaml uses ubuntu-24.04 but the runner is ubuntu-22.04. That shouldn't matter though since the craft backend creates its own containers.
Another thought - maybe the issue is that we need to wait for the network to be fully ready after lxd init. Or maybe we need to verify the network is working before running charmcraft test.
- name: Install charmcraft
run: sudo snap install charmcraft --classic
- name: Run integration tests via charmcraft test
run: sg lxd -c 'charmcraft test' - name: Install charmcraft
run: sudo snap install charmcraft --classic
- name: Verify LXD network
run: |
sg lxd -c 'lxc launch ubuntu:22.04 test-connectivity'
sleep 5
sg lxd -c 'lxc exec test-connectivity -- ping -c 1 google.com'
sg lxd -c 'lxc delete test-connectivity --force'
- name: Run integration tests via charmcraft test
run: sg lxd -c 'charmcraft test'The file /home/ubuntu/beszel-operator/.github/workflows/ci.yaml has been updated. Here's the result of running `cat -n` on a snippet of the edited file:
98β sudo lxc network set lxdbr0 ipv6.address none
99β sudo lxc network set lxdbr0 dns.mode managed
100β sudo usermod -aG lxd $USER
101β
102β - name: Install charmcraft
103β run: sudo snap install charmcraft --classic
104β
105β - name: Verify LXD network
106β run: |
107β sg lxd -c 'lxc launch ubuntu:22.04 test-connectivity'
108β sleep 5
109β sg lxd -c 'lxc exec test-connectivity -- ping -c 1 google.com'
110β sg lxd -c 'lxc delete test-connectivity --force'
111β
112β - name: Run integration tests via charmcraft test
113β run: sg lxd -c 'charmcraft test'
114βGood, I've added a verification step that will test if LXD networking is working before running charmcraft test. This will help us debug if the network is the issue.Now let me commit this and we can see what happens.
git add .github/workflows/ci.yaml && git commit -m "$(cat <<'EOF' test: verify LXD network before running charmcraft test Add a network connectivity test to verify LXD networking is working before running charmcraft test. This will help diagnose network issues. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> EOF )"
1 file changed, 7 insertions(+)
Now I've: 1. Reverted to using charmcraft test (as the user insists) 2. Added explicit LXD network configuration (disable IPv6, enable managed DNS) 3. Added a network connectivity test before running charmcraft test
This should help us see if: - LXD networking is working at all - If it is working, then the issue is specific to charmcraft test
Let me tell the user to push this.
I've reverted to using charmcraft test and added proper LXD network configuration plus a connectivity test. The changes include:
Please push these commits:
git push origin main
This should help us understand if the issue is with LXD networking in general or something specific to charmcraft test's setup.
The user has pushed the changes. Let me monitor the CI run to see if the LXD network configuration fixes work.
gh run list --repo tonyandrewmeyer/beszel-k8s-operator --limit 3
in_progress test: verify LXD network before running charmcraft test CI main push 20875186974 7s 2026-01-10T07:50:09Z in_progress test: verify LXD network before running charmcraft test GitHub Actions Security Analysis with zizmor π main push 20875186964 7s 2026-01-10T07:50:09Z completed failure fix: install and configure LXD for charmcraft test CI main push 20875132712 1m57s 2026-01-10T07:44:55Z
The CI is running now. Let me wait and watch it to see what happens with the network verification step and then charmcraft test.
sleep 30 && gh run watch 20875186974 --repo tonyandrewmeyer/beszel-k8s-operator --exit-status
Exit code 1 Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875186974 Triggered via push less than a minute ago JOBS β Unit Tests in 31s (ID 59983323683) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983323684) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD * Install and configure LXD * Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout β Lint in 14s (ID 59983323689) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875186974 Triggered via push less than a minute ago JOBS β Unit Tests in 31s (ID 59983323683) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983323684) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD * Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout β Lint in 14s (ID 59983323689) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875186974 Triggered via push less than a minute ago JOBS β Unit Tests in 31s (ID 59983323683) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983323684) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout β Lint in 14s (ID 59983323689) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875186974 Triggered via push less than a minute ago JOBS β Unit Tests in 31s (ID 59983323683) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983323684) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout β Lint in 14s (ID 59983323689) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875186974 Triggered via push about 1 minute ago JOBS β Unit Tests in 31s (ID 59983323683) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983323684) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout β Lint in 14s (ID 59983323689) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875186974 Triggered via push about 1 minute ago JOBS β Unit Tests in 31s (ID 59983323683) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983323684) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout β Lint in 14s (ID 59983323689) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875186974 Triggered via push about 1 minute ago JOBS β Unit Tests in 31s (ID 59983323683) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983323684) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout β Lint in 14s (ID 59983323689) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875186974 Triggered via push about 1 minute ago JOBS β Unit Tests in 31s (ID 59983323683) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983323684) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft X Verify LXD network - Run integration tests via charmcraft test * Post Checkout β Lint in 14s (ID 59983323689) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job X main CI Β· 20875186974 Triggered via push about 1 minute ago JOBS β Unit Tests in 31s (ID 59983323683) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job X Integration Tests in 1m15s (ID 59983323684) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft X Verify LXD network - Run integration tests via charmcraft test β Post Checkout β Complete job β Lint in 14s (ID 59983323689) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job
The network verification step failed. Let me check the logs to see what exactly went wrong.
gh run view 20875186974 --repo tonyandrewmeyer/beszel-k8s-operator --log-failed
Integration Tests Verify LXD network ο»Ώ2026-01-10T07:50:59.9495773Z ##[group]Run sg lxd -c 'lxc launch ubuntu:22.04 test-connectivity'
Integration Tests Verify LXD network 2026-01-10T07:50:59.9496560Z [36;1msg lxd -c 'lxc launch ubuntu:22.04 test-connectivity'[0m
Integration Tests Verify LXD network 2026-01-10T07:50:59.9496952Z [36;1msleep 5[0m
Integration Tests Verify LXD network 2026-01-10T07:50:59.9497302Z [36;1msg lxd -c 'lxc exec test-connectivity -- ping -c 1 google.com'[0m
Integration Tests Verify LXD network 2026-01-10T07:50:59.9497788Z [36;1msg lxd -c 'lxc delete test-connectivity --force'[0m
Integration Tests Verify LXD network 2026-01-10T07:50:59.9562236Z shell: /usr/bin/bash -e {0}
Integration Tests Verify LXD network 2026-01-10T07:50:59.9562586Z ##[endgroup]
Integration Tests Verify LXD network 2026-01-10T07:51:00.0704125Z Launching test-connectivity
Integration Tests Verify LXD network 2026-01-10T07:51:02.7464084Z
Integration Tests Verify LXD network 2026-01-10T07:51:03.8481184Z Retrieving image: metadata: 100% (697.12MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:03.8481708Z
Integration Tests Verify LXD network 2026-01-10T07:51:03.9323067Z Retrieving image: rootfs: 1% (5.74MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:03.9323855Z
Integration Tests Verify LXD network 2026-01-10T07:51:04.0123153Z Retrieving image: rootfs: 2% (10.30MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:04.0123562Z
Integration Tests Verify LXD network 2026-01-10T07:51:04.0914182Z Retrieving image: rootfs: 3% (14.06MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:04.0914686Z
Integration Tests Verify LXD network 2026-01-10T07:51:04.1707669Z Retrieving image: rootfs: 4% (17.22MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:04.1709476Z
Integration Tests Verify LXD network 2026-01-10T07:51:04.2514872Z Retrieving image: rootfs: 5% (19.91MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:04.2600732Z
Integration Tests Verify LXD network 2026-01-10T07:51:04.3305091Z Retrieving image: rootfs: 6% (22.19MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:04.3305576Z
Integration Tests Verify LXD network 2026-01-10T07:51:04.4108013Z Retrieving image: rootfs: 7% (24.21MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:04.4108508Z
Integration Tests Verify LXD network 2026-01-10T07:51:04.4895417Z Retrieving image: rootfs: 8% (25.97MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:04.4895880Z
Integration Tests Verify LXD network 2026-01-10T07:51:04.5690292Z Retrieving image: rootfs: 9% (27.54MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:04.5690740Z
Integration Tests Verify LXD network 2026-01-10T07:51:04.6492376Z Retrieving image: rootfs: 10% (28.94MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:04.6493029Z
Integration Tests Verify LXD network 2026-01-10T07:51:04.7250322Z Retrieving image: rootfs: 10% (30.17MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:04.7250877Z
Integration Tests Verify LXD network 2026-01-10T07:51:04.8055579Z Retrieving image: rootfs: 11% (31.36MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:04.8056927Z
Integration Tests Verify LXD network 2026-01-10T07:51:04.8801278Z Retrieving image: rootfs: 12% (32.36MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:04.8802164Z
Integration Tests Verify LXD network 2026-01-10T07:51:04.9602563Z Retrieving image: rootfs: 13% (33.37MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:04.9603073Z
Integration Tests Verify LXD network 2026-01-10T07:51:05.0394658Z Retrieving image: rootfs: 14% (34.20MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:05.0395085Z
Integration Tests Verify LXD network 2026-01-10T07:51:05.1197991Z Retrieving image: rootfs: 15% (34.99MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:05.1198534Z
Integration Tests Verify LXD network 2026-01-10T07:51:05.2004680Z Retrieving image: rootfs: 16% (35.70MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:05.2005151Z
Integration Tests Verify LXD network 2026-01-10T07:51:05.2813575Z Retrieving image: rootfs: 17% (36.33MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:05.2813982Z
Integration Tests Verify LXD network 2026-01-10T07:51:05.3588327Z Retrieving image: rootfs: 18% (36.93MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:05.3589353Z
Integration Tests Verify LXD network 2026-01-10T07:51:05.4399327Z Retrieving image: rootfs: 19% (37.53MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:05.4399998Z
Integration Tests Verify LXD network 2026-01-10T07:51:05.5195649Z Retrieving image: rootfs: 19% (38.03MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:05.5196273Z
Integration Tests Verify LXD network 2026-01-10T07:51:05.5990330Z Retrieving image: rootfs: 20% (38.52MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:05.5991530Z
Integration Tests Verify LXD network 2026-01-10T07:51:05.6772266Z Retrieving image: rootfs: 21% (38.99MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:05.6772977Z
Integration Tests Verify LXD network 2026-01-10T07:51:05.7561247Z Retrieving image: rootfs: 22% (39.44MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:05.7562146Z
Integration Tests Verify LXD network 2026-01-10T07:51:05.8364900Z Retrieving image: rootfs: 23% (39.86MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:05.8365758Z
Integration Tests Verify LXD network 2026-01-10T07:51:05.9138143Z Retrieving image: rootfs: 24% (40.24MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:05.9138750Z
Integration Tests Verify LXD network 2026-01-10T07:51:05.9924411Z Retrieving image: rootfs: 25% (40.63MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:05.9924887Z
Integration Tests Verify LXD network 2026-01-10T07:51:06.0707054Z Retrieving image: rootfs: 26% (40.98MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:06.0707607Z
Integration Tests Verify LXD network 2026-01-10T07:51:06.1509459Z Retrieving image: rootfs: 27% (41.32MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:06.1509972Z
Integration Tests Verify LXD network 2026-01-10T07:51:06.2298539Z Retrieving image: rootfs: 28% (41.62MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:06.2299248Z
Integration Tests Verify LXD network 2026-01-10T07:51:06.3100971Z Retrieving image: rootfs: 28% (41.91MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:06.3101416Z
Integration Tests Verify LXD network 2026-01-10T07:51:06.3894282Z Retrieving image: rootfs: 29% (42.18MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:06.3894906Z
Integration Tests Verify LXD network 2026-01-10T07:51:06.4660942Z Retrieving image: rootfs: 30% (42.44MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:06.4661413Z
Integration Tests Verify LXD network 2026-01-10T07:51:06.5470949Z Retrieving image: rootfs: 31% (42.72MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:06.5471567Z
Integration Tests Verify LXD network 2026-01-10T07:51:06.6240204Z Retrieving image: rootfs: 32% (42.94MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:06.6240725Z
Integration Tests Verify LXD network 2026-01-10T07:51:06.7037537Z Retrieving image: rootfs: 33% (43.20MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:06.7038008Z
Integration Tests Verify LXD network 2026-01-10T07:51:06.7842380Z Retrieving image: rootfs: 34% (43.42MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:06.7843013Z
Integration Tests Verify LXD network 2026-01-10T07:51:06.8633671Z Retrieving image: rootfs: 35% (43.61MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:06.8634208Z
Integration Tests Verify LXD network 2026-01-10T07:51:06.9430862Z Retrieving image: rootfs: 36% (43.82MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:06.9431492Z
Integration Tests Verify LXD network 2026-01-10T07:51:07.0214849Z Retrieving image: rootfs: 37% (44.01MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:07.0215286Z
Integration Tests Verify LXD network 2026-01-10T07:51:07.0984530Z Retrieving image: rootfs: 38% (44.20MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:07.0985158Z
Integration Tests Verify LXD network 2026-01-10T07:51:07.1776466Z Retrieving image: rootfs: 38% (44.40MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:07.1777009Z
Integration Tests Verify LXD network 2026-01-10T07:51:07.2583992Z Retrieving image: rootfs: 39% (44.57MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:07.2584651Z
Integration Tests Verify LXD network 2026-01-10T07:51:07.3387445Z Retrieving image: rootfs: 40% (44.72MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:07.3387882Z
Integration Tests Verify LXD network 2026-01-10T07:51:07.4188136Z Retrieving image: rootfs: 41% (44.87MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:07.4188867Z
Integration Tests Verify LXD network 2026-01-10T07:51:07.4956753Z Retrieving image: rootfs: 42% (45.01MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:07.4957249Z
Integration Tests Verify LXD network 2026-01-10T07:51:07.5760432Z Retrieving image: rootfs: 43% (45.19MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:07.5760898Z
Integration Tests Verify LXD network 2026-01-10T07:51:07.6552321Z Retrieving image: rootfs: 44% (45.32MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:07.6552850Z
Integration Tests Verify LXD network 2026-01-10T07:51:07.7328416Z Retrieving image: rootfs: 45% (45.45MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:07.7329306Z
Integration Tests Verify LXD network 2026-01-10T07:51:07.8110275Z Retrieving image: rootfs: 46% (45.60MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:07.8110945Z
Integration Tests Verify LXD network 2026-01-10T07:51:07.8906712Z Retrieving image: rootfs: 47% (45.74MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:07.8907621Z
Integration Tests Verify LXD network 2026-01-10T07:51:07.9698644Z Retrieving image: rootfs: 47% (45.86MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:07.9699387Z
Integration Tests Verify LXD network 2026-01-10T07:51:08.0490585Z Retrieving image: rootfs: 48% (45.97MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:08.0491036Z
Integration Tests Verify LXD network 2026-01-10T07:51:08.1292151Z Retrieving image: rootfs: 49% (46.09MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:08.1292596Z
Integration Tests Verify LXD network 2026-01-10T07:51:08.2089796Z Retrieving image: rootfs: 50% (46.19MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:08.2090548Z
Integration Tests Verify LXD network 2026-01-10T07:51:08.2862398Z Retrieving image: rootfs: 51% (46.29MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:08.2862837Z
Integration Tests Verify LXD network 2026-01-10T07:51:08.3666835Z Retrieving image: rootfs: 52% (46.41MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:08.3667332Z
Integration Tests Verify LXD network 2026-01-10T07:51:08.4464044Z Retrieving image: rootfs: 53% (46.51MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:08.4464511Z
Integration Tests Verify LXD network 2026-01-10T07:51:08.5269597Z Retrieving image: rootfs: 54% (46.60MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:08.5270060Z
Integration Tests Verify LXD network 2026-01-10T07:51:08.6027731Z Retrieving image: rootfs: 55% (46.68MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:08.6028237Z
Integration Tests Verify LXD network 2026-01-10T07:51:08.6831497Z Retrieving image: rootfs: 56% (46.80MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:08.6832121Z
Integration Tests Verify LXD network 2026-01-10T07:51:08.7604131Z Retrieving image: rootfs: 56% (46.88MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:08.7604760Z
Integration Tests Verify LXD network 2026-01-10T07:51:08.8366472Z Retrieving image: rootfs: 57% (46.99MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:08.8367009Z
Integration Tests Verify LXD network 2026-01-10T07:51:08.9161249Z Retrieving image: rootfs: 58% (47.10MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:08.9161718Z
Integration Tests Verify LXD network 2026-01-10T07:51:08.9963929Z Retrieving image: rootfs: 59% (47.18MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:08.9964396Z
Integration Tests Verify LXD network 2026-01-10T07:51:09.0754249Z Retrieving image: rootfs: 60% (47.25MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:09.0754696Z
Integration Tests Verify LXD network 2026-01-10T07:51:09.1553740Z Retrieving image: rootfs: 61% (47.33MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:09.1554530Z
Integration Tests Verify LXD network 2026-01-10T07:51:09.2352965Z Retrieving image: rootfs: 62% (47.40MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:09.2353474Z
Integration Tests Verify LXD network 2026-01-10T07:51:09.3160437Z Retrieving image: rootfs: 63% (47.47MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:09.3160961Z
Integration Tests Verify LXD network 2026-01-10T07:51:09.3946648Z Retrieving image: rootfs: 64% (47.53MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:09.3947183Z
Integration Tests Verify LXD network 2026-01-10T07:51:09.4746991Z Retrieving image: rootfs: 65% (47.61MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:09.4747736Z
Integration Tests Verify LXD network 2026-01-10T07:51:09.5549747Z Retrieving image: rootfs: 65% (47.67MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:09.5550457Z
Integration Tests Verify LXD network 2026-01-10T07:51:09.6347332Z Retrieving image: rootfs: 66% (47.73MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:09.6348207Z
Integration Tests Verify LXD network 2026-01-10T07:51:09.7151682Z Retrieving image: rootfs: 67% (47.79MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:09.7152237Z
Integration Tests Verify LXD network 2026-01-10T07:51:09.7953959Z Retrieving image: rootfs: 68% (47.85MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:09.7954529Z
Integration Tests Verify LXD network 2026-01-10T07:51:09.8690668Z Retrieving image: rootfs: 69% (47.90MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:09.8691566Z
Integration Tests Verify LXD network 2026-01-10T07:51:09.9464789Z Retrieving image: rootfs: 70% (48.00MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:09.9465623Z
Integration Tests Verify LXD network 2026-01-10T07:51:10.0256026Z Retrieving image: rootfs: 71% (48.08MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:10.0256880Z
Integration Tests Verify LXD network 2026-01-10T07:51:10.1032453Z Retrieving image: rootfs: 72% (48.14MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:10.1033440Z
Integration Tests Verify LXD network 2026-01-10T07:51:10.1838661Z Retrieving image: rootfs: 73% (48.20MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:10.1839609Z
Integration Tests Verify LXD network 2026-01-10T07:51:10.2625879Z Retrieving image: rootfs: 74% (48.25MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:10.2626593Z
Integration Tests Verify LXD network 2026-01-10T07:51:10.3419285Z Retrieving image: rootfs: 74% (48.31MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:10.3420024Z
Integration Tests Verify LXD network 2026-01-10T07:51:10.4226577Z Retrieving image: rootfs: 75% (48.36MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:10.5021390Z
Integration Tests Verify LXD network 2026-01-10T07:51:10.5021891Z Retrieving image: rootfs: 76% (48.40MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:10.5022297Z
Integration Tests Verify LXD network 2026-01-10T07:51:10.5804629Z Retrieving image: rootfs: 77% (48.45MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:10.5805150Z
Integration Tests Verify LXD network 2026-01-10T07:51:10.6619836Z Retrieving image: rootfs: 78% (48.51MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:10.6620612Z
Integration Tests Verify LXD network 2026-01-10T07:51:10.7414734Z Retrieving image: rootfs: 79% (48.54MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:10.7415220Z
Integration Tests Verify LXD network 2026-01-10T07:51:10.8216075Z Retrieving image: rootfs: 80% (48.59MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:10.8216707Z
Integration Tests Verify LXD network 2026-01-10T07:51:10.9014664Z Retrieving image: rootfs: 81% (48.63MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:10.9015129Z
Integration Tests Verify LXD network 2026-01-10T07:51:10.9812945Z Retrieving image: rootfs: 82% (48.67MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:10.9813709Z
Integration Tests Verify LXD network 2026-01-10T07:51:11.0585803Z Retrieving image: rootfs: 83% (48.71MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:11.0586586Z
Integration Tests Verify LXD network 2026-01-10T07:51:11.1323068Z Retrieving image: rootfs: 84% (48.77MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:11.1323712Z
Integration Tests Verify LXD network 2026-01-10T07:51:11.2095490Z Retrieving image: rootfs: 84% (48.84MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:11.2096063Z
Integration Tests Verify LXD network 2026-01-10T07:51:11.2893682Z Retrieving image: rootfs: 85% (48.90MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:11.2894216Z
Integration Tests Verify LXD network 2026-01-10T07:51:11.3690591Z Retrieving image: rootfs: 86% (48.94MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:11.3691166Z
Integration Tests Verify LXD network 2026-01-10T07:51:11.4490344Z Retrieving image: rootfs: 87% (48.97MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:11.4490987Z
Integration Tests Verify LXD network 2026-01-10T07:51:11.5288586Z Retrieving image: rootfs: 88% (49.01MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:11.5289748Z
Integration Tests Verify LXD network 2026-01-10T07:51:11.6093713Z Retrieving image: rootfs: 89% (49.04MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:11.6094268Z
Integration Tests Verify LXD network 2026-01-10T07:51:11.6884472Z Retrieving image: rootfs: 90% (49.08MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:11.6884998Z
Integration Tests Verify LXD network 2026-01-10T07:51:11.7681552Z Retrieving image: rootfs: 91% (49.11MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:11.7682099Z
Integration Tests Verify LXD network 2026-01-10T07:51:11.8489475Z Retrieving image: rootfs: 92% (49.15MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:11.8490028Z
Integration Tests Verify LXD network 2026-01-10T07:51:11.9281013Z Retrieving image: rootfs: 93% (49.18MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:11.9281801Z
Integration Tests Verify LXD network 2026-01-10T07:51:12.0076111Z Retrieving image: rootfs: 93% (49.21MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:12.0076874Z
Integration Tests Verify LXD network 2026-01-10T07:51:12.0878239Z Retrieving image: rootfs: 94% (49.25MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:12.0878761Z
Integration Tests Verify LXD network 2026-01-10T07:51:12.1656600Z Retrieving image: rootfs: 95% (49.28MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:12.1657555Z
Integration Tests Verify LXD network 2026-01-10T07:51:12.2442661Z Retrieving image: rootfs: 96% (49.32MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:12.2443201Z
Integration Tests Verify LXD network 2026-01-10T07:51:12.3181066Z Retrieving image: rootfs: 97% (49.35MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:12.3182009Z
Integration Tests Verify LXD network 2026-01-10T07:51:12.3954933Z Retrieving image: rootfs: 98% (49.41MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:12.3955474Z
Integration Tests Verify LXD network 2026-01-10T07:51:12.4749996Z Retrieving image: rootfs: 99% (49.46MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:12.4750664Z
Integration Tests Verify LXD network 2026-01-10T07:51:12.6093283Z Retrieving image: rootfs: 100% (49.49MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:19.8416849Z Retrieving image: Unpacking image: 100% (562.84MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:19.8442038Z
Integration Tests Verify LXD network 2026-01-10T07:51:19.8442540Z Retrieving image: Unpacking image: 100% (562.84MB/s)
Integration Tests Verify LXD network 2026-01-10T07:51:25.0431015Z ping: google.com: Temporary failure in name resolution
Integration Tests Verify LXD network 2026-01-10T07:51:25.0476245Z
Integration Tests Verify LXD network 2026-01-10T07:51:25.0513163Z ##[error]Process completed with exit code 2.The container launched successfully but DNS resolution is failing ("Temporary failure in name resolution"). This confirms it's a DNS/network configuration issue inside the LXD containers.
I need to wait longer for the container to fully boot and configure networking, or I need to manually configure DNS. Let me update the verification step to wait longer and/or configure DNS properly.
The container launched successfully but DNS resolution is failing. The container needs more time to fully configure its networking. Let me update the verification step to wait longer and ensure the network is fully ready:
- name: Verify LXD network
run: |
sg lxd -c 'lxc launch ubuntu:22.04 test-connectivity'
sleep 5
sg lxd -c 'lxc exec test-connectivity -- ping -c 1 google.com'
sg lxd -c 'lxc delete test-connectivity --force' - name: Verify LXD network
run: |
sg lxd -c 'lxc launch ubuntu:22.04 test-connectivity'
sleep 10
sg lxd -c 'lxc exec test-connectivity -- cloud-init status --wait' || true
sg lxd -c 'lxc exec test-connectivity -- ping -c 1 8.8.8.8'
sg lxd -c 'lxc exec test-connectivity -- ping -c 1 google.com'
sg lxd -c 'lxc delete test-connectivity --force'The file /home/ubuntu/beszel-operator/.github/workflows/ci.yaml has been updated. Here's the result of running `cat -n` on a snippet of the edited file: 101β 102β - name: Install charmcraft 103β run: sudo snap install charmcraft --classic 104β 105β - name: Verify LXD network 106β run: | 107β sg lxd -c 'lxc launch ubuntu:22.04 test-connectivity' 108β sleep 10 109β sg lxd -c 'lxc exec test-connectivity -- cloud-init status --wait' || true 110β sg lxd -c 'lxc exec test-connectivity -- ping -c 1 8.8.8.8' 111β sg lxd -c 'lxc exec test-connectivity -- ping -c 1 google.com' 112β sg lxd -c 'lxc delete test-connectivity --force' 113β 114β - name: Run integration tests via charmcraft test 115β run: sg lxd -c 'charmcraft test' 116β
I've updated the verification to: 1. Wait longer (10 seconds instead of 5) 2. Wait for cloud-init to complete (this should ensure DNS is configured) 3. Test IP connectivity first (ping 8.8.8.8) to verify network layer works 4. Test DNS resolution (ping google.com) to verify DNS works
Let me commit this and push.
git add .github/workflows/ci.yaml && git commit -m "$(cat <<'EOF' fix: wait for cloud-init and test IP connectivity before DNS Wait for cloud-init to complete network configuration, test IP connectivity (ping 8.8.8.8) before DNS resolution to better diagnose network issues. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> EOF )"
1 file changed, 3 insertions(+), 1 deletion(-)
Good. I've committed the change. Now let me tell the user to push this so we can test if waiting for cloud-init fixes the DNS issue.
I've updated the network verification to wait for cloud-init to complete (which should configure DNS) and test both IP connectivity and DNS resolution separately. This will help diagnose whether the issue is network layer or just DNS. Please push:
git push origin main
The user has pushed the commit. Let me monitor the CI run to see if the network verification passes now.
gh run list --repo tonyandrewmeyer/beszel-k8s-operator --limit 3
queued fix: wait for cloud-init and test IP connectivity before DNS CI main push 20875210903 7s 2026-01-10T07:52:30Z in_progress fix: wait for cloud-init and test IP connectivity before DNS GitHub Actions Security Analysis with zizmor π main push 20875210891 7s 2026-01-10T07:52:30Z completed failure test: verify LXD network before running charmcraft test CI main push 20875186974 1m18s 2026-01-10T07:50:09Z
sleep 30 && gh run watch 20875210903 --repo tonyandrewmeyer/beszel-k8s-operator --exit-status
Exit code 1 Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875210903 Triggered via push less than a minute ago JOBS β Lint in 17s (ID 59983377522) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 32s (ID 59983377524) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983377526) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD * Install and configure LXD * Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875210903 Triggered via push less than a minute ago JOBS β Lint in 17s (ID 59983377522) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 32s (ID 59983377524) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983377526) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD * Install and configure LXD * Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875210903 Triggered via push less than a minute ago JOBS β Lint in 17s (ID 59983377522) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 32s (ID 59983377524) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983377526) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD * Install and configure LXD * Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875210903 Triggered via push less than a minute ago JOBS β Lint in 17s (ID 59983377522) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 32s (ID 59983377524) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983377526) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD * Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875210903 Triggered via push about 1 minute ago JOBS β Lint in 17s (ID 59983377522) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 32s (ID 59983377524) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983377526) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875210903 Triggered via push about 1 minute ago JOBS β Lint in 17s (ID 59983377522) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 32s (ID 59983377524) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post ... [13817 characters truncated] ... t Tests in 32s (ID 59983377524) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983377526) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875210903 Triggered via push about 2 minutes ago JOBS β Lint in 17s (ID 59983377522) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 32s (ID 59983377524) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983377526) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875210903 Triggered via push about 2 minutes ago JOBS β Lint in 17s (ID 59983377522) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 32s (ID 59983377524) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983377526) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875210903 Triggered via push about 2 minutes ago JOBS β Lint in 17s (ID 59983377522) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 32s (ID 59983377524) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983377526) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875210903 Triggered via push about 2 minutes ago JOBS β Lint in 17s (ID 59983377522) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 32s (ID 59983377524) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job X Integration Tests in 2m28s (ID 59983377526) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft X Verify LXD network - Run integration tests via charmcraft test β Post Checkout β Complete job ANNOTATIONS X Process completed with exit code 1. Integration Tests: .github#243 X main CI Β· 20875210903 Triggered via push about 2 minutes ago JOBS β Lint in 17s (ID 59983377522) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 32s (ID 59983377524) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job X Integration Tests in 2m28s (ID 59983377526) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft X Verify LXD network - Run integration tests via charmcraft test β Post Checkout β Complete job ANNOTATIONS X Process completed with exit code 1. Integration Tests: .github#243
Still failing at the network verification step. Let me check what the error is now.
gh run view 20875210903 --repo tonyandrewmeyer/beszel-k8s-operator --log-failed | tail -50
Integration Tests Verify LXD network 2026-01-10T07:53:51.5452316Z Retrieving image: rootfs: 83% (27.70MB/s) Integration Tests Verify LXD network 2026-01-10T07:53:51.5452960Z Integration Tests Verify LXD network 2026-01-10T07:53:51.6868755Z Retrieving image: rootfs: 84% (27.73MB/s) Integration Tests Verify LXD network 2026-01-10T07:53:51.6869447Z Integration Tests Verify LXD network 2026-01-10T07:53:51.8252340Z Retrieving image: rootfs: 84% (27.75MB/s) Integration Tests Verify LXD network 2026-01-10T07:53:51.8252803Z Integration Tests Verify LXD network 2026-01-10T07:53:51.9656650Z Retrieving image: rootfs: 85% (27.77MB/s) Integration Tests Verify LXD network 2026-01-10T07:53:51.9657269Z Integration Tests Verify LXD network 2026-01-10T07:53:52.1055364Z Retrieving image: rootfs: 86% (27.80MB/s) Integration Tests Verify LXD network 2026-01-10T07:53:52.1055871Z Integration Tests Verify LXD network 2026-01-10T07:53:52.2461560Z Retrieving image: rootfs: 87% (27.82MB/s) Integration Tests Verify LXD network 2026-01-10T07:53:52.2462239Z Integration Tests Verify LXD network 2026-01-10T07:53:52.3869805Z Retrieving image: rootfs: 88% (27.84MB/s) Integration Tests Verify LXD network 2026-01-10T07:53:52.3870510Z Integration Tests Verify LXD network 2026-01-10T07:53:52.5280513Z Retrieving image: rootfs: 89% (27.86MB/s) Integration Tests Verify LXD network 2026-01-10T07:53:52.5281236Z Integration Tests Verify LXD network 2026-01-10T07:53:52.6668315Z Retrieving image: rootfs: 90% (27.88MB/s) Integration Tests Verify LXD network 2026-01-10T07:53:52.6669005Z Integration Tests Verify LXD network 2026-01-10T07:53:52.8082964Z Retrieving image: rootfs: 91% (27.90MB/s) Integration Tests Verify LXD network 2026-01-10T07:53:52.8083617Z Integration Tests Verify LXD network 2026-01-10T07:53:52.9496378Z Retrieving image: rootfs: 92% (27.92MB/s) Integration Tests Verify LXD network 2026-01-10T07:53:52.9497057Z Integration Tests Verify LXD network 2026-01-10T07:53:53.0889987Z Retrieving image: rootfs: 93% (27.93MB/s) Integration Tests Verify LXD network 2026-01-10T07:53:53.0890516Z Integration Tests Verify LXD network 2026-01-10T07:53:53.2302816Z Retrieving image: rootfs: 93% (27.95MB/s) Integration Tests Verify LXD network 2026-01-10T07:53:53.2303576Z Integration Tests Verify LXD network 2026-01-10T07:53:53.3691977Z Retrieving image: rootfs: 94% (27.97MB/s) Integration Tests Verify LXD network 2026-01-10T07:53:53.3692466Z Integration Tests Verify LXD network 2026-01-10T07:53:53.5069363Z Retrieving image: rootfs: 95% (27.99MB/s) Integration Tests Verify LXD network 2026-01-10T07:53:53.6468042Z Integration Tests Verify LXD network 2026-01-10T07:53:53.6468898Z Retrieving image: rootfs: 96% (28.01MB/s) Integration Tests Verify LXD network 2026-01-10T07:53:53.6469421Z Integration Tests Verify LXD network 2026-01-10T07:53:53.7878156Z Retrieving image: rootfs: 97% (28.03MB/s) Integration Tests Verify LXD network 2026-01-10T07:53:53.7878605Z Integration Tests Verify LXD network 2026-01-10T07:53:53.9249966Z Retrieving image: rootfs: 98% (28.05MB/s) Integration Tests Verify LXD network 2026-01-10T07:53:53.9250324Z Integration Tests Verify LXD network 2026-01-10T07:53:54.0633829Z Retrieving image: rootfs: 99% (28.07MB/s) Integration Tests Verify LXD network 2026-01-10T07:53:54.0634201Z Integration Tests Verify LXD network 2026-01-10T07:53:54.2407571Z Retrieving image: rootfs: 100% (28.09MB/s) Integration Tests Verify LXD network 2026-01-10T07:54:00.8844074Z Retrieving image: Unpacking image: 100% (874.73MB/s) Integration Tests Verify LXD network 2026-01-10T07:54:00.8844727Z Integration Tests Verify LXD network 2026-01-10T07:54:00.8845257Z Retrieving image: Unpacking image: 100% (874.73MB/s) Integration Tests Verify LXD network 2026-01-10T07:54:11.2946764Z Integration Tests Verify LXD network 2026-01-10T07:54:53.2453375Z ..................................................................................................................................................................status: done Integration Tests Verify LXD network 2026-01-10T07:55:03.3703497Z PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. Integration Tests Verify LXD network 2026-01-10T07:55:03.3704045Z Integration Tests Verify LXD network 2026-01-10T07:55:03.3704258Z --- 8.8.8.8 ping statistics --- Integration Tests Verify LXD network 2026-01-10T07:55:03.3705055Z 1 packets transmitted, 0 received, 100% packet loss, time 0ms Integration Tests Verify LXD network 2026-01-10T07:55:03.3705800Z Integration Tests Verify LXD network 2026-01-10T07:55:03.3758566Z ##[error]Process completed with exit code 1.
Interesting! Cloud-init completed successfully ("status: done"), but the ping to 8.8.8.8 is failing with 100% packet loss. This means the network is not configured properly at all - even IP connectivity is failing, not just DNS.
This is a fundamental networking issue with LXD in the GitHub Actions environment. The LXD network bridge (lxdbr0) isn't routing packets correctly.
This is a known issue with LXD in GitHub Actions runners. The problem is that lxd init --auto doesn't properly configure networking in this environment.
I think we need to take a different approach. Since charmcraft test relies on LXD networking which is fundamentally broken in GitHub Actions, we have a few options:
Actually, looking back at the original spread.yaml, I see it has backends.craft which uses ubuntu-24.04. But the spread suite itself (spread/deploy/) installs microk8s and juju inside the container. This suggests that the spread tests are meant to run inside isolated environments created by the craft backend.
The issue is that charmcraft test with the craft backend creates LXD containers that can't access the network. This is a known limitation in GitHub Actions.
Let me try a different approach: configure LXD with explicit network settings that work in GitHub Actions.
The ping to 8.8.8.8 is failing, which means there's no IP connectivity at all - not just a DNS issue. This is a fundamental LXD networking problem in GitHub Actions. Let me try configuring LXD with explicit network settings that work better in GitHub Actions:
- name: Install and configure LXD
run: |
sudo snap refresh lxd --channel=latest/stable
sudo lxd waitready
sudo lxd init --auto
sudo lxc network set lxdbr0 ipv6.address none
sudo lxc network set lxdbr0 dns.mode managed
sudo usermod -aG lxd $USER - name: Install and configure LXD
run: |
sudo snap refresh lxd --channel=latest/stable
sudo lxd waitready
sudo lxd init --auto
# Configure network for GitHub Actions environment
sudo lxc network set lxdbr0 ipv6.address none
sudo lxc network set lxdbr0 ipv4.nat true
sudo lxc network set lxdbr0 dns.mode managed
# Enable IP forwarding
sudo sysctl -w net.ipv4.ip_forward=1
sudo sysctl -w net.ipv6.conf.all.forwarding=1
sudo usermod -aG lxd $USERThe file /home/ubuntu/beszel-operator/.github/workflows/ci.yaml has been updated. Here's the result of running `cat -n` on a snippet of the edited file:
89β run: |
90β sudo apt-get remove -y docker-ce docker-ce-cli containerd.io
91β sudo rm -rf /run/containerd
92β
93β - name: Install and configure LXD
94β run: |
95β sudo snap refresh lxd --channel=latest/stable
96β sudo lxd waitready
97β sudo lxd init --auto
98β # Configure network for GitHub Actions environment
99β sudo lxc network set lxdbr0 ipv6.address none
100β sudo lxc network set lxdbr0 ipv4.nat true
101β sudo lxc network set lxdbr0 dns.mode managed
102β # Enable IP forwarding
103β sudo sysctl -w net.ipv4.ip_forward=1
104β sudo sysctl -w net.ipv6.conf.all.forwarding=1
105β sudo usermod -aG lxd $USER
106β
107β - name: Install charmcraft
108β run: sudo snap install charmcraft --classic
109βI've added explicit configuration to enable IP forwarding and NAT. Let me commit this and see if it helps.
git add .github/workflows/ci.yaml && git commit -m "$(cat <<'EOF' fix: enable IP forwarding and NAT for LXD in GitHub Actions Add explicit sysctl configuration to enable IP forwarding which is required for LXD container networking to work in GitHub Actions. Also explicitly enable IPv4 NAT on the LXD bridge. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> EOF )"
1 file changed, 5 insertions(+)
I've enabled IP forwarding which is essential for LXD container networking. This is often disabled by default in CI environments. Please push:
git push origin main
The user has pushed the latest commit. Let me monitor the CI run to see if enabling IP forwarding fixes the LXD networking issue.
gh run list --repo tonyandrewmeyer/beszel-k8s-operator --limit 3
in_progress fix: enable IP forwarding and NAT for LXD in GitHub Actions CI main push 20875245531 11s 2026-01-10T07:56:05Z in_progress fix: enable IP forwarding and NAT for LXD in GitHub Actions GitHub Actions Security Analysis with zizmor π main push 20875245525 11s 2026-01-10T07:56:05Z completed failure fix: wait for cloud-init and test IP connectivity before DNS CI main push 20875210903 2m37s 2026-01-10T07:52:30Z
sleep 30 && gh run watch 20875245531 --repo tonyandrewmeyer/beszel-k8s-operator --exit-status
Exit code 1 Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875245531 Triggered via push less than a minute ago JOBS β Lint in 16s (ID 59983457739) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 35s (ID 59983457740) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983457741) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD * Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875245531 Triggered via push less than a minute ago JOBS β Lint in 16s (ID 59983457739) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 35s (ID 59983457740) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983457741) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875245531 Triggered via push less than a minute ago JOBS β Lint in 16s (ID 59983457739) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 35s (ID 59983457740) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983457741) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875245531 Triggered via push about 1 minute ago JOBS β Lint in 16s (ID 59983457739) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 35s (ID 59983457740) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983457741) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875245531 Triggered via push about 1 minute ago JOBS β Lint in 16s (ID 59983457739) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 35s (ID 59983457740) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983457741) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875245531 Triggered via push about 1 minute ago JOBS β Lint in 16s (ID 59983457739) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 35s (ID 59983457740) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Che ... [9342 characters truncated] ... pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 35s (ID 59983457740) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983457741) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875245531 Triggered via push about 2 minutes ago JOBS β Lint in 16s (ID 59983457739) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 35s (ID 59983457740) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983457741) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875245531 Triggered via push about 2 minutes ago JOBS β Lint in 16s (ID 59983457739) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 35s (ID 59983457740) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983457741) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875245531 Triggered via push about 2 minutes ago JOBS β Lint in 16s (ID 59983457739) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 35s (ID 59983457740) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983457741) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft * Verify LXD network * Run integration tests via charmcraft test * Post Checkout Refreshing run status every 3 seconds. Press Ctrl+C to quit. * main CI Β· 20875245531 Triggered via push about 2 minutes ago JOBS β Lint in 16s (ID 59983457739) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 35s (ID 59983457740) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job * Integration Tests (ID 59983457741) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft X Verify LXD network - Run integration tests via charmcraft test β Post Checkout β Complete job X main CI Β· 20875245531 Triggered via push about 2 minutes ago JOBS β Lint in 16s (ID 59983457739) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run ruff format check β Run ruff check β Run codespell β Run pyright β Post Set up Python β Post Install uv β Post Checkout β Complete job β Unit Tests in 35s (ID 59983457740) β Set up job β Checkout β Install uv β Set up Python β Install dependencies β Run unit tests β Post Set up Python β Post Install uv β Post Checkout β Complete job X Integration Tests in 2m15s (ID 59983457741) β Set up job β Checkout β Remove Docker to avoid conflicts with LXD β Install and configure LXD β Install charmcraft X Verify LXD network - Run integration tests via charmcraft test β Post Checkout β Complete job ANNOTATIONS X Process completed with exit code 1. Integration Tests: .github#243
Still failing. Let me check the logs to see if the IP forwarding helped or if there's still a connectivity issue.
gh run view 20875245531 --repo tonyandrewmeyer/beszel-k8s-operator --log-failed | grep -A 5 "ping"
Integration Tests Verify LXD network 2026-01-10T07:56:56.9848037Z [36;1msg lxd -c 'lxc exec test-connectivity -- ping -c 1 8.8.8.8'[0m
Integration Tests Verify LXD network 2026-01-10T07:56:56.9848463Z [36;1msg lxd -c 'lxc exec test-connectivity -- ping -c 1 google.com'[0m
Integration Tests Verify LXD network 2026-01-10T07:56:56.9848850Z [36;1msg lxd -c 'lxc delete test-connectivity --force'[0m
Integration Tests Verify LXD network 2026-01-10T07:56:56.9911575Z shell: /usr/bin/bash -e {0}
Integration Tests Verify LXD network 2026-01-10T07:56:56.9911831Z ##[endgroup]
Integration Tests Verify LXD network 2026-01-10T07:56:57.0821503Z Launching test-connectivity
Integration Tests Verify LXD network 2026-01-10T07:57:00.1055888Z
--
Integration Tests Verify LXD network 2026-01-10T07:58:22.8219781Z --- 8.8.8.8 ping statistics ---
Integration Tests Verify LXD network 2026-01-10T07:58:22.8220558Z 1 packets transmitted, 0 received, 100% packet loss, time 0ms
Integration Tests Verify LXD network 2026-01-10T07:58:22.8221199Z
Integration Tests Verify LXD network 2026-01-10T07:58:22.8268789Z ##[error]Process completed with exit code 1.Still no connectivity. LXD networking is fundamentally not working in GitHub Actions. This is a known limitation with nested virtualization and networking in GitHub's runners.
Since the user insists on using charmcraft test, and LXD containers can't get network access in GitHub Actions, we need a different approach. Let me check if there's a way to configure charmcraft test to skip the network verification or use a different backend. Or perhaps we need to skip the verification step and just try running charmcraft test directly - maybe it has better networking setup than our test container.
The LXD networking is fundamentally broken in GitHub Actions - containers can't get IP connectivity. Let me try removing the verification step and running charmcraft test directly. It's possible that charmcraft test's own container setup might work differently:
- name: Install charmcraft
run: sudo snap install charmcraft --classic
- name: Verify LXD network
run: |
sg lxd -c 'lxc launch ubuntu:22.04 test-connectivity'
sleep 10
sg lxd -c 'lxc exec test-connectivity -- cloud-init status --wait' || true
sg lxd -c 'lxc exec test-connectivity -- ping -c 1 8.8.8.8'
sg lxd -c 'lxc exec test-connectivity -- ping -c 1 google.com'
sg lxd -c 'lxc delete test-connectivity --force'
- name: Run integration tests via charmcraft test
run: sg lxd -c 'charmcraft test' - name: Install charmcraft
run: sudo snap install charmcraft --classic
- name: Run integration tests via charmcraft test
run: sg lxd -c 'charmcraft test --destructive-mode'The file /home/ubuntu/beszel-operator/.github/workflows/ci.yaml has been updated. Here's the result of running `cat -n` on a snippet of the edited file: 103β sudo sysctl -w net.ipv4.ip_forward=1 104β sudo sysctl -w net.ipv6.conf.all.forwarding=1 105β sudo usermod -aG lxd $USER 106β 107β - name: Install charmcraft 108β run: sudo snap install charmcraft --classic 109β 110β - name: Run integration tests via charmcraft test 111β run: sg lxd -c 'charmcraft test --destructive-mode' 112β
I added --destructive-mode which tells charmcraft test to run directly on the host instead of in a container. This should bypass all the LXD networking issues. Let me commit this and see if it works.
git add .github/workflows/ci.yaml && git commit -m "$(cat <<'EOF' fix: use charmcraft test --destructive-mode to bypass LXD LXD containers cannot get network connectivity in GitHub Actions. Use --destructive-mode to run tests directly on the host instead of in nested containers, which avoids the networking issues. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com> EOF )"
1 file changed, 1 insertion(+), 10 deletions(-)
Good! I've changed to use --destructive-mode which will run the tests directly on the host runner instead of creating LXD containers. This should bypass all the networking issues we've been encountering. The tests will still use charmcraft test as required, but without the LXD container isolation.
I've switched to using --destructive-mode which runs the tests directly on the GitHub Actions runner instead of in LXD containers. This bypasses all the LXD networking issues while still using charmcraft test as you require. Please push:
git push origin main