Skip to content

Add support for Oracle Cloud Infrastructure#3846

Draft
navaneeth-dev wants to merge 3 commits intoflatcar:mainfrom
navaneeth-dev:oci
Draft

Add support for Oracle Cloud Infrastructure#3846
navaneeth-dev wants to merge 3 commits intoflatcar:mainfrom
navaneeth-dev:oci

Conversation

@navaneeth-dev
Copy link
Copy Markdown

@navaneeth-dev navaneeth-dev commented Mar 22, 2026

Add support for Oracle Cloud Infrastructure

I want official builds of flatcar for Oracle Cloud.

How to use

Right now I verified it works. I will try to work on CI builds tomorrow.
I will fix the conventions soon.

Testing done

Right now I verified it works.

Related to: flatcar/Flatcar#1855

CI: http://localhost:8080/job/container/job/packages_all_arches/7596/cldsv/

@navaneeth-dev
Copy link
Copy Markdown
Author

@tormath1 you can review it now. Also do I need to provide an oracle test script?

@chewi
Copy link
Copy Markdown
Contributor

chewi commented Mar 23, 2026

@tormath1 is away at KubeCon, so he may take some time to respond. He knows this area best.

Copy link
Copy Markdown
Contributor

@tormath1 tormath1 left a comment

Choose a reason for hiding this comment

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

Thanks a lot for this contribution. It looks good.

Only SSH keys and hostname are missing.Any chance to enable it and give it a try ?

Also do I need to provide an oracle test script?

There is a full test suite defined here: https://github.com/flatcar/mantle - if OCI has a Go SDK, then we can check to implement OCI support in Mantle (e.g: flatcar/mantle#652) but this can be done in a second time (it will give me time to investigate OCI test sponsoring. :))

@navaneeth-dev
Copy link
Copy Markdown
Author

I will check SSH & hostname support.
Yes OCI has a Go SDK: https://github.com/oracle/oci-go-sdk

@tormath1
Copy link
Copy Markdown
Contributor

I will check SSH & hostname support. Yes OCI has a Go SDK: https://github.com/oracle/oci-go-sdk

Thanks. For what is worth, I asked CNCF about OCI sponsoring to enable Flatcar tests on this cloud provider.

On another aspect, I kicked-off a CI run to see if everything builds correctly. Thanks for your work so far!

@navaneeth-dev
Copy link
Copy Markdown
Author

Anything I can do to help on the OCI sponsoring part? I can ask the oracle community here.

I can also create documentation later.

Will test the hostname and ssh in a few days.

@navaneeth-dev
Copy link
Copy Markdown
Author

./run_sdk_container -t

###### Writing versionfile 'sdk_container/.repo/manifests/version.txt' to SDK '4643.0.0+nightly-20260318-2100', OS '4643.0.0+nightly-20260318-2100-14-ga616119ae7'. ######

###### Creating a new container 'flatcar-sdk-all-4643.0.0-nightly-20260318-2100_os-main-4643.0.0-nightly-20260318-2100-14-ga616119ae7' ######
-v /home/rize/.config/gcloud:/home/rize/.config/gcloud
Error response from daemon: manifest unknown
Falling back to tar ball download...

How do I fix this? I am not able to test the builds on my feature branch. Can I change version.txt to a stable version?

@tormath1
Copy link
Copy Markdown
Contributor

tormath1 commented Apr 2, 2026

Hey @navaneeth-dev thanks - we have some issues with the CI right now, that might explain the issue you see. You should be able to run the SDK using the latest released image:

./run_sdk_container -t -a amd64 -C ghcr.io/flatcar/flatcar-sdk-amd64:4628.0.0

Anything I can do to help on the OCI sponsoring part? I can ask the oracle community here.

Thanks a lot for asking, I've created a ticket to the CNCF a few days ago - let's see how it goes. ❤️

@navaneeth-dev
Copy link
Copy Markdown
Author

navaneeth-dev commented Apr 2, 2026

INFO    build_packages: Checking /build/amd64-usr
/usr/bin/grog: /usr/bin/perl does not exist
/usr/bin/gpinyin: (env)/perl does not exist
/usr/bin/gperl: (env)/perl does not exist
/usr/bin/glilypond: (env)/perl does not exist
/usr/bin/chem: (env)/perl does not exist
/usr/bin/diff-highlight: /usr/bin/perl does not exist
/usr/lib/modules/6.12.77-flatcar/build/scripts/bootgraph.pl: (env)/perl does not exist
/usr/lib/modules/6.12.77-flatcar/build/scripts/checkdeclares.pl: (env)/perl does not exist
/usr/lib/modules/6.12.77-flatcar/build/scripts/checkincludes.pl: (env)/perl does not exist
/usr/lib/modules/6.12.77-flatcar/build/scripts/checkstack.pl: (env)/perl does not exist
/usr/lib/modules/6.12.77-flatcar/build/scripts/checkversion.pl: (env)/perl does not exist
/usr/lib/modules/6.12.77-flatcar/build/scripts/cleanfile: (env)/perl does not exist

Still unable to build.

./run_sdk_container -t -a amd64 -C ghcr.io/flatcar/flatcar-sdk-amd64:4628.0.0 -n oci
./build_packages

FLATCAR_VERSION=4628.0.0+nightly-20260318-2100-1-g7b5d4182bc
FLATCAR_VERSION_ID=4628.0.0
FLATCAR_BUILD_ID="nightly-20260318-2100-1-g7b5d4182bc"
FLATCAR_SDK_VERSION=4628.0.0

Lot of HTTP 404 Portage errors.

@tormath1
Copy link
Copy Markdown
Contributor

tormath1 commented Apr 3, 2026

INFO build_packages: Checking /build/amd64-usr
/usr/bin/grog: /usr/bin/perl does not exist
/usr/bin/gpinyin: (env)/perl does not exist
/usr/bin/gperl: (env)/perl does not exist
/usr/bin/glilypond: (env)/perl does not exist
/usr/bin/chem: (env)/perl does not exist
/usr/bin/diff-highlight: /usr/bin/perl does not exist
/usr/lib/modules/6.12.77-flatcar/build/scripts/bootgraph.pl: (env)/perl does not exist
/usr/lib/modules/6.12.77-flatcar/build/scripts/checkdeclares.pl: (env)/perl does not exist
/usr/lib/modules/6.12.77-flatcar/build/scripts/checkincludes.pl: (env)/perl does not exist
/usr/lib/modules/6.12.77-flatcar/build/scripts/checkstack.pl: (env)/perl does not exist
/usr/lib/modules/6.12.77-flatcar/build/scripts/checkversion.pl: (env)/perl does not exist
/usr/lib/modules/6.12.77-flatcar/build/scripts/cleanfile: (env)/perl does not exist

@navaneeth-dev this should not be an issue - it's only warnings. Do you have an actual error message at the end of the command?

@navaneeth-dev
Copy link
Copy Markdown
Author

!!! All ebuilds that could satisfy ">=dev-libs/elfutils-0.158:0/0=" for /mnt/host/source/src/build/images/amd64-usr/developer-4643.0.0+nightly-20260318-2100-13-gc6927109d7-a1/prod-image-rootfs/ have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-libs/elfutils-0.194::portage-stable (masked by: ~amd64 keyword)

(dependency required by "sys-apps/systemd-258.3::portage-stable" [binary])
(dependency required by "sys-libs/pam-1.7.2::portage-stable" [binary])
(dependency required by "app-admin/sudo-1.9.17_p2::portage-stable" [binary])
(dependency required by "coreos-base/coreos-0.0.1-r319::coreos-overlay" [binary])
(dependency required by "coreos-base/coreos" [argument])
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.

ERROR   build_image: script called: build_image
ERROR   build_image: Backtrace:  (most recent call is last)
ERROR   build_image:   file build_image, line 181, called: create_prod_image 'flatcar_production_image.bin' 'base' 'developer' 'coreos-base/coreos' 'containerd-flatcar|app-containers/containerd,docker-flatcar|app-containers/docker&a
pp-containers/docker-cli&app-containers/docker-buildx'
ERROR   build_image:   file prod_image_util.sh, line 97, called: emerge_to_image '/mnt/host/source/src/build/images/amd64-usr/developer-4643.0.0+nightly-20260318-2100-13-gc6927109d7-a1/prod-image-rootfs' 'coreos-base/coreos'
ERROR   build_image:   file build_image_util.sh, line 152, called: die_err_trap 'sudo -E ROOT="${root_fs_dir}" FEATURES="-ebuild-locks" PORTAGE_CONFIGROOT="${BUILD_DIR}"/configroot emerge --usepkgonly --jobs="${NUM_JOBS}" --verbose
"$@"' '1'
ERROR   build_image:
ERROR   build_image: Command failed:
ERROR   build_image:   Command 'sudo -E ROOT="${root_fs_dir}" FEATURES="-ebuild-locks" PORTAGE_CONFIGROOT="${BUILD_DIR}"/configroot emerge --usepkgonly --jobs="${NUM_JOBS}" --verbose "$@"' exited with nonzero code: 1
ERROR   build_image:   !!!!!!!!!!!!!!!!!!!!!!!!!
ERROR   build_image:   !! BEGIN DEBUG OUTPUT: !!
ERROR   build_image:   !!!!!!!!!!!!!!!!!!!!!!!!!

@chewi
Copy link
Copy Markdown
Contributor

chewi commented Apr 3, 2026

dev-libs/elfutils in both main-4643.0.0-nightly-20260318-2100 and current main have a stable arm64 keyword rather than ~arm64, so perhaps your working tree has got into a bad state.

@chewi
Copy link
Copy Markdown
Contributor

chewi commented Apr 3, 2026

Oh wait, it was amd64. Still, that should be fine.

Signed-off-by: Navaneeth <me@rizexor.com>
Signed-off-by: Navaneeth <me@rizexor.com>
Signed-off-by: Navaneeth <me@rizexor.com>
@navaneeth-dev
Copy link
Copy Markdown
Author

Oh wait, it was amd64. Still, that should be fine.

I have deleted my repo locally and cloned again. Trying to build again.

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

Projects

Status: ✅ Testing / in Review

Development

Successfully merging this pull request may close these issues.

3 participants