Commit Graph

31440 Commits (ffae4cf5a9672a7c37239e5de8a675627390fa55)

Author SHA1 Message Date
k8s-merge-robot ffae4cf5a9 Merge pull request #28404 from saad-ali/movePDTestOutOfFlaky
Automatic merge from submit-queue

Move ungraceful PD tests out of flaky
2016-07-02 00:06:49 -07:00
k8s-merge-robot b8aaf8d933 Merge pull request #28150 from xiangpengzhao/fix-md-issue-link
Automatic merge from submit-queue

Add links to issues referenced in some design documents

Add link to issues referenced in `nodeaffinity.md` and `podaffinity.md`. It would be helpful to visit the issue directly. Also fix broken format of `podaffinity.md` when # is at the beginning of a line.
2016-07-01 23:33:35 -07:00
k8s-merge-robot e0b1336ef4 Merge pull request #28391 from hongchaodeng/cleanup
Automatic merge from submit-queue

integration: cleanup unused API
2016-07-01 22:51:49 -07:00
k8s-merge-robot 85f75daf25 Merge pull request #28268 from cjcullen/expr
Automatic merge from submit-queue

Make GKE detect-instance-groups work on Mac.

Make the fix from #27803 also work on mac.

The GNU `expr` command supports both the `expr match STRING REGEXP` and `expr STRING : REGEXP` command syntax.

The BSD `expr` command only has the `expr STRING : REGEXP` syntax.

@fabioy @a-robinson
2016-07-01 21:41:11 -07:00
k8s-merge-robot 40b8fb476d Merge pull request #28176 from ronnielai/inode-check-dep
Automatic merge from submit-queue

Declare out of disk when there is no free inodes

#21546
2016-07-01 19:59:00 -07:00
k8s-merge-robot 3166f9316f Merge pull request #28111 from mfojtik/min-ready-seconds
Automatic merge from submit-queue

Add MinReadySeconds to rolling updater

Add MinReadySeconds support to RollingUpdater that allows to specify the number of seconds to wait on top of the pod is "ready" because its readiness probe passed.
2016-07-01 19:21:16 -07:00
xiangpengzhao 6604bd20e8 Add issue links to taint-toleration-dedicated.md 2016-07-01 21:45:30 -04:00
k8s-merge-robot 2df9d16a7a Merge pull request #28173 from ronnielai/inode-summary-dep
Automatic merge from submit-queue

Includes the number of free inodes in stat summary

#21546
2016-07-01 18:38:28 -07:00
xiangpengzhao 7074169a63 Add link to issues referenced in nodeaffinity.md and podaffinity.md 2016-07-01 21:31:47 -04:00
k8s-merge-robot d499d65bef Merge pull request #28055 from ronnielai/doc
Automatic merge from submit-queue

Adding inode availability in eviction policy

Updates the proposal to include inodes as an eviction parameter.
2016-07-01 18:04:12 -07:00
saadali 1882a789ac Move ungraceful PD tests out of flaky 2016-07-01 17:50:23 -07:00
k8s-merge-robot e9dc42d9f7 Merge pull request #27987 from vishh/23778
Automatic merge from submit-queue

Remove reference to documentation webpage from kubectl describe nodes output

Fixes #23778
2016-07-01 17:28:58 -07:00
Eric Tune 7af86d7edf Merge pull request #28398 from erictune/foof
Update CHANGELOG
2016-07-01 17:20:22 -07:00
Eric Tune e5f92b55d7 Manually improved release notes.
Summarized what I thought were the most interesting changes for
all users, and for specific cloud providers.

Still need better list of breaking changes.
2016-07-01 17:08:02 -07:00
Eric Tune 39423f2e02 trivial changes to CHANGELOG.md 2016-07-01 17:08:02 -07:00
k8s-merge-robot fb19362e01 Merge pull request #25899 from yujuhong/ncri
Automatic merge from submit-queue

Add a new container runtime interface

This PR includes a proposal and a Go file to re-define the container runtime interface.
This is based on the original doc: https://docs.google.com/document/d/1ietD5eavK0aTuMQTw6-21r67UU73_vqYSUIPFdA0J5Q/

The umbrella issues is #22964

/cc @kubernetes/sig-node
2016-07-01 16:55:44 -07:00
k8s-merge-robot 739e3dd1b1 Merge pull request #26237 from duglin/UseConstant
Automatic merge from submit-queue

Use `CreatedByAnnotation` constant

A nit but didn't want the strings to get out of sync.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-07-01 16:55:39 -07:00
Hongchao Deng e270ccf543 integration: cleanup unused API 2016-07-01 16:26:17 -07:00
k8s-merge-robot 793b4fea9e Merge pull request #27900 from derekwaynecarr/test_defaults_qos
Automatic merge from submit-queue

Add additional testing scenarios for compute resource requests=0

I was asked about the qos tier of a pod that specified 

`--requests=cpu=0,memory=0 --limits=cpu=100m,memory=1Gi`

and in just investigating current behavior, realized we should have an explicit test case to ensure that 0 values are preserved in defaulting passes, and that this is still a burstable pod (but the lowest for that tier as it related to eviction)

/cc @vishh
2016-07-01 16:16:23 -07:00
Yu-Ju Hong 08dc661133 Container runtime interface
This commit includes a proposal and a Go file to re-define the container
runtime interface.

Note that this is an experimental interface and is expected to go through
multiple revisions once developers start implementing against it. As stated in
the proposal, there are also individual issues to carry discussions of
specific features.
2016-07-01 15:42:11 -07:00
k8s-merge-robot ac989f60a1 Merge pull request #26706 from borismattijssen/patch-1
Automatic merge from submit-queue

Update scheduler_extender.md

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()

The filter call should actually return a schedulerapi.ExtenderFilterResult with an api.NodeList in it, instead of a raw api.NodeList.
2016-07-01 15:30:06 -07:00
k8s-merge-robot fe07ca6c86 Merge pull request #27379 from juanvallejo/jvallejo_kube-get-all-show-kind-in-headers
Automatic merge from submit-queue

Update "kubectl get all" to display resource type as part of name

fixes #23838
release-note-none

When running "kubectl get all", or printing any output with mixed resource kinds, an additional column is added to the output with each resource's kind:

`kubectl get all --all-namespaces`
```
NAMESPACE     NAME                         DESIRED          CURRENT       AGE
default       rc/docker-registry-1         1                1             23h
testproject   rc/node-1                    0                0             2d
NAMESPACE     NAME                         CLUSTER-IP       EXTERNAL-IP   PORT(S)                 AGE
default       svc/docker-registry          172.30.36.42     <none>        5000/TCP                23h
default       svc/kubernetes               172.30.0.1       <none>        443/TCP,53/UDP,53/TCP   7d
testproject   svc/ruby-ex                  172.30.187.128   <none>        8080/TCP                6d
NAMESPACE     NAME                         READY            STATUS        RESTARTS                AGE
default       po/docker-registry-1-cpf8o   1/1              Running       1                       23h
```

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-01 14:15:05 -07:00
k8s-merge-robot 1e33d117fe Merge pull request #28294 from ncdc/return-error-for-kubectl-get-singluar
Automatic merge from submit-queue

kubectl: don't display an empty list when trying to get a single resource that isn't found

Return immediately when attempting to get a singular resource that isn't found, so that we avoid
printing out a List if the output format is something like json or yaml.

Before:

```
$ kubectl get pod/foo -o yaml
apiVersion: v1
items: []
kind: List
metadata: {}
pods "foo" not found
```

After:

```
$ kubectl get pod/foo -o yaml
pods "foo" not found
```

Fixes #28243 

@kubernetes/kubectl @kubernetes/rh-ux @smarterclayton @liggitt @deads2k @metral
2016-07-01 13:40:45 -07:00
David McMahon 3313d68066 Update CHANGELOG.md for v1.3.0. 2016-07-01 13:04:11 -07:00
k8s-merge-robot 0e24db8bb9 Merge pull request #27269 from gmarek/controllerRef
Automatic merge from submit-queue

Graceful deletion bumps object's generation

Fix. #24935

cc @caesarxuchao
2016-07-01 13:03:28 -07:00
k8s-merge-robot 0881419e48 Merge pull request #28374 from mml/kubedns-flags
Automatic merge from submit-queue

Add version and flag logging to kube-dns.

Helps with #28358

Stopgap until we have a general solution for #27744
2016-07-01 12:28:39 -07:00
k8s-merge-robot def30c986e Merge pull request #28372 from quinton-hoole/2016-07-01-dump-kubedns-logs
Automatic merge from submit-queue

Print kube-dns pod logs on federation e2e test failure.
2016-07-01 12:28:34 -07:00
k8s-merge-robot a67c0ff8a1 Merge pull request #28323 from Random-Liu/fix-node-confomance-test
Automatic merge from submit-queue

Fix node confomance test

Fixes https://github.com/kubernetes/kubernetes/issues/28255, https://github.com/kubernetes/kubernetes/issues/28250, https://github.com/kubernetes/kubernetes/issues/28341.

The main reason of the flake is that in the failed test expects the `PodPhase` to keep `Pending`. It did `Eventually` check and `Consistently` check for 5 seconds. However, the default `PodPhase` is `Pending`, when the check passes, the `PodStatus` could still be in default state.

After that, the test expects the container status to be `Waiting`, which may not be the case, because the default `ContainerStatuses` is empty, and the pod could still be in the default state.

This PR changes the test to ensure `ContainerStatuses` first and then check the `PodPhase` after that.

Mark P1 because the test fails relatively frequently and does block some PRs.

@pwittrock 

/cc @liangchenye @ncdc 
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-01 12:28:30 -07:00
Matt Liggett bf13785149 Add version and flag logging to kube-dns. 2016-07-01 11:31:27 -07:00
Quinton Hoole b3c7c49098 Print kube-dns pod logs on federation e2e test failure. 2016-07-01 11:23:29 -07:00
juanvallejo 7df60d6b64 display resource type as part of its name 2016-07-01 12:58:02 -04:00
gmarek 638f4e1192 Setting deletion timestamp bumps object's generation 2016-07-01 16:45:43 +02:00
Piotr Szczesniak 8cabbcbdcf Merge pull request #28344 from mwielgus/e2e-sd-nanp
E2e tests to check whether cluster autoscaling scale down works when one node pool is not autoscaled
2016-07-01 11:58:29 +02:00
Marcin Wielgus 92b3359aec E2e tests to check whether cluster autoscaling scale down works when one node pool is not autoscaled. 2016-07-01 11:02:44 +02:00
k8s-merge-robot 34244efd22 Merge pull request #28263 from liggitt/stringdata
Automatic merge from submit-queue

Allow specifying secret data using strings

This PR allows specifying non-binary data values in `Secret` objects as `"stringData":{"key":"string value"}`, in addition to the existing base64 []byte serializations in the `data` field.

On write, the keys and values in the `stringData` field are merged to the `data` map, overwriting any values already present in the `data` map. The move is one-way, the `stringData` field is never output when reading from the API.

A Secret could be created like this:
```
{
  "kind":"Secret",
  "apiVersion":"v1",
  "metadata":{"name":"mysecret"},
  "data":{
    "image":"<base64-encoded-jpg>"
  },
  "stringData":{
    "username": "myuser",
    "password": "mypassword"
  }
}
```
and when read from the API would look like this:
```
{
  "kind":"Secret",
  "apiVersion":"v1",
  "metadata":{"name":"mysecret",...},
  "data":{
    "image":"<base64-encoded-jpg>"
    "username": "bXl1c2Vy",
    "password": "bXlwYXNzd29yZA=="
  }
}
```
2016-07-01 00:28:56 -07:00
k8s-merge-robot 8562021366 Merge pull request #28254 from grodrigues3/Fix-TreeStateVersion-Check
Automatic merge from submit-queue

fixed the typo causing incorrect comparison with cVer and cVer; now checking against sVer

fixes #25252
2016-06-30 23:54:41 -07:00
k8s-merge-robot 9470bfd692 Merge pull request #28240 from Random-Liu/add-semver-back
Automatic merge from submit-queue

Kubelet: Add the docker semver back.

Fixes #28221.
This PR:
1) Add the semver back https://github.com/kubernetes/kubernetes/pull/20020
2) Remove the code in https://github.com/kubernetes/kubernetes/pull/20827, because docker 1.8 is not officially supported now, and we want to deprecate it. https://github.com/kubernetes/kubernetes/pull/27208
3) Add a test for docker version comparison.

XRef https://github.com/kubernetes/kubernetes/pull/28223

@yujuhong 
/cc @ingvagabund 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-30 23:20:56 -07:00
k8s-merge-robot d8a54c7a5c Merge pull request #28237 from ixdy/kubekins-aws
Automatic merge from submit-queue

Install pip in kubekins test image and install AWS cli when needed

Follow-on to https://github.com/kubernetes/test-infra/pull/66. This fixes AWS hopefully.

I haven't pushed the image yet.

cc @fejta
2016-06-30 22:07:51 -07:00
k8s-merge-robot 536622fd07 Merge pull request #27923 from kevinjkj/kevinjkj-patch-2-1
Automatic merge from submit-queue

fix return value
2016-06-30 21:14:15 -07:00
k8s-merge-robot 1ab7671fdc Merge pull request #23866 from intelsdi-x/chcon_invalid_argument_in_dockerized_kubelet
Automatic merge from submit-queue

invalid arg during applying SELinux label

Tested with Ubuntu 16.04 with SELINUX support. Actually, after `chcon `with long label got: `chcon: failed to set type security context component to ‘system_u:object_r:svirt_sandbox_file_t:s0’: Invalid argument`
2016-06-30 20:39:31 -07:00
k8s-merge-robot 480233c55b Merge pull request #28228 from mtaufen/e2e-killcmd-cleanup
Automatic merge from submit-queue

Use slices of items to clean up after tests

Fixes #27582.

We used to maintain a pointer variable for each process to kill after the
tests finish. @lavalamp suggested using a slice instead, which is a much
cleaner solution. This implements @lavalamp's suggestion and also extends
the idea to tracking directories that need to be removed after the tests finish.

This also means that we should no longer check for nil `killCmd`s inside
`func (k *killCmd) Kill() error {...}` (see #27582 and #27589). If a nil
`killCmd` makes it in there, something is bad elsewhere and we want to see
the nil pointer exception immediately.

Mentioning @timstclair and @euank wrt the original issue/PR.
2016-06-30 20:04:45 -07:00
k8s-merge-robot ff281525a8 Merge pull request #28143 from xiangpengzhao/service-node-port-range
Automatic merge from submit-queue

Should set default value for --service-node-port-range flag before verifying

For the flag `--service-node-port-range` of kube-apiserver, we know that it defaults to `30000-32767` if not specified. But if we only pass the flag `--kubernetes-service-node-port` with a valid value between `30000-32767` when starting kube-apiserver, a fatal error will occurs as the last below. It means that service port range is not 30000-32767 but empty. The log is from code [DefaultAndValidateRunOptions-->ValidateRunOptions-->verifyServiceNodePort](https://github.com/xiangpengzhao/kubernetes/blob/master/pkg/genericapiserver/genericapiserver.go#L580) where the flags are verified. 

After tracing the apiserver related code, we can find the call stack:
```
func main() {
	......
	s := options.NewAPIServer()
	......
	app.Run(s)
	......
}
```
In the `app.Run`, it calls [genericapiserver.DefaultAndValidateRunOptions(s.ServerRunOptions)](https://github.com/xiangpengzhao/kubernetes/blob/master/cmd/kube-apiserver/app/server.go#L80). But the `--kubernetes-service-node-port` hasn't been defaulted before there, so it's empty. It's then defaulted in `app.Run`-->[master.New](https://github.com/xiangpengzhao/kubernetes/blob/master/cmd/kube-apiserver/app/server.go#L276)-->[genericapiserver.New](https://github.com/xiangpengzhao/kubernetes/blob/master/pkg/master/master.go#L179)-->[setDefaults](https://github.com/xiangpengzhao/kubernetes/blob/master/pkg/genericapiserver/genericapiserver.go#L338)-->[defaultServiceNodePortRange](https://github.com/xiangpengzhao/kubernetes/blob/master/pkg/genericapiserver/genericapiserver.go#L281).

So, we have to set default value for `--kubernetes-service-node-port` in [NewServerRunOptions](https://github.com/xiangpengzhao/kubernetes/blob/master/pkg/genericapiserver/options/server_run_options.go#L105), as is done for `--secure-port` and/or `--insecure-port`. The `NewServerRunOptions` will be called in options.[NewAPIServer](https://github.com/xiangpengzhao/kubernetes/blob/master/cmd/kube-apiserver/app/options/options.go#L50)().

Hope that I have described the issue clearly. Thanks!

```
root@vm:~# kube-apiserver --etcd-servers=http://172.16.1.11:4001 --service-cluster-ip-range=192.168.122.0/24 --insecure-bind-address=0.0.0.0 --logtostderr=false --log-dir=/home/paas/zxp/log/kube --v=10 --kubernetes-service-node-port=30001 &
[2] 24629
root@vm:~# F0627 23:46:37.308726   24629 genericapiserver.go:580] Kubernetes service port range  doesn't contain 30001
goroutine 1 [running]:
k8s.io/kubernetes/vendor/github.com/golang/glog.stacks(0x44f2500, 0x0, 0x0, 0x0)
	/home/paas/zxp/code/k8s/fork/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/github.com/golang/glog/glog.go:766 +0xb8
k8s.io/kubernetes/vendor/github.com/golang/glog.(*loggingT).output(0x44d2020, 0xc800000003, 0xc820238000, 0x438c73b, 0x13, 0x244, 0x0)
	/home/paas/zxp/code/k8s/fork/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/github.com/golang/glog/glog.go:717 +0x259
k8s.io/kubernetes/vendor/github.com/golang/glog.(*loggingT).printf(0x44d2020, 0xc800000003, 0x3223dc0, 0x33, 0xc8204c4cc8, 0x2, 0x2)
	/home/paas/zxp/code/k8s/fork/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/github.com/golang/glog/glog.go:655 +0x1d4
k8s.io/kubernetes/vendor/github.com/golang/glog.Fatalf(0x3223dc0, 0x33, 0xc8204c4cc8, 0x2, 0x2)
	/home/paas/zxp/code/k8s/fork/kubernetes/_output/local/go/src/k8s.io/kubernetes/vendor/github.com/golang/glog/glog.go:1145 +0x5d
k8s.io/kubernetes/pkg/genericapiserver.verifyServiceNodePort(0xc8202a8400)
	/home/paas/zxp/code/k8s/fork/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/genericapiserver/genericapiserver.go:580 +0x1d5
k8s.io/kubernetes/pkg/genericapiserver.ValidateRunOptions(0xc8202a8400)
	/home/paas/zxp/code/k8s/fork/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/genericapiserver/genericapiserver.go:605 +0x2f
k8s.io/kubernetes/pkg/genericapiserver.DefaultAndValidateRunOptions(0xc8202a8400)
	/home/paas/zxp/code/k8s/fork/kubernetes/_output/local/go/src/k8s.io/kubernetes/pkg/genericapiserver/genericapiserver.go:612 +0x4e
k8s.io/kubernetes/cmd/kube-apiserver/app.Run(0xc820224fc0, 0x0, 0x0)
	/home/paas/zxp/code/k8s/fork/kubernetes/_output/local/go/src/k8s.io/kubernetes/cmd/kube-apiserver/app/server.go:80 +0x70
main.main()
	/home/paas/zxp/code/k8s/fork/kubernetes/_output/local/go/src/k8s.io/kubernetes/cmd/kube-apiserver/apiserver.go:50 +0x121

[2]+  Exit 255                kube-apiserver --etcd-servers=http://172.16.1.11:4001 --service-cluster-ip-range=192.168.122.0/24 --insecure-bind-address=0.0.0.0 --logtostderr=false --log-dir=/home/paas/zxp/log/kube --v=10 --kubernetes-service-node-port=30001
root@vm:~#

```
2016-06-30 19:30:31 -07:00
k8s-merge-robot a32350a117 Merge pull request #28134 from mml/fed-rrset-verbose
Automatic merge from submit-queue

Add printf formatting for rrset objects.

Without this you just get two pointers in the debug log.

Before:

```
I0627 21:48:44.136615       1 dns.go:215] Existing recordset {0xc820168830 0xc820691540} is not equal to needed recordset &{0xc820168848 0xc820686040}, removing existing and adding needed.
```

After:

```
I0627 22:26:46.221856       1 dns.go:215] Existing recordset                <(clouddns) "federated-service.e2e-tests-service-cuza5.federation.svc.us-central1-c.us-central1.kube.5yetis.net." type=CNAME rrdatas=["federated-service.e2e-tests-service-cuza5.federation.svc.us-central1.kube.5yetis.net."] ttl=180>
I0627 22:26:46.221885       1 dns.go:216] ... not equal to needed recordset <(clouddns) "federated-service.e2e-tests-service-cuza5.federation.svc.us-central1-c.us-central1.kube.5yetis.net." type=CNAME rrdatas=["federated-service.e2e-tests-service-cuza5.federation.svc.us-central1.kube.5yetis.net."] ttl=180>
I0627 22:26:46.221919       1 dns.go:217] ... removing existing and adding needed.
```
2016-06-30 18:54:46 -07:00
David McMahon 251798d9aa Update CHANGELOG.md for v1.3.0-beta.3. 2016-06-30 17:52:45 -07:00
k8s-merge-robot e2b3aad63a Merge pull request #27124 from gitfred/parallel-waiting
Automatic merge from submit-queue

Parallel waiting for pods in e2e

Fixes #27120
2016-06-30 17:49:49 -07:00
Ron Lai 87f5251d0d Adding inode availability in eviction policy 2016-06-30 17:44:25 -07:00
k8s-merge-robot f549570e5d Merge pull request #28110 from mfojtik/describe-volume-mounts
Automatic merge from submit-queue

Describe container volume mounts

This patch will list the volume mounts defined for the container in `kubectl describe`:

```console
[root@localhost origin]# kubectl describe pods/ruby-ex-3-ehchv
Name:			ruby-ex-3-ehchv
Namespace:		test
Security Policy:	restricted
Node:			localhost/10.0.2.15
Start Time:		Mon, 27 Jun 2016 11:15:19 +0000
Labels:			app=ruby-ex
			deployment=ruby-ex-3
			deploymentconfig=ruby-ex
Status:			Running
IP:			172.17.0.3
Controllers:		ReplicationController/ruby-ex-3
Containers:
  ruby-ex:
    Container ID:	docker://75869f5dd5da39025ebfcf4cb970004d9cc99ee2f95524732f9102254b289b1e
    Image:		172.30.159.185:5000/test/ruby-ex@sha256:0faa1fcca255a269378a4db51b8eef2ae67312de8b21b033c46fe0ff414efaea
    Image ID:		docker://052fe9b4b929cc883fcbbf1e223373d2fbe8bdf407170210ee29a94c33b40cd3
    Port:		8080/TCP
    QoS Tier:
      cpu:		BestEffort
      memory:		BestEffort
    State:		Running
      Started:		Mon, 27 Jun 2016 11:15:20 +0000
    Ready:		True
    Restart Count:	0
    Volume Mounts:
      volume-eckcb:		/test
      default-token-uffs0:	/var/run/secrets/kubernetes.io/serviceaccount
    Environment Variables:	<none>
```
2016-06-30 17:15:05 -07:00
Random-Liu b5cef55af5 fix pull image test flake 2016-06-30 17:02:12 -07:00
Matt Liggett a8b1c2e903 Add printf formatting for rrset objects.
Without this you just get two pointers in the debug log.

Before:

I0627 21:48:44.136615       1 dns.go:215] Existing recordset {0xc820168830 0xc820691540} is not equal to needed recordset &{0xc820168848 0xc820686040}, removing existing and adding needed.

After:

I0627 22:26:46.221856       1 dns.go:215] Existing recordset                <(clouddns) "federated-service.e2e-tests-service-cuza5.federation.svc.us-central1-c.us-central1.kube.5yetis.net." type=CNAME rrdatas=["federated-service.e2e-tests-service-cuza5.federation.svc.us-central1.kube.5yetis.net."] ttl=180>
I0627 22:26:46.221885       1 dns.go:216] ... not equal to needed recordset <(clouddns) "federated-service.e2e-tests-service-cuza5.federation.svc.us-central1-c.us-central1.kube.5yetis.net." type=CNAME rrdatas=["federated-service.e2e-tests-service-cuza5.federation.svc.us-central1.kube.5yetis.net."] ttl=180>
I0627 22:26:46.221919       1 dns.go:217] ... removing existing and adding needed.
2016-06-30 16:40:44 -07:00
k8s-merge-robot 23e7b6653f Merge pull request #27049 from andreykurilin/kubectl_help
Automatic merge from submit-queue

Implement custom help command for kubectl

```release-note
* kubectl help now provides "Did you mean this?" suggestions for typo/invalid command names.
```

Custom implementation of help command allows to print `Did you mean this?` with
suggestions, which is missed in embed help command from github.com/spf13/cobra

Also, it can be extended with different search features. At this patch, help
command searches query in short descriptions of commands in case of mismatch
with commands names.

fixes #25234
2016-06-30 16:32:16 -07:00