Init pm#2088
Draft
AntonFomichev-Flant wants to merge 44 commits into
Draft
Conversation
1e15bda to
854cedb
Compare
a7f446f to
3ca5591
Compare
8f84fca to
ced3603
Compare
8b0cfb8 to
606dcd4
Compare
Signed-off-by: Artem Fedorov <artem.fedorov@flant.com>
Signed-off-by: Artem Fedorov <artem.fedorov@flant.com>
Signed-off-by: Artem Fedorov <artem.fedorov@flant.com>
bfdf936 to
c7cf797
Compare
…ith nbdkit, edk2 xorriso
Switch virt-launcher-binaries stage and virt-artifact/gobuilder CGO builds off ALT base onto builder/distroless + builder/golang-1.25. Replace relocate_binaries.sh flow with pm install; bump base images to container-factory v1.2.0.
Signed-off-by: Artem Fedorov <artem.fedorov@flant.com>
werf rejects two imports targeting the same /relocate path. Import libvirt and qemu into separate dirs and merge them with cp -a in the install step, as the previous flow did.
DVP packages/* wrappers pull mixed bases (builder/src, builder/alt glibc 2.41), which conflicts with the distroless glibc 2.43 used by golang-1.25 and qemu. Switch virt-artifact and gobuilder CGO builds to pm install with base-image package names so all binaries link against a single glibc 2.43.
golang-1.25 base ships .pc files but no pkg-config binary; cgo libvirt bindings need it. Add pkgconf to the pm install set in virt-artifact and gobuilder.
libvirt cgo bindings pull libssh, which needs OpenSSL 3.0 symbols (ERR_error_string@OPENSSL_3.0.0). Add openssl/openssl-devel to the pm install set in virt-artifact and gobuilder.
cgo only compiles against libvirt headers (+glib2 via libvirt.pc); the rest are runtime libs linked by SONAME. curl-devel also pulled a broken zlib2-devel dep. Keep -devel only for libvirt and glib2, the rest as runtime packages.
golang-1.25 base has no git; the kubevirt build applies patches with git apply. Add git to the pm install set.
The distroless builder has no glibc in system paths, so setcap from the libcap pm package cannot resolve libc.so.6/libcap.so.2. Invoke it through ld-linux with an explicit library-path pointing into /relocate.
node-labeller (glibc 2.43, pulls libvirt.so.0 -> libxml2.so.16) failed on the base-alt virt-handler which ships libxml2.so.2. Move the -bins stage to distroless + pm install so libvirt and its libxml2.so.16 come from one glibc 2.43 set. nftables/jansson have no pm packages yet and are imported from the DVP packages/* wrappers as a stopgap.
node-labeller (Go+cgo, no RUNPATH) crashlooped in the virt-launcher initContainer of the virt-handler pod: libxml2.so.16 not found. pm spreads libs across /usr/lib and /usr/lib64 but the gnu-glibc ld.so.cache only indexes glibc paths. Run ldconfig -r /relocate in the binaries stage so the cache covers both libdirs; -r writes root-relative paths that resolve once /relocate becomes /. Also take libnftnl/libmnl from pm instead of the DVP wrappers.
dvcr-importer (cgo) links libnbd.so.0 but libnbd was only in the builder deps, not the -bins runtime set, so it crashed at startup and CVI provisioning hung. Add libnbd + gnu-glibc to the runtime set and run ldconfig -r /relocate so the split /usr/lib+/usr/lib64 layout resolves.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Flant package manager integration
Why do we need it, and what problem does it solve?
Boost Git workflow
Simplify werf templating
What is the expected result?
In plans:
Checklist
Changelog entries