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

Trusty: Support hybrid cluster with nodes on ContainerVM #23079

Merged
merged 1 commit into from
Mar 20, 2016
Merged

Trusty: Support hybrid cluster with nodes on ContainerVM #23079

merged 1 commit into from
Mar 20, 2016

Conversation

andyzheng0831
Copy link

@roberthbailey @dchen1107 please review it.

cc/ @wonderfly @fabioy FYI.

This change is for supporting hybrid cluster in trusty. Since our current need is to run master on trusty and nodes on ContainerVM, I intentionally did not support the reverse case, i.e., nodes on trusty and master on ContainerVM. I still put the hybrid mode under the framework of "trusty", so as to minimize impact on other distros. Therefore, users need to set "KUBE_OS_DISTRIBUTION=trusty".

When setting the following three variables, the cluster will run on trusty

  • KUBE_OS_DISTRIBUTION=trusty
  • KUBE_GCE_MASTER_PROJECT=
  • KUBE_GCE_MASTER_IMAGE=

To run in the hybrid mode, set additional two variables:

  • KUBE_GCE_NODE_PROJECT=google-containers
  • KUBE_GCE_NODE_IMAGE=

I have run e2e against the hybrid cluster using the following settings:
export KUBE_OS_DISTRIBUTION=trusty
export KUBE_GCE_MASTER_PROJECT=ubuntu-os-cloud
export KUBE_GCE_MASTER_IMAGE=ubuntu-1404-trusty-v20160314
export KUBE_GCE_NODE_PROJECT=google-containers
export KUBE_GCE_NODE_IMAGE=container-v1-2-v20160218

go run hack/e2e.go -v --up
go run ./hack/e2e.go -v --test '--test_args=--ginkgo.skip=[Slow]|[Serial]|[Disruptive]|[Flaky]|[Feature:.+]'

Summarizing 1 Failure:

[Fail] [k8s.io] Addon update [BeforeEach] should propagate add-on file changes
/go/src/k8s.io/kubernetes/_output/dockerized/go/src/k8s.io/kubernetes/test/e2e/addon_update.go:358

Ran 159 of 266 Specs in 4323.580 seconds
FAIL! -- 158 Passed | 1 Failed | 0 Pending | 107 Skipped --- FAIL: TestE2E (4324.07s)

The failure is expected.

I also ran cluster/kube-up.sh for the hybrid mode and verified all kube-system pods running.

@andyzheng0831
Copy link
Author

Forgot to mention why I deleted some code in function restart-kube-proxy(). Those lines were added by me to favor e2e tests, when kube-proxy was still running as binary. But now that kube-proxy is moved into a pod and test code was changed, we don't need these lines anymore.

@k8s-github-robot
Copy link

Labelling this PR as size/S

@k8s-github-robot k8s-github-robot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Mar 16, 2016
@eparis eparis removed their assignment Mar 16, 2016
@k8s-bot
Copy link

k8s-bot commented Mar 16, 2016

GCE e2e build/test passed for commit 7dfb71ed6b15bf4affb29c41b6330613ab40b506.

@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?

@k8s-bot
Copy link

k8s-bot commented Mar 18, 2016

GCE e2e build/test passed for commit 4a8647cbc79211b7ecb379fd1907880925513aba.

@andyzheng0831
Copy link
Author

@roberthbailey do you think we need to cherry pick this for 1.2 release branch? I am wondering if we should have a Jenkins job running hybrid clusters to test 1.2 branch, so that if there is a breakage we fix ASAP and do not miss any patch release.

else
ssh-to-node "$1" "sudo /etc/init.d/kube-proxy restart"
fi
ssh-to-node "$1" "sudo /etc/init.d/kube-proxy restart"
Copy link
Contributor

Choose a reason for hiding this comment

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

I wouldn't worry about changing this; see #23180

Copy link
Author

Choose a reason for hiding this comment

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

Yes. I deleted it as it is useless after we moved kube-proxy in a pod.

Copy link
Contributor

Choose a reason for hiding this comment

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

With kube-proxy in a pod, there is no longer anything in /etc/init.d/kube-proxy so what you've left isn't useful either. I'd just remove this change since it isn't related to what this PR is trying to do and is covered by my other change (and then they won't have conflicts which will make it easier to merge both and get them cherry picked).

Copy link
Author

Choose a reason for hiding this comment

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

Done

@roberthbailey
Copy link
Contributor

@andyzheng0831 - I've added the cherrypick-candidate label.

@roberthbailey roberthbailey added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Mar 20, 2016
@k8s-github-robot
Copy link

Labelling this PR as size/XS

@k8s-github-robot k8s-github-robot added size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Mar 20, 2016
@k8s-bot
Copy link

k8s-bot commented Mar 20, 2016

GCE e2e build/test passed for commit 2ea9ef5.

@andyzheng0831
Copy link
Author

The "Addon update should propagate add-on file changes" fails on the hybrid cluster. I logged an issue #23221 to request support differentiating the OS distribution in e2e test code, then I will revise the test code to fix this testing case.

@k8s-github-robot
Copy link

@k8s-bot test this [submit-queue is verifying that this PR is safe to merge]

@k8s-bot
Copy link

k8s-bot commented Mar 20, 2016

GCE e2e build/test passed for commit 2ea9ef5.

@k8s-github-robot
Copy link

Automatic merge from submit-queue

k8s-github-robot pushed a commit that referenced this pull request Mar 20, 2016
@k8s-github-robot k8s-github-robot merged commit d5316c2 into kubernetes:master Mar 20, 2016
@bgrant0607 bgrant0607 added the cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. label Mar 23, 2016
eparis pushed a commit to eparis/kubernetes that referenced this pull request Mar 24, 2016
Auto commit by PR queue bot
(cherry picked from commit d5316c2)
@bgrant0607 bgrant0607 added release-note Denotes a PR that will be considered when it comes time to generate release notes. and removed release-note Denotes a PR that will be considered when it comes time to generate release notes. labels Mar 24, 2016
@k8s-cherrypick-bot
Copy link

Commit bf5b6f0 found in the "release-1.2" branch appears to be this PR. Removing the "cherrypick-candidate" label. If this s an error find help to get your PR picked.

AlainRoy pushed a commit to vmware-archive/kubernetes-archived that referenced this pull request Mar 29, 2016
Auto commit by PR queue bot
(cherry picked from commit d5316c2)
@andyzheng0831 andyzheng0831 deleted the hybrid branch April 4, 2016 19:02
alena1108 pushed a commit to rancher/kubernetes that referenced this pull request May 20, 2016
Auto commit by PR queue bot
(cherry picked from commit d5316c2)
shyamjvs pushed a commit to shyamjvs/kubernetes that referenced this pull request Dec 1, 2016
Auto commit by PR queue bot
(cherry picked from commit d5316c2)
shouhong pushed a commit to shouhong/kubernetes that referenced this pull request Feb 14, 2017
Auto commit by PR queue bot
(cherry picked from commit d5316c2)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cherry-pick-approved Indicates a cherry-pick PR into a release branch has been approved by the release branch manager. lgtm "Looks good to me", indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants