This repository was archived by the owner on May 30, 2023. It is now read-only.
Conversation
The oem-aci profile previously removed python3 from the produced oem images by having an entry saying dev-lang/python-3.X is provided and removing all python3 files. This only worked as long as python2 was available and installed instead, but since python2 was removed from the tree these entries in the profile resulted in oem-aci having no python at all. This prevents the oem-gce service from working, since a lot of what it does is python. Remove the INSTALL_MASK and package.provided entries for python3 to allow python3 into oem-aci images.
and add missing dependencies on dev-python/distro and sys-apps/coreutils. We need to bump the version to 20190124 because: * 20180611 is not compatible with python 3.9 because of missing distro module and trying to access os.errno (instead of importing the errno module). Also why we need the dependency on dev-python/distro * 20190124 is the last version before the repo was split and reorganized which would require more work to the ebuilds The coreutils dependency is necessary because the scripts call basename/nproc/cat but previously coreutils was pulled in by the following dependency chain: (dependency required by "app-admin/eselect-1.4.16::portage-stable" [binary]) (dependency required by "app-eselect/eselect-python-20160516::portage-stable" [binary]) (dependency required by "dev-lang/python-2.7.15::portage-stable" [binary]) (dependency required by "dev-python/boto-2.48.0::portage-stable" [binary]) (dependency required by "app-emulation/google-compute-engine-20180611::coreos" [binary]) (dependency required by "coreos-base/coreos-oem-gce-0.0.1-r5::coreos" [binary]) (dependency required by "coreos-base/coreos-oem-gce" [argument]) This chain seems to not hold any longer and we should be explicit about dependencies.
The container performs multi-queue optimizations for ssd and network devices which requires touching /proc and /sys/ mounts which systemd-nspawn usually mounts readonly. Allow the container to modify those by setting the appropriate environment variable (found via https://systemd.io/ENVIRONMENT/).
Contributor
|
Thanks, looks good. I really think this is the kind of functionality that should be tested by kola because it's something not developed by an upstream project but custom to Flatcar. |
Contributor
Author
|
Agree - looking into adding a test for this. |
Contributor
Author
|
This is now covered by tests, could you have a second look @pothos ? |
pothos
reviewed
Apr 20, 2022
pothos
reviewed
Apr 20, 2022
pothos
approved these changes
Apr 20, 2022
Contributor
pothos
left a comment
There was a problem hiding this comment.
Thanks, looks good, just some suggestions above
d7eca7c to
8b44e89
Compare
Contributor
Author
|
Fixed up the changelog, now going in for the cherry-pick. |
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
fix GCP OEM functionality
Since we dropped python2 from our tree, the GCP OEM container image has been broken. This is because we explicitly removed/masked all python3 packages in the oem-aci profile. After restoring python in the container image, it turns out more dependencies were missing and we need to update the compute-engine-packages to work with python 3.9.
Requires: flatcar-archive/portage-stable#321
Related: flatcar/Flatcar#714
How to use
Testing done
Testing this together with some semi-related commits here: http://jenkins.infra.kinvolk.io:8080/job/os/job/manifest/5373/cldsv/.
changelog/directory (user-facing change, bug fix, security fix, update)