Skip to content

Update node image for s390x#11312

Open
vivkong wants to merge 1 commit intoprojectcalico:masterfrom
linux-on-ibm-z:calico-node-s390x
Open

Update node image for s390x#11312
vivkong wants to merge 1 commit intoprojectcalico:masterfrom
linux-on-ibm-z:calico-node-s390x

Conversation

@vivkong
Copy link

@vivkong vivkong commented Nov 4, 2025

Description

The calico-node pod failed to run on s390x with this error:

goroutine 1 [running]:
github.com/projectcalico/calico/felix/bpf/maps.GetMapFDByPin(...)
        /go/src/github.com/projectcalico/calico/felix/bpf/maps/syscall_stub.go:24
github.com/projectcalico/calico/felix/bpf/maps.(*PinnedMap).Open(0xc000c0c630)
        /go/src/github.com/projectcalico/calico/felix/bpf/maps/maps.go:568 +0x696
github.com/projectcalico/calico/felix/bpf/maps.(*PinnedMap).EnsureExists(0xc000c0c630)
        /go/src/github.com/projectcalico/calico/felix/bpf/maps/maps.go:636 +0xc4
github.com/projectcalico/calico/felix/bpf/nat.RemoveConnectTimeLoadBalancer(0x1, {0x0, 0x0})
        /go/src/github.com/projectcalico/calico/felix/bpf/nat/connecttime.go:74 +0x214
github.com/projectcalico/calico/felix/dataplane/linux.NewIntDataplaneDriver({{0xc000076014, 0x21}, {0x0, 0x0}, 0x0, {0x0, 0x0}, 0x0, 0x0, 0x0, ...})
        /go/src/github.com/projectcalico/calico/felix/dataplane/linux/int_dataplane.go:787 +0x38a6
github.com/projectcalico/calico/felix/dataplane.StartDataplaneDriver(0xc0008c9508, 0xc000ac5bf0, {0x515f908, 0xc0006900b0}, 0xc000bde2b0, 0xc000bde2c0, 0xc000a03a40, 0xc000634a60)
        /go/src/github.com/projectcalico/calico/felix/dataplane/driver.go:422 +0x2a60
github.com/projectcalico/calico/felix/daemon.Run({0x4a0fdd4, 0x15}, {0x50e8098, 0xd}, {0x50fb6d0, 0x18}, {0x513f240, 0x28})
        /go/src/github.com/projectcalico/calico/felix/daemon/daemon.go:441 +0x2992
main.main()
        /go/src/github.com/projectcalico/calico/node/cmd/calico-node/main.go:129 +0x964

This PR updates the s390x node image to align with amd64 and arm64. With these changes the calico-node pod can be run and works as expected.

Related issues/PRs

Todos

  • Tests
  • Documentation
  • Release note

Release Note

Fix panic in calico/node on s390x architecture. 

Reminder for the reviewer

Make sure that this PR has the correct labels and milestone set.

Every PR needs one docs-* label.

  • docs-pr-required: This change requires a change to the documentation that has not been completed yet.
  • docs-completed: This change has all necessary documentation completed.
  • docs-not-required: This change has no user-facing impact and requires no docs.

Every PR needs one release-note-* label.

  • release-note-required: This PR has user-facing changes. Most PRs should have this label.
  • release-note-not-required: This PR has no user-facing changes.

Other optional labels:

  • cherry-pick-candidate: This PR should be cherry-picked to an earlier release. For bug fixes only.
  • needs-operator-pr: This PR is related to install and requires a corresponding change to the operator.

@vivkong vivkong requested a review from a team as a code owner November 4, 2025 14:18
@marvin-tigera marvin-tigera added this to the Calico v3.32.0 milestone Nov 4, 2025
@marvin-tigera marvin-tigera added release-note-required Change has user-facing impact (no matter how small) docs-pr-required Change is not yet documented labels Nov 4, 2025
@caseydavenport
Copy link
Member

/sem-approve

1 similar comment
@caseydavenport
Copy link
Member

/sem-approve

@vivkong
Copy link
Author

vivkong commented Nov 5, 2025

I'm looking into the build failure during the multi-arch build.

@caseydavenport
Copy link
Member

# runtime/cgo
cc1: error: bad value ('z13') for '-march=' switch
cc1: note: valid arguments to '-march=' switch are: nocona core2 nehalem corei7 westmere sandybridge corei7-avx ivybridge core-avx-i haswell core-avx2 broadwell skylake skylake-avx512 cannonlake icelake-client icelake-server bonnell atom silvermont slm knl knm x86-64 eden-x2 nano nano-1000 nano-2000 nano-3000 nano-x2 eden-x4 nano-x4 k8 k8-sse3 opteron opteron-sse3 athlon64 athlon64-sse3 athlon-fx amdfam10 barcelona bdver1 bdver2 bdver3 bdver4 znver1 btver1 btver2 native

Looks like s390x build errors.

@vivkong
Copy link
Author

vivkong commented Nov 6, 2025

It looks like the builder doesn't have the cross compile toolchain for s390x. Looking to see how to add that.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 6, 2026

This PR is stale because it has been open for 60 days with no activity.

@github-actions github-actions bot added the stale Issues without recent activity label Jan 6, 2026
@vivkong
Copy link
Author

vivkong commented Jan 6, 2026

Sorry for the delay. I'm still looking into this and will update to resolve conflicts.

@github-actions github-actions bot removed the stale Issues without recent activity label Jan 6, 2026
@vivkong
Copy link
Author

vivkong commented Feb 3, 2026

Hi @caseydavenport can you please take a look at the updated changes? Thanks.

@hjiawei
Copy link
Contributor

hjiawei commented Feb 3, 2026

Link #11707. @caseydavenport Can you help coordinate these two PRs for both s390x and ppc64le?

@hjiawei
Copy link
Contributor

hjiawei commented Mar 19, 2026

Calico/node Dockerfiles are unified for all supported architectures in #12188.

@vivkong
Copy link
Author

vivkong commented Mar 23, 2026

Thanks @hjiawei. Will update this PR.

@vivkong vivkong force-pushed the calico-node-s390x branch from cafffc1 to b8669a0 Compare March 23, 2026 13:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs-pr-required Change is not yet documented release-note-required Change has user-facing impact (no matter how small)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants