Foreman Client on s390x (Linux on Z)

Hey Foreman Community,

I would like to add some s390x capacity into the Formean CI pipeline and assist in porting the pipeline for Linux on Z! I have done some discovery ( here and here ) a couple months ago and have since had a conversation with @ehelms regarding this effort. We brainstormed some ideas and concerns and want to discuss them with the community here.

To begin we will target support for the Foreman Client on s390x because it is a smaller set of packages which will be easier to pull off a POC with. Starting in EL8 there in an s390x branch in EPEL (required for Foreman dependencies) so we will be targeting an EL8 release for now. Backporting and other efforts will be discussed further down the line.

Infrastructure

IBM will be sponsoring a two builders to be used for a Koji and smoke tests environments. Currently Foreman uses a mix of CentOS and Fedora 28 which we can match but will have to use a variant of CentOS called ClefOS. We are going to try and match the current build environment so I’m thinking we’ll stand up 2 vcpus / 8 GB memory / 50GB Base. The disk is something I’m not sure I have right so any feedback is appreciated.

These builders will be hosted on the same environment as the Linux on Z community cloud https://developer.ibm.com/linuxone/. If your interested in checking out Linux on Z feel free to go sign up for an account and hop on a ClefOS/RHEL machine. FYI it’s just Unix at the end of the day

For the smoke tests I want to investigate using a service from Oregeon State which provides s390x Jenkins capacity. https://osuosl.org/services/ibm-z/

Follow this thread for discussions surrounding the Smoke Tests

Dependency Concerns

Immediately the dependency that we know is going to give us a headache is the puppet-agent however @ehelms mentioned that Foreman may be moving to just using the Puppet Ruby Gem which would solve this issue. Many of these discussions will be out of the scope of this thread but I will update this post with links to those as they get written.

1 Like

We already have some sponsored machines from OSUOL that we use as Jenkins nodes. It’d be interesting to consider moving the entire Koji setup there. @pcreech is in the process of rebuilding it (to support EL8) and should be aware of this now.

Correct. A significant portion of or koji infra currently assumes a singular builder which is the central koji server as well.

As part of a broader koji re-architecture I’m hoping to move to a more scale-able solution that allows us add,remove,change out builders as needed, to help address situations like this, amongst other things.

I’m hoping to have an RFC for the rearchitecting up next week for the community to evaluate before I move forward.

To replicate the dependencies locally is going to be really hard and costly across environments and the Internet. The goal would to be to work s390x support in conjunction with the “broader koji re-architecture” process. I’d be interested in participating in the RFC purely from a discovery POV to learn more about what the y’all are moving to.