-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
Conversation
/cc @tomdee |
There was a problem hiding this 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 |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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) \ |
There was a problem hiding this comment.
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?
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: