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

Build Kubernetes, etcd and flannel for arm64 and ppc64le #23931

Merged
merged 1 commit into from
Apr 14, 2016

Conversation

luxas
Copy link
Member

@luxas luxas commented Apr 6, 2016

Proposal: #17981
Depends on: #21617 and #22149, which both are merged
This was once a part of: #19769

Build Kubernetes server binaries for arm64 and ppc64le too.
Build flannel dynamically from the kube-cross image
Build etcd v2.2.5 for arm64 and ppc64le. This is WIP. I think that we should upgrade at least the hyperkube etcd manifest to use 2.2.5, so arm64 and ppc64le works (they don't compile on 2.2.1 due to bolt)
I will see if break out the etcd code into another PR.

TODO:

  • Push the new kube-cross image
  • Push the etcd v2.2.5 image for all arches
  • Push flannel for arm64 and ppc64le

Binaries will automatically be built for arm64 and ppc64le, and the kube-proxy, kube-controller-manager, kube-apiserver and kube-scheduler images will be wrapped in a docker image.
Those images and hyperkube will be pushed on a release.

@brendandburns @david-mcmahon @lavalamp @thockin @vishh @wojtek-t @fgrzadkowski @zmerlynn @ixdy @spxtr @Pensu

@k8s-github-robot k8s-github-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. release-note-label-needed labels Apr 6, 2016
@luxas luxas force-pushed the build_for_arm64 branch from a31032c to 85073f3 Compare April 6, 2016 18:57
@k8s-bot
Copy link

k8s-bot commented Apr 6, 2016

GCE e2e build/test failed for commit a31032cf1e60c4bb0224907a5d292d1c2c569aef.

Please reference the list of currently known flakes when examining this failure. If you request a re-test, you must reference the issue describing the flake.

@k8s-bot
Copy link

k8s-bot commented Apr 6, 2016

GCE e2e build/test failed for commit 85073f3e6c1caf2526bac04a837556ad0db42e44.

Please reference the list of currently known flakes when examining this failure. If you request a re-test, you must reference the issue describing the flake.

@lavalamp lavalamp assigned david-mcmahon and unassigned lavalamp Apr 6, 2016
@david-mcmahon david-mcmahon added release-note Denotes a PR that will be considered when it comes time to generate release notes. lgtm "Looks good to me", indicates that a PR is ready to be merged. and removed release-note-label-needed labels Apr 6, 2016
ifeq ($(ARCH),amd64)

# Do not compile if we should make an image for amd64, use the official etcd binaries instead
curl -sSL https://github.com/coreos/etcd/releases/download/v$(TAG)/etcd-v$(TAG)-linux-amd64.tar.gz | tar -xz -C $(TEMP_DIR) --strip-components=1
Copy link
Contributor

Choose a reason for hiding this comment

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

Would a --retry be a good choice on this and any curl'ing. It would avoid some non-zero percentage of network/connection flakes.

Copy link
Member Author

Choose a reason for hiding this comment

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

done

@luxas
Copy link
Member Author

luxas commented Apr 7, 2016

@david-mcmahon I think we maybe should wait with this one until v1.3.0-alpha.2, and then let's merge it for v1.3.0-alpha.3
Thanks for your review 😄. Will update and polish a little bit before I remove WIP.

@luxas luxas mentioned this pull request Apr 7, 2016
@david-mcmahon david-mcmahon removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 7, 2016
@david-mcmahon
Copy link
Contributor

lgtm removed. Please ping me when you want this to go in.

@luxas luxas force-pushed the build_for_arm64 branch from 85073f3 to b5a5283 Compare April 13, 2016 17:30
@luxas luxas changed the title WIP: Build Kubernetes, etcd and flannel for arm64 and ppc64le Build Kubernetes, etcd and flannel for arm64 and ppc64le Apr 13, 2016
@k8s-bot
Copy link

k8s-bot commented Apr 13, 2016

GCE e2e build/test failed for commit b5a528375d80311be2dce7a5570590b8cb17787c.

Please reference the list of currently known flakes when examining this failure. If you request a re-test, you must reference the issue describing the flake.

@luxas
Copy link
Member Author

luxas commented Apr 13, 2016

@david-mcmahon
TODO:

  • First review build/build-image/cross/* files
  • cd build/build-image/cross
  • make ---> gcr.io/google_containers/kube-cross:v1.6.0-2
  • Then CI should pass
  • Review the rest of the code
  • cd cluster/images/etcd
  • make push ARCH=amd64 ---> gcr.io/google_containers/etcd-amd64:2.2.5
  • make push ARCH=arm ---> gcr.io/google_containers/etcd-arm:2.2.5
  • make push ARCH=arm64 ---> gcr.io/google_containers/etcd-arm64:2.2.5
  • make push ARCH=ppc64le ---> gcr.io/google_containers/etcd-ppc64le:2.2.5
  • cd cluster/images/flannel
  • make push ARCH=arm64 ---> gcr.io/google_containers/flannel-arm64:0.5.5
  • make push ARCH=ppc64le ---> gcr.io/google_containers/flannel-ppc64le:0.5.5
  • LGTM

Thanks

@@ -1540,7 +1536,10 @@ function kube::release::docker::release() {
# Activate credentials for the k8s.production.user@gmail.com
gcloud config set account k8s.production.user@gmail.com
fi
for arch in "${archs[@]}"; do

for platform in "${KUBE_SERVER_PLATFORMS[@]}"; do
Copy link
Contributor

Choose a reason for hiding this comment

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

No need to create another variable here.
for arch in " ${KUBE_SERVER_PLATFORMS[@]##*/}"

Copy link
Member Author

Choose a reason for hiding this comment

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

thanks for the catch. fixed

@luxas luxas force-pushed the build_for_arm64 branch from b5a5283 to 4559a84 Compare April 14, 2016 04:29
@k8s-bot
Copy link

k8s-bot commented Apr 14, 2016

GCE e2e build/test failed for commit 4559a84.

Please reference the list of currently known flakes when examining this failure. If you request a re-test, you must reference the issue describing the flake.

@david-mcmahon david-mcmahon added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 14, 2016
@luxas
Copy link
Member Author

luxas commented Apr 14, 2016

It's required to push kube-cross before CI will pass.

@david-mcmahon
Copy link
Contributor

david-mcmahon commented Apr 14, 2016

@luxas Strange, I already pushed this. Maybe I missed something in the resulting output. Will try again...
make push is explicitly required there. Is that intentional?

@david-mcmahon david-mcmahon removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 14, 2016
@luxas
Copy link
Member Author

luxas commented Apr 14, 2016

@david-mcmahon Now it shows up. Thanks

$ curl -sSL https://gcr.io/v2/google_containers/kube-cross/tags/list | jq -r '.tags[]'
v1
v1.4.2-1
v1.6.0-1
v1.6.0-2
v1.6.1-1

@luxas
Copy link
Member Author

luxas commented Apr 14, 2016

@k8s-bot e2e test this please github issue: #IGNORE

@luxas
Copy link
Member Author

luxas commented Apr 14, 2016

@david-mcmahon It turns out that

build:
    //foo
push: build
    //bar
all: push

only runs build as the default. make is somehow ignoring the all command if it's not the first one.

all: push
build:
    //foo
push: build
    //bar

works as expected. I'll ask @spxtr to include that in his PR. I hope we may get this in soon (maybe add priority) so @spxtr may rebase upon it and push v1.6.1-1 the right way

@david-mcmahon david-mcmahon added lgtm "Looks good to me", indicates that a PR is ready to be merged. priority/critical-urgent Highest priority. Must be actively worked on as someone's top priority right now. labels Apr 14, 2016
@k8s-bot
Copy link

k8s-bot commented Apr 14, 2016

GCE e2e build/test passed for commit 4559a84.

@k8s-github-robot
Copy link

The author of this PR is not in the whitelist for merge, can one of the admins add the 'ok-to-merge' label?

@lavalamp lavalamp merged commit 4389aa1 into kubernetes:master Apr 14, 2016
k8s-github-robot pushed a commit that referenced this pull request Apr 20, 2016
Automatic merge from submit-queue

Fix so make == make push in the kube-cross Makefile

ref: #23931 (comment)
@david-mcmahon
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lgtm "Looks good to me", indicates that a PR is ready to be merged. priority/critical-urgent Highest priority. Must be actively worked on as someone's top priority right now. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants