Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use gardenlinux base image #103

Merged
merged 4 commits into from
Mar 22, 2024
Merged

Use gardenlinux base image #103

merged 4 commits into from
Mar 22, 2024

Conversation

petersutter
Copy link
Member

@petersutter petersutter commented Mar 11, 2024

What this PR does / why we need it:
With this PR, we switch from ubuntu to gardenlinux base image.

Which issue(s) this PR fixes:
Fixes #

Special notes for your reviewer:

Release note:

The base image switched from `ubuntu` to `gardenlinux`. Also `pip` and `mdv` (markdown viewer) binaries are not installed anymore by default

@petersutter petersutter requested a review from a team as a code owner March 11, 2024 16:07
@gardener-robot gardener-robot added needs/review Needs review size/xs Size of pull request is tiny (see gardener-robot robot/bots/size.py) labels Mar 11, 2024
@gardener-robot-ci-3 gardener-robot-ci-3 added reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) needs/ok-to-test Needs approval for testing (check PR in detail before setting this label because PR is run on CI/CD) and removed reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) labels Mar 11, 2024
Copy link
Contributor

@plkokanov plkokanov left a comment

Choose a reason for hiding this comment

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

Thanks for taking care of this!

hacks/ghelp Outdated Show resolved Hide resolved
.ci/build Outdated
@@ -1,6 +1,6 @@
#!/bin/bash -eu

UBUNTU_VERSION=22.04
GARDENLINUX_VERSION=nightly
Copy link
Contributor

Choose a reason for hiding this comment

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

Is nightly stable enough? This also might make it a bit hard to track on which version of gardenlinux a concrete ops-toolbelt release is built.

Copy link
Member Author

@petersutter petersutter Mar 13, 2024

Choose a reason for hiding this comment

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

A new 1443.0 tag was created 14 hours ago, which I have used now (eebf397).
However, before that, there was a container image with 1417.0 tag. I couldn't find a corresponding tag (or release) for this version, which I found strange. Hence, I didn't initially use that one.

Maybe @Vincinator could provide some insight on this. I notice there is a publish_container.yml workflow, but it seems to only be called by the nightly workflow.
Will there always be a container image with a tag corresponding to a gardenlinux release in the future?

Copy link
Contributor

Choose a reason for hiding this comment

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

Will there always be a container image with a tag corresponding to a gardenlinux release in the future?

If there isn't always a container image with the corresponding tag we'll have to take care of updating this every time a tag is dropped or a new one is created. On the other side I'm worried how stable/reliable the nightly builds are.
Let's wait a bit for the gardenlinux foks to reply.

Choose a reason for hiding this comment

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

I think you can use the latest available garden linux base container image (via nightly tag).

If our Garden Linux nightly pipeline fails (due to a build issue, missing packages, package incompatibilities, other package repo issues, failing unit tests or failing platform tests, publishing issues, ...) we do not publish this version.

Keep in mind, that if the tool belt container is based on nightly, you automatically upgrade packages also in major version, which can be exactly what you want - but you should be aware.

If you need more version stability, you need the latest supported Garden Linux released for gardener. To automatically get this, I can discuss with my colleagues that we add a latest or LTS tag to the garden linux base container image that matches the latest release for gardener (currently 1443.0).

Copy link
Member Author

Choose a reason for hiding this comment

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

This also might make it a bit hard to track on which version of gardenlinux a concrete ops-toolbelt release is built.

In this case we wouldn't need a latest tag or such and would pin it instead to a certain versio. We would use renovate bot to propose PRs with version bumps of gardenlinux.

Just for confirmation @Vincinator: the github releases, github release tags and container image tags are always in sync, right?

Copy link
Contributor

Choose a reason for hiding this comment

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

And one more question @Vincinator during the build of the images we currently run:

apt-get --yes update && apt-get -s dist-upgrade | grep "^Inst" | grep -i securi | awk -F " " {'print $2'} | xargs apt-get install;\
      rm -rf /var/lib/apt/lists

The reasoning is that for ubuntu it turns out that latest security updates do not get automatically installed when you specify a version tag. Do we need to continue doing this for gardenlinux?

Copy link

@Vincinator Vincinator Mar 21, 2024

Choose a reason for hiding this comment

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

the github releases, github release tags and container image tags are always in sync, right?

Yes, guaranteed since 1443.0, and manually fixed for 1312.3, no container base images for 934.

The reasoning is that for ubuntu it turns out that latest security updates do not get automatically installed when you specify a version tag. Do we need to continue doing this for gardenlinux?

If you only need to apply security patches during the build, you can rely on the latest apt repository (e.g. 1312.3 containing all security patches for the 1312 release) containing all current security patches.

When we deliver security updates, we provide:

  • updated base container image (you re-roll the container image)
  • update cloud images (you re-roll the cloud image)
  • updated apt repository

@gardener-robot gardener-robot added size/s Size of pull request is small (see gardener-robot robot/bots/size.py) and removed size/xs Size of pull request is tiny (see gardener-robot robot/bots/size.py) labels Mar 13, 2024
@gardener-robot-ci-3 gardener-robot-ci-3 added the reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) label Mar 13, 2024
@gardener-robot-ci-1 gardener-robot-ci-1 removed the reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) label Mar 13, 2024
@gardener-robot-ci-3 gardener-robot-ci-3 added reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) and removed reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) labels Mar 13, 2024
@gardener-robot-ci-1 gardener-robot-ci-1 added reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) and removed reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) labels Mar 19, 2024
@gardener-robot-ci-2 gardener-robot-ci-2 added the reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) label Mar 22, 2024
@gardener-robot-ci-3 gardener-robot-ci-3 removed the reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) label Mar 22, 2024
Copy link
Contributor

@plkokanov plkokanov left a comment

Choose a reason for hiding this comment

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

/lgtm

@petersutter petersutter merged commit e4641d7 into master Mar 22, 2024
7 checks passed
@petersutter petersutter deleted the enh/gardenlinux branch March 22, 2024 13:01
@gardener-robot gardener-robot added reviewed/lgtm Has approval for merging and removed needs/review Needs review labels Mar 22, 2024
@gardener-robot-ci-3 gardener-robot-ci-3 added the reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) label Mar 22, 2024
@gardener-robot gardener-robot added the status/closed Issue is closed (either delivered or triaged) label Mar 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs/ok-to-test Needs approval for testing (check PR in detail before setting this label because PR is run on CI/CD) reviewed/lgtm Has approval for merging reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) size/s Size of pull request is small (see gardener-robot robot/bots/size.py) status/closed Issue is closed (either delivered or triaged)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants