Skip to content

ROX-33603: Switch to UBI9 base images#19437

Open
mclasmeier wants to merge 20 commits intomasterfrom
mc/ubi9-2
Open

ROX-33603: Switch to UBI9 base images#19437
mclasmeier wants to merge 20 commits intomasterfrom
mc/ubi9-2

Conversation

@mclasmeier
Copy link
Contributor

Description

This PR switches all base images in the stackrox repo to UBI9. A couple of smaller changes had to be done to account for technical differences between UBI8 and UBI9.

All other changes are required for green CI.

See commit history.

User-facing documentation

Testing and quality

  • the change is production ready: the change is GA, or otherwise the functionality is gated by a feature flag
  • CI results are inspected

Automated testing

  • added unit tests
  • added e2e tests
  • added regression tests
  • added compatibility tests
  • modified existing tests

How I validated my change

change me!

Moritz Clasmeier added 20 commits March 16, 2026 13:19
 in import-additional-cas script.
restore-all-dir-contents && import-additional-cas
flow.

Without this I have seen that the permission fixing didn't work reliably for restarting pods:

sh-5.1$ restore-all-dir-contents
sh-5.1$ restore-all-dir-contents
sh-5.1$ import-additional-cas
No certificates found in /usr/local/share/ca-certificates
'/etc/pki/injected-ca-trust/tls-ca-bundle.pem' -> '/etc/pki/ca-trust/source/anchors/tls-ca-bundle.pem'
sh-5.1$ restore-all-dir-contents
cp: cannot create regular file '/etc/pki/ca-trust/extracted/pem/directory-hash/GlobalSign_ECC_Root_CA_-_R4.pem': Permission denied
cp: cannot create regular file '/etc/pki/ca-trust/extracted/pem/directory-hash/GlobalSign_ECC_Root_CA_-_R5.pem': Permission denied
cp: cannot create regular file '/etc/pki/ca-trust/extracted/pem/directory-hash/GlobalSign_Root_CA_-_R3.pem': Permission denied
cp: cannot create regular file '/etc/pki/ca-trust/extracted/pem/directory-hash/GlobalSign_Root_CA_-_R6.pem': Permission denied
cp: cannot create regular file '/etc/pki/ca-trust/extracted/pem/directory-hash/certSIGN_Root_CA_G2.pem': Permission denied
sh-5.1$
@mclasmeier mclasmeier requested review from a team and rhacs-bot as code owners March 16, 2026 12:40
@mclasmeier mclasmeier requested review from porridge and removed request for a team March 16, 2026 12:40
@rhacs-bot rhacs-bot requested a review from a team March 16, 2026 12:40
Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Sorry @mclasmeier, your pull request is larger than the review limit of 150000 diff characters

Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Sorry @github-actions[bot], your pull request is larger than the review limit of 150000 diff characters

@github-actions
Copy link
Contributor

/konflux-retest main-on-push

@rhacs-bot
Copy link
Contributor

Images are ready for the commit at f3548a1.

To use with deploy scripts, first export MAIN_IMAGE_TAG=4.11.x-348-gf3548a14f3.

@codecov
Copy link

codecov bot commented Mar 16, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 49.73%. Comparing base (e97eee2) to head (f3548a1).
⚠️ Report is 7 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master   #19437   +/-   ##
=======================================
  Coverage   49.73%   49.73%           
=======================================
  Files        2703     2703           
  Lines      204040   204040           
=======================================
+ Hits       101478   101489   +11     
+ Misses      94985    94977    -8     
+ Partials     7577     7574    -3     
Flag Coverage Δ
go-unit-tests 49.73% <100.00%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions
Copy link
Contributor

/konflux-retest scanner-v4-on-push

@github-actions
Copy link
Contributor

/konflux-retest main-on-push

@github-actions
Copy link
Contributor

/konflux-retest operator-bundle-on-push

2 similar comments
@github-actions
Copy link
Contributor

/konflux-retest operator-bundle-on-push

@github-actions
Copy link
Contributor

/konflux-retest operator-bundle-on-push

@github-actions
Copy link
Contributor

/konflux-retest central-db-on-push

@mclasmeier
Copy link
Contributor Author

/retest operator-bundle-on-push

@openshift-ci
Copy link

openshift-ci bot commented Mar 16, 2026

@mclasmeier: The /retest command does not accept any targets.
The following commands are available to trigger required jobs:

/test gke-nongroovy-e2e-tests
/test gke-ui-e2e-tests

The following commands are available to trigger optional jobs:

/test aks-qa-e2e-tests
/test aro-qa-e2e-tests
/test eks-qa-e2e-tests
/test gke-external-pg-17-qa-e2e-tests
/test gke-latest-nongroovy-e2e-tests
/test gke-latest-operator-e2e-tests
/test gke-latest-qa-e2e-tests
/test gke-latest-ui-e2e-tests
/test gke-nongroovy-compatibility-tests
/test gke-oldest-nongroovy-e2e-tests
/test gke-oldest-operator-e2e-tests
/test gke-oldest-qa-e2e-tests
/test gke-oldest-ui-e2e-tests
/test gke-operator-e2e-tests
/test gke-qa-e2e-tests
/test gke-race-condition-qa-e2e-tests
/test gke-scale-tests
/test gke-scanner-v4-install-tests
/test gke-sensor-integration-tests
/test gke-upgrade-tests
/test gke-version-compatibility-tests
/test ibmcloudz-4-14-qa-e2e-tests
/test ibmcloudz-4-15-qa-e2e-tests
/test ibmcloudz-4-16-qa-e2e-tests
/test ibmcloudz-4-17-qa-e2e-tests
/test ocp-4-12-compliance-e2e-tests
/test ocp-4-12-nongroovy-e2e-tests
/test ocp-4-12-operator-e2e-tests
/test ocp-4-12-qa-e2e-tests
/test ocp-4-12-scanner-v4-install-tests
/test ocp-4-12-sensor-integration-tests
/test ocp-4-12-ui-e2e-tests
/test ocp-4-20-compliance-e2e-tests
/test ocp-4-20-crun-qa-e2e-tests
/test ocp-4-20-fips-qa-e2e-tests
/test ocp-4-20-nongroovy-e2e-tests
/test ocp-4-20-operator-e2e-tests
/test ocp-4-20-qa-e2e-tests
/test ocp-4-20-scanner-v4-install-tests
/test ocp-4-20-sensor-integration-tests
/test ocp-4-20-ui-e2e-tests
/test ocp-4-21-compliance-e2e-tests
/test ocp-4-21-crun-qa-e2e-tests
/test ocp-4-21-fips-qa-e2e-tests
/test ocp-4-21-nongroovy-e2e-tests
/test ocp-4-21-operator-e2e-tests
/test ocp-4-21-qa-e2e-tests
/test ocp-4-21-scanner-v4-install-tests
/test ocp-4-21-sensor-integration-tests
/test ocp-4-21-ui-e2e-tests
/test ocp-dev-preview-compliance-e2e-tests
/test ocp-dev-preview-fips-qa-e2e-tests
/test ocp-dev-preview-nongroovy-e2e-tests
/test ocp-dev-preview-operator-e2e-tests
/test ocp-dev-preview-qa-e2e-tests
/test ocp-dev-preview-scanner-v4-install-tests
/test ocp-dev-preview-sensor-integration-tests
/test ocp-dev-preview-ui-e2e-tests
/test ocp-next-candidate-compliance-e2e-tests
/test ocp-next-candidate-fips-qa-e2e-tests
/test ocp-next-candidate-nongroovy-e2e-tests
/test ocp-next-candidate-operator-e2e-tests
/test ocp-next-candidate-qa-e2e-tests
/test ocp-next-candidate-scanner-v4-install-tests
/test ocp-next-candidate-sensor-integration-tests
/test ocp-next-candidate-ui-e2e-tests
/test ocp-stable-scanner-v4-install-compliance-e2e-tests
/test ocp-stable-scanner-v4-install-nongroovy-e2e-tests
/test ocp-stable-scanner-v4-install-operator-e2e-tests
/test ocp-stable-scanner-v4-install-qa-e2e-tests
/test ocp-stable-scanner-v4-install-scanner-v4-install-tests
/test ocp-stable-scanner-v4-install-sensor-integration-tests
/test ocp-stable-scanner-v4-install-ui-e2e-tests
/test osd-aws-qa-e2e-tests
/test osd-gcp-qa-e2e-tests
/test powervs-4-16-qa-corebpf-e2e-tests
/test powervs-4-17-qa-corebpf-e2e-tests
/test powervs-4-18-qa-corebpf-e2e-tests
/test powervs-4-19-qa-corebpf-e2e-tests
/test powervs-4-20-qa-corebpf-e2e-tests
/test powervs-4-21-qa-corebpf-e2e-tests
/test rosa-fips-qa-e2e-tests
/test rosa-hcp-qa-e2e-tests
/test rosa-qa-e2e-tests

Use /test all to run the following jobs that were automatically triggered:

pull-ci-stackrox-stackrox-master-gke-nongroovy-e2e-tests
pull-ci-stackrox-stackrox-master-gke-operator-e2e-tests
pull-ci-stackrox-stackrox-master-gke-qa-e2e-tests
pull-ci-stackrox-stackrox-master-gke-scanner-v4-install-tests
pull-ci-stackrox-stackrox-master-gke-ui-e2e-tests
pull-ci-stackrox-stackrox-master-gke-upgrade-tests
pull-ci-stackrox-stackrox-master-ocp-4-12-nongroovy-e2e-tests
pull-ci-stackrox-stackrox-master-ocp-4-12-operator-e2e-tests
pull-ci-stackrox-stackrox-master-ocp-4-12-qa-e2e-tests
pull-ci-stackrox-stackrox-master-ocp-4-12-scanner-v4-install-tests
pull-ci-stackrox-stackrox-master-ocp-4-20-nongroovy-e2e-tests
pull-ci-stackrox-stackrox-master-ocp-4-20-operator-e2e-tests
pull-ci-stackrox-stackrox-master-ocp-4-20-qa-e2e-tests
pull-ci-stackrox-stackrox-master-ocp-4-20-scanner-v4-install-tests
pull-ci-stackrox-stackrox-master-ocp-4-21-nongroovy-e2e-tests
pull-ci-stackrox-stackrox-master-ocp-4-21-operator-e2e-tests
pull-ci-stackrox-stackrox-master-ocp-4-21-qa-e2e-tests
pull-ci-stackrox-stackrox-master-ocp-4-21-scanner-v4-install-tests
Details

In response to this:

/retest operator-bundle-on-push

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

# configured correctly in the first place. Also, this kind of gets around the
# problem where you're trying to test something locally but forget to add a
# tmpfs mount to the appropriate mount points.
cp --recursive --no-dereference --no-clobber /.init-dirs/* /
Copy link
Contributor

Choose a reason for hiding this comment

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

  1. --no-clobber seems to be deprecated in favour of --update=none
  2. Can't we fix the permissions and use --force instead?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

FYI, I am currently exploring some other ways of addressing this.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

[root@1815735dd284 /]# cp --update=none /bin/ls /tmp
cp: option '--update' doesn't allow an argument
Try 'cp --help' for more information.
[root@1815735dd284 /]# cp --version
cp (GNU coreutils) 8.32
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Torbjorn Granlund, David MacKenzie, and Jim Meyering.
[root@1815735dd284 /]# 

This is from UBI9 minimal.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants