Commit Graph

1292 Commits

Author SHA1 Message Date
stewart-yu
0cbe0a6034 controller-manager: switch to config/option struct pattern 2018-02-13 11:16:17 +01:00
Kubernetes Submit Queue
317853c90c Merge pull request #59464 from dixudx/fix_all_typos
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

fix all the typos across the project

**What this PR does / why we need it**:
There are lots of typos across the project. We should avoid small PRs on fixing those annoying typos, which is time-consuming and low efficient.

This PR does fix all the typos across the project currently. And with #59463, typos could be avoided when a new PR gets merged.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:
/sig testing
/area test-infra
/sig release
/cc @ixdy 
/assign @fejta 

**Release note**:

```release-note
None
```
2018-02-10 22:12:45 -08:00
Di Xu
48388fec7e fix all the typos across the project 2018-02-11 11:04:14 +08:00
nikhiljindal
9e94c836b8 Adding kubemci e2e test for conformance 2018-02-09 18:44:22 -08:00
Kubernetes Submit Queue
4b69418676 Merge pull request #59661 from shyamjvs/fix-profile-gatherer
Automatic merge from submit-queue (batch tested with PRs 59424, 59672, 59313, 59661). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Disable symbol resolution by pprof in profile-gatherer

Because otherwise it is failing while trying to symbolize, due to lack of a kube-apiserver binary locally (as noted by @wojtek-t) within the job pod:

```
Local symbolization failed for kube-apiserver: open /usr/local/bin/kube-apiserver: no such file or directory
```

This does seem to still produce a graph with all named references - so it seems fine to avoid it. The [documentation](https://github.com/google/pprof/blob/master/doc/pprof.md#symbolization) says:

```
pprof can add symbol information to a profile that was collected only with address information. This is useful for profiles for compiled languages, where it may not be easy or even possible for the profile source to include function names or source coordinates.
```

So my feeling is that for golang, the function names, etc are included in the profile source.

/cc @wojtek-t @kubernetes/sig-scalability-misc 

```release-note
NONE
```
2018-02-09 14:46:37 -08:00
Kubernetes Submit Queue
afa8c4fee5 Merge pull request #59313 from MrHohn/e2e-ingress-scale-new
Automatic merge from submit-queue (batch tested with PRs 59424, 59672, 59313, 59661). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

[e2e gce-ingress] Scale test to measure ingress create/update latency

**What this PR does / why we need it**:
Adding a basic scale test. Test procedure:
- Create O(1) ingresses, measure creation latency for each ingress.
- Create and update one more ingress, do similar measurement on create & update latency.
- Repeat first two steps with O(10) ingresses.
- Repeat first two steps with O(100) ingresses.

Couple side notes:
- Each ingress reference a separate service.
- All services share the same set of backend pods.
- All ingress share one TLS secret.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #NONE 

**Special notes for your reviewer**:
/assign @rramkumar1 @nicksardo @bowei

**Release note**:

```release-note
NONE
```
2018-02-09 14:46:34 -08:00
Shyam Jeedigunta
f9834e3cf7 Disable symbol resolution by pprof in profile-gatherer 2018-02-09 16:36:25 +01:00
Wojciech Tyczynski
3e3dee6850 Print stderr from go tool pprof in profile gatherer 2018-02-09 14:39:08 +01:00
Kubernetes Submit Queue
ee8c896737 Merge pull request #59352 from shyamjvs/add-profiling-to-scalability-tests
Automatic merge from submit-queue (batch tested with PRs 54685, 59352). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add apiserver profiling to our scalability tests

Follows PR https://github.com/kubernetes/kubernetes/pull/58763

/cc @wojtek-t @porridge @kubernetes/sig-scalability-misc
2018-02-08 04:50:31 -08:00
Kubernetes Submit Queue
fb340a4695 Merge pull request #57824 from thockin/gcr-vanity
Automatic merge from submit-queue (batch tested with PRs 57824, 58806, 59410, 59280). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

2nd try at using a vanity GCR name

The 2nd commit here is the changes relative to the reverted PR.  Please focus review attention on that.

This is the 2nd attempt.  The previous try (#57573) was reverted while we
figured out the regional mirrors (oops).
    
New plan: k8s.gcr.io is a read-only facade that auto-detects your source
region (us, eu, or asia for now) and pulls from the closest.  To publish
an image, push k8s-staging.gcr.io and it will be synced to the regionals
automatically (similar to today).  For now the staging is an alias to
gcr.io/google_containers (the legacy URL).
    
When we move off of google-owned projects (working on it), then we just
do a one-time sync, and change the google-internal config, and nobody
outside should notice.
    
We can, in parallel, change the auto-sync into a manual sync - send a PR
to "promote" something from staging, and a bot activates it.  Nice and
visible, easy to keep track of.

xref https://github.com/kubernetes/release/issues/281

TL;DR:
  *  The new `staging-k8s.gcr.io` is where we push images.  It is literally an alias to `gcr.io/google_containers` (the existing repo) and is hosted in the US.
  * The contents of `staging-k8s.gcr.io` are automatically synced to `{asia,eu,us)-k8s.gcr.io`.
  * The new `k8s.gcr.io` will be a read-only alias to whichever regional repo is closest to you.
  * In the future, images will be promoted from `staging` to regional "prod" more explicitly and auditably.

 ```release-note
Use "k8s.gcr.io" for pulling container images rather than "gcr.io/google_containers".  Images are already synced, so this should not impact anyone materially.
    
Documentation and tools should all convert to the new name. Users should take note of this in case they see this new name in the system.
```
2018-02-08 03:29:32 -08:00
Shyam Jeedigunta
c3db0828f9 Add apiserver profiling to our scalability tests 2018-02-08 11:09:31 +01:00
Tim Hockin
3586986416 Switch to k8s.gcr.io vanity domain
This is the 2nd attempt.  The previous was reverted while we figured out
the regional mirrors (oops).

New plan: k8s.gcr.io is a read-only facade that auto-detects your source
region (us, eu, or asia for now) and pulls from the closest.  To publish
an image, push k8s-staging.gcr.io and it will be synced to the regionals
automatically (similar to today).  For now the staging is an alias to
gcr.io/google_containers (the legacy URL).

When we move off of google-owned projects (working on it), then we just
do a one-time sync, and change the google-internal config, and nobody
outside should notice.

We can, in parallel, change the auto-sync into a manual sync - send a PR
to "promote" something from staging, and a bot activates it.  Nice and
visible, easy to keep track of.
2018-02-07 21:14:19 -08:00
Hemant Kumar
f94a81ef19 Revert "add number measurement for bound/unbound pv/pvc" 2018-02-07 21:31:01 -05:00
Kubernetes Submit Queue
be87ea1566 Merge pull request #59010 from cheftako/webhook-crd
Automatic merge from submit-queue (batch tested with PRs 59010, 59212, 59281, 59014, 59297). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fix flaky AdmissionWebhook e2e-crd tests

**What this PR does / why we need it**: Several of the tests("It") in the e2e suite reuse the CRD.
However they each try to setup and tear down the CRD independently.
Since these tests can be running in parallel, causing intermittant
failures.
Changes the test to set up one shared CRD and reuse.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #58855

**Special notes for your reviewer**:

**Release note**:
```release-note
NONE
```
2018-02-07 15:27:37 -08:00
Zihong Zheng
b7e37d21d3 [e2e ingress-gce] Plumb the Logger interface and avoid assertion in util functions 2018-02-06 15:39:51 -08:00
Walter Fender
0bdf29801c Fix flaky AdmissionWebhook e2e-crd tests
Several of the tests("It") in the e2e suite reuse the CRD.
However they each try to setup and tear down the CRD independently.
Since these tests can be running in parallel, causing intermittant
failures.
Added a new framework utility for creating CRDs per test.
Then making the relevant tests use the utility to prevent name
collision/race.
Fixed bazel build.
Factored in fixes for @caesarxuchao
Making suggested change for @janetkuo
2018-02-06 11:34:57 -08:00
Kubernetes Submit Queue
500830d1b0 Merge pull request #59373 from nicksardo/ingress-gce-firewall
Automatic merge from submit-queue (batch tested with PRs 59373, 59379, 59252, 58295, 57786). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

GCE: Check nodeports are covered by firewall rule with port ranges

**What this PR does / why we need it**:
When testing firewalls for GCE ingresses, we should assert that particular nodeports are covered by individual ports or port ranges. Currently, port ranges are not acceptable input.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Will fix the currently erroring `ingress-gce-e2e` tests

**Special notes for your reviewer**:
/cc @MrHohn 
/assign @bowei

**Release note**:
```release-note
NONE
```
2018-02-05 22:28:32 -08:00
Kubernetes Submit Queue
997fe31941 Merge pull request #57872 from mlmhl/volume_metric_bound_pvc
Automatic merge from submit-queue (batch tested with PRs 58317, 58687, 57872, 59063, 59328). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

add number measurement for bound/unbound pv/pvc

**What this PR does / why we need it**:

Implement number measurement for bound/unbound pv/pvc defined in the [Metrics Spec](https://docs.google.com/document/d/1Fh0T60T_y888LsRwC51CQHO75b2IZ3A34ZQS71s_F0g/edit#heading=h.bwzmc2tktae)

ref feature: [ kubernetes/features#496](https://github.com/kubernetes/features/issues/496)

**Release note**:

```release-note
Intended for post-1.9
```
2018-02-05 18:43:37 -08:00
Nick Sardo
dd462ceb94 Test ports are covered by firewall 2018-02-05 16:54:15 -08:00
Kubernetes Submit Queue
7fb445c92d Merge pull request #59094 from jianglingxia/jlx-013114
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

reopen #58913 Fix TODO move GetPauseImageNameForHostArch func

**What this PR does / why we need it**:
reopen #58913 Fix TODO move GetPauseImageNameForHostArch func,because of I squash to a single commit wrong,so recommit one,and close the #58913 
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:
/assign @liggitt 
**Release note**:

```release-note
NONE
```
2018-02-03 22:36:09 -08:00
Kubernetes Submit Queue
0f6354e81b Merge pull request #58645 from jpbetz/etcd-server-3.2-upgrade
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Update etcd server version to 3.2.14

This upgrades the default etcd version used by kubernetes to 3.2.14

We previously [bumped the etcd client to 3.2.14](https://github.com/kubernetes/kubernetes/pull/57480).

Fixes https://github.com/kubernetes/kubernetes/issues/56438

```release-note
Upgrade default etcd server version to 3.2.14
```

cc @gyuho
2018-02-02 20:27:29 -08:00
Kubernetes Submit Queue
ec39ffe232 Merge pull request #58763 from shyamjvs/add-profiling-to-e2e-framework
Automatic merge from submit-queue (batch tested with PRs 55606, 59185, 58763, 59072, 59251). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Introduce apiserver profile-gathering in our testing framework

This enables automatic collection of CPU/Memory profiles for apiserver - saving us some effort while doing scalability experiments.

/cc @wojtek-t @porridge @kubernetes/sig-scalability-misc 

```release-note
NONE
```
2018-02-02 18:26:38 -08:00
Joe Betz
f0d04b7131 Update etcd server version to 3.2.13 2018-02-02 17:25:13 -08:00
Kubernetes Submit Queue
61f58ebfb2 Merge pull request #55439 from crimsonfaith91/revamp
Automatic merge from submit-queue (batch tested with PRs 55439, 58564, 59028, 59169, 59259). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

add basic functionality deployment integration tests

**What this PR does / why we need it**:
This PR adds basic deployment integration tests.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
xref #52113

**Release note**:

```release-note
NONE
```
2018-02-02 17:17:33 -08:00
Kubernetes Submit Queue
c0a7919ac1 Merge pull request #58794 from gnufied/perform-online-resize-if-mounted
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Perform resize of mounted volume if necessary

Under certain conditions - we must perform resize of volume even when it is mounted. This enables us to get around problem of resizing volumes used by deployments etc.

```release-note
Allow expanding mounted volumes
```
2018-02-02 12:48:53 -08:00
NickrenREN
3f6d2c8199 Add e2e test for PV protection 2018-02-02 22:55:34 +08:00
Shyam Jeedigunta
f8cee91372 Introduce apiserver profile-gathering library in testing framework 2018-02-02 13:27:29 +01:00
Jun Xiang Tee
1334b61029 add basic functionality deployment integration tests 2018-02-01 16:21:07 -08:00
Zihong Zheng
38290535d6 [GCE Ingress e2e] Add test for pre-shared certificate 2018-02-01 10:34:36 -08:00
Kubernetes Submit Queue
5440b87778 Merge pull request #58683 from pospispa/566-postpone-pvc-deletion-if-used-in-a-pod-e2e-tests-for-scheduler-changes
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

PVC Protection E2E Tests for Failed Scheduling

**What this PR does / why we need it**:
Change in scheduler that causes that scheduling of a pod that uses PVC that is being deleted fails was introduced in:
- https://github.com/kubernetes/kubernetes/pull/55957

This PR adds an E2E test for the above merged PR.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
N/A

**Special notes for your reviewer**:
N/A

**Release note**:

```release-note
NONE
```
2018-02-01 03:50:48 -08:00
xiangpengzhao
e4fe746491 Auto generated BUILD files. 2018-02-01 17:15:22 +08:00
xiangpengzhao
abdfa7f35f Update test framework featuregates type. 2018-02-01 17:15:12 +08:00
Zihong Zheng
34f8e4e97b Add GCE ingress test case for modified health check 2018-01-31 17:46:14 -08:00
Kubernetes Submit Queue
d560f55370 Merge pull request #58623 from MrHohn/use-gce-library-e2e
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

[e2e util] Remove static IP functions based on gcloud

**What this PR does / why we need it**:
Use GCE library for static IP instead of calling gcloud in e2e test.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #NONE

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-01-31 14:48:35 -08:00
pospispa
52a43b19d8 PVC Protection E2E Tests for Failed Scheduling
The PR [2] introduced a change into a scheduler that causes that scheduling of pods that use PVC that is being deleted fail.

That's why E2E test for the PR [2] is added. This E2E test also addresses the review comment [1].

[1] https://github.com/kubernetes/kubernetes/pull/56931#pullrequestreview-82564849
[2] https://github.com/kubernetes/kubernetes/pull/55957
2018-01-31 10:49:11 +01:00
jianglingxia
76e90061a2 reopen #58913 Fix TODO move GetPauseImageNameForHostArch func 2018-01-31 15:06:32 +08:00
Kubernetes Submit Queue
7595560a0c Merge pull request #59077 from rramkumar1/ingress-upgrade-test-patch
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Fixes ci-ingress-gce-upgrade-e2e

**What this PR does / why we need it**:
This PR fixes the broken ci-ingress-gce-upgrade-e2e job. The issue was that the ingress was being deleted by the test framework before the upgraded ingress could properly sync. Therefore, the resources were never cleaned up, which caused test failure. 

```release-note
None
```

cc @MrHohn 
/assign @bowei
2018-01-30 18:45:51 -08:00
Rohit Ramkumar
4976cb9218 Fixes ci-ingress-gce-upgrade-e2e 2018-01-30 16:55:08 -08:00
Solly Ross
e225bbf1a3 Reset DeferredDiscoveryRESTMapper before use
DeferredDiscoveryRESTMapper won't automatically `Reset` itself before its
initial use, since actually trying to construct the delegate will error
out before it gets a chance to `Reset` itself.  Ergo, we have to
manually call `Reset` before use.
2018-01-30 11:53:20 -05:00
Kubernetes Submit Queue
b28822286c Merge pull request #58706 from rramkumar1/ingress-downgrade-testing
Automatic merge from submit-queue (batch tested with PRs 57322, 57723, 58706, 59004, 58857). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Adding downgrade test for ingress-gce

**What this PR does / why we need it**:
This PR improves the existing downgrade e2e test for ingress-gce. Specifically, we add a test which downgrades ingress from an image built from HEAD to the latest release image.

```release-note
None
```
2018-01-29 20:11:38 -08:00
Hemant Kumar
afeb53e5ee Perform resize of mounted volume if necessary
Add e2e test for mounted volume resize
2018-01-29 17:49:50 -05:00
Kubernetes Submit Queue
235714e7f3 Merge pull request #58298 from p0lyn0mial/generic_scaler_scalerfor_continued
Automatic merge from submit-queue (batch tested with PRs 58955, 58968, 58971, 58963, 58298). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

removes the remainder from ScalerFor method

**What this PR does / why we need it**:
this PR removes existing scalers from `ScalerFor` method

**Release note**:

```release-note
NONE
```
2018-01-29 13:48:51 -08:00
p0lyn0mial
71eb1ff3b1 removes the remainder from ScalerFor method
all remaining scalers were replaced by GenericScaler exept JobScaler.
It is not clear whether JobScaler could use generic scaler or not.
For more details see the pull request.
2018-01-29 20:02:27 +01:00
Rohit Agarwal
d191c57cad Add e2e tests for GPU monitoring. 2018-01-26 15:30:55 -08:00
Kubernetes Submit Queue
c21173d0ea Merge pull request #55792 from dhilipkumars/statefulset-appsv1
Automatic merge from submit-queue (batch tested with PRs 55792, 58342). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Promote Statefulset controller and its e2e tests to use apps/v1

**What this PR does / why we need it**: 
Promotes the statefulset controller to use to use the latest apps group [apps/v1](https://github.com/kubernetes/kubernetes/pull/53679)


**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes # https://github.com/kubernetes/kubernetes/issues/55714

**Special notes for your reviewer**:

* Listerexpansion for v1 `k8s.io/client-go/listers/apps/v1`  (was recently done for v1beta2)

* `v1beta2` && `v1` had `ObservedGeneration` as `int64` where as `v1beta1` and rest of the code (including conversion) is expecting `ObservedGeneration` to be  `*int64`

```
type StatefulSetStatus struct {
	// observedGeneration is the most recent generation observed for this StatefulSet. It corresponds to the
	// StatefulSet's generation, which is updated on mutation by the API Server.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,1,opt,name=observedGeneration"`
```

* for kubectl's `rollback` and `history` commands a couple functions have been duplicated to allow us to use `v1` version instead of `v1beta1` for statefulsets, while the older functions are still used by other controllers.  

We should be able to remove these duplicates once all the controllers are moved. 

If this aligns with the plan then i could move other controllers too. 

cc: @kow3ns 

**Release note**:

```release-note
NONE
```
2018-01-26 06:54:33 -08:00
Rohit Ramkumar
2c3aba380c Adding downgrade test for ingress-gce 2018-01-24 11:36:08 -08:00
mlmhl
229833f2f4 add e2e test for bound/unbound pv/pvc count metrics 2018-01-24 14:36:47 +08:00
Jordan Liggitt
d512e87bb8 Skip unavailable services during e2e remaining content check 2018-01-23 10:26:10 -05:00
Rohit Ramkumar
2941c4bcbc Improve the upgrade test for ingress. 2018-01-22 16:44:20 -08:00
pospispa
d2be1ebb5f Moved func WaitForPersistentVolumeClaimBeRemoved Among Other WaitFor Functions
It's better to have all WaitFor functions in the same location even though the func WaitForPersistentVolumeClaimBeRemoved is used only in one file. This was requested in [1].

[1] https://github.com/kubernetes/kubernetes/pull/56931#discussion_r156724019
2018-01-20 16:29:41 +01:00