Skip to content
This repository has been archived by the owner on Oct 22, 2024. It is now read-only.

build: use debian:buster as base images, non-reproducible builds #751

Merged
merged 1 commit into from
Sep 29, 2020

Conversation

pohly
Copy link
Contributor

@pohly pohly commented Sep 28, 2020

The frequent updates of Clear Linux have been a problem, typically
leading to new PMEM-CSI releases for no good reason other than "there
might have been a bug fix". Debian is expected to update less
frequently. We also no longer update automatically.

The approach taken for that is to use the latest release as base,
whatever that is. In other words, we no longer offer reproducible
releases because there is no way to lock down exactly which files are
taken from the upstream distro. Each release is only built once, so
the binary content is still locked down at build time - we just don't
record in the source code what exactly that binary content is. In
practice that should be good enough.

Compared to Clear Linux, the approach for disabling usage of udev has
changed a bit. use_lvmetad is no longer a valid configuration option.

@pohly pohly requested a review from okartau September 28, 2020 09:14
@pohly
Copy link
Contributor Author

pohly commented Sep 28, 2020

I have already disabled the automated release update job in Jenkins.

@pohly pohly force-pushed the debian branch 4 times, most recently from 1274504 to f4bb77a Compare September 28, 2020 12:44
The frequent updates of Clear Linux have been a problem, typically
leading to new PMEM-CSI releases for no good reason other than "there
might have been a bug fix". Debian is expected to update less
frequently. We also no longer update automatically.

The approach taken for that is to use the latest release as base,
whatever that is. In other words, we no longer offer reproducible
releases because there is no way to lock down exactly which files are
taken from the upstream distro. Each release is only built once, so
the binary content is still locked down at build time - we just don't
record in the source code what exactly that binary content is. In
practice that should be good enough.

Compared to Clear Linux, the approach for disabling usage of udev has
changed a bit. use_lvmetad is no longer a valid configuration option.
# fio - only included in testing images
RUN ${APT_GET} update && \
${APT_GET} upgrade -y --no-install-recommends && \
${APT_GET} install -y --no-install-recommends file xfsprogs e2fsprogs lvm2 ndctl \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, now on we no longer building ndctl from the source.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct. It makes our bill of materials and Dockerfile simpler. I don't think we ever really needed the ability to build a newer version than the one offered by the distro, and as ndctl is even more mature now I don't expect that either.

@okartau
Copy link
Contributor

okartau commented Sep 28, 2020

not many "clear" mentioned any more after change, but there is still (in Jenkinsfile) BUILD_IMAGE composed from pmem-clear-linux-builder, but is that intentional, as we have CI registry filled with those images?

@pohly
Copy link
Contributor Author

pohly commented Sep 29, 2020

BUILD_IMAGE composed from pmem-clear-linux-builder, but is that intentional

Kind of. By keeping the name we can overwrite the existing images. Not sure how important that is, though.

@pohly pohly merged commit a6edf05 into intel:devel Sep 29, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants