Skip to content

Commit 864a486

Browse files
committed
chore: investigate error cause
Signed-off-by: Arjun Raja Yogidas <[email protected]>
1 parent 5743205 commit 864a486

File tree

2 files changed

+126
-122
lines changed

2 files changed

+126
-122
lines changed

.github/workflows/test.yml

Lines changed: 122 additions & 122 deletions
Original file line numberDiff line numberDiff line change
@@ -94,129 +94,129 @@ jobs:
9494
- name: "Run unit tests"
9595
run: make test-unit
9696

97-
test-integration:
98-
needs: build-dependencies
99-
timeout-minutes: 30
100-
name: rootful | ${{ matrix.containerd }} | ${{ matrix.runner }}
101-
runs-on: "${{ matrix.runner }}"
102-
strategy:
103-
fail-fast: false
104-
matrix:
105-
# ubuntu-20.04: cgroup v1, ubuntu-22.04 and later: cgroup v2
106-
include:
107-
- ubuntu: 20.04
108-
containerd: v1.6.36
109-
runner: "ubuntu-20.04"
110-
arch: amd64
111-
# - ubuntu: 22.04
112-
# containerd: v1.7.25
113-
# runner: "ubuntu-22.04"
114-
# arch: amd64
115-
- ubuntu: 24.04
116-
containerd: v2.0.2
117-
runner: "ubuntu-24.04"
118-
arch: amd64
119-
# - ubuntu: 24.04
120-
# containerd: v2.0.2
121-
# runner: arm64-8core-32gb
122-
# arch: arm64
123-
env:
124-
CONTAINERD_VERSION: "${{ matrix.containerd }}"
125-
ARCH: "${{ matrix.arch }}"
126-
UBUNTU_VERSION: "${{ matrix.ubuntu }}"
127-
steps:
128-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
129-
with:
130-
fetch-depth: 1
131-
- name: "Expose GitHub Runtime variables for gha"
132-
uses: crazy-max/ghaction-github-runtime@b3a9207c0e1ef41f4cf215303c976869d0c2c1c4 # v3.0.0
133-
- name: "Prepare integration test environment"
134-
run: |
135-
docker buildx create --name with-gha --use
136-
docker buildx build \
137-
--output=type=docker \
138-
--cache-from type=gha,scope=${ARCH}-${CONTAINERD_VERSION} \
139-
-t test-integration --target test-integration --build-arg UBUNTU_VERSION=${UBUNTU_VERSION} --build-arg CONTAINERD_VERSION=${CONTAINERD_VERSION} .
140-
- name: "Remove snap loopback devices (conflicts with our loopback devices in TestRunDevice)"
141-
run: |
142-
sudo systemctl disable --now snapd.service snapd.socket
143-
sudo apt-get purge -y snapd
144-
sudo losetup -Dv
145-
sudo losetup -lv
146-
- name: "Register QEMU (tonistiigi/binfmt)"
147-
run: |
148-
# `--install all` will only install emulation for architectures that cannot be natively executed
149-
# Since some arm64 platforms do provide native fallback execution for 32 bits,
150-
# armv7 emulation may or may not be installed, causing variance in the result of `uname -m`.
151-
# To avoid that, we explicitly list the architectures we do want emulation for.
152-
docker run --privileged --rm tonistiigi/binfmt --install linux/amd64
153-
docker run --privileged --rm tonistiigi/binfmt --install linux/arm64
154-
docker run --privileged --rm tonistiigi/binfmt --install linux/arm/v7
155-
- name: "Run integration tests"
156-
run: docker run -t --rm --privileged test-integration ./hack/test-integration.sh -test.only-flaky=false
157-
- name: "Run integration tests (flaky)"
158-
run: docker run -t --rm --privileged test-integration ./hack/test-integration.sh -test.only-flaky=true
97+
# test-integration:
98+
# needs: build-dependencies
99+
# timeout-minutes: 30
100+
# name: rootful | ${{ matrix.containerd }} | ${{ matrix.runner }}
101+
# runs-on: "${{ matrix.runner }}"
102+
# strategy:
103+
# fail-fast: false
104+
# matrix:
105+
# # ubuntu-20.04: cgroup v1, ubuntu-22.04 and later: cgroup v2
106+
# include:
107+
# - ubuntu: 20.04
108+
# containerd: v1.6.36
109+
# runner: "ubuntu-20.04"
110+
# arch: amd64
111+
# # - ubuntu: 22.04
112+
# # containerd: v1.7.25
113+
# # runner: "ubuntu-22.04"
114+
# # arch: amd64
115+
# - ubuntu: 24.04
116+
# containerd: v2.0.2
117+
# runner: "ubuntu-24.04"
118+
# arch: amd64
119+
# # - ubuntu: 24.04
120+
# # containerd: v2.0.2
121+
# # runner: arm64-8core-32gb
122+
# # arch: arm64
123+
# env:
124+
# CONTAINERD_VERSION: "${{ matrix.containerd }}"
125+
# ARCH: "${{ matrix.arch }}"
126+
# UBUNTU_VERSION: "${{ matrix.ubuntu }}"
127+
# steps:
128+
# - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
129+
# with:
130+
# fetch-depth: 1
131+
# - name: "Expose GitHub Runtime variables for gha"
132+
# uses: crazy-max/ghaction-github-runtime@b3a9207c0e1ef41f4cf215303c976869d0c2c1c4 # v3.0.0
133+
# - name: "Prepare integration test environment"
134+
# run: |
135+
# docker buildx create --name with-gha --use
136+
# docker buildx build \
137+
# --output=type=docker \
138+
# --cache-from type=gha,scope=${ARCH}-${CONTAINERD_VERSION} \
139+
# -t test-integration --target test-integration --build-arg UBUNTU_VERSION=${UBUNTU_VERSION} --build-arg CONTAINERD_VERSION=${CONTAINERD_VERSION} .
140+
# - name: "Remove snap loopback devices (conflicts with our loopback devices in TestRunDevice)"
141+
# run: |
142+
# sudo systemctl disable --now snapd.service snapd.socket
143+
# sudo apt-get purge -y snapd
144+
# sudo losetup -Dv
145+
# sudo losetup -lv
146+
# - name: "Register QEMU (tonistiigi/binfmt)"
147+
# run: |
148+
# # `--install all` will only install emulation for architectures that cannot be natively executed
149+
# # Since some arm64 platforms do provide native fallback execution for 32 bits,
150+
# # armv7 emulation may or may not be installed, causing variance in the result of `uname -m`.
151+
# # To avoid that, we explicitly list the architectures we do want emulation for.
152+
# docker run --privileged --rm tonistiigi/binfmt --install linux/amd64
153+
# docker run --privileged --rm tonistiigi/binfmt --install linux/arm64
154+
# docker run --privileged --rm tonistiigi/binfmt --install linux/arm/v7
155+
# - name: "Run integration tests"
156+
# run: docker run -t --rm --privileged test-integration ./hack/test-integration.sh -test.only-flaky=false
157+
# - name: "Run integration tests (flaky)"
158+
# run: docker run -t --rm --privileged test-integration ./hack/test-integration.sh -test.only-flaky=true
159159

160-
test-integration-ipv6:
161-
needs: build-dependencies
162-
timeout-minutes: 15
163-
name: ipv6 | ${{ matrix.containerd }} | ${{ matrix.ubuntu }}
164-
runs-on: "ubuntu-${{ matrix.ubuntu }}"
165-
strategy:
166-
fail-fast: false
167-
matrix:
168-
include:
169-
- ubuntu: 24.04
170-
containerd: v2.0.2
171-
arch: amd64
172-
env:
173-
CONTAINERD_VERSION: "${{ matrix.containerd }}"
174-
ARCH: "${{ matrix.arch }}"
175-
UBUNTU_VERSION: "${{ matrix.ubuntu }}"
176-
steps:
177-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
178-
with:
179-
fetch-depth: 1
180-
- name: Enable ipv4 and ipv6 forwarding
181-
run: |
182-
sudo sysctl -w net.ipv6.conf.all.forwarding=1
183-
sudo sysctl -w net.ipv4.ip_forward=1
184-
- name: "Expose GitHub Runtime variables for gha"
185-
uses: crazy-max/ghaction-github-runtime@b3a9207c0e1ef41f4cf215303c976869d0c2c1c4 # v3.0.0
186-
- name: Enable IPv6 for Docker, and configure docker to use containerd for gha
187-
run: |
188-
sudo mkdir -p /etc/docker
189-
echo '{"ipv6": true, "fixed-cidr-v6": "2001:db8:1::/64", "experimental": true, "ip6tables": true}' | sudo tee /etc/docker/daemon.json
190-
sudo systemctl restart docker
191-
- name: "Prepare integration test environment"
192-
run: |
193-
docker buildx create --name with-gha --use
194-
docker buildx build \
195-
--output=type=docker \
196-
--cache-from type=gha,scope=${ARCH}-${CONTAINERD_VERSION} \
197-
-t test-integration --target test-integration --build-arg UBUNTU_VERSION=${UBUNTU_VERSION} --build-arg CONTAINERD_VERSION=${CONTAINERD_VERSION} .
198-
- name: "Remove snap loopback devices (conflicts with our loopback devices in TestRunDevice)"
199-
run: |
200-
sudo systemctl disable --now snapd.service snapd.socket
201-
sudo apt-get purge -y snapd
202-
sudo losetup -Dv
203-
sudo losetup -lv
204-
- name: "Register QEMU (tonistiigi/binfmt)"
205-
run: |
206-
# `--install all` will only install emulation for architectures that cannot be natively executed
207-
# Since some arm64 platforms do provide native fallback execution for 32 bits,
208-
# armv7 emulation may or may not be installed, causing variance in the result of `uname -m`.
209-
# To avoid that, we explicitly list the architectures we do want emulation for.
210-
docker run --privileged --rm tonistiigi/binfmt --install linux/amd64
211-
docker run --privileged --rm tonistiigi/binfmt --install linux/arm64
212-
docker run --privileged --rm tonistiigi/binfmt --install linux/arm/v7
213-
- name: "Run integration tests"
214-
# The nested IPv6 network inside docker and qemu is complex and needs a bunch of sysctl config.
215-
# Therefore, it's hard to debug why the IPv6 tests fail in such an isolation layer.
216-
# On the other side, using the host network is easier at configuration.
217-
# Besides, each job is running on a different instance, which means using host network here
218-
# is safe and has no side effects on others.
219-
run: docker run --network host -t --rm --privileged test-integration ./hack/test-integration.sh -test.only-ipv6
160+
# test-integration-ipv6:
161+
# needs: build-dependencies
162+
# timeout-minutes: 15
163+
# name: ipv6 | ${{ matrix.containerd }} | ${{ matrix.ubuntu }}
164+
# runs-on: "ubuntu-${{ matrix.ubuntu }}"
165+
# strategy:
166+
# fail-fast: false
167+
# matrix:
168+
# include:
169+
# - ubuntu: 24.04
170+
# containerd: v2.0.2
171+
# arch: amd64
172+
# env:
173+
# CONTAINERD_VERSION: "${{ matrix.containerd }}"
174+
# ARCH: "${{ matrix.arch }}"
175+
# UBUNTU_VERSION: "${{ matrix.ubuntu }}"
176+
# steps:
177+
# - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
178+
# with:
179+
# fetch-depth: 1
180+
# - name: Enable ipv4 and ipv6 forwarding
181+
# run: |
182+
# sudo sysctl -w net.ipv6.conf.all.forwarding=1
183+
# sudo sysctl -w net.ipv4.ip_forward=1
184+
# - name: "Expose GitHub Runtime variables for gha"
185+
# uses: crazy-max/ghaction-github-runtime@b3a9207c0e1ef41f4cf215303c976869d0c2c1c4 # v3.0.0
186+
# - name: Enable IPv6 for Docker, and configure docker to use containerd for gha
187+
# run: |
188+
# sudo mkdir -p /etc/docker
189+
# echo '{"ipv6": true, "fixed-cidr-v6": "2001:db8:1::/64", "experimental": true, "ip6tables": true}' | sudo tee /etc/docker/daemon.json
190+
# sudo systemctl restart docker
191+
# - name: "Prepare integration test environment"
192+
# run: |
193+
# docker buildx create --name with-gha --use
194+
# docker buildx build \
195+
# --output=type=docker \
196+
# --cache-from type=gha,scope=${ARCH}-${CONTAINERD_VERSION} \
197+
# -t test-integration --target test-integration --build-arg UBUNTU_VERSION=${UBUNTU_VERSION} --build-arg CONTAINERD_VERSION=${CONTAINERD_VERSION} .
198+
# - name: "Remove snap loopback devices (conflicts with our loopback devices in TestRunDevice)"
199+
# run: |
200+
# sudo systemctl disable --now snapd.service snapd.socket
201+
# sudo apt-get purge -y snapd
202+
# sudo losetup -Dv
203+
# sudo losetup -lv
204+
# - name: "Register QEMU (tonistiigi/binfmt)"
205+
# run: |
206+
# # `--install all` will only install emulation for architectures that cannot be natively executed
207+
# # Since some arm64 platforms do provide native fallback execution for 32 bits,
208+
# # armv7 emulation may or may not be installed, causing variance in the result of `uname -m`.
209+
# # To avoid that, we explicitly list the architectures we do want emulation for.
210+
# docker run --privileged --rm tonistiigi/binfmt --install linux/amd64
211+
# docker run --privileged --rm tonistiigi/binfmt --install linux/arm64
212+
# docker run --privileged --rm tonistiigi/binfmt --install linux/arm/v7
213+
# - name: "Run integration tests"
214+
# # The nested IPv6 network inside docker and qemu is complex and needs a bunch of sysctl config.
215+
# # Therefore, it's hard to debug why the IPv6 tests fail in such an isolation layer.
216+
# # On the other side, using the host network is easier at configuration.
217+
# # Besides, each job is running on a different instance, which means using host network here
218+
# # is safe and has no side effects on others.
219+
# run: docker run --network host -t --rm --privileged test-integration ./hack/test-integration.sh -test.only-ipv6
220220

221221
test-integration-rootless:
222222
needs: build-dependencies

cmd/nerdctl/container/container_inspect_linux_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -422,6 +422,10 @@ func TestContainerInspectDevices(t *testing.T) {
422422
base := testutil.NewBase(t)
423423
defer base.Cmd("rm", "-f", testContainer).Run()
424424

425+
if rootlessutil.IsRootless() && infoutil.CgroupsVersion() == "1" {
426+
t.Skip("test skipped for rootless containers on cgroup v1")
427+
}
428+
425429
// Create a temporary directory
426430
dir, err := os.MkdirTemp(t.TempDir(), "device-dir")
427431
if err != nil {

0 commit comments

Comments
 (0)