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 multiarch e2e tests #845

Merged
merged 1 commit into from Oct 20, 2017

Conversation

mkumatag
Copy link
Contributor

@mkumatag mkumatag commented Oct 19, 2017

Description

This PR is for enabling e2e tests to run on different architectures like arm64 and ppc64le

Can be run on ppc64le platform like below:

$ make e2e-test ARCH=ppc64le

@mkumatag mkumatag mentioned this pull request Oct 19, 2017
2 tasks
@mkumatag
Copy link
Contributor Author

/cc @tomdee

Copy link
Contributor

@tomdee tomdee left a comment

Choose a reason for hiding this comment

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

Overall looking great, just two questions to resolve before I can merge.

e2e-test: bash_unit dist/flanneld-$(TAG)-$(ARCH).docker
./bash_unit dist/functional-test.sh
./bash_unit dist/functional-test-k8s.sh
e2e-test: bash_unit dist/flanneld-e2e-$(TAG)-$(ARCH).docker
Copy link
Contributor

Choose a reason for hiding this comment

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

Shouldn't this depend on dist/$(REGISTRY):$(TAG)-$(ARCH).docker

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The difference between these 2 targets are:
dist/flanneld-$(TAG)-$(ARCH).docker uses gcr.io/google_containers/kube-cross which is not a multiarch image and can be run only on amd64 platform. And if I run this docker image on other than amd64 platform I'll hit exec format error.

and dist/flanneld-e2e-$(TAG)-$(ARCH).docker target uses golang:1.8.3 docker image which is multiarch image which will load the respective docker image while running on different architecture.

Copy link
Contributor

Choose a reason for hiding this comment

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

Aha, that all makes sense.

# This will build flannel natively using golang image
dist/flanneld-e2e-$(TAG)-$(ARCH).docker:
# valid values for ARCH are [amd64 arm arm64 ppc64le s390x]
docker run -e GOARM=$(GOARM) \
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not sure I understand why you've added this? What was wrong with the dist/flanneld-$(ARCH) target?

@tomdee tomdee merged commit 85662a7 into flannel-io:master Oct 20, 2017
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

Successfully merging this pull request may close these issues.

None yet

2 participants