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

Building minikube for ppc64le #2171

Closed
wants to merge 1 commit into from
Closed

Conversation

Pensu
Copy link

@Pensu Pensu commented Nov 8, 2017

This PR adds minikube build for ppc64le.

@k8s-ci-robot k8s-ci-robot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Nov 8, 2017
@minikube-bot
Copy link
Collaborator

Can one of the admins verify this patch?

@r2d4
Copy link
Contributor

r2d4 commented Nov 8, 2017

As cool as this would be, I don't think it will work. While minikube might be able to be built this way, it needs to call a cluster bootstrapper (either kubeadm or localkube), both of which are only built for amd64.

@codecov-io
Copy link

codecov-io commented Nov 8, 2017

Codecov Report

Merging #2171 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@          Coverage Diff           @@
##           master   #2171   +/-   ##
======================================
  Coverage    28.6%   28.6%           
======================================
  Files          82      82           
  Lines        5369    5369           
======================================
  Hits         1536    1536           
  Misses       3637    3637           
  Partials      196     196

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1ee8444...ee6ae25. Read the comment docs.

@Pensu
Copy link
Author

Pensu commented Nov 8, 2017

@r2d4 Kubeadm we have already working for ppc64le, it is built for ppc64le as well (available to download through k8s repos), I have also been able to build localkube locally, will send out PR for that soon. But for now, we can use this PR to build minikube and use it with kubeadm.

Makefile Outdated
ifeq ($(MINIKUBE_BUILD_IN_DOCKER),y)
$(call DOCKER,$(BUILD_IMAGE),/usr/bin/make $@)
else
GOOS=$* go build -tags "$(MINIKUBE_BUILD_TAGS)" -ldflags="$(MINIKUBE_LDFLAGS) $(K8S_VERSION_LDFLAGS)" -a -o $@ k8s.io/minikube/cmd/minikube
Copy link
Member

Choose a reason for hiding this comment

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

as we aren't passing like out/minikube-%-ppc64le and even GOARCH needs to be mentioned as ppc64le, so this line should be changed as below to work:

GOOS=linux GOARCH=ppc64le go build -tags "$(MINIKUBE_BUILD_TAGS)" -ldflags="$(MINIKUBE_LDFLAGS) $(K8S_VERSION_LDFLAGS)" -a -o $@ k8s.io/minikube/cmd/minikube

@r2d4
Copy link
Contributor

r2d4 commented Nov 8, 2017

This also needs to contain the changes to pull the appropriate architecture of localkube or kubeadm. Right now, it pulls the amd64 binaries by default.

@Pensu
Copy link
Author

Pensu commented Nov 9, 2017

@mkumatag Made the changes.

@dlorenc
Copy link
Contributor

dlorenc commented Nov 17, 2017

I also have a few concerns here - unless we get continuous build/testing infrastructure setup for this we have no way to support it going forward.

@Pensu
Copy link
Author

Pensu commented Dec 7, 2017

@dlorenc What would it require to have a continuous build/testing infrastructure setup? In what way I can help to get things in place?

@dlorenc
Copy link
Contributor

dlorenc commented Dec 7, 2017

Can you explain the use case a little more so I can understand? What type of machine are you hoping to run minikube on? What hypervisor are you hoping to run k8s in?

@Pensu
Copy link
Author

Pensu commented Dec 11, 2017

@dlorenc Minikube is emerging as one of the most convenient ways to rapidly test Kubernetes. We want to import that functionality to ppc64le platform. We have been working heavily to help make Kubernetes multi-arch, having sent multiple PRs, running our own CI etc. Making minikube multi-arch is one more step to support the whole environment on different archs.

Primarily the aim is to run minikube on ppc64le based machines. We are running the setup in virtual machines, so not looking to support any hypervisor as of now. The only support would be for none driver i.e. based on docker. We are ready to support the multi-arch environment in any way possible.

Please let me know if you need any other information.

@Pensu
Copy link
Author

Pensu commented Jan 17, 2018

@dlorenc Can you please let me know as in what way I can help to provide continuous/build test infrastructure?

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: Pensu
We suggest the following additional approver: luxas

Assign the PR to them by writing /assign @luxas in a comment when ready.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these OWNERS Files:

You can indicate your approval by writing /approve in a comment
You can cancel your approval by writing /approve cancel in a comment

@dlorenc
Copy link
Contributor

dlorenc commented Jan 23, 2018

Hey @Pensu,

We would need some way of verifying the builds work. This most likely means some form of CI slave that can run minikube. Nested virtualization is tough to come by, so for most of our CI jobs we have to run them on physical machines. These need to be able to connect to our Jenkins instance, and need basic maintenance.

@dlorenc
Copy link
Contributor

dlorenc commented Feb 20, 2018

I'm going to close this and the related PR for now. Feel free to re-open with a more detailed proposal on how to run integration tests on these platforms in CI. Until then, we can't make any promises on keeping minikube actually working on these platforms, so it would be irresponsible to add any kind of official support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants