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

Enhancement Request: add IBM Power Linux Platform (ppc64le) support #249

Open
amitsadaphule opened this issue May 18, 2021 · 4 comments
Open

Comments

@amitsadaphule
Copy link

amitsadaphule commented May 18, 2021

Hi,

I've been able to build and validate the operator on ppc64le. I've also published the build-script here. I'm trying to get the changes for adding ppc64le support merged. Since ppc64le is also a supported architecture in travis, I'm also aiming towards adding the ppc64le build to the travis job.

However, there are a few things where I am a bit confused and need some guidance:

  1. The image gcr.io/kubebuilder/kube-rbac-proxy:v0.5.0 which is used in config/default/manager_auth_proxy_patch.yaml is not multi-arch. So, I need to use carlosedp/kube-rbac-proxy:v0.5.0 for ppc64le. But I can't find a clean way to accommodate this requirement to use different image based on current ARCH.
  2. I see that this commit introduced a secrets detection capability with pre-commit hook configuration. Would this be enough to use the same ENV parameters as this in the travis job on my fork? Or do I have to make some extra configuration for the secure parameters?
  3. shellcheck, which is needed for lint target, does not have ppc64le support yet. But I've been able to build it on ppc64le. I'm thinking of adding a script to build shellcheck in hack directory and reference that here for ppc64le by adding an ARCH check. Does that sound good? Is there a better way to do this?
  4. About the yaml files which are published as assets on the release page, I'm not sure how the ppc64le specific yaml (e.g. apps_v1_deployment_ibmcloud-operator-controller-manager.yaml which uses carlosedp/kube-rbac-proxy:v0.5.0 instead of gcr.io/kubebuilder/kube-rbac-proxy:v0.5.0) can be included there. Please advise.

Thank you!

@amitsadaphule
Copy link
Author

About #3 above, even after getting the shellcheck binary built and copied to the expected location, I'm facing issue with the sonatypecommunity/nancy:latest image which is not multi-arch. Error log:

# make lint
golangci/golangci-lint info checking GitHub for tag 'v1.28.3'
golangci/golangci-lint info found version: 1.28.3 for v1.28.3/linux/ppc64le
golangci/golangci-lint info installed /root/amit_sadaphule/gopath/bin/golangci-lint
/root/amit_sadaphule/gopath/bin/shellcheck
golangci-lint run
find . -name '*.*sh' | xargs shellcheck --color
go list -json -m all | docker run --rm -i sonatypecommunity/nancy:latest sleuth
Unable to find image 'sonatypecommunity/nancy:latest' locally
latest: Pulling from sonatypecommunity/nancy
8a65b9b20e5e: Pull complete
115914662b26: Pull complete
dcbaa2dbef6b: Pull complete
Digest: sha256:cce3bd970677ac013d3a7c15d2424cba143099eff4ece0e8bc2c69a472d66117
Status: Downloaded newer image for sonatypecommunity/nancy:latest
standard_init_linux.go:211: exec user process caused "exec format error"
Makefile:146: recipe for target 'lint' failed
make: *** [lint] Error 1

Should I try and resolve this dependency? Or can we live without lint target on ppc64le? Please advise.

@amitsadaphule
Copy link
Author

@JohnStarich could you please provide guidance on the above points?

Cc @gerrith3 @seth-priya

@gerrith3
Copy link

gerrith3 commented Jun 3, 2021

@JohnStarich @pdettori is there anyone that can take a look at this issue. It looks like some underlying components need to be created as multi-arch? Should Amit look into that or is someone from an appropriate squad looking into that? thanks!

@JohnStarich
Copy link
Member

@amitsadaphule Is the requirement only multi-arch images? I don't think we need to run the entire pipeline as ppc to get that result.

We don't have the resources to implement this, but I'd be happy to discuss and review PRs. I've messaged you on internal Slack, so we can continue our discussions there.

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

No branches or pull requests

3 participants