Commit Graph

52408 Commits (10794e7f6e3a35639c4de5f15788304b9eea9f3d)

Author SHA1 Message Date
Matt Landis 10794e7f6e Arbitrarily chose first (lexicographically) subnet in AZ on AWS.
When there is more than one subnet for an AZ on AWS choose arbitrarily
chose the first one lexicographically for consistency.
2017-08-07 07:41:47 -07:00
Kubernetes Submit Queue f189d7f72e Merge pull request #49501 from sttts/sttts-kube-gen-deps
Automatic merge from submit-queue

kube-gen: cut off dependencies

Only gengo is left and apimachinery/pkg/openapi. The later will go away when #48861 merges.

This is the preparation that we can use kube-gen also from apimachinery without circular dependencies.
2017-08-04 11:37:45 -07:00
Kubernetes Submit Queue 898b1b3330 Merge pull request #50028 from julia-stripe/fix-incorrect-scheduler-bind-call
Automatic merge from submit-queue

Fix incorrect call to 'bind' in scheduler

I previously submitted https://github.com/kubernetes/kubernetes/pull/49661 -- I'm not sure if that PR is too big or what, but this is an attempt at a smaller PR that makes progress on the same issue and is easier to review.

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

In this refactor (https://github.com/kubernetes/kubernetes/commit/ecb962e6585#diff-67f2b61521299ca8d8687b0933bbfb19R223) the scheduler code was refactored into separate `bind` and `assume` functions. When that happened, `bind` was called with `pod` as an argument. The argument to `bind` should be the assumed pod, not the original pod. Evidence that `assumedPod` is the correct argument bind and not `pod`: 80f26fa8a8/plugin/pkg/scheduler/scheduler.go (L229-L234). (and it says `assumed` in the function signature for `bind`, even though it's not called with the assumed pod as an argument).

This is an issue (and causes #49314, where pods that fail to bind to a node get stuck indefinitely) in the following scenario:

1. The pod fails to bind to the node
2. `bind` calls `ForgetPod` with the `pod` argument
3. since `ForgetPod` is expecting the assumed pod as an argument (because that's what's in the scheduler cache), it fails with an error like `scheduler cache ForgetPod failed: pod test-677550-rc-edit-namespace/nginx-jvn09 state was assumed on a different node`
4. The pod gets lost forever because of some incomplete error handling (which I haven't addressed here in the interest of making a simpler PR)

In this PR I've fixed the call to `bind` and modified the tests to make sure that `ForgetPod` gets called with the correct argument (the assumed pod) when binding fails.

**Which issue this PR fixes**: fixes #49314

**Special notes for your reviewer**:

**Release note**:

```release-note
```
2017-08-04 10:33:10 -07:00
Kubernetes Submit Queue 4a8d041c4c Merge pull request #50088 from wojtek-t/ha_etcd_migration
Automatic merge from submit-queue

Fix etcd migration for HA clusters

@jpbetz 

Fix #43600
2017-08-04 09:44:14 -07:00
Kubernetes Submit Queue a826c378e5 Merge pull request #49985 from dqminh/fix-race-federation-controller
Automatic merge from submit-queue

federation-controller/clustercontroller: fix race when updating data

Fix #49958

Updates for ClusterController's maps were made without locking which can lead
to race conditions.

This change adds a RWMutex to protect the data. We lock and unlock them
whenever the data is accessed to make sure that we dont slow down too much
2017-08-04 08:52:54 -07:00
Kubernetes Submit Queue 8b30aaec39 Merge pull request #47028 from xilabao/compact-same-resourcenamea-rule
Automatic merge from submit-queue

compact rules which has the same ResourceName

**What this PR does / why we need it**:
make compact rule more elegant.
Before
```
# ./cluster/kubectl.sh describe clusterrole system:kube-scheduler
Name:		system:kube-scheduler
Labels:		kubernetes.io/bootstrapping=rbac-defaults
Annotations:	rbac.authorization.kubernetes.io/autoupdate=true
PolicyRule:
  Resources			Non-Resource URLs	Resource Names		Verbs
  ---------			-----------------	--------------		-----
  bindings			[]			[]			[create]
  endpoints			[]			[]			[create]
  endpoints			[]			[kube-scheduler]	[delete]
  endpoints			[]			[kube-scheduler]	[get]
  endpoints			[]			[kube-scheduler]	[patch]
  endpoints			[]			[kube-scheduler]	[update]
  events			[]			[]			[create patch update]
  nodes				[]			[]			[get list watch]
  persistentvolumeclaims	[]			[]			[get list watch]
  persistentvolumes		[]			[]			[get list watch]
  pods				[]			[]			[get list watch]
  pods/binding			[]			[]			[create]
  pods/status			[]			[]			[update]
  replicasets.extensions	[]			[]			[get list watch]
  replicationcontrollers	[]			[]			[get list watch]
  services			[]			[]			[get list watch]
  statefulsets.apps		[]			[]			[get list watch]
```
After
```
# ./cluster/kubectl.sh describe clusterrole system:kube-scheduler
Name:		system:kube-scheduler
Labels:		kubernetes.io/bootstrapping=rbac-defaults
Annotations:	rbac.authorization.kubernetes.io/autoupdate=true
PolicyRule:
  Resources			Non-Resource URLs	Resource Names		Verbs
  ---------			-----------------	--------------		-----
  bindings			[]			[]			[create]
  endpoints			[]			[]			[create]
  endpoints			[]			[kube-scheduler]	[delete get patch update]
  events			[]			[]			[create patch update]
  nodes				[]			[]			[get list watch]
  persistentvolumeclaims	[]			[]			[get list watch]
  persistentvolumes		[]			[]			[get list watch]
  pods				[]			[]			[get list watch]
  pods/binding			[]			[]			[create]
  pods/status			[]			[]			[update]
  replicasets.extensions	[]			[]			[get list watch]
  replicationcontrollers	[]			[]			[get list watch]
  services			[]			[]			[get list watch]
  statefulsets.apps		[]			[]			[get list watch]
```
**Which issue this PR fixes**:

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-08-04 05:51:47 -07:00
Kubernetes Submit Queue e331de9ef3 Merge pull request #48952 from php-coder/remove_old_stuff
Automatic merge from submit-queue

kubelet: remove code for handling old pod/containers paths

**What this PR does / why we need it**:
This PR removes the code for handling the paths that has been deprecated for a long time.

**Release note**:

```release-note
NONE
```

CC @simo5
2017-08-04 04:55:00 -07:00
Kubernetes Submit Queue 68a722155b Merge pull request #50096 from nicksardo/bump-glbc-0.9.6
Automatic merge from submit-queue (batch tested with PRs 46685, 49863, 50098, 50070, 50096)

GCE: Bump GLBC version to 0.9.6

Closes #50095

**Release note**:
```release-note
GCE: Bump GLBC version to 0.9.6
```
2017-08-04 00:21:00 -07:00
Kubernetes Submit Queue 704cc7f9f6 Merge pull request #50070 from dixudx/remove_013_to_avoid_bad_words
Automatic merge from submit-queue (batch tested with PRs 46685, 49863, 50098, 50070, 50096)

Remove 0,1,3 from rand.String to avoid 'bad words'

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

Remove 0,1,3 from the runes to prevent accidental bad words profanity

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

**Special notes for your reviewer**:
/cc @mml  @jamesawebb1  @spiffxp 

**Release note**:

```release-note
Remove 0,1,3 from rand.String, to avoid 'bad words'
```
2017-08-04 00:20:57 -07:00
Kubernetes Submit Queue c66d2499da Merge pull request #50098 from nikhita/crd-data-race
Automatic merge from submit-queue (batch tested with PRs 46685, 49863, 50098, 50070, 50096)

apiextensions: fix data race in storage

Fixes data race in CRD storage.

Copy to a new map because we cannot write to storageMap without a race as it is used without locking elsewhere.

**Release note**:

```release-note
NONE
```

/cc @sttts
2017-08-04 00:20:55 -07:00
Kubernetes Submit Queue 6065a0daab Merge pull request #49863 from resouer/eclass-test
Automatic merge from submit-queue (batch tested with PRs 46685, 49863, 50098, 50070, 50096)

Cover equivalence cache tests in scheduler core

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

Finish the last part of equivalence class scheduling #17390 : complete unit tests.

Also, removed `InvalidateCachedPredicateItemForPod` which is unused in latest design.

```
godep go test -v equivalence_cache_test.go  equivalence_cache.go  -cover

PASS
coverage: 92.3% of statements
ok  	command-line-arguments	0.071s
```

**Release note**:

```release-note
NONE
```
2017-08-04 00:20:52 -07:00
Kubernetes Submit Queue 0a4903b0e0 Merge pull request #46685 from xilabao/fix-err-message-in-namespace_policy
Automatic merge from submit-queue

fix err message in namespace_policy

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

**Which issue this PR fixes**: fixes #49541

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-08-03 23:59:05 -07:00
Dr. Stefan Schimanski 3cb93f7269 Update generated files 2017-08-04 08:10:38 +02:00
Kubernetes Submit Queue 15842f3769 Merge pull request #50059 from ddysher/local-e2e-bug-fix
Automatic merge from submit-queue

Fix pointer bug in local volume e2e test

**What this PR does / why we need it**:
Fix pointer bug in local volume e2e test

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2017-08-03 23:10:23 -07:00
Dr. Stefan Schimanski 4b709e8485 kube-gen: unify update-codecgen.sh scripts 2017-08-04 08:03:15 +02:00
Dr. Stefan Schimanski 34397721d6 kube-gen: cut off conversion-gen from k8s.io/apimachinery 2017-08-04 08:03:15 +02:00
Dr. Stefan Schimanski 8a0c28eb04 kube-gen: cut off protobuf-gen from apimachinery 2017-08-04 08:03:15 +02:00
Dr. Stefan Schimanski 927341c6d3 verify-staging-import: ignore k8s.io/kube-gen/test 2017-08-04 08:03:15 +02:00
Dr. Stefan Schimanski 98042b77f3 kube-gen: fixup moved tests 2017-08-04 08:03:15 +02:00
Dr. Stefan Schimanski 86ca7fbd92 kube-gen: move client-gen tests into test dir 2017-08-04 08:03:15 +02:00
Kubernetes Submit Queue e29ead1154 Merge pull request #50090 from gmarek/EventClient
Automatic merge from submit-queue (batch tested with PRs 48237, 50084, 50019, 50069, 50090)

Explicitly use Core client as EventClient in hollow node
2017-08-03 22:22:05 -07:00
Kubernetes Submit Queue 151b8118d5 Merge pull request #50069 from fisherxu/master
Automatic merge from submit-queue (batch tested with PRs 48237, 50084, 50019, 50069, 50090)

Fix comment of isHTTPSURL

**What this PR does / why we need it**:
fix comment of isHTTPSURL
2017-08-03 22:22:03 -07:00
Kubernetes Submit Queue 65e6bf8d76 Merge pull request #50019 from deads2k/server-38-storage
Automatic merge from submit-queue (batch tested with PRs 48237, 50084, 50019, 50069, 50090)

create default storage selection functions

The vast majority of our REST storage needs either default selection predicates or minor tweaks the the field selection criteria.  This pull makes that work without any special fields set, but also allows the more complex configuration where it is required.  I only changed one storage an example.  Once this merges, I'll update the others.

@kubernetes/sig-api-machinery-misc @wojtek-t @smarterclayton @sttts @cheftako ptal.
2017-08-03 22:22:00 -07:00
Kubernetes Submit Queue 9a26cdfb52 Merge pull request #50084 from bskiba/ca_tolerate_unready
Automatic merge from submit-queue (batch tested with PRs 48237, 50084, 50019, 50069, 50090)

Allow for some pods not to get scheduled in CA tests.

This will allow us to ignore long tail node creation or failure
to create some nodes when running scalability tests on kubemark.

**Release note**:

```
NONE
```
2017-08-03 22:21:56 -07:00
Kubernetes Submit Queue 0c2f816646 Merge pull request #48237 from xiangpengzhao/fix-proxy-test
Automatic merge from submit-queue

Add test for kube-proxy running with "--cleanup-iptables=true"

**What this PR does / why we need it**:
Add test to prevent such kube-proxy panic to happen again.

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

**Special notes for your reviewer**:
Forgot to add this in last PR #48183. Should we also add this to v1.7 milestone?
/cc @ncdc @dchen1107 

**Release note**:

```release-note
NONE
```
2017-08-03 22:03:31 -07:00
Kubernetes Submit Queue 325a53aa75 Merge pull request #47200 from maisem/cassandra
Automatic merge from submit-queue

Adding a Cassandra upgrade test

Tests for #38336
2017-08-03 18:42:13 -07:00
Kubernetes Submit Queue d15baf69e1 Merge pull request #48969 from ixdy/update-kazel
Automatic merge from submit-queue (batch tested with PRs 50103, 49677, 49449, 43586, 48969)

Run kazel on the entire tree

**What this PR does / why we need it**: part of #47558: auto-generate `BUILD` files on the entire tree, since this is what `gazelle` does, and it'll make subsequent reviews easier if less is changing.

**Release note**:

```release-note
NONE
```
/assign
/release-note-none
2017-08-03 16:43:41 -07:00
Kubernetes Submit Queue 063fc6a73a Merge pull request #43586 from rpothier/cidr_set_ipv6
Automatic merge from submit-queue (batch tested with PRs 50103, 49677, 49449, 43586, 48969)

Adding IPv6 to cidr_set and cidr_set_test

**What this PR does / why we need it**:
This allows IPv6 in cidr_set

Currently cidr_set only supports IPv4. This adds IPv6 compatibility and adds
IPv6 unit tests.

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

**Special notes for your reviewer**:
The IPv6 code here makes some assumptions.
The subnets should be at least /64. (maximum 64 bits of prefix)
The subnet mask size cannot be greater than 30 more than the cluster mask size.

**Release note**:

```release-note
```
2017-08-03 16:43:39 -07:00
Kubernetes Submit Queue 6843ca5731 Merge pull request #49449 from dhilipkumars/PreStopFix
Automatic merge from submit-queue (batch tested with PRs 50103, 49677, 49449, 43586, 48969)

Do not try to run preStopHook when the gracePeriod is 0

**What this PR does / why we need it**:
1. Sometimes when the user force deletes a POD with no gracePeriod, its possible that kubelet attempts to execute the preStopHook which will certainly fail.  This PR prevents this inavitable PreStopHook failure.
```
kubectl delete --force --grace-period=0 po/<pod-name>
```
2. This also adds UT for LifeCycle Hooks
```
time go test --cover -v --run "Hook" ./pkg/kubelet/kuberuntime/
.
.
.
--- PASS: TestLifeCycleHook (0.00s)
    --- PASS: TestLifeCycleHook/PreStop-CMDExec (0.00s)
    --- PASS: TestLifeCycleHook/PreStop-HTTPGet (0.00s)
    --- PASS: TestLifeCycleHook/PreStop-NoTimeToRun (0.00s)
    --- PASS: TestLifeCycleHook/PostStart-CmdExe (0.00s)
PASS
coverage: 15.3% of statements
ok      k8s.io/kubernetes/pkg/kubelet/kuberuntime       0.429s
```

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

**Special notes for your reviewer**:

**Release note**:

```
Do not try to run preStopHook when the gracePeriod is 0
```
2017-08-03 16:43:37 -07:00
Kubernetes Submit Queue 40d66b8e05 Merge pull request #49677 from dims/send-missing-uid-field-during-webhook-authorize
Automatic merge from submit-queue (batch tested with PRs 50103, 49677, 49449, 43586, 48969)

Add missing UID in SubjectAccessReviewSpec

**What this PR does / why we need it**:
WebhookAuthorizer's Authorize should send *all* the information
present in the user.Info data structure. We are not sending the
UID currently.


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

**Special notes for your reviewer**:

**Release note**:

```release-note
The SubjectAccessReview API in the authorization.k8s.io API group now allows providing the user uid.
```
2017-08-03 16:43:34 -07:00
Kubernetes Submit Queue a1aeea8e2e Merge pull request #50103 from dashpole/fix_ood
Automatic merge from submit-queue (batch tested with PRs 50103, 49677, 49449, 43586, 48969)

[Bug Fix] Fix updating LastHeartbeatTime for the OutOfDisk node condition.

Fixes #50058.  #49841 for some (currently unknown) reason did not correctly update LastHeartbeatTime, causing OutOfDisk to be marked unknown.
I have not found the reason for this yet.  This change makes the setNodeOODCondition method nearly identical to the other conditions (e.g. [setNodeMemoryPressureCondition](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/kubelet_node_status.go#L741)).

I have started a cluster with this change, and all nodes have been reporting `Ready` for 25 minutes.
2017-08-03 16:43:32 -07:00
Julia Evans d584bf4d50 Fix incorrect call to 'bind' in scheduler 2017-08-03 13:55:00 -07:00
David Ashpole 177d64213c fix outofdisk condition not reported 2017-08-03 13:44:31 -07:00
Kubernetes Submit Queue 04b2c29a5a Merge pull request #50104 from MrHohn/kube-proxy-1.7.3-changelog
Automatic merge from submit-queue

Add kube-proxy change notice to v1.7.3 release note

**What this PR does / why we need it**: Add necessary release note for issue #48600.

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

**Special notes for your reviewer**:

This is suppose to be in v1.7.3 release note, but turned out I only updated release note on the cherrypick PR (#49799) instead of the original PR (#48625) so nothing got picked up :( 

/assign @bowei @wojtek-t 

**Release note**:

```release-note
NONE
```
2017-08-03 12:55:04 -07:00
Kubernetes Submit Queue 0d6a0404a3 Merge pull request #50092 from sttts/sttts-fix-apiextensions-segfault
Automatic merge from submit-queue

apiextensions: fix panic with KUBE_API_VERSIONS set

https://github.com/kubernetes/kubernetes/pull/48837 introduced a panic in apiextension-apiserver triggered by the `hack/test-update-storage-objects.sh` script in CI.
2017-08-03 12:54:58 -07:00
Anthony Yeh ae2175b6d2
Update CHANGELOG.md for v1.6.8. 2017-08-03 12:53:26 -07:00
Zihong Zheng 357f345206 Add kube-proxy change notice to v1.7.3 release note 2017-08-03 11:52:15 -07:00
Kubernetes Submit Queue 66bfab8915 Merge pull request #49924 from dixudx/increase_deployment_default_RevisionHistoryLimit
Automatic merge from submit-queue

Increase default value of apps/v1beta2 DeploymentSpec.RevisionHistoryLimit to 10

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

All controllers that use the `RevisionHistoryLimit` field have a default value of 10 for the field, except for `Deployment`, which has a default of 2. We should increase it to 10 for consistency on its default value across controllers.

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

**Special notes for your reviewer**:
/cc @janetkuo @foxish @liyinan926

**Release note**:

```release-note
Increase default value of apps/v1beta2 DeploymentSpec.RevisionHistoryLimit to 10
```
2017-08-03 10:58:51 -07:00
Maisem Ali 3ea11b2ba5 Adding cassandra test. 2017-08-03 10:29:25 -07:00
Robert Pothier 5e96523913 Adding IPv6 to cidr_set and cidr_set_test 2017-08-03 13:06:49 -04:00
Kubernetes Submit Queue 1284d78c92 Merge pull request #50053 from xiangpengzhao/fix-owners
Automatic merge from submit-queue

Fix incorrect owner in OWNERS

**What this PR does / why we need it**:
typo: yuyuhong --> yujuhong

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
https://github.com/kubernetes/kubernetes/issues/50048#issuecomment-319846621

**Special notes for your reviewer**:
/assign @yujuhong 
I don't know whether you can approve this PR or not in such case 😄 

**Release note**:

```release-note
NONE
```
2017-08-03 09:45:57 -07:00
Nikhita Raghunath 4a08a693b7 fix data race in storage (during addition) 2017-08-03 21:42:14 +05:30
Nick Sardo 97114d7343 Bump GLBC version to 0.9.6 2017-08-03 08:39:12 -07:00
Kubernetes Submit Queue 928cf542d2 Merge pull request #49942 from xiangpengzhao/nw-e2e
Automatic merge from submit-queue

Moves left networking e2e tests to test/e2e/network

**What this PR does / why we need it**:
#48784 forgot to move some networking e2e tests. This PR moves them.

It also move the networking tests from within `test/e2e/common/networking.go` to  `test/e2e/network/networking.go`

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
Associated PR #48784
Umbrella issue #49161

**Special notes for your reviewer**:
/assign @wojtek-t @bowei 

**Release note**:

```release-note
NONE
```
2017-08-03 08:35:36 -07:00
Harry Zhang f8309d7598 Update generated files 2017-08-03 23:03:52 +08:00
Harry Zhang a0787358b5 Cover get equivalence cache in core
Fix testing method
2017-08-03 23:03:52 +08:00
Dr. Stefan Schimanski 39316dfe9c apiextensions: fix panix with KUBE_API_VERSIONS set 2017-08-03 16:46:05 +02:00
Kubernetes Submit Queue 2bd0b3dd26 Merge pull request #49195 from huangjiuyuan/fix-typo
Automatic merge from submit-queue

fix typo in staging/src/k8s.io/apiserver/pkg/server/config.go

**What this PR does / why we need it**: Fix a typo `It's members are sorted roughly in order of importance for composers.` in `staging/src/k8s.io/apiserver/pkg/server/config.go`.

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

**Special notes for your reviewer**:

**Release note**:

`NONE`
2017-08-03 07:34:43 -07:00
Kubernetes Submit Queue 4c0de01254 Merge pull request #49932 from k82cn/k8s_42001_2_1
Automatic merge from submit-queue

Moved node condition check into Predicats.

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

**Release note**:

```release-note
None
```
2017-08-03 07:34:34 -07:00
gmarek 20b6b3ca99 Explicitly use Core client as EventClient in hollow node 2017-08-03 15:15:09 +02:00