csi-driver-lvm icon indicating copy to clipboard operation
csi-driver-lvm copied to clipboard

Dockerfile dependency packages questions

Open liulanze opened this issue 3 years ago • 7 comments

Hi Team,

When reading the Dockerfile, I found that lvm2-extra and e2fsprogs-extra are required as dependency. I can see they are all installed by apk, but these packages are not available in my package manager (tdnf), so want to consult what is the usage of these packages, and are they necessary for csi-driver-lvm to be built and running?

Thanks, liulanze@

liulanze avatar Oct 05 '22 22:10 liulanze

Why do you want to use another base image for the csi-driver-lvm ? Can you please elaborate.

majst01 avatar Oct 06 '22 05:10 majst01

Why do you want to use another base image for the csi-driver-lvm ? Can you please elaborate.

For some reason I need to leverage a certain distro os for csi-driver-lvm, and by that os they use tdnf as package manager.

liulanze avatar Oct 06 '22 21:10 liulanze

Why do you want to use another base image for the csi-driver-lvm ? Can you please elaborate.

For some reason I need to leverage a certain distro os for csi-driver-lvm, and by that os they use tdnf as package manager.

As we do not plan to test with different base distro's, i am afraid you must figure out by yourself what packages are required in you distro to bring the same binaries.

You can check in the source code what executables are executed with exec.Command and check.

majst01 avatar Oct 07 '22 05:10 majst01

Mh... looks to me a bit like the packages are not really needed. Would be nice if you can tell us whether it worked out for you or not. You can test basic functionality with Kind as done in CI by running the test target in the Makefile. (create to loop volumes for testing before, e.g. with for i in 100 101; do fallocate -l 1G loop${i}.img ; sudo losetup /dev/loop${i} loop${i}.img; done)

Gerrit91 avatar Oct 07 '22 06:10 Gerrit91

From what i can see at least e2fsprogs-extra is required for resize2fs

majst01 avatar Oct 07 '22 06:10 majst01

Thanks @majst01 @Gerrit91 for the message, I will test with properly. In the meantime, I found there is a go module difference in Makefile between release v0.4.1 and v0.5.0, that go mod tidy is required for provisioner and lvmplugin to be built. Could you please elaborate why we need this tidy module? Because I thought vendor module would be enough in most cases. Thanks!

liulanze avatar Oct 12 '22 21:10 liulanze

Hi @liulanze go.mod and go.sum are updated regularly, if someone missed to run go mod tidy, the build would not succeed. Makefile is not involved and we do not use vendor directory at all in none of our projects.

majst01 avatar Oct 13 '22 06:10 majst01

This has become stale, please re-open if necessary.

Gerrit91 avatar Jan 10 '23 15:01 Gerrit91