Skip to content

Conversation

@NickLarsenNZ
Copy link
Member

@NickLarsenNZ NickLarsenNZ commented Nov 21, 2025

Resolves #1349.

Description

Move to UBI10. This required a bunch of changes to the Pythong products because their dependencies are not available in UBI via DNF.

Note

This required an adjustment to the opa daemontools patch, otherwise compilation fails due to gcc-15 requirements.
Along the road to fixing this, we found some relevant links which might be useful in future:

Definition of Done Checklist

Note

Not all of these items are applicable to all PRs, the author should update this template to only leave the boxes in that are relevant.

Please make sure all these things are done and tick the boxes

  • Changes are OpenShift compatible
  • All added packages (via microdnf or otherwise) have a comment on why they are added
  • Things not downloaded from Red Hat repositories should be mirrored in the Stackable repository and downloaded from there
  • All packages should have (if available) signatures/hashes verified
  • Add an entry to the CHANGELOG.md file
  • Integration tests ran successfully
TIP: Running integration tests with a new product image

The image can be built and uploaded to the kind cluster with the following commands:

boil build <IMAGE> --image-version <RELEASE_VERSION> --strip-architecture --load
kind load docker-image <MANIFEST_URI> --name=<name-of-your-test-cluster>

See the output of boil to retrieve the image manifest URI for <MANIFEST_URI>.

Note: This required an adjustment to the opa daemonset patch, otherwise compilation fails due to gcc-15 requirements.
Along the road to fixing this, we found some relevant links which might be useful in future:
- [Github Repo](https://github.com/daemontools/daemontools) (shows daemontools 0.76 is 12 years old)
- [daemontools Homepage](https://cr.yp.to/daemontools.html)
- [Debian bug report](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1066623)
  - [Debian patches)(https://salsa.debian.org/debian/daemontools/-/tree/debian/latest/debian/patches?ref_type=heads)
  - [Reverted patch and GCC-15 fix](https://salsa.debian.org/debian/daemontools/-/commit/3e20831dfabe9dac4c5b6de3ae3945491280c80b#8756c63497c8dc39f7773438edf53b220c773f67)
@NickLarsenNZ NickLarsenNZ self-assigned this Nov 21, 2025
@NickLarsenNZ
Copy link
Member Author

NickLarsenNZ commented Nov 21, 2025

Previously we installed nodejs:${VERSION} via DNF modules. DNF modules are obsolete.
Now we have these options:

  • Install the latest available node package
  • Install a specific node package via the full name
  • Install a version manager (eg: nvm) to set the version that the version of the product requires.

In a similar vein, python3.11 is no available, but I see python3-3.12.11. So we have these options:

  • Install the latest available python package
  • Install a specific python package via the full name
  • Install a version manager (eg: uv venv --python 3.11) to set the version that the version of the product requires.

@NickLarsenNZ
Copy link
Member Author

Well

[root@c9e4e15b7e89 /]# npm install -g nvm
npm warn deprecated nvm@0.0.4: This is NOT the correct nvm. Visit https://nvm.sh and use the curl command to install it.

@NickLarsenNZ
Copy link
Member Author

NickLarsenNZ commented Nov 21, 2025

nvm appears to be a script or set of scripts), so I think we either need to:

  • Upload (via script) the latest archive to Nexus, or
  • Leverage patchable (and create a fork) to do all of this withing the repo without having to interact with Nexus.

…thon version using it

WIP: Still need to fix the build layers, but this appears to work fine (tested the oldest and newest versions via the getting_started guide)
WIP: We might not need this, but I made it and it works.
@NickLarsenNZ
Copy link
Member Author

I pushed my WIP commits since we have the on-site and I might lose track of where I was at.

I think we should use uv to completely manage the python version being used during the build and in the resulting image.

Per 538b3ba, I have tested oldest and newest airflow (via getting_started) and it ran fine. The build stage needs similar treatment as the final stage.

@NickLarsenNZ NickLarsenNZ moved this to Development: In Progress in Stackable Engineering Dec 11, 2025
@NickLarsenNZ
Copy link
Member Author

Airflow appears to run fine (tested getting_started and the airflow-scheduled-job demo, triggering various DAGs).

On to Superset next.

@NickLarsenNZ NickLarsenNZ mentioned this pull request Dec 16, 2025
@NickLarsenNZ
Copy link
Member Author

Superset seems to work. Tested smoke and oidc tests.

--- PASS: kuttl (410.52s)
    --- PASS: kuttl/harness (0.00s)
        --- PASS: kuttl/harness/smoke_superset-4.0.2,oci.stackable.tech_sandbox_nick_superset_4.0.2-stackable0.0.0-dev-amd64_openshift-false (154.27s)
        --- PASS: kuttl/harness/smoke_superset-6.0.0-rc2,oci.stackable.tech_sandbox_nick_superset_6.0.0-rc2-stackable0.0.0-dev-amd64_openshift-false (125.13s)
        --- PASS: kuttl/harness/smoke_superset-4.1.4,oci.stackable.tech_sandbox_nick_superset_4.1.4-stackable0.0.0-dev-amd64_openshift-false (131.11s)
--- PASS: kuttl (549.51s)
    --- PASS: kuttl/harness (0.00s)
        --- PASS: kuttl/harness/oidc_superset-4.0.2,oci.stackable.tech_sandbox_nick_superset_4.0.2-stackable0.0.0-dev-amd64_openshift-false (170.46s)
        --- PASS: kuttl/harness/oidc_superset-6.0.0-rc2,oci.stackable.tech_sandbox_nick_superset_6.0.0-rc2-stackable0.0.0-dev-amd64_openshift-false (191.24s)
        --- PASS: kuttl/harness/oidc_superset-4.1.4,oci.stackable.tech_sandbox_nick_superset_4.1.4-stackable0.0.0-dev-amd64_openshift-false (187.80s)
PASS

@NickLarsenNZ
Copy link
Member Author

Next step is to pull the uv image into our container registry and refer to it.

@NickLarsenNZ NickLarsenNZ marked this pull request as ready for review December 17, 2025 10:43
@NickLarsenNZ NickLarsenNZ moved this from Development: In Progress to Development: Waiting for Review in Stackable Engineering Dec 17, 2025
@NickLarsenNZ NickLarsenNZ removed the request for review from Techassi December 17, 2025 11:24
@Techassi Techassi moved this from Development: Waiting for Review to Development: In Review in Stackable Engineering Dec 17, 2025
@NickLarsenNZ NickLarsenNZ moved this from Development: In Review to Development: Waiting for Review in Stackable Engineering Dec 17, 2025
@NickLarsenNZ NickLarsenNZ added this pull request to the merge queue Dec 17, 2025
@Techassi Techassi moved this from Development: Waiting for Review to Development: In Review in Stackable Engineering Dec 17, 2025
@NickLarsenNZ NickLarsenNZ moved this from Development: In Review to Development: Done in Stackable Engineering Dec 17, 2025
Merged via the queue into main with commit 2dab4c1 Dec 17, 2025
3 checks passed
@NickLarsenNZ NickLarsenNZ deleted the feat/ubi10 branch December 17, 2025 15:51
NickLarsenNZ added a commit that referenced this pull request Dec 18, 2025
This reverts commit 2dab4c1 from #1353.

Images using HDFS require boost-devel, but it seems to have been dropped
from EPEL. Instead of using a mixture of UBI9 and UBI10 we will just
revert all of it and reapply next year when the package is available.
github-merge-queue bot pushed a commit that referenced this pull request Dec 18, 2025
This reverts commit 2dab4c1 from #1353.

Images using HDFS require boost-devel, but it seems to have been dropped
from EPEL. Instead of using a mixture of UBI9 and UBI10 we will just
revert all of it and reapply next year when the package is available.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Development: Done

Development

Successfully merging this pull request may close these issues.

feat(ubi): Add and use UBI10 base image

3 participants