Commit Graph

51853 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
3f887171dd Merge pull request #49253 from Quentin-M/no_host_pred_test
Automatic merge from submit-queue (batch tested with PRs 49358, 49253)

Remove hostname label condition in SchedulerPredicates

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

```
validates that NodeSelector is respected if matching [Conformance]
validates that required NodeAffinity setting is respected if matching
```

The two tests above make the assumption that the node names are equal to the `kubernetes.io/hostname` labels. Unfortunately, this is not necessarily true all the time. For instance, when using the AWS Cloud Provider + Container Linux:
- The node name is set using the AWS SDK's `ec2.Instance.PrivateDnsName` and has the form `ip-10-0-35-57.ca-central-1.compute.internal` [[1](https://github.com/kubernetes/kubernetes/blob/v1.7.1/pkg/cloudprovider/providers/aws/aws.go#L3343-L3346)] [[2](https://raw.githubusercontent.com/aws/aws-sdk-go/master/service/ec2/api.go)]
- The node's hostname, however, is a simple call to `os.Hostname()`, itself reading `/proc/sys/kernel/hostname`, which contains what the AWS DHCP assigned to the instance, typically the hostname short-form: `ip-10-0-16-137`.  [[1](https://github.com/kubernetes/kubernetes/blob/v1.7.1/pkg/util/node/node.go#L43-L54)]

Consequently, we are trying to assign a pod to a node having the following label: `kubernetes.io/hostname=ip-10-0-35-57.ca-central-1.compute.internal` (in addition to the randomly generated label), whereas the actual label on the node is `kubernetes.io/hostname=ip-10-0-35-57`.

Furthermore, this inaccurate `kubernetes.io/hostname=<nodename>` condition is actually useless given we already match over a random label, that was assigned to that node. Later, the test ensures that the scheduled pod was scheduled to the right node by comparing the pod's node name and the node name we expected the pod to be on:

```
framework.ExpectNoError(framework.WaitForPodNotPending(cs, ns, labelPodName))
labelPod, err := cs.Core().Pods(ns).Get(labelPodName, metav1.GetOptions{})
framework.ExpectNoError(err)
Expect(labelPod.Spec.NodeName).To(Equal(nodeName))
```

The `k8s.io/apimachinery/pkg/types/nodename` data structure actually [warns](55bee3ad21/staging/src/k8s.io/apimachinery/pkg/types/nodename.go (L40-L43)) about the fact that the node name might be different than the hostname on AWS.

**Release note**:
```release-note
NONE
```
2017-07-24 21:31:08 -07:00
Kubernetes Submit Queue
144a4c2b74 Merge pull request #49358 from jianglingxia/jlx72113
Automatic merge from submit-queue

[trival] fix typo

**What this PR does / why we need it**:
some file word spell error that amend correct
**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
NONE
2017-07-24 21:26:54 -07:00
Kubernetes Submit Queue
ee7eb4a241 Merge pull request #49274 from dixudx/add_const_for_rbd
Automatic merge from submit-queue (batch tested with PRs 48911, 49475, 49438, 49362, 49274)

set RBD default values as constant vars

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

When working on #49225, I found some [default RBD parameters](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#ceph-rbd) had not been declared as constant values, which will be error-prone.

**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
set RBD default values as constant vars
```
2017-07-24 20:39:22 -07:00
Kubernetes Submit Queue
f08e530257 Merge pull request #49362 from zhangxiaoyu-zidif/fix-pdb-describer
Automatic merge from submit-queue (batch tested with PRs 48911, 49475, 49438, 49362, 49274)

Add namespace for describe pdb

**What this PR does / why we need it**:
add namespace for describe pdb

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

**Release note**:

```release-note
NONE
```
2017-07-24 20:39:20 -07:00
Kubernetes Submit Queue
0e94e9439f Merge pull request #49438 from zhangxiaoyu-zidif/delete-err-def-for-drain
Automatic merge from submit-queue (batch tested with PRs 48911, 49475, 49438, 49362, 49274)

Delete redundant err definition

**What this PR does / why we need it**:
Delete redundant err definition
line 642 has its definition and initialization, so line 641 is redundant.

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

**Special notes for your reviewer**:
NONE

**Release note**:

```release-note
NONE
```
2017-07-24 20:39:18 -07:00
Kubernetes Submit Queue
159dcbfbe4 Merge pull request #49475 from jsafrane/fix-gluster-make
Automatic merge from submit-queue (batch tested with PRs 48911, 49475, 49438, 49362, 49274)

Fixed glusterfs mount options

Capacity of a slice is the third argument, not the second one.
We use append() to fill the slice, so it should be empty at the beginning
and with the right capacity.

```release-note
NONE
```
2017-07-24 20:39:13 -07:00
Kubernetes Submit Queue
97eed3f71a Merge pull request #48911 from verult/StorageTests
Automatic merge from submit-queue

Added sig-storage labels to upgrade tests and moved them to appropriate directory

**What this PR does / why we need it**: Adding necessary sig identifier for storage upgrade tests.

/release-note-none
2017-07-24 20:26:59 -07:00
Kubernetes Submit Queue
647c00333d Merge pull request #49494 from shyamjvs/kubemark-fix
Automatic merge from submit-queue (batch tested with PRs 48636, 49088, 49251, 49417, 49494)

Fix bug in command retrying in kubemark

This should fix some of the flakes mentioned in https://github.com/kubernetes/kubernetes/issues/46195.
It's showing that all subsequent retries have failed if the first one failed due to `ret_val` not being reassigned on success.

@bskiba Thanks for noticing :)
2017-07-24 19:30:42 -07:00
Kubernetes Submit Queue
0dfc696d1b Merge pull request #49417 from caesarxuchao/rename
Automatic merge from submit-queue (batch tested with PRs 48636, 49088, 49251, 49417, 49494)

[nit] Rename pkg/api/v1/builder.go to register.go to be consistent with others
2017-07-24 19:30:40 -07:00
Kubernetes Submit Queue
7e5fd72aa6 Merge pull request #49251 from enisoc/initialized-annotation
Automatic merge from submit-queue (batch tested with PRs 48636, 49088, 49251, 49417, 49494)

StatefulSet: Remove `pod.alpha.kubernetes.io/initialized` annotation.

The `pod.alpha.kubernetes.io/initialized` annotation was originally a tool for validating StatefulSet's ordered Pod creation guarantees during the feature's alpha phase.

If set to "false" on a given Pod, it would interrupt StatefulSet's normal behavior. In v1.5.0, the annotation was deprecated and the default became "true" as part of StatefulSet's graduation to beta.

The annotation is now ignored, meaning it cannot be used to interrupt StatefulSet Pod management.

```release-note
StatefulSet: The deprecated `pod.alpha.kubernetes.io/initialized` annotation for interrupting StatefulSet Pod management is now ignored. If you were setting it to `true` or leaving it unset, no action is required. However, if you were setting it to `false`, be aware that previously-dormant StatefulSets may become active after upgrading.
```

ref #41605
2017-07-24 19:30:37 -07:00
Kubernetes Submit Queue
8c58bb6ed3 Merge pull request #49088 from xiangpengzhao/get-crd
Automatic merge from submit-queue (batch tested with PRs 48636, 49088, 49251, 49417, 49494)

Add customresourcedefinition and its shortcut in "kubectl get"

**What this PR does / why we need it**:
Add customresourcedefinition and its shortcut in "kubectl get" help info.

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

**Special notes for your reviewer**:
/cc @orangedeng 

**Release note**:

```release-note
NONE
```
2017-07-24 19:30:35 -07:00
Kubernetes Submit Queue
e623fed778 Merge pull request #48636 from jingxu97/July/allocatable
Automatic merge from submit-queue (batch tested with PRs 48636, 49088, 49251, 49417, 49494)

Fix issues for local storage allocatable feature

This PR fixes the following issues:
1. Use ResourceStorageScratch instead of ResourceStorage API to represent
local storage capacity
2. In eviction manager, use container manager instead of node provider
(kubelet) to retrieve the node capacity and reserved resources. Node
provider (kubelet) has a feature gate so that storagescratch information
may not be exposed if feature gate is not set. On the other hand,
container manager has all the capacity and allocatable resource
information.

This PR fixes issue #47809
2017-07-24 19:30:33 -07:00
Kubernetes Submit Queue
dbcc199d1f Merge pull request #48778 from juanvallejo/jvallejo/fix-jsonpath-negative-index-panic
Automatic merge from submit-queue

stop jsonpath panicing on negative array length

Related downstream issue: https://github.com/openshift/origin/issues/15075

Returns error if provided jsonpath value results in a negative slice index after adding the length of the slice:

```go
a := [0, 1, 2, 3]
b := a[-1:] // 3
c := a[-4:] // 0
d := a[-5:] // out of range error
e := a[4:]  // out of range error
```

**Release note**:
```release-note
NONE
```

cc @fabianofranz
2017-07-24 18:04:23 -07:00
Kubernetes Submit Queue
d368afd845 Merge pull request #48104 from liggitt/tls-copy-bug
Automatic merge from submit-queue

Fix tls config copy in dial test

Fixes a bug introduced in 0d42da1b93 (diff-1748ffb7995a87b1f6bfd534dc5a51abL99) that broke the mutation test check (it was checking an object against itself)
2017-07-24 16:11:43 -07:00
Kubernetes Submit Queue
93b144c426 Merge pull request #48853 from zhangxiaoyu-zidif/delete-reduandant-star
Automatic merge from submit-queue

Delete reduandant *

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

**Release note**:

```release-note
NONE
```
2017-07-24 15:03:05 -07:00
Kubernetes Submit Queue
8079b4ab9e Merge pull request #49510 from caesarxuchao/increase-orphan-timeout
Automatic merge from submit-queue

increase the timeout in GC orphan test

Fixes #42086

See the [justification](https://github.com/kubernetes/kubernetes/issues/42086#issuecomment-317521413).
2017-07-24 15:02:57 -07:00
Kubernetes Submit Queue
1feb0fa6aa Merge pull request #49118 from adelton/flex-bind-mount
Automatic merge from submit-queue (batch tested with PRs 49444, 47864, 48584, 49395, 49118)

Allow unmounting bind-mounted directories.

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

For files, we cannot use `path/..`;
we could use `filepath.Dir` but for bind-mounted, `isNotMounted` which calls `IsLikelyNotMountPoint` would not work anyway.
Let's just have the driver do the work.

Addressing
```
Error: UnmountVolume.TearDown failed for volume "..." (volume.spec.Name: "...") pod "..." (UID: "...") with: lstat /path/.../test-flex/..: not a directory
```

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

N/A

**Special notes for your reviewer**:

N/A

**Release note**:

```release-note
It is now posible to use flexVolumes to bind mount directories and files.
```
2017-07-24 13:52:42 -07:00
Kubernetes Submit Queue
d95665dc9e Merge pull request #49395 from deads2k/server-33-rate
Automatic merge from submit-queue (batch tested with PRs 49444, 47864, 48584, 49395, 49118)

rate limiting should not affect system masters

A `system:masters` user is either a loopback connection or someone with complete access to the cluster.  Either way, they should not be rate-limited like a normal client since their requests are more important.  This moves the maxinflight checker post-authentication and excluded system:masters from the rate limit.

@smarterclayton as discussed.
@kubernetes/sig-api-machinery-misc
2017-07-24 13:52:39 -07:00
Kubernetes Submit Queue
86cc83c3eb Merge pull request #48584 from yiqinguo/yiqinguo_eventtype
Automatic merge from submit-queue (batch tested with PRs 49444, 47864, 48584, 49395, 49118)

Move event type

Change SandboxChanged to a constant and move to the event package below.
**Release note**:
```release-note
NONE
```
2017-07-24 13:52:36 -07:00
Kubernetes Submit Queue
633079eb01 Merge pull request #47864 from droot/podpreset-conflict-fix
Automatic merge from submit-queue (batch tested with PRs 49444, 47864, 48584, 49395, 49118)

fixed conflict resolution behavior while apply podpresets

**What this PR does / why we need it**:
This fixes the PodPreset application behavior in case of conflicts occur during the merging of Pod's information with PodPreset's. More details are in issue #47861 

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

**Special notes for your reviewer**:
We are splitting the PodPreset application logic in two phases. In first phase, we try to detect the conflicts in information merging without modifying the Pod at all. If conflict occurs, then we reject the PodPresets injection. Incase of no conflicts, we apply the PodPresets and merge the information.

**Release note**:

```release-note
PodPreset is not injected if conflict occurs while applying PodPresets to a Pod.
```
2017-07-24 13:52:34 -07:00
Kubernetes Submit Queue
9891f66672 Merge pull request #49444 from eparis/drain-livelock
Automatic merge from submit-queue (batch tested with PRs 49444, 47864, 48584, 49395, 49118)

Do not spin forever if kubectl drain races with other removal

In https://github.com/kubernetes/kubernetes/pull/47450 we stopped
returning an error if a pod disappeared before we could remove it.
Instead we just continue to spin forever. Return "success" if a pod
disappeared before we actually removed it.

https://bugzilla.redhat.com/1473777
bug 1473777

```release-note
`kubectl drain` no longer spins trying to delete pods that do not exist
```
2017-07-24 13:52:31 -07:00
Cheng Xing
ffd48f6311 Added sig-storage labels to upgrade tests and moved them to appropriate directory 2017-07-24 13:23:43 -07:00
Kubernetes Submit Queue
84db0a9487 Merge pull request #49428 from caesarxuchao/fix-gc-1
Automatic merge from submit-queue

Garbage collector e2e tests create deployments with unique labels, and

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

The bug was because two tests point to the same `podTemplate`. One [test](https://github.com/kubernetes/kubernetes/blob/master/test/e2e/apimachinery/garbage_collector.go#L583) changing the "labels" caused the deployment creation in the other test failing, because the selector doesn't match the labels anymore.
2017-07-24 12:31:24 -07:00
Chao Xu
b730c0b46d increate GC orphan test timeout 2017-07-24 11:45:52 -07:00
Kubernetes Submit Queue
fe8f6a1599 Merge pull request #49309 from yujuhong/add-node-e2e-owner
Automatic merge from submit-queue

Add yujuhong to test/e2e_node/OWNERS
2017-07-24 11:06:16 -07:00
Anthony Yeh
283211c1cf
StatefulSet: Remove pod.alpha.kubernetes.io/initialized annotation. 2017-07-24 10:18:47 -07:00
Anthony Yeh
48e8370674
StatefulSet: Stop using initialized annotation in e2e tests.
Instead, use Readiness to pause and resume individual Pods to verify
that the StatefulSet controller performs the right actions one at a
time.
2017-07-24 10:18:47 -07:00
Shyam Jeedigunta
55527036b4 Fix bug in command retrying in kubemark 2017-07-24 17:18:50 +02:00
Kubernetes Submit Queue
d2791d46e3 Merge pull request #49090 from jianglingxia/jlx71815
Automatic merge from submit-queue

installer.go amend some comment

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

**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
NONE
2017-07-24 08:10:24 -07:00
Kubernetes Submit Queue
b4941d018d Merge pull request #49486 from wojtek-t/fix_ha_master
Automatic merge from submit-queue (batch tested with PRs 45345, 49470, 49407, 49448, 49486)

Fix ha-master tests
2017-07-24 07:40:59 -07:00
Kubernetes Submit Queue
c71ea19656 Merge pull request #49448 from smarterclayton/client_lock
Automatic merge from submit-queue (batch tested with PRs 45345, 49470, 49407, 49448, 49486)

Use a client interface instead of a concrete type
2017-07-24 07:40:57 -07:00
Kubernetes Submit Queue
17b9c21a6a Merge pull request #49407 from liggitt/unstructured-marshaler
Automatic merge from submit-queue (batch tested with PRs 45345, 49470, 49407, 49448, 49486)

Fix unstructured marshaler to handle all JSON types

Split from https://github.com/kubernetes/kubernetes/pull/45294

/assign @wojtek-t
2017-07-24 07:40:53 -07:00
Kubernetes Submit Queue
5dbef94aaf Merge pull request #49470 from jianglingxia/jlx72414
Automatic merge from submit-queue (batch tested with PRs 45345, 49470, 49407, 49448, 49486)

statefulset_expansion.go delete ps define

reopen #46157 

**Release note**:

```release-note
NONE
2017-07-24 07:40:50 -07:00
Kubernetes Submit Queue
d286f56221 Merge pull request #45345 from codablock/storageclass_fstype
Automatic merge from submit-queue (batch tested with PRs 45345, 49470, 49407, 49448, 49486)

Support "fstype" parameter in dynamically provisioned PVs

This PR is a replacement for https://github.com/kubernetes/kubernetes/pull/40805. I was not able to push fixes and rebases to the original branch as I don't have access to the Github organization anymore.

I assume the PR will need a new "ok to test" 

**ORIGINAL PR DESCRIPTION**

**What this PR does / why we need it**: This PR allows specifying the desired FSType when dynamically provisioning volumes with storage classes. The FSType can now be set as a parameter:
```yaml
kind: StorageClass
apiVersion: storage.k8s.io/v1beta1
metadata:
  name: test
provisioner: kubernetes.io/azure-disk
parameters:
  fstype: xfs
```

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

**Special notes for your reviewer**:
The PR also implicitly adds checks for unsupported parameters.

**Release note**:

```release-note
Support specifying of FSType in StorageClass
```
2017-07-24 07:40:47 -07:00
Jan Pazdziora
6b7d4b7922 Allow unmounting bind-mounted directories.
For bind-mounted directories, the isNotMounted which calls
IsLikelyNotMountPoint fails because the filesystem of the mounted
location and the parent directory are the same.

Addressing:
unmounter.go:59] Warning: Path: /path/.../test-dir already unmounted
2017-07-24 13:33:10 +02:00
Wojciech Tyczynski
5740c7afbf Fix ha_master tests 2017-07-24 12:10:22 +02:00
Kubernetes Submit Queue
6fdf0e4157 Merge pull request #49247 from cblecker/fix-staging-godeps-master
Automatic merge from submit-queue

Fix staging godeps for k8s.io/metrics and k8s.io/kube-gen

**What this PR does / why we need it**:
#49095 introduced an issue with the formatting of the k8s.io/metrics staging godeps. This fixes that issue, and alters the script to prevent it from happening again.

**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
NONE
```
2017-07-24 01:47:37 -07:00
Jan Safranek
f6a8436504 Fixed glusterfs mount options
Capacity of a slice is the third argument, not the second one.
We use append() to fill the slice, so it should be empty at the beginning
and with the right capacity.
2017-07-24 10:20:39 +02:00
Kubernetes Submit Queue
a6bfeef4fe Merge pull request #48784 from bowei/e2e-net
Automatic merge from submit-queue

Moves networking e2e tests to test/e2e/network
2017-07-24 00:30:14 -07:00
jianglingxia
c412849722 statefulset_expansion.go delete ps define 2017-07-24 14:24:16 +08:00
Kubernetes Submit Queue
4d2a721223 Merge pull request #48707 from danielfm/node-restriction-pod-eviction-subresource
Automatic merge from submit-queue

Allow nodes to create evictions for its own pods in NodeRestriction admission controller

**What this PR does / why we need it**: This PR adds support for `pods/eviction` sub-resource to the NodeRestriction admission controller so it allows a node to evict pods bound to itself.

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

**Special notes for your reviewer**: The NodeRestriction already allows nodes to delete pods bound to itself, so allowing nodes to also delete pods via the Eviction API probably makes sense.

```release-note
NodeRestriction allows a node to evict pods bound to itself
```
2017-07-23 04:16:51 -07:00
Clayton Coleman
b9bebe8a4e
Use a client interface instead of a concrete type
Aids testing
2017-07-22 20:29:48 -04:00
Kubernetes Submit Queue
1bcb381169 Merge pull request #49355 from dhilipkumars/UTDeployment
Automatic merge from submit-queue

deployment: SetNewReplicaSetAnnotations() should compare revisions as numbers than strings

**What this PR does / why we need it**: 
1) SetNewReplicaSetAnnotations() when deployment revision annotation is copied over to RS, it performs a string comparison instead of int comparison, due to this any revision beyond 9 might not get copied.
2) Slightly improves the coverage by adding UT for Annotation related functions
3) Upgrade the test suite to use go-langs sub-test, which is very useful while investigating UT related failures.

```
--- FAIL: TestAnnotationUtils (0.00s)
    --- FAIL: TestAnnotationUtils/SetNewReplicaSetAnnotations (0.00s)
        deployment_util_test.go:1283: Revision Expected=10 Obtained=9
        deployment_util_test.go:1283: Revision Expected=11 Obtained=9
        deployment_util_test.go:1283: Revision Expected=12 Obtained=9
        deployment_util_test.go:1283: Revision Expected=13 Obtained=9
        deployment_util_test.go:1283: Revision Expected=14 Obtained=9
        deployment_util_test.go:1283: Revision Expected=15 Obtained=9
        deployment_util_test.go:1283: Revision Expected=16 Obtained=9
        deployment_util_test.go:1283: Revision Expected=17 Obtained=9
        deployment_util_test.go:1283: Revision Expected=18 Obtained=9
        deployment_util_test.go:1283: Revision Expected=19 Obtained=9
        deployment_util_test.go:1283: Revision Expected=20 Obtained=9
    --- PASS: TestAnnotationUtils/SetReplicasAnnotations (0.00s)
    --- PASS: TestAnnotationUtils/IsSaturated (0.00s)
```

**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

```release-note
```
cc: @kargakis
2017-07-22 10:56:55 -07:00
Eric Paris
7c531ecc13 Do not spin forever if kubectl drain races with other removal
In https://github.com/kubernetes/kubernetes/pull/47450 we stopped
returning an error if a pod disappeared before we could remove it.
Instead we just continue to spin forever. Return "success" if a pod
disappeared before we actually removed it.

https://bugzilla.redhat.com/1473777
bug 1473777
2017-07-22 13:39:01 -04:00
Bowei Du
92a8c1fcb0 Moves networking e2e tests to test/e2e/network
This also adds sig-network-{approvers,reviewers} alias
2017-07-22 09:43:42 -07:00
Kubernetes Submit Queue
72b2a03d52 Merge pull request #49289 from kargakis/rename-test-dir-to-allude-sig-apps-ownership
Automatic merge from submit-queue

Rename test dir to allude sig-apps ownership

@kubernetes/sig-apps-pr-reviews other sigs have already followed this pattern and it seems that this is what @kubernetes/sig-testing-misc wants too

Ref https://github.com/kubernetes/kubernetes/issues/49161

ptal
2017-07-22 06:34:40 -07:00
Michail Kargakis
5e93ed27bd
Rename test dir to allude sig-apps ownership
Signed-off-by: Michail Kargakis <mkargaki@redhat.com>
2017-07-22 12:43:36 +02:00
Kubernetes Submit Queue
f26b2956fb Merge pull request #48418 from xiangpengzhao/refactor-create-svc
Automatic merge from submit-queue (batch tested with PRs 49409, 49352, 49266, 48418)

Use helper to init ClusterIP and NodePort in Create of service

**What this PR does / why we need it**:
Make service `Create` more readable and testable.

- use `initClusterIP` introduced in #46197 to init ClusterIP allocation in service `Create`
- add a new helper `initNodePort` to init NodePort allocation in service `Create`
- TBD: add test case for `initNodePort`. This will cover the NodePort allocation process in `Create`. If this PR makes sense, I will write a test case later.

**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #35354 (not directly. #35354 was fixed by #46197. The idea of this PR is from https://github.com/kubernetes/kubernetes/pull/46197#discussion_r120910077)

**Special notes for your reviewer**:
/cc @thockin @freehan 

**Release note**:

```release-note
NONE
```
2017-07-22 02:05:21 -07:00
Kubernetes Submit Queue
dab16cd1d5 Merge pull request #49266 from MrHohn/e2e-proxy-healthz
Automatic merge from submit-queue (batch tested with PRs 49409, 49352, 49266, 48418)

[e2e] Also verify content returned by kube-proxy healthz url

**What this PR does / why we need it**: Enhance kube-proxy url test. This helps to detect the port collision case --- node-problem-detector also serves /healthz to return 200 ok. Verify the content to confirm /healthz is served by kube-proxy.

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

**Special notes for your reviewer**:
/assign @freehan @nicksardo 

**Release note**:

```release-note
NONE
```
2017-07-22 02:05:18 -07:00
Kubernetes Submit Queue
f57091472c Merge pull request #49352 from atlassian/fix-scheduler-test
Automatic merge from submit-queue (batch tested with PRs 49409, 49352, 49266, 48418)

Use the yet uninitialized informer factory

`informerFactory` has been started already but the `factory.equivalencePodCache` field has not been initialized yet (done below by `.Create()`). So when Service informer calls `onServiceAdd()`, it tries to access this field and crashes with npe.

The fix is to use `informerFactory2`.
It is a race between listeners called by informer and `.Create()`. Do we run unit/integration tests with race detector switched off?

```
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
	panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x14c2c2f]

goroutine 11688 [running]:
k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/runtime.HandleCrash(0x0, 0x0, 0x0)
	/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/runtime/runtime.go:58 +0x126
panic(0x28f5f00, 0x61621c0)
	/usr/local/go/src/runtime/panic.go:489 +0x2cf
k8s.io/kubernetes/plugin/pkg/scheduler/core.(*EquivalenceCache).InvalidateCachedPredicateItemOfAllNodes(0x0, 0xc4202a9020)
	/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/plugin/pkg/scheduler/core/equivalence_cache.go:141 +0x5f
k8s.io/kubernetes/plugin/pkg/scheduler/factory.(*ConfigFactory).onServiceAdd(0xc424ad5950, 0x2cf6fc0, 0xc4249c05a0)
	/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/plugin/pkg/scheduler/factory/factory.go:347 +0x53
k8s.io/kubernetes/plugin/pkg/scheduler/factory.(*ConfigFactory).(k8s.io/kubernetes/plugin/pkg/scheduler/factory.onServiceAdd)-fm(0x2cf6fc0, 0xc4249c05a0)
	/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/plugin/pkg/scheduler/factory/factory.go:247 +0x3e
k8s.io/kubernetes/vendor/k8s.io/client-go/tools/cache.ResourceEventHandlerFuncs.OnAdd(0xc423a47310, 0xc423a47320, 0xc423a47330, 0x2cf6fc0, 0xc4249c05a0)
	/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/client-go/tools/cache/controller.go:195 +0x49
k8s.io/kubernetes/vendor/k8s.io/client-go/tools/cache.(*ResourceEventHandlerFuncs).OnAdd(0xc423938ce0, 0x2cf6fc0, 0xc4249c05a0)
	<autogenerated>:54 +0x73
k8s.io/kubernetes/vendor/k8s.io/client-go/tools/cache.(*processorListener).run(0xc424a698b0)
	/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/client-go/tools/cache/shared_informer.go:544 +0x287
k8s.io/kubernetes/vendor/k8s.io/client-go/tools/cache.(*processorListener).(k8s.io/kubernetes/vendor/k8s.io/client-go/tools/cache.run)-fm()
	/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/client-go/tools/cache/shared_informer.go:380 +0x2a
k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait.(*Group).Start.func1(0xc424a87868, 0xc423a47370)
	/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:71 +0x4f
created by k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait.(*Group).Start
	/go/src/k8s.io/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:72 +0x62
```

**Special notes for your reviewer**:
Found while working on #47045.

**Release note**:

```release-note
NONE
```
2017-07-22 02:05:14 -07:00