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

Promote pod autoscaling #79954

Merged
merged 5 commits into from
Jul 17, 2019
Merged

Conversation

BobyMCbobs
Copy link
Member

What type of PR is this?
/kind cleanup

What this PR does / why we need it:
Promotes the following E2E tests to Conformance:
test/e2e/autoscaling/horizontal_pod_autoscaling.go: "Should scale from 1 pod to 2 pods"

Special notes for your reviewer:
Part of Umbrella Issue #78747
Test grid results.

Does this PR introduce a user-facing change?:

NONE

/area conformance
/area test
@kubernetes/sig-autoscaling-pr-reviews
@kubernetes/sig-architecture-pr-reviews
@kubernetes/cncf-conformance-wg

@k8s-ci-robot k8s-ci-robot added release-note-none Denotes a PR that doesn't merit a release note. sig/autoscaling Categorizes an issue or PR as relevant to SIG Autoscaling. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. area/conformance Issues or PRs related to kubernetes conformance tests sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. area/test cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-priority Indicates a PR lacks a `priority/foo` label and requires one. labels Jul 10, 2019
@k8s-ci-robot
Copy link
Contributor

Hi @BobyMCbobs. Thanks for your PR.

I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Jul 10, 2019
@k8s-ci-robot
Copy link
Contributor

@BobyMCbobs: Reiterating the mentions to trigger a notification:
@kubernetes/sig-autoscaling-pr-reviews, @kubernetes/sig-architecture-pr-reviews

In response to this:

What type of PR is this?
/kind cleanup

What this PR does / why we need it:
Promotes the following E2E tests to Conformance:
test/e2e/autoscaling/horizontal_pod_autoscaling.go: "Should scale from 1 pod to 2 pods"

Special notes for your reviewer:
Part of Umbrella Issue #78747
Test grid results.

Does this PR introduce a user-facing change?:

NONE

/area conformance
/area test
@kubernetes/sig-autoscaling-pr-reviews
@kubernetes/sig-architecture-pr-reviews
@kubernetes/cncf-conformance-wg

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@hh
Copy link
Member

hh commented Jul 10, 2019

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Jul 10, 2019
@hh
Copy link
Member

hh commented Jul 10, 2019

/ok-to-test

Release : v1.16
Testname: Up-scale pod replicas and resources
Description: Pod replicas MUST increase from 1 pod to 2 pods.
Pod CPU request will increase to 50%.
Copy link
Member

Choose a reason for hiding this comment

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

It should be: Average Pod CPU utilization will drop to lower than 50%

Utilization is usage/request
The test starts with 1 pod, 150 mCpu usage, 200mcpu request - that gives us 75% utilization, while target is 250.
Autoscaler will add second pod. Then we have 150 mCpu total usage, 400 mCPU total request which is <50% utilization.

@k8s-ci-robot k8s-ci-robot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. and removed size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Jul 11, 2019
@bskiba
Copy link
Member

bskiba commented Jul 11, 2019

Thank you!
/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jul 11, 2019
Then the HP Autoscaler will create another pod
And the 150mCPU usage will be spread across both Pods
*/
framework.ConformanceIt("Should scale from 1 pod to 2 pods", func() {
Copy link
Member

Choose a reason for hiding this comment

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

Please lowercase Should so it is like all the others.

Also the description now is accurate but it's still not in the right format - RFC2119. So I think this would be better:

Given 1 Pod with 150mCPU usage, 200mCPU per Pod request, and targeted CPU utilization of 50%, the HP Autoscaler MUST create another pod, spreading the 150mCPU usage across both Pods.

@k8s-ci-robot k8s-ci-robot added priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. and removed needs-priority Indicates a PR lacks a `priority/foo` label and requires one. labels Jul 11, 2019
@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jul 12, 2019
@johnbelamaric
Copy link
Member

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jul 12, 2019
@dims
Copy link
Member

dims commented Jul 15, 2019

/assign @smarterclayton @bgrant0607

Clayton, Brian,
this is ready for your review.

@smarterclayton
Copy link
Contributor

This test isn't still flaky, is it? I know in 1.14 it was pretty bad, are we set on overall flakiness?

@smarterclayton
Copy link
Contributor

/approve

CPU autoscaling is reasonably well adopted and has minimal dependencies. If a specific vendor has an issue with this in practice (because they feel this is out of scope) I'm willing to entertain removing this from the conformance suite and putting into a profile. So this is provisionally approved for 1.16 conformance but if there is significant pushback I am willing to approve removing it from conformance.

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: BobyMCbobs, bskiba, smarterclayton

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

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 16, 2019
@BenTheElder
Copy link
Member

/test pull-kubernetes-e2e-kind

@k8s-ci-robot
Copy link
Contributor

@BobyMCbobs: The following test failed, say /retest to rerun them all:

Test name Commit Details Rerun command
pull-kubernetes-e2e-kind 8e7d654 link /test pull-kubernetes-e2e-kind

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@BenTheElder
Copy link
Member

So this essentially requires that the metrics server addon be deployed right?

Seems like as a semi-related follow up we should move that into kubernetes-sigs instead of kubernetes-incubator at least, and some of the Kubernetes setup docs should be updated to include this.

@k8s-ci-robot k8s-ci-robot merged commit bdb0e51 into kubernetes:master Jul 17, 2019
@dims
Copy link
Member

dims commented Jul 17, 2019

@smarterclayton @bgrant0607 - @BenTheElder caught something after this merged ...

https://kubernetes.slack.com/archives/C20HH14P7/p1563324207095300

is there a reason metrics-server is in incubator instead of kubernetes-sigs? cc @brancz @directxman12
(also seems to be required for conformance now FYI [by way of HPA tests])

Should we "promote" it to kubernetes-sigs?

cc @DirectXMan12 @brancz

@neolit123
Copy link
Member

neolit123 commented Jul 17, 2019

HPA demanding status report to a metric system, or in our case a non-essential addons such as the metric server, seems to require further discussion. in my option, for this test, we should be reporting to a mock/test system and not an actual community maintained addon.

by adding this test to conformance we just enabled the notion that any conformant cluster should host a metrics system, which is not true in the wild. maybe for some k8s based products yes, but not for all clusters out there.

for now, kubeadm will not enable the metric server to be able to run this test.

@smarterclayton
Copy link
Contributor

I am going to revert this given the number of components that don't add the component. The revert is conditional on us discussing how to address this (a number of options have been suggested, from promoting components to required to having the test skip if metrics is not installed but be enforced if it is) and we should try to reach a decision in 3 weeks time (arbitrarily chosen).

@dims
Copy link
Member

dims commented Jul 17, 2019

thanks @smarterclayton !

@brancz
Copy link
Member

brancz commented Jul 18, 2019

Should we "promote" it to kubernetes-sigs?

Yes I think so, although, I think somewhat tangential to this discussion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/conformance Issues or PRs related to kubernetes conformance tests area/test cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. lgtm "Looks good to me", indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. release-note-none Denotes a PR that doesn't merit a release note. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. sig/autoscaling Categorizes an issue or PR as relevant to SIG Autoscaling. sig/testing Categorizes an issue or PR as relevant to SIG Testing. 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.