Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for s390x #2622

Open
e-desouza opened this issue Jun 11, 2020 · 27 comments
Open

Add support for s390x #2622

e-desouza opened this issue Jun 11, 2020 · 27 comments
Assignees
Labels

Comments

@e-desouza
Copy link

Describe the problem/challenge you have
Take OpenShift backups on IBM Z/IBM LinuxONE systems

Describe the solution you'd like
s390x support similar to arm64, ppc64lee

Environment:

  • Velero version (use velero version): v1.4.0 and above
  • Kubernetes version (use kubectl version): Kubernetes 1.16
  • Cloud provider or hardware configuration: s390x arch (z13, z14, z15, LinuxONE, LinuxONE II, LinuxONE III)
  • OS (e.g. from /etc/os-release): linux

Vote on this issue!

This is an invitation to the Velero community to vote on issues, you can see the project's top voted issues listed here.
Use the "reaction smiley face" up to the right of this comment to vote.

  • 👍 for "The project would be better with this feature added"
  • 👎 for "This feature will not enhance the project in a meaningful way"
@e-desouza
Copy link
Author

@ncdc can you please assign this to me? I have a PR in progress.

@skriss skriss added the Enhancement/User End-User Enhancement to Velero label Jun 11, 2020
@nrb
Copy link
Contributor

nrb commented Oct 22, 2020

@e-desouza Any update on your PR?

@e-desouza
Copy link
Author

Replicating what the other platforms did, I'm looking for a place to upload the restic binary to. This part specifically needs it.
Other than that it's all ready and merged to latest at: https://github.com/e-desouza/velero

@jenting
Copy link
Contributor

jenting commented Jan 5, 2021

It needs the restic supports s309x platform, ref to restic/restic#2780.

@eleanor-millman
Copy link
Contributor

Closing, but feel free to reopen if/when you make the PR.

@hoytk
Copy link

hoytk commented Jul 7, 2021

What is the status of s390x support? The is closed but I'm not finding any mention or packages for Z.

@dsu-igeek
Copy link
Contributor

The PR was never submitted. If you need this, please reopen the issue and vote for it.

@hoytk
Copy link

hoytk commented Jul 7, 2021

I don't have permission to re-open this issue.

@eleanor-millman
Copy link
Contributor

@hoytk Reopened for you!

@zubron
Copy link
Contributor

zubron commented Aug 19, 2021

I mentioned in #4047 (comment) that Restic now has a release with s390x support. In order to support this architecture we would need to upgrade to this version.

@rposts
Copy link

rposts commented Aug 19, 2021

Thanks @zubron - for now it can be built on s390x by simply specifying RESTIC_VERSION=0.12.1 during make all-containers step. Would it make sense to add a blurb in the docs wrt s390x until Restic upgrade happens in the main branch?

@kycfeel
Copy link

kycfeel commented Sep 2, 2021

I'm also looking forward! What's the status of it right now?

@rposts
Copy link

rposts commented Oct 14, 2021

@zubron if it makes sense I can PR changes as per #4047. Let me know your thoughts. Thanks.

@eleanor-millman
Copy link
Contributor

@rposts FYI, @zubron is on vacation until next Friday, so she will take a bit of time to respond :)

@rposts
Copy link

rposts commented Dec 6, 2021

Hi @zubron - just wanted to follow-up on this issue.

I also noticed that in order for testcases (make test) to run on s309x we will require some changes to build-image/Dockerfile (these changes are not required to produce velero binaries on s390x):

  • s390x arch equivalent of kubebuilder
  • s390x arch equivalent of protobuf
  • s390x arch equivalent of goreleaser
  • s390x arch equivalent of kubectl

@zubron
Copy link
Contributor

zubron commented Dec 7, 2021

Hi @rposts - Sorry for the delay in getting back to you here!

For non-amd64 platforms that we support, we don't maintain the build image for building/running tests, and instead rely on Go's cross-compiling and Docker buildx for releasing on those targets as I mentioned in #4047 (comment). I don't think it will be possible to actually build on s390x as not all of the tools listed above have s390x binaries available. Are you using s390x as your development platform? Another option for testing on this platform would be to use our E2E tests. These run the velero binary and deployment on a cluster so that would enable testing of s390x assets.

We recently upgraded the version of restic we are using (see #4274) which has a s390x build so it should just be a matter of adding this platform to the targets that we build for.

@rposts
Copy link

rposts commented Dec 7, 2021

Thanks @zubron for your comments.

Yes, my development platform is s390x and my intention was to run through the testcases to make sure velero works on this platform. I also acknowledge your #4047 comment. Just that I couldn't find a way to run the testcases without building the s390x compatible velero/build-image which required kubebuilder etc.

I will try to run E2E test if that offers sufficient coverage.

Would you have any rough idea when we can expect this platform to be added to the cross-compile/release scripts?

Thanks again for your continued help.

@rposts
Copy link

rposts commented Jan 20, 2022

Hi @zubron - just a quick follow up on adding this platform to the build targets. I think we have pretty much everything in place now.

Thanks for your patience and help.

@eleanor-millman
Copy link
Contributor

@reasonerjt is this resolved now?

@eleanor-millman eleanor-millman added the 1.10-candidate The label used for 1.10 planning discussion. label May 25, 2022
@reasonerjt reasonerjt removed the 1.10-candidate The label used for 1.10 planning discussion. label Jun 17, 2022
@reasonerjt
Copy link
Contributor

@rposts
Could you clarify if you have verified that the s390x is supported?

I'm removing the 1.10 label as we don't have bandwidth to verify it.

@reasonerjt reasonerjt added the Needs info Waiting for information label Jun 17, 2022
@rposts
Copy link

rposts commented Jun 17, 2022

@reasonerjt as far as I can see nothing has changed here so there is no reason to believe s390x support has been added. I will be happy to assist with validation once support has been added.

@rposts
Copy link

rposts commented Mar 23, 2023

@reasonerjt - just wanted to check how I can further assist in making s390x binaries available? Thanks.

@bluzarraga
Copy link

Hello, I am also looking for s390x support for velero, is there any timeline for adding this? I see this issue is over 3 years old now and that the version of restic is at least 0.15.0 since #5784 (above the necessary 0.12.1 according to #4047 (comment)). What needs to happen to support s390x?

@ranjeetsingh-23
Copy link

Hi Team,
Any update on velero CLI for s390x support?

@ranjeetsingh-23
Copy link

Hi Team,
I don't see Velero CLI is available for s390x
https://github.com/vmware-tanzu/velero/releases/tag/v1.14.0
When a Velero CLI support for s390x can be added?
Thanks,

@kaovilai
Copy link
Contributor

kaovilai commented Aug 9, 2024

It should be possible to produce a binary using only GitHub actions. However, it will not be officially tested in any continuous manner, so its functionality cannot be guaranteed at all times.

If I understand the sentiment of the maintainers correctly, it is that we should make it easy and perhaps even document how to create such a CLI for s390x, but we will not ship anything that we do not have CI/dev infrastructure to test and debug.

Are you OK with documentation and any fixes required to unblock self builds? Or do you require maintainers to produce unvalidated cross compiled s390x velero binary?

@kaovilai
Copy link
Contributor

kaovilai commented Aug 9, 2024

#7505 is going to address this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests