Skip to content
This repository has been archived by the owner on Sep 23, 2024. It is now read-only.

Adding support for s390x #10

Closed
james-crowley opened this issue Aug 27, 2018 · 11 comments
Closed

Adding support for s390x #10

james-crowley opened this issue Aug 27, 2018 · 11 comments

Comments

@james-crowley
Copy link

I wanted to propose the possibility of adding s390x support for the IUS repo. As of right now, when I try to install the IUS repo it states s390x is not a supported arch, even know a lot of the packages are noarch or support noarch.

You can see the error message here, https://mirrors.iuscommunity.org/mirrorlist?repo=ius-centos7&arch=s390x&protocol=http .

If you guys need an s390x system to test on, one option is signing up for the LinuxONE Community Cloud which will give you access to a Linux instance hosted on a s390x platform.

If you’re interested let me know, I can possibly expedite process and possibly extend the 120-day trial period.

@carlwgeorge
Copy link
Member

Our current build system (custom software) is running on x86_64 physical servers, which allows us to build i686 and x86_64 packages. Design work is in progress to migrate to a new system based on drone with the rpmbuild plugin, running on x86_64 cloud servers. After this transition we plan to stop building i686 packages. The current system is in bugfix-only mode in order to focus on the new system, so we won't be adding s390x there. To build s390x packages in the new system, drone and docker would need to run on that architecture. Drone is adding aarch64 support in their next release, but I don't know if it will run correctly on s390x. Does Red Hat supply their docker packages for s390x? The packages from upstream Docker are not sufficient because they do not include the entitlement passthrough required to run real RHEL containers. The is-it-in-rhel tool only shows docker as available for x86_64, but the Red Hat Container Catalog has images for s390x, so I'm not sure what to think.

Regarding LinuxONE Community Cloud, I'm not sure I understand how that works. If it's no-charge as stated on the website, what is the purpose of the trial period?

@james-crowley
Copy link
Author

RHEL does support Docker on s390x. For the entitlement passthrough you mentioned, I would recommend installing RHEL 7.5 with the kernel-alt packages. This should give you the most up to date version of Docker supported on RHEL.

As for Done, I am not sure. I do not see s390x listed anywhere in their documentation. But it might be worth reaching out to get an official response.

The LinuxONE Community Cloud is free to use, and no payment is needed. One of the goals of the LinuxONE Community Cloud, is to encourage development of products on an s390x platform, hence why we offer a free Linux instance.

The point of the 120-day limit is to stop people from abusing the system and using it in ways it was not intended for. Sorry, it was my bad using the word trial. There is nothing you will have to pay for.

If you let me know what username/email you sign up, I can see about extending the 120-day limit, so you guys will have more time to test and develop.

@james-crowley
Copy link
Author

One thing I also forgot to mention, was I was interested in getting the IUS repo to work on RHEL but also on ClefOS. If you are unfamiliar, with ClefOS, it is the s390x’s port of CentOS. You can find more information here.

@carlwgeorge
Copy link
Member

Just to set the right expectations, this isn't something that is a priority for the project right now, but it is something I'm interested in looking at. Thanks for the suggestion and I'll update this once the drone deployment is in production and I'm ready to test an s390x drone agent.

@james-crowley
Copy link
Author

Carl,

I totally understand that this is not high on the list priorities for the project, but I am glad you’re interested. I am interested in working with you guys, when time comes around to it.

Let me know if there is anything on my end I can do to help you guys, whether it’s getting access to s390x instance or any testing I can do.

@james-crowley
Copy link
Author

@carlwgeorge Just circling back around to this issue. Any update or anything I can help out with?

@carlwgeorge
Copy link
Member

We actually abandoned the plan to use drone. The maintainer relicensed drone 1.0 with a proprietary license. He was also quite hostile to feedback. Instead, we are now using Cirrus CI (more details about that and our CDN change here). Cirrus isn't open source either, and cannot currently be self-hosted, but it has several key advantages:

  • easy to use
  • no cost for open source projects
  • friendly and responsive maintainers

The community builder cluster only supports x86_64. They also support connecting cloud accounts to run CI jobs in cloud servers (that the user pays for) rather than containers (which is what the community cluster uses).

There are a few routes we could go from here to get to your goal of building IUS for s390x.

  • Connect a cloud account (AWS, GCP, Azure) that has support for s390x. I don't think any of them currently offer this, and we would also have to sort out how to pay for this (donated account, credits, etc).
  • Request Cirrus adds native s390x support to their community cluster. ARM support has already been requested.
  • Use distributed persistent workers. This is probably the best solution, as we could use LinuxONE for s390x and whatever else for other architectures. This doesn't work yet, but is in progress.

@james-crowley
Copy link
Author

@carlwgeorge Thanks for getting back to me! Sorry to hear about the issues with drone, but glad you guys landed on your feet and are with Cirrus CI.

I am not sure how far you are in the migration process to Cirrus CI, but I would also mention you should look at Travis CI. It has support for ppc64leand a couple other architectures.

Now addressing your options:

Connect a cloud account (AWS, GCP, Azure) that has support for s390x. I don't think any of them currently offer this, and we would also have to sort out how to pay for this (donated account, credits, etc).

You are correct. Currently, there is not support for s390x on a cloud provider. I think IBM Cloud might have it, but I am not 100% sure.

Request Cirrus adds native s390x support to their community cluster. ARM support has already been requested.

This could be an option.

Use distributed persistent workers. This is probably the best solution, as we could use LinuxONE for s390x and whatever else for other architectures. This doesn't work yet, but is in progress.

I agree this sounds like the best solution going forward. Getting your team access to the LinuxONE resource would be not problem. We would just need to get support for persistent workers on Cirrus CI.

Going forward, what do you think next steps would be? Would you guys be open to looking at Travis CI? Or are you guys set on using Cirrus CI?

@carlwgeorge
Copy link
Member

I am not sure how far you are in the migration process to Cirrus CI, but I would also mention you should look at Travis CI.

We've got most repos moved over to using it. The big advantage that Cirrus has over Travis is the option for building against RHEL proper. Right now we're building in CentOS containers on their community cluster, but if we are in a situation where we need to build against RHEL, we can connect a cloud account and change the build to run in a RHEL cloud server. One example of this is when a CentOS release lags behind a RHEL release.

I was excited for drone because I could have self-hosted it on a RHEL server to do all my builds against RHEL, but I've already gone into why that didn't work out.

I'm pretty set on Cirrus for now, but who knows what the future holds. I'm looking forward to Cirrus' plans for persistent workers, and like you will watch that other issue closely.

@james-crowley
Copy link
Author

@carlwgeorge I confirmed that Cirrus perisentent workers worked on s390x. Once the feature gets merged fully, would you be open to taking another look at s390x support?

I can get you access to an s390x server, which you can install the Cirrus CLI and add the server to the persistent workers pool. From there you should be able to build against s390x.

@carlwgeorge
Copy link
Member

The IUS project has reached it's end of life, and will not be addressing any more issues or pull requests.

ius.io/faq#why-doesnt-ius-have-packages-for-rhel-8

iusrepo/announce#41

@carlwgeorge carlwgeorge closed this as not planned Won't fix, can't repro, duplicate, stale Sep 23, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants