Commit Graph

4307 Commits

Author SHA1 Message Date
juanvallejo
95437a941f export list of user resources
This patch exports the list of "userResources" found in
`pkg/kubectl/cmd/util/shortcut_resmapper.go` to allow its use in
external packages and clients.
2017-01-13 14:48:47 -05:00
deads2k
f1176d9c5c mechanical repercussions 2017-01-13 08:27:14 -05:00
Xing Zhou
695c27287b Fixed typo.
Fixed variable sequence typo in kubectl create sub-command tests.
2017-01-13 12:54:15 +08:00
Robert Rati
6a3ad93d6c [scheduling] Moved pod affinity and anti-affinity from annotations to api
fields. #25319
2017-01-12 14:54:29 -05:00
Kubernetes Submit Queue
e73d66ce44 Merge pull request #37557 from sttts/sttts-update-ugorji
Automatic merge from submit-queue

Update ugorji/go/codec godep

In order to pick-up https://github.com/ugorji/go/issues/119 and to get rid of the workaround at https://github.com/kubernetes/kubernetes/pull/36909/files#diff-a09eb061a0fb0ef3c9ef9d696f1ad0b4R426.
2017-01-12 02:36:16 -08:00
Janet Kuo
a8e92e6f2a Fix bug when printing replicas in Deployment Describer 2017-01-11 17:26:01 -08:00
Dr. Stefan Schimanski
2741eb7fdb Update generated files 2017-01-11 21:54:07 +01:00
juanvallejo
9c7b5c3425 log info on invalid --output-version
Object versions default to the current version (v1) when a specified
`--output-version` is invalid. This patch logs a warning when this is
the case. Cases affected are all commands with the `--output-version`
option, and anywhere runtime objects are converted to versioned objects.

**Example**
```
$ kubectl get pod <mypod> -o json --output-version=invalid
W1013 17:24:16.810278   26719 result.go:238]  info: the output version
specified (invalid) is invalid, defaulting to v1
{
        "kind": "Pod",
            "apiVersion": "v1",
                "metadata": {
                            "name": "mypod",
                                    "namespace": "test",
...
```
2017-01-11 13:12:33 -05:00
Kubernetes Submit Queue
6e5b455b77 Merge pull request #39038 from ncdc/fix-kubectl-get-list
Automatic merge from submit-queue

Fix kubectl get -f <file> -o <nondefault printer> so it prints all items in the file

**What this PR does / why we need it**: Fix kubectl get -f <file> -o <nondefault printer> so it prints all the objects in the file, instead of just the first one. Also add a test for this feature.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
```

cc @AdoHe @deads2k @liggitt @fabianofranz @kubernetes/kubectl @kubernetes/sig-cli-misc
2017-01-11 09:58:38 -08:00
Andy Goldstein
613ada4cd7 Fix kubectl get -f <file> -o <nondefault printer>
Fix kubectl get -f <file> -o <nondefault printer> so it prints all the
objects in the file, instead of just the first one. Also add a test for
this feature.
2017-01-11 10:30:13 -05:00
deads2k
6a4d5cd7cc start the apimachinery repo 2017-01-11 09:09:48 -05:00
Kubernetes Submit Queue
3f9f7471af Merge pull request #38989 from sjenning/set-qos-field
Automatic merge from submit-queue (batch tested with PRs 39684, 39577, 38989, 39534, 39702)

Set PodStatus QOSClass field

This PR continues the work for https://github.com/kubernetes/kubernetes/pull/37968

It converts all local usage of the `qos` package class types to the new API level types (first commit) and sets the pod status QOSClass field in the at pod creation time on the API server in `PrepareForCreate` and in the kubelet in the pod status update path (second commit).  This way the pod QOS class is set even if the pod isn't scheduled yet.

Fixes #33255

@ConnorDoyle @derekwaynecarr @vishh
2017-01-10 22:24:13 -08:00
Kubernetes Submit Queue
748e8f6b1c Merge pull request #39540 from pwittrock/kubectldocs
Automatic merge from submit-queue (batch tested with PRs 39673, 39536, 39617, 39540, 39686)

Improve kubectl help with examples.

```release-note
NONE
```
2017-01-10 20:38:19 -08:00
Kubernetes Submit Queue
4d9bd12cac Merge pull request #39536 from screeley44/add-storage-class
Automatic merge from submit-queue (batch tested with PRs 39673, 39536, 39617, 39540, 39686)

Adding storageclass to resource printers for get pv and pvc

Give ability to see what Storage Class a PV is using, as well as what StorageClass a PVC has requested

```
[root@screeley-sc1 gce]# kubectl get pv
NAME                                       CAPACITY   ACCESSMODES   RECLAIMPOLICY   STATUS      CLAIM                            STORAGECLASS   REASON    AGE
pv-gce                                     2Gi        RWO           Retain          Available                                    anything                 41m
pvc-774217fd-d440-11e6-9d11-42010af00010   2Gi        RWO           Delete          Bound       default/gce-claim-storageclass   slow                     0s

[root@screeley-sc1 gce]# kubectl get pvc
NAME                              STATUS    VOLUME                                     CAPACITY   ACCESSMODES   REQUESTEDSTORAGECLASS   AGE
gce-claim-class1                  Pending                                                                                      		6m
gce-claim-classless               Pending                                                                                      		6m
gce-claim-storageclass            Bound     pvc-774217fd-d440-11e6-9d11-42010af00010   2Gi        RWO           slow           		6m
gce-claim-storageclass-nonexist   Pending                                                                       superfly       		4s
```
@kubernetes/sig-storage
2017-01-10 20:38:15 -08:00
Kubernetes Submit Queue
dd544bb950 Merge pull request #37288 from juanvallejo/jvallejo/update-quota-scope-descriptions
Automatic merge from submit-queue (batch tested with PRs 39486, 37288, 39477, 39455, 39542)

Update quota scope descriptions

```release-note
release-note-none
```

This patch improves the help text descriptions for quota scopes.

@kubernetes/kubectl
2017-01-10 14:33:12 -08:00
Kubernetes Submit Queue
9ef9630976 Merge pull request #39486 from ncdc/allow-missing-keys-in-templates
Automatic merge from submit-queue (batch tested with PRs 39486, 37288, 39477, 39455, 39542)

Allow missing keys in templates by default

Switch to allowing missing keys in jsonpath templates by default.

Add support for allowing/disallowing missing keys in go templates
(default=allow).

Add --allow-missing-template-keys flag to control this behavior (default=true /
allow missing keys).

Fixes #37991

@kubernetes/sig-cli-misc @kubernetes/api-reviewers @smarterclayton @fabianofranz @liggitt @pwittrock
2017-01-10 14:33:10 -08:00
Seth Jennings
e2402b781b set qos class field in pod status 2017-01-10 16:31:52 -06:00
juanvallejo
cade00e646
do not filter kubectl get pods if -o json or yaml
This patch sets the value of --show-all to true if the output format
specified is 'json' or 'yaml'.
2017-01-10 14:42:38 -05:00
Kubernetes Submit Queue
ee177dbbfe Merge pull request #38866 from xingzhou/kube-25579
Automatic merge from submit-queue (batch tested with PRs 37845, 39439, 39514, 39457, 38866)

Add software versions to "kubectl get nodes -o wide" output.

Added "OS-IMAGE" and "KERNEL-VERSION" two columns to
"kubectl get nodes -o wide" output. This will help to provide
more information for user to locate or debug issues. See discussion
in ticket #25579
2017-01-09 13:15:21 -08:00
juanvallejo
134cada45f Update quota scope descriptions 2017-01-09 11:35:54 -05:00
Scott Creeley
79fea8857d Adding storageclass to resource printers 2017-01-09 10:57:28 -05:00
Andy Goldstein
80c5cd8b88 Allow missing keys in templates by default
Switch to allowing missing keys in jsonpath templates by default.

Add support for allowing/disallowing missing keys in go templates
(default=allow).

Add --allow-missing-template-keys flag to control this behavior
(default=true / allow missing keys).
2017-01-09 10:35:46 -05:00
Xing Zhou
5edac7c575 Add software versions to "kubectl get nodes -o wide" output.
Added "OS-IMAGE" and "KERNEL-VERSION" two columns to
"kubectl get nodes -o wide" output. This will help to provide
more information for user to locate or debug issues. See discussion
in ticket #25579
2017-01-09 03:06:28 +00:00
Clayton Coleman
c5d755dbec
Refactor tests to match new versioned code structure 2017-01-06 23:45:03 -05:00
Clayton Coleman
e5019de260
refactor: Move versioned/watch to meta/v1 2017-01-06 23:45:03 -05:00
Phillip Wittrock
dc2fffe5d4 Improve kubectl help with examples. 2017-01-06 13:35:43 -08:00
Kubernetes Submit Queue
fd3498483b Merge pull request #38835 from p0lyn0mial/shortcutexpander_take_res_from_hardcoded
Automatic merge from submit-queue

ShortcutExpander has been extended in a way that it will examine a ha…

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

ShortcutExpander has been extended in a way that it will examine a hardcoded list of tuples anticipated from the server when searching for an alternative name for the resource.

Note that the list is ordered and the first match will yield the extended resource's name.

One important thing to highlight is that the ShortcutExpander will fall back to PriorityRestMaper to determine the group for the resource.

Also this PR introduces a new shortcut namely sc which will resolve to storageclasses within storage.k8s.io group


**Special notes for your reviewer**: You might want to see https://github.com/kubernetes/kubernetes/pull/38755

**Release note**:

```release-note
```
2017-01-06 10:36:01 -08:00
Kubernetes Submit Queue
0d93a4c360 Merge pull request #39428 from shiywang/refactor_wideColumns_printer
Automatic merge from submit-queue (batch tested with PRs 39132, 39428)

Move wideHeader [] strings into handlerEntry

To adress this problem: https://github.com/openshift/origin/pull/12354, make `-o wide` more flexible to be used by OpenShift
2017-01-06 09:53:20 -08:00
shiywang
31c4d158af move wideHeader string into handlerEntry
change var name, remove formatWideHeaders()

go fmt
2017-01-06 14:20:50 +08:00
Jeff Grafton
20d221f75c Enable auto-generating sources rules 2017-01-05 14:14:13 -08:00
Kubernetes Submit Queue
acc81d6d96 Merge pull request #39291 from xilabao/fix-set-selector
Automatic merge from submit-queue (batch tested with PRs 38766, 39291)

fix kubectl set selector

fix #39290
2017-01-05 03:36:18 -08:00
Kubernetes Submit Queue
51e6c879e7 Merge pull request #39226 from luksa/kubectl_proxy_empty_path
Automatic merge from submit-queue (batch tested with PRs 39311, 39226, 39445)

Make kubectl proxy accept empty path

**What this PR does / why we need it**:
The kubectl proxy previously returned 403 Forbidden: Unauthorized when receiving a request from e.g. "curl localhost:8001" or "curl localhost:8001/".  The previous DefaultPathAcceptRE regex was wrong as it assumed the path in this case would be "/" (but it is actually "").

After someone runs kubectl proxy and tries accessing it with curl, they will probably just try hitting localhost:8001  (which returns an "Unauthorized" response) instead of say localhost:8001/api (which returns a proper response from the API server). Also, whoever previously modified the DefaultPathAcceptRE regex was obviously expecting the regex to accept requests for localhost:8001/

```release-note
fix issue with kubectl proxy so that it will proxy an empty path - e.g. http://localhost:8001
```
2017-01-04 18:25:07 -08:00
Jess Frazelle
b5da2d13a6
cleanup dataXXX in /tmp
Signed-off-by: Jess Frazelle <acidburn@google.com>
2017-01-04 10:27:06 -08:00
Kubernetes Submit Queue
17f8d82fa3 Merge pull request #39359 from tianshapjq/add-top-specification
Automatic merge from submit-queue

add some specifications on the top command

**What this PR does / why we need it**:
the top command is available when heapster works fine on the server, but the specifications doesn't mention about this. So I added some specifications here.
2017-01-04 08:45:54 -08:00
Kubernetes Submit Queue
ee03b9b206 Merge pull request #39400 from xilabao/fix-wrong-help-message-for-taint
Automatic merge from submit-queue (batch tested with PRs 39409, 39400)

fix wrong help message for taint

fix #39381
2017-01-04 08:03:10 -08:00
Kubernetes Submit Queue
819535b96a Merge pull request #36245 from fraenkel/env_configmap
Automatic merge from submit-queue (batch tested with PRs 38433, 36245)

Allow pods to define multiple environment variables from a whole ConfigMap

Allow environment variables to be populated from ConfigMaps

- ConfigMaps represent an entire set of EnvVars
- EnvVars can override ConfigMaps


fixes #26299
2017-01-03 23:28:09 -08:00
xilabao
a8b15492b4 fix wrong help message for taint 2017-01-04 11:14:25 +08:00
xilabao
78a0fb1e5a fix kubectl set selector 2017-01-04 10:34:24 +08:00
tianshapjq
2c2dba67fd modify the specifications 2017-01-04 09:12:24 +08:00
Kubernetes Submit Queue
34ea3a17af Merge pull request #39001 from xilabao/fix-group-in-create-clusterrolebinding
Automatic merge from submit-queue

fix group in create clusterrolebinding

group lost.

```
#kubectl create clusterrolebinding test --clusterrole=a --group=b
clusterrolebinding "test" created

#kubectl get clusterrolebinding test -o yaml
apiVersion: rbac.authorization.k8s.io/v1alpha1
kind: ClusterRoleBinding
metadata:
  creationTimestamp: 2016-12-20T03:13:24Z
  name: test
  resourceVersion: "284"
  selfLink: /apis/rbac.authorization.k8s.io/v1alpha1/clusterrolebindingstest
  uid: 44d3476d-c662-11e6-a439-7427ea6f0fe3
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: a
subjects: null
```
2017-01-03 16:49:24 -08:00
Kubernetes Submit Queue
3951ae4e1d Merge pull request #38112 from juanvallejo/jvallejo/add-output-format-support-kubectl-create
Automatic merge from submit-queue

Add json,yaml output format support to kubectl create, kubectl apply

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

**Release note**:
```release-note
Added support for printing in all supported `--output` formats to `kubectl create ...` and `kubectl apply ...`
```

This patch adds the ability to specify an output format other than
"name" to `kubectl create ...`. It can be used in conjunction with the
`--dry-run` option. Converts unstructured objects into known types in
order to support all `--output` values.

The patch prints `*resource.Info`s returned by the server. If a resource does not yet exist (and the `--dry-run` option is not set), the resource is created and printed in the specified format.

@kubernetes/cli-review @fabianofranz
2017-01-03 14:18:33 -08:00
Kubernetes Submit Queue
2a89179046 Merge pull request #39070 from shiywang/remove_unused_param
Automatic merge from submit-queue (batch tested with PRs 39022, 39331, 39070, 39344)

remove unused parameter
2017-01-03 10:32:22 -08:00
Kubernetes Submit Queue
7a9dddbbfc Merge pull request #39126 from xilabao/update-prompt-in-create-rolebinding/clusterrolebinding
Automatic merge from submit-queue (batch tested with PRs 39092, 39126, 37380, 37093, 39237)

update prompt in create rolebinding/clusterrolebinding
2017-01-03 09:45:20 -08:00
Michael Fraenkel
2d803afc98 ConfigMaps populate environment variables 2017-01-03 11:02:15 -05:00
Kubernetes Submit Queue
cfc3c4b9aa Merge pull request #39150 from kargakis/ignore-deleted-pods-in-rolling-updater
Automatic merge from submit-queue

kubectl: ignore deleted pods in the rolling updater

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

The Deployment controller already ignores deleted pods or more precisely the ReplicaSet controller ignores deleted pods ([pod classification](a30b6e2d16/pkg/controller/replicaset/replica_set.go (L600)) ignores [deleted pods](a30b6e2d16/pkg/controller/controller_ref_manager.go (L63))) and the Deployment controller reuses what's in the ReplicaSet status.

@kubernetes/sig-apps-misc @kubernetes/sig-cli-misc
2017-01-02 07:34:19 -08:00
Mike Danese
161c391f44 autogenerated 2016-12-29 13:04:10 -08:00
Kubernetes Submit Queue
897c48e75f Merge pull request #39053 from tanshanshan/fix-help2
Automatic merge from submit-queue (batch tested with PRs 39053, 36446)

fix --no-header help description

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

the current description is
>  --no-headers=false: When using the default or custom-column output format, don't print headers.

but ,

>  kubectl get po

 the header has been printing , so  the default condition is printing headers.

> kubectl get po --no-headers=true

 the header  has been not printing

> kubectl get po --no-headers=false

 the header  has been printing

So , I  fixed the help description

Thanks.

**Special notes for your reviewer**:

**Release note**:

```release-note
```
2016-12-28 19:07:04 -08:00
tianshapjq
a153f6f885 add some specifications on the top command 2016-12-29 08:44:45 +08:00
Kubernetes Submit Queue
3a2492f4d6 Merge pull request #39218 from luksa/kubectl_top_short_forms
Automatic merge from submit-queue

Kubectl top now also accepts short forms for "node" and "pod" ("no", "po")

**What this PR does / why we need it**:
People are used to typing `kubectl get po` and will expect `kubectl top po` to also work (without having to type the full resource name).
2016-12-28 15:47:11 -08:00
Xing Zhou
4fcc770367 Add three more columns to kubectl get deploy -o wide output.
Added CONTAINER(S), IMAGE(S) and SELECTOR fields to the output
of `kubectl get deploy -o wide`.
2016-12-28 03:07:13 +00:00
Kubernetes Submit Queue
9ce8f10a4d Merge pull request #39172 from foxish/fix-help
Automatic merge from submit-queue

Add PDB to kubectl get --help.

**What this PR does / why we need it**: Adds PDB to kubectl get --help

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

**Release note**:

```release-note
NONE
```

/cc @saad-ali @mwielgus
2016-12-27 13:19:36 -08:00
Marko Luksa
c0aa2767aa Make kubectl proxy accept empty path
The proxy previously returned 403 Forbidden: Unauthorized when receiving a request from e.g. "curl localhost:8001" or "curl localhost:8001/".  The previous DefaultPathAcceptRE regex was wrong as it assumed the path in this case would be "/" (but it is actually "").
2016-12-25 18:31:55 +01:00
andrewsykim
b8311ec7f9 kubectl get hpa should how current replicas 2016-12-24 23:30:39 -05:00
Kubernetes Submit Queue
1ee7163308 Merge pull request #36802 from brendandburns/i18n
Automatic merge from submit-queue

Begin paths for internationalization in kubectl

This is just the first step, purposely simple so we can get the interface correct.

@kubernetes/sig-cli @deads2k
2016-12-24 13:09:12 -08:00
Marko Luksa
764e8bd6c6 Kubectl top now also accepts short forms for "node" and "pod" ("no" and "po") 2016-12-24 17:25:08 +01:00
Brendan Burns
277306449b Add initial translation support. 2016-12-23 20:45:52 -08:00
Kubernetes Submit Queue
b3fb6cb5fb Merge pull request #35191 from SamiHiltunen/commas-in-secrets
Automatic merge from submit-queue

kubectl: commas in --from-literal on secret creation

Closes #35185

``` release-note
Fixes an issue where commas were not accepted in --from-literal flags when creating secrets. Passing multiple values separated by a comma in a single --from-literal flag is no longer supported. Please use multiple --from-literal flags to provide multiple values.
```
2016-12-23 08:04:50 -08:00
Kubernetes Submit Queue
5f0ece92de Merge pull request #39008 from brendandburns/unicode
Automatic merge from submit-queue

Support loading UTF16 files if a byte-order-mark is present

Add support in kubectl for loading UTF16 encoded files if they have a correct BOM (Byte-Order-Mark https://en.wikipedia.org/wiki/Byte_order_mark) at the beginning
of the file. Falls back on UTF8 encoding, if no understandable BOM is present.

Fixes part of https://github.com/kubernetes/kubernetes/issues/39007

@fabianofranz @deads2k @kubernetes/sig-cli-misc
2016-12-22 22:11:13 -08:00
Mayank Kumar
777977612b ReplicaSet has owner ref of the Deployment that created it 2016-12-22 16:45:50 -08:00
Anirudh
7f0bcb3688 Add PDB to kubectl get --help. 2016-12-22 14:47:11 -08:00
p0lyn0mial
ad688d7761 ShortcutExpander has been extended in a way that it will examine a hardcoded list of tuples anticipated from the server when
searching for an alternative name for the resource. Note that the list is ordered and the first match will yield the extended resource's name.

One important thing to highlight is that the ShortcutExpander will fall back to PriorityRestMaper to determine the group for
the resource. Also this PR introduces a new shortcut namely sc which will resolve to storageclasses within storage.k8s.io group

In addition the type of kubectl.ShortForms has been changed to ResourceShortcuts struct. It has got a brand new name,
it was also extended and ordered by group.
2016-12-22 17:29:52 +01:00
Michail Kargakis
3ee150fcc0 kubectl: ignore deleted pods in the rolling updater 2016-12-22 14:26:17 +01:00
xilabao
528a8d7d52 update prompt in create rolebinding/clusterrolebinding 2016-12-22 11:33:49 +08:00
xilabao
6b19a711ec fix group in create clusterrolebinding 2016-12-22 10:14:11 +08:00
tanshanshan
565a53871d fix help 2016-12-22 09:48:24 +08:00
Brendan Burns
8e561d9ae7 Add support for loading utf16 files. 2016-12-21 14:57:26 -08:00
deads2k
8b25c21e79 add create rolebinding 2016-12-21 09:03:27 -05:00
Angus Salkeld
17a711d8fd Add new command "kubectl set selector" 2016-12-21 12:30:56 +01:00
Shiyang Wang
9d037a0ab6 remove unused parameter 2016-12-21 16:09:51 +08:00
Kubernetes Submit Queue
52df372f9b Merge pull request #35805 from dgoodwin/token-mgmt
Automatic merge from submit-queue

Implement kubeadm bootstrap token management

Creates bootstrap tokens as secrets per the specification in #30707 

_WARNING_: These are not currently hooked up to the discovery service or the token it creates.

Still TODO:
- [x] delete tokens
- [x] merge with #35144 and adopt it's testing approach
- [x] determine if we want wholesale json output & templating like kubectl (we do not have an API object with the data we want here) may require a bit of plumbing.
- [x] allow specifying a token duration on the CLI
- [x] allow configuring the default token duration
- [x] hook up the initial token created during init

Sample output:

```
(root@centos1 ~) $ kubeadm token create
Running pre-flight checks
<cmd/token> Token secret created: f6dc69.c43e491752c4a0fd
(root@centos1 ~) $ kubeadm token create
Running pre-flight checks
<cmd/token> Token secret created: 8fad2f.e7b78c8a5f7c7b9a
(root@centos1 ~) $ kubeadm token list  
Running pre-flight checks
ID        TOKEN                     EXPIRATION
44d805    44d805.a4e78b6cf6435e33   23h
4f65bb    4f65bb.d006a3c7a0e428c9   23h
6a086e    6a086e.2ff99f0823236b5b   23h
8fad2f    8fad2f.e7b78c8a5f7c7b9a   23h
f6dc69    f6dc69.c43e491752c4a0fd   23h
f81653    f81653.9ab82a2926c7e985   23h
```
2016-12-20 14:44:40 -08:00
Kubernetes Submit Queue
cc215202f2 Merge pull request #38929 from soltysh/cronjob_gen_test
Automatic merge from submit-queue

Add test for CronJob generator

Per @janetkuo request this was split from #38614, it adds test for `CronJob` generator, and additionally copy labels to `JobTemplate`, to be consistent with how `Job` generator works.
2016-12-20 14:04:20 -08:00
Devan Goodwin
bfe345dd86 Implement kubeadm bootstrap token management.
Adds kubeadm subcommands to create, list, and delete bootstrap tokens.
Tokens can be created with a TTL duration, or 0 for tokens that will not
expire. The create command can also be used to specify your own token
(for use when bootstrapping masters and nodes in parallel), or update an
existing token's secret or ttl.

Marked "ex" for experimental for now as the boostrap controllers are not
yet hooked up in core.
2016-12-20 11:43:55 -04:00
Maciej Szulik
4855ae2e84 Add test for CronJob generator 2016-12-20 10:00:00 +01:00
Kubernetes Submit Queue
874fca652d Merge pull request #38086 from tianshapjq/reduce-decode-times
Automatic merge from submit-queue

Reduce decode times by changing the kubectl.Filter(runtime.Object, *PrintOptions)'s return values

**What this PR does / why we need it**:
In kubectl/cmd/get.go, we use the function filterFuncs.Filter() to decode data and filter the object. But in the following function printer.PrintObj() decodes the data again.
I made these modifications to reduce the decoding times by changing the filterFuncs.Filter()'s returned values. We can get the decoded object from this function and pass it to the following printer.PrintObj(), so not to waste time to decode again.
2016-12-19 16:23:02 -08:00
Denis Andrejew
e8fa6cddfd fix typo in describe.go 2016-12-19 20:27:14 +00:00
Kubernetes Submit Queue
d6046aab0e Merge pull request #38903 from deads2k/cli-16-fix-generic-create
Automatic merge from submit-queue (batch tested with PRs 38080, 38903)

prevent negotation on connections that dont' require it

Not all clientconfigs require negotiation.  Before there was a patch (hardcoded to an instance variable) that allowed this.  This updates the code to allow the same as before.

@kubernetes/sig-cli @fabianofranz

@ncdc you'll want to pick
2016-12-19 07:42:45 -08:00
Maciej Szulik
cdec94523e Remove extensions/v1beta1 Job - generated changes 2016-12-17 00:07:25 +01:00
Maciej Szulik
9f064c57ce Remove extensions/v1beta1 Job 2016-12-17 00:07:24 +01:00
deads2k
9b507e8603 prevent negotation on connections that dont' require it 2016-12-16 16:26:55 -05:00
Robert Rati
91931c138e [scheduling] Moved node affinity from annotations to api fields. #35518 2016-12-16 11:42:43 -05:00
Kubernetes Submit Queue
0d80ee0b8d Merge pull request #38767 from kargakis/fix-setting-container-name-in-create-deployment
Automatic merge from submit-queue

kubectl: fix 'create deployment' to set container name correctly

@kubernetes/kubectl @kubernetes/sig-cli
2016-12-16 04:38:22 -08:00
Kubernetes Submit Queue
e2a9fc1022 Merge pull request #38841 from mikedanese/fix-tests
Automatic merge from submit-queue

bazel: fix some unit tests
2016-12-15 20:19:46 -08:00
Mike Danese
8fdec87d19 bazel: fix some unit tests 2016-12-15 18:36:22 -08:00
tianshapjq
1453cd6264 reduce decoding times by changing kubectl.Filter(runtime.Object, *PrintOptions)'s return value 2016-12-16 09:37:11 +08:00
deads2k
50f6733800 make kubectl factory rings 2016-12-15 15:18:16 -05:00
Kubernetes Submit Queue
db867c0c9d Merge pull request #36396 from aveshagarwal/master-display-pod-node-selectors
Automatic merge from submit-queue (batch tested with PRs 38783, 36396)

Display pod node selectors with kubectl describe.

**What this PR does / why we need it**:
This PR fixes kubectl describe so that it now shows associated node selectors with pods.

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

**Special notes for your reviewer**:

**Release note**:

```release-note
```

@kubernetes/rh-cluster-infra @kubernetes/kubectl
2016-12-14 17:54:52 -08:00
Kubernetes Submit Queue
d8efc779ed Merge pull request #38154 from caesarxuchao/rename-release_1_5
Automatic merge from submit-queue (batch tested with PRs 38154, 38502)

Rename "release_1_5" clientset to just "clientset"

We used to keep multiple releases in the main repo. Now that [client-go](https://github.com/kubernetes/client-go) does the versioning, there is no need to keep releases in the main repo. This PR renames the "release_1_5" clientset to just "clientset", clientset development will be done in this directory.

@kubernetes/sig-api-machinery @deads2k 

```release-note
The main repository does not keep multiple releases of clientsets anymore. Please find previous releases at https://github.com/kubernetes/client-go
```
2016-12-14 14:21:51 -08:00
Chao Xu
6709b7ada2 run hack/update-codegen.sh
run hack/verify-gofmt.sh
update bazel
2016-12-14 12:39:49 -08:00
Chao Xu
03d8820edc rename /release_1_5 to /clientset 2016-12-14 12:39:48 -08:00
Derek Carr
f1af1e965a Fix typo in drain command 2016-12-14 13:00:25 -05:00
Michail Kargakis
bf78c00a96 kubectl: fix 'create deployment' to set container name correctly 2016-12-14 17:32:33 +01:00
Kubernetes Submit Queue
7b8ecda289 Merge pull request #38743 from caesarxuchao/remove
Automatic merge from submit-queue

Remove accidentally committed files

Accidentally committed in #37534.
2016-12-13 20:44:16 -08:00
Chao Xu
411128f294 remove wrongly committed files 2016-12-13 19:44:51 -08:00
Kubernetes Submit Queue
085f0d74dc Merge pull request #38538 from juanvallejo/jvallejo/dont-report-success-if-obj-not-patched
Automatic merge from submit-queue

Prevent "patched" output on obj not patched

**Release note**:
```release-note
release-note-none
```

This patch compares an original object against a patched object returned
from the server and only announces that the object was successfully
patched if the object returned from the server does not equal the
original object.

@fabianofranz @kubernetes/cli-review
2016-12-13 10:42:26 -08:00
Mike Danese
c87de85347 autoupdate BUILD files 2016-12-12 13:30:07 -08:00
juanvallejo
cbe479039b Add json,yaml output format support kubectl create
This patch adds the ability to specify an output format other than
"name" to `kubectl create ...`. It can be used in conjunction with the
`--dry-run` option. Converts unstructured objects into known types in
order to support all `--output` values.
2016-12-12 16:09:12 -05:00
Kubernetes Submit Queue
0ac73a823a Merge pull request #34966 from ivan4th/make-top-pod-test-table-driven
Automatic merge from submit-queue (batch tested with PRs 38453, 36672, 38629, 34966, 38630)

Make kubectl top pod test table-driven
2016-12-12 11:41:10 -08:00
Kubernetes Submit Queue
3d29c3d229 Merge pull request #36672 from ymqytw/check_annotation_for_apply
Automatic merge from submit-queue (batch tested with PRs 38453, 36672, 38629, 34966, 38630)

Warn user if they try to apply on an object without the annotation

Give user a warning when using `kubectl apply` on a resource lacking the `LastAppliedConfig` annotation

fixes #36620

Ref: #35134 and #36509.

**Release note**:
```release-note
Issue a warning when using `kubectl apply` on a resource lacking the `LastAppliedConfig` annotation
```
2016-12-12 11:41:06 -08:00
Ivan Shvedunov
9b9c1e6952 Make top pod test table-driven 2016-12-12 20:23:17 +03:00
Clayton Coleman
42e0eda3e4
Sorting printer changed 2016-12-10 18:07:33 -05:00
Clayton Coleman
c52d510a24
refactor: generated 2016-12-10 18:05:53 -05:00
Clayton Coleman
42d410fdde
Switch to use pkg/apis/meta/v1/unstructured and the new interfaces
Avoid directly accessing an unstructured type if it is not required.
2016-12-10 18:05:28 -05:00
Kubernetes Submit Queue
e732ee70f4 Merge pull request #38406 from liggitt/remove-internal-json-annotations
Automatic merge from submit-queue

Remove json serialization annotations from internal types

fixes #3933

Internal types should never be serialized, and including json serialization tags on them makes it possible to accidentally do that without realizing it.

fixes in this PR:

* types
  * [x] remove json tags from internal types
  * [x] fix references from serialized types to internal ObjectMeta
* generation
  * [x] remove generated json codecs for internal types (they should never be used)
* kubectl
  * [x] fix `apply` to operate on versioned object
  * [x] fix sorting by field to operate on versioned object
  * [x] fix `--record` to build annotation patch using versioned object
* hpa
  * [x] fix unmarshaling to internal CustomMetricTargetList in validation
* thirdpartyresources
  * [x] fix encoding API responses using internal ObjectMeta
* tests
  * [x] fix tests to use versioned objects when checking encoded content
  * [x] fix tests passing internal objects to generic printers

follow ups (will open tracking issues or additional PRs):
- [ ] remove json tags from internal kubeconfig types (`kubectl config set` pathfinding needs to work against external type)
- [ ] HPA should version CustomMetricTargetList serialization in annotations
- [ ] revisit how TPR resthandlers encoding objects
- [ ] audit and add tests for printer use (human-readable printer requires internal versions, generic printers require external versions)
- [ ] add static analysis tests preventing new internal types from adding tags
- [ ] add static analysis tests requiring json tags on external types (and enforcing lower-case first letter)
- [ ] add more tests for `kubectl get` exercising known and unknown types with all output options
2016-12-10 14:00:17 -08:00
ymqytw
b6cfa9aa98 warn user if they try to apply on an object without the annotation 2016-12-09 17:29:31 -08:00
juanvallejo
7410acf4ab
Prevent "patched" output on obj not patched
This patch compares an original object against a patched object returned
from the server and only announces that the object was successfully
patched if the object returned from the server does not equal the
original object.
2016-12-09 19:01:27 -05:00
Kubernetes Submit Queue
68b17c2942 Merge pull request #37270 from xilabao/remove-duplicate-get-errs
Automatic merge from submit-queue (batch tested with PRs 37270, 38309, 37568, 34554)

Remove duplicate get errs

old:
```shell
$ kubectl get ns
NAME          STATUS    AGE
default       Active    2m
kube-system   Active    2m

$ kubectl get ns --all-namespaces
NAMESPACE   NAME      STATUS    AGE
error: namespace is not namespaced
error: namespace is not namespaced
```
new:
```shell
$ kubectl get ns --all-namespaces
NAMESPACE   NAME      STATUS    AGE
error: namespace is not namespaced
```
2016-12-09 14:11:14 -08:00
Jordan Liggitt
4536388909
Update bazel 2016-12-09 16:26:06 -05:00
Jordan Liggitt
2d868441d8
Make sorting work on versioned objects 2016-12-09 16:26:06 -05:00
Jordan Liggitt
8b34e0ed53
Make --record compute patch using versioned object 2016-12-09 16:26:05 -05:00
Jordan Liggitt
12806be2bf
Fix tests using internal types for generic printing 2016-12-09 16:26:05 -05:00
Jordan Liggitt
cc7a44f545
Fix tests using internal types for serialization 2016-12-09 16:26:05 -05:00
Jordan Liggitt
3654d63766
Compute apply patch using versioned object 2016-12-09 16:26:04 -05:00
Jordan Liggitt
fcf5bbccd6
Fix references from serializable types to use v1.ObjectMeta 2016-12-09 16:26:04 -05:00
Kubernetes Submit Queue
b9536688d3 Merge pull request #38429 from duglin/removeDelete
Automatic merge from submit-queue (batch tested with PRs 37860, 38429, 38451, 36050, 38463)

Remove "pod xxx deleted" message from kubectl run --rm

This is a follow-on to https://github.com/kubernetes/kubernetes/issues/28695

Its unnecessary to print the message when the user asked for it.
We should only show a msg (error) when we didn't do what they asked.
Also showing this in a "kubectl run" is bad because it then
gets appended to the user's output and they would then have to strip
it off if they want to use the output in some follow-on processing.

Signed-off-by: Doug Davis <dug@us.ibm.com>

```release-note
kubectl run --rm no longer prints "pod xxx deleted"
```
2016-12-09 13:22:14 -08:00
Kubernetes Submit Queue
7168fce59a Merge pull request #38265 from brendandburns/configmap
Automatic merge from submit-queue (batch tested with PRs 38284, 38403, 38265)

Display config map data, not byte count.

Begins to address https://github.com/kubernetes/kubernetes/issues/36222

Next step is:
`kubectl edit configmap <name> --key=<file-name>`

@kubernetes/sig-cli
2016-12-09 08:50:23 -08:00
Kubernetes Submit Queue
35d6d902e8 Merge pull request #38403 from deads2k/fix-local-up-dns
Automatic merge from submit-queue (batch tested with PRs 38284, 38403, 38265)

Fix local up cluster dns with RBAC

The DNS server needs permissions to run using RBAC.  This does it with a big hammer before we sort out tight permissions.

@fabianofranz for the CLI change
@xilabao for the local-up-cluster change
2016-12-09 08:50:21 -08:00
Kubernetes Submit Queue
aae1b14592 Merge pull request #33083 from mfojtik/resolve-image
Automatic merge from submit-queue

Add ResolveImage function to CLI factory

This functions helps to integrate third-party mechanism for resolving the image names. For example, this function can be used in OpenShift to add support for resolving the ImageStreamTag and ImageStreamImage.

See: https://github.com/openshift/origin/pull/10995
2016-12-09 05:26:52 -08:00
Michal Fojtik
737b32772e add ResolveImage function to CLI factory 2016-12-09 12:41:38 +01:00
Wojciech Tyczynski
e8d1cba875 GetOptions in client calls 2016-12-09 09:42:01 +01:00
Kubernetes Submit Queue
5628cde1bd Merge pull request #37164 from duglin/removeWaiting
Automatic merge from submit-queue (batch tested with PRs 38413, 37164)

Remove chatty "waiting for pod" msg from kubectl run

Attacking #28695 one step at a time

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-12-08 18:08:55 -08:00
Doug Davis
24fbba393e Remove "pod xxx deleted" message from kubectl run --rm
Its unnecessary to print the message when the user asked for it.
We should only show a msg (error) when we didn't do what they asked.
Also showing this in a "kubectl run" is bad because it then
gets appended to the user's output and they would then have to strip
it off if they want to use the output in some follow-on processing.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-12-08 17:40:08 -08:00
Kubernetes Submit Queue
b0b6f3c256 Merge pull request #38401 from liggitt/addressable-deep-copy
Automatic merge from submit-queue (batch tested with PRs 36071, 32752, 37998, 38350, 38401)

Pass addressable values to DeepCopy

Extracted from https://github.com/kubernetes/kubernetes/pull/35728

These are the places we are currently calling DeepCopy incorrectly, and we need to fix, even if we don't pick up the changes to DeepCopy in #35728:
* creating a new cloner means we have no generated functions registered
* passing non-addressable values doesn't pick up generated deep copy functions, and forces us into reflective mode
2016-12-08 16:26:00 -08:00
Kubernetes Submit Queue
e3b9546028 Merge pull request #32752 from fraenkel/logs_selector
Automatic merge from submit-queue (batch tested with PRs 36071, 32752, 37998, 38350, 38401)

Allow a selector when retrieving logs

#19873

initial commit to see if I am headed in the right direction.
Its missing all the test cases, but the selector path works.
2016-12-08 16:25:54 -08:00
Kubernetes Submit Queue
76e0b1af54 Merge pull request #36071 from juanvallejo/jvallejo/fix-set-image-local-output
Automatic merge from submit-queue

fix local resource output when `-f` not specified

**Release note**:
```release-note
release-note-none
```

`kubectl set image` does not have a `--dry-run` option. Although it offers a
`--local` flag, it does not support server request, limiting input to that of stdin
or that of a local file.

This patch adds a `--dry-run` option to the `kubectl set image` command,
allowing for resources from the server to be selected, without making any
mutations.

cc @ncdc 

Related PR: https://github.com/kubernetes/kubernetes/pull/36174
2016-12-08 16:20:00 -08:00
juanvallejo
6eaab223f2 add --dry-run opt to kubectl set image
This patch adds a `--dry-run` option to `kubectl set image...`
2016-12-08 15:50:52 -05:00
deads2k
b18e433590 add serviceaccount option to clusterrrolebinding 2016-12-08 14:18:39 -05:00
Jordan Liggitt
6819706adf
Pass addressable values to DeepCopy 2016-12-08 14:16:01 -05:00
Kubernetes Submit Queue
b650149ee1 Merge pull request #37096 from andor-pierdelacabeza/patch-1
Automatic merge from submit-queue (batch tested with PRs 38260, 32811, 28458, 33570, 37096)

Fix renaming order shown on terminal
2016-12-08 02:11:26 -08:00
Kubernetes Submit Queue
fa5556b92b Merge pull request #32811 from fraenkel/headless_service
Automatic merge from submit-queue (batch tested with PRs 38260, 32811, 28458, 33570, 37096)

Allow no ports when exposing headless service

fixes #32795
2016-12-08 02:11:20 -08:00
Kubernetes Submit Queue
f8dd91fb28 Merge pull request #36541 from juanvallejo/jvallejo/remove-duplicate-describer-errs
Automatic merge from submit-queue (batch tested with PRs 36626, 37294, 37463, 37943, 36541)

Remove duplicate describer errs

Downstream issue https://github.com/openshift/origin/issues/11846

**Release note**:
```release-note
release-note-none
```

The `describe` command iterates through a list of infos received from
the server and aggregates a list of errors while attempting to call each
resource's respective describer. When a resource exists, but does not
have a describer set, such as `Event`, the `describe` command outputs
the same error `error: no description has been implemented for "Event"`
for each info.

```
$ kubectl describe events
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
```

@kubernetes/kubectl @fabianofranz
2016-12-08 00:23:16 -08:00
Kubernetes Submit Queue
c323c72a66 Merge pull request #37943 from ailusazh/ailusa
Automatic merge from submit-queue (batch tested with PRs 36626, 37294, 37463, 37943, 36541)

Add Version to the resource printer for 'get nodes'

<!--  Thanks for sending a pull request!  Here are some tips for you:
1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
-->

**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**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
```
2016-12-08 00:23:15 -08:00
Kubernetes Submit Queue
910912ea3b Merge pull request #37364 from foxyriver/status-code
Automatic merge from submit-queue

use status code const to express http status

<!--  Thanks for sending a pull request!  Here are some tips for you:
1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
-->

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

Using status code const to express http status.

**Special notes for your reviewer**:

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
```
2016-12-07 22:47:46 -08:00
Avesh Agarwal
588ad30d10 Display pod node selectors with kubectl describe. 2016-12-08 01:28:40 -05:00
xilabao
0dc166a9fa Remove duplicate get errs 2016-12-08 13:56:56 +08:00
deads2k
b658552947 remove validation dependency on version negotiation 2016-12-07 13:23:20 -05:00
Kubernetes Submit Queue
ce93c81029 Merge pull request #38092 from xilabao/fix-alias-conflict
Automatic merge from submit-queue (batch tested with PRs 35101, 38215, 38092)

fix alias conflict of clusterrolebinding

create_configmap alias is "cm"
2016-12-07 07:27:17 -08:00
Kubernetes Submit Queue
490151ee50 Merge pull request #38181 from tanshanshan/remove-todo
Automatic merge from submit-queue (batch tested with PRs 38181, 38128, 36711)

Remove redundant conditional statement

<!--  Thanks for sending a pull request!  Here are some tips for you:
1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
-->

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

1. remove redundant conditional statement
2. replace  errors.New(fmt.Sprintf with fmt.Errorf 

Thanks.

**Special notes for your reviewer**:

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
```
2016-12-07 03:09:30 -08:00
Kubernetes Submit Queue
36d593c749 Merge pull request #38085 from yarntime/fix_typo_in_scale
Automatic merge from submit-queue (batch tested with PRs 37693, 38085)

fix typo in scale

fix typo.
2016-12-07 00:52:29 -08:00
Brendan Burns
670b21e11c Display config map data, not byte count. 2016-12-06 22:36:40 -08:00
tanshanshan
c76cd49da1 remove redundant condition 2016-12-07 08:39:40 +08:00
Mike Danese
e225625a80 add a configuration for kubelet to register as a node with taints
and deprecate register-schedulable
2016-12-06 10:32:54 -08:00
Kubernetes Submit Queue
e4abc36d5d Merge pull request #37636 from juanvallejo/jvallejo/bugfix/print-resource-kind-when-single-resource-type
Automatic merge from submit-queue

add resource prefix to multiple items w/ same kind

**Release note**:
```release-note
release-note-none
```

This patch ensures that a resource prefix is added to multiple items of
the same kind, when using `kubectl get all`. Before, a prefix was added only
when a single item was returned on `kubectl get all`, but ignored if only a
single resource kind existed but multiple items for that kind were
returned.

**Example**
```
$ kubectl get all
No resources found.

$ kubectl create service loadbalancer testsvc1 --tcp=8080
$ kubectl get all
NAME               CLUSTER-IP       EXTERNAL-IP                     PORT(S)    AGE
svc/testsvc1       172.30.119.220   172.46.100.155,172.46.100.155   8080/TCP   1h

$ kubectl create service loadbalancer testsvc2 --tcp=8081
$ kubectl get all
NAME               CLUSTER-IP       EXTERNAL-IP                     PORT(S)    AGE
svc/testsvc1       172.30.119.220   172.46.100.155,172.46.100.155   8080/TCP   1h
svc/testsvc2       172.30.241.197   172.46.164.158,172.46.164.158   8081/TCP   1h
```

@fabianofranz
2016-12-06 07:43:07 -08:00
Kubernetes Submit Queue
653fd97ba0 Merge pull request #37966 from p0lyn0mial/unify_restmapping_and_restmappings
Automatic merge from submit-queue (batch tested with PRs 38185, 37966)

decided to extract common logic for RESTMapping and RESTMappings to a…

<!--  Thanks for sending a pull request!  Here are some tips for you:
1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
-->

**What this PR does / why we need it**: the changes introduced in this PR extract common logic of RESTMapping and RESTMappings to one common method. 

**Special notes for your reviewer**: this is my first PR - be polite.



The only change in logic to what was before is when calling commonRESTMappings from RESTMapping
we search all defaultGroupVersion as opposed to just one when no mapping was found for provided versions.
2016-12-06 06:49:25 -08:00
tianshapjq
55521ee8be remove the create-external-load-balancer flag in cmd/expose.go 2016-12-06 16:48:32 +08:00
xilabao
ff09a68079 fix alias conflict of clusterrolebinding 2016-12-06 09:13:42 +08:00
p0lyn0mial
5f8e774517 extended RESTMappings method by a version parameter.
RESTMapping method can now rely on RESTMappings by passing versions parameter and taking the first match found by RESTMappings method. In addition
a UT that test the new method has been added.

The only change in logic to what was before is when calling RESTMapping
we search all defaultGroupVersion as opposed to just one when no mapping was found for provided versions.
2016-12-05 20:09:36 +01:00
Kubernetes Submit Queue
1552edbf0c Merge pull request #37366 from xilabao/extend-cmd-valid-resources-information
Automatic merge from submit-queue (batch tested with PRs 37366, 36373)

extend cmd valid resources information about roles
2016-12-05 08:13:40 -08:00
Dr. Stefan Schimanski
2dff13f332 Update generated files 2016-12-05 12:42:31 +01:00
Dr. Stefan Schimanski
458d2b2fe4 Add verb support for discovery client 2016-12-05 12:36:05 +01:00
Kubernetes Submit Queue
433c6bede3 Merge pull request #37066 from xilabao/update-label-filter-prompt
Automatic merge from submit-queue

update label filter prompt

I have to look up the meaning of selector in docs/user-guide/labels.md.  I think  we could print more info when run "--help".
2016-12-04 22:26:13 -08:00
yarntime@163.com
17e91695f9 fix typo 2016-12-05 14:23:07 +08:00
xilabao
b95dcfb424 update label filter prompt 2016-12-05 11:03:21 +08:00
Kubernetes Submit Queue
81177226a8 Merge pull request #37679 from zdj6373/proxy-accept
Automatic merge from submit-queue

Code optimization

Accept function, the same sentence information repeated three times, under the optimization, recorded in the call function
2016-12-04 17:16:08 -08:00
Kubernetes Submit Queue
513893c96e Merge pull request #37789 from yarntime/check_min_max
Automatic merge from submit-queue

check the value of min and max in kubectl

check the value of min and max in kubectl.
2016-12-04 16:39:24 -08:00
Clayton Coleman
3454a8d52c
refactor: update bazel, codec, and gofmt 2016-12-03 19:10:53 -05:00
Clayton Coleman
5df8cc39c9
refactor: generated 2016-12-03 19:10:46 -05:00
Kubernetes Submit Queue
12801e8bbb Merge pull request #37649 from smarterclayton/top_node
Automatic merge from submit-queue

kubectl top pod|node should handle when Heapster is somewhere else

OpenShift runs Heapster on HTTPS, which means `top node` and `top pod`
are broken because they hardcode 'http' as the scheme. Provide an
options struct allowing users to specify `--heapster-namespace`,
`--heapster-service`, `--heapster-scheme`, and `--heapster-port` to the
commands (leveraging the existing defaults).

@kubernetes/sig-metrics makes top a little more useful in other spots
2016-12-03 15:04:14 -08:00
Kubernetes Submit Queue
db323e9885 Merge pull request #36646 from kargakis/create-pdb-subcommand
Automatic merge from submit-queue (batch tested with PRs 38049, 37823, 38000, 36646)

kubectl: add create pdb subcommand

@mwielgus @mml @kubernetes/kubectl

```release-note
Add kubectl create poddisruptionbudget command
```
2016-12-03 14:20:54 -08:00
Kubernetes Submit Queue
91d8c41147 Merge pull request #36732 from oulinbao/refactor_describe_containers
Automatic merge from submit-queue

Refactor describe.go with PrefixWriter

**What this PR does / why we need it**:
 refactor describeContainers function and decrease gocyclo result

**Special notes for your reviewer**:
the new PR for 36032
https://github.com/kubernetes/kubernetes/pull/36032

**Release note**:
```release-note
```NONE
2016-12-03 01:28:11 -08:00
Kubernetes Submit Queue
39e63e3e53 Merge pull request #37608 from tianshapjq/modify-get-help
Automatic merge from submit-queue (batch tested with PRs 37608, 37103, 37320, 37607, 37678)

add some help info about the 'all' arg

**What this PR does / why we need it**:
There is an arg named "all" in the get command, we can use it like "kubectl get all". But we can get nothing about this arg in the help description. Users may not know how to use it without looking into the source code. So here I'm going to add some description about this arg.

**Which issue this PR fixes** 
We discussed about this in 
In pkg/kubectl/cmd/get.go there is a confused arg named "all" [#37533](https://github.com/kubernetes/kubernetes/issues/37533)
2016-12-02 23:32:44 -08:00
juanvallejo
3484c6f676 add resource prefix to multiple items w/ same kind
This patch ensures that a resource prefix is added to multiple items of
the same kind, when using `oc get all`. Before, a prefix was added only
when a single item was returned on `oc get all`, but ignored if only a
single resource kind existed but multiple items for that kind were
returned.
2016-12-02 15:14:44 -05:00
Michail Kargakis
b8fab92600 kubectl: generated changes for new pdb command 2016-12-02 18:42:25 +01:00
Michail Kargakis
065b652961 kubectl: add create pdb subcommand 2016-12-02 18:42:25 +01:00
Michail Kargakis
86c515ebc3 kubectl: set alias for poddisruptionbudget 2016-12-02 18:39:55 +01:00
Kubernetes Submit Queue
74066816b6 Merge pull request #37098 from deads2k/cli-12-create-cbinding
Automatic merge from submit-queue

add create clusterrolebinding command

Adds `kubectl create clusterrolebinding`.

@kubernetes/sig-cli
2016-12-02 08:44:58 -08:00
Kubernetes Submit Queue
bbd447f555 Merge pull request #34789 from AdoHe/external_service
Automatic merge from submit-queue

create service add create ExternalName service implementation

@kubernetes/kubectl create service add ExternalName support, refer #34731 for more detail.

```release-note
kubectl create service externalname
```
2016-12-02 07:29:06 -08:00
ailusazh
f98c2fbbcf Add Version to the resource printer for 'get nodes' 2016-12-02 13:06:23 +00:00
Doug Davis
c5387eebe4 Remove chatty "waiting for pod" msg from kubectl run
Attacking #28695 one step at a time

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-12-01 17:46:04 -08:00
Clayton Coleman
3d237cac2e
kubectl top pod|node should handle when Heapster is somewhere else
OpenShift runs Heapster on HTTPS, which means `top node` and `top pod`
are broken because they hardcode 'http' as the scheme. Provide an
options struct allowing users to specify `--heapster-namespace`,
`--heapster-service`, `--heapster-scheme`, and `--heapster-port` to the
commands (leveraging the existing defaults).
2016-12-01 12:33:32 -05:00
Kubernetes Submit Queue
15fa210056 Merge pull request #36217 from xilabao/get-detail-about-rolebinding
Automatic merge from submit-queue

add kubectl get rolebindings/clusterrolebindings -o wide

Use "-o wide" to get more information of roleRef/subjects
`kubectl get rolebindings -o wide`

|NAME | AGE | ROLE | USERS | GROUPS | SERVICEACCOUNTS|
|:-------|:-------|:-------|:-------|:-------|:-------|
|admin-resource-binding |1s | Role/admin-resource-role | test | | |


`kubectl get clusterrolebindings -o wide`

|NAME|AGE|ROLE|USERS|GROUPS|SERVICEACCOUNTS|
|:-------|:-------|:-------|:-------|:-------|:-------|
|cluster-admin|27s|cluster-admin| |system:masters| |
|system:basic-user|27s|system:basic-user| |system:authenticated, system:unauthenticated | |
|system:controller:replication-controller|27s|system:controller:replication-controller | | |kube-system/replication-controller|
|system:discovery |27s|system:discovery| |system:authenticated, system:unauthenticated| |
2016-12-01 07:52:11 -08:00
Kubernetes Submit Queue
56779576f0 Merge pull request #36424 from xilabao/fix-forbid-clusterrole-with-namespace
Automatic merge from submit-queue

fix forbid clusterrole with namespace

run `kubectl get clusterroles --all-namespaces`
old version
return error message:
```
NAMESPACE   NAME      AGE
clusterRole is not namespaced
clusterRole is not namespaced
clusterRole is not namespaced
clusterRole is not namespaced
clusterRole is not namespaced
clusterRole is not namespaced
clusterRole is not namespaced
```


```release-note

Add error message when trying to use clusterrole with namespace in kubectl

```
2016-12-01 00:39:12 -08:00
yarntime@163.com
4bbc3ba7b1 check the value of min and max 2016-12-01 16:09:05 +08:00
Kubernetes Submit Queue
737edd02a4 Merge pull request #35258 from feiskyer/package-aliase
Automatic merge from submit-queue

Fix package aliases to follow golang convention

Some package aliases are not not align with golang convention https://blog.golang.org/package-names. This PR fixes them. Also adds a verify script and presubmit checks.

Fixes #35070.

cc/ @timstclair @Random-Liu
2016-11-30 16:39:46 -08:00
Kubernetes Submit Queue
9ccc291e8a Merge pull request #37263 from smarterclayton/wait_on_immediate
Automatic merge from submit-queue

When --grace-period=0 is provided, wait for deletion

The grace-period is automatically set to 1 unless --force is provided, and the client waits until the object is deleted.

This preserves backwards compatibility with 1.4 and earlier. It does not handle scenarios where the object is deleted and a new object is created with the same name because we don't have the initial object loaded (and that's a larger change for 1.5).

Fixes #37117 by relaxing the guarantees provided.

```release-note
When deleting an object with `--grace-period=0`, the client will begin a graceful deletion and wait until the resource is fully deleted.  To force deletion, use the `--force` flag.
```
2016-11-30 11:15:17 -08:00
Kubernetes Submit Queue
b312b34d53 Merge pull request #37619 from seeekr/patch-2
Automatic merge from submit-queue

fix typo in `kubectl proxy` command line help

<!--  Thanks for sending a pull request!  Here are some tips for you:
1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
-->

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

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

**Special notes for your reviewer**: doc only

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
```

(docs only) fixed port from 8011 to 8001 (the default) because in that particular line no specific port is specified and thus the default is going to be used.
2016-11-30 08:03:47 -08:00
Kubernetes Submit Queue
3c618a8167 Merge pull request #36726 from xilabao/fix-get-podsecuritypolicy
Automatic merge from submit-queue

fix kubectl get psp

old result:
```shell
./cluster/kubectl.sh --token=/system:masters get psp
NAME         PRIV      CAPS      VOLUMEPLUGINS   SELINUX    RUNASUSER
privileged   true      []        RunAsAny        RunAsAny   RunAsAny   RunAsAny   false     [*]
restricted   false     []        RunAsAny        RunAsAny   RunAsAny   RunAsAny   false     [*]
```

new result:
```shell
./cluster/kubectl.sh --token=/system:masters get psp
NAME         PRIV      CAPS      SELINUX    RUNASUSER   FSGROUP    SUPGROUP   READONLYROOTFS   VOLUMES
privileged   true      []        RunAsAny   RunAsAny    RunAsAny   RunAsAny   false            [*]
restricted   false     []        RunAsAny   RunAsAny    RunAsAny   RunAsAny   false            [*]
```

test.yaml
```
apiVersion: extensions/v1beta1
kind: PodSecurityPolicy
metadata:
  name: privileged
spec:
  fsGroup:
    rule: RunAsAny
  privileged: true
  runAsUser:
    rule: RunAsAny
  seLinux:
    rule: RunAsAny
  supplementalGroups:
    rule: RunAsAny
  volumes:
  - '*'
---
apiVersion: extensions/v1beta1
kind: PodSecurityPolicy
metadata:
  name: restricted
spec:
  fsGroup:
    rule: RunAsAny
  runAsUser:
    rule: RunAsAny
  seLinux:
    rule: RunAsAny
  supplementalGroups:
    rule: RunAsAny
  volumes:
  - '*'
```
2016-11-30 02:04:49 -08:00
Kubernetes Submit Queue
6b46578832 Merge pull request #37604 from ymqytw/fix_issues_with_drain
Automatic merge from submit-queue

make drain retry forever and use a new graceful period

Implemented the 1st approach according to https://github.com/kubernetes/kubernetes/issues/37460#issuecomment-263437516
1) Make drain retry forever if the error is always Too Many Requests (429) generated by Pod Disruption Budget.
2) Use a new graceful period per #37460
3) Update the message printed out when successfully deleting or evicting a pod.

fixes #37460

cc: @davidopp @erictune
2016-11-30 02:04:39 -08:00
zdj6373
e737f3277d Code optimization 2016-11-30 17:40:57 +08:00
Pengfei Ni
f584ed4398 Fix package aliases to follow golang convention 2016-11-30 15:40:50 +08:00
ymqytw
b358b2df02 make drain retry forever and use new timeout 2016-11-29 14:23:40 -08:00
Kubernetes Submit Queue
63a930f88e Merge pull request #37397 from ymqytw/update_doc_for_kubectl_apply
Automatic merge from submit-queue

Update doc for kubectl apply

Update doc for `kubectl apply`.

@MrHohn @mikedanese Please review the changes related to `--prune`.

We will need to update the doc when flags `--dry-run` and `-o` have been fixed. Ref: https://github.com/kubernetes/kubernetes/pull/34028#issuecomment-262392748

Partially addresses: kubernetes/kubernetes.github.io#1513

cc: @pwittrock @foxish
2016-11-29 07:31:48 -08:00
Kubernetes Submit Queue
93f6736daf Merge pull request #37345 from MrHohn/kubectl-apply-remove-w
Automatic merge from submit-queue

Removes shorthand flag -w from kubectl apply

Fixes #37342.

A shorthand flag `-w` was introduced as flag `--prune-whitelist` for kubectl apply two weeks ago. Turned out it is not what we should do. Removing this shorthand flag before 1.5 release to prevent further issues.

@ymqytw @pwittrock
2016-11-29 07:31:38 -08:00
Denis Andrejew
be404a074f fix typo in kubectl proxy command line help
fixed port from 8011 to 8001 (the default) because in that particular line no specific port is specified and thus the default is going to be used.
2016-11-29 11:54:48 +00:00
tianshapjq
d0ba378177 add some help info about the 'all' arg 2016-11-29 14:45:10 +08:00
oulinbao
0b74fa12b8 Refactor describe.go with PrefixWriter 2016-11-29 09:29:04 +08:00
Kubernetes Submit Queue
4a3c7aecdb Merge pull request #37321 from ymqytw/update_doc_for_kubectl_drain
Automatic merge from submit-queue

Update kubectl drain help message

Update `kubectl drain` help messages according to kubernetes/kubernetes.github.io#1768

cc: @erictune @pwittrock
2016-11-28 13:26:16 -08:00
ymqytw
2f32b48b25 update doc for kubectl apply 2016-11-28 09:52:39 -08:00
Clayton Coleman
35a6bfbcee
generated: refactor 2016-11-23 22:30:47 -06:00
foxyriver
ee6568a52a use status code const to express http status 2016-11-24 09:07:04 +08:00
Chao Xu
bcc783c594 run hack/update-all.sh 2016-11-23 15:53:09 -08:00
Chao Xu
96cd71d8f6 kubectl 2016-11-23 15:53:09 -08:00
Clayton Coleman
7cdb6b169d
When --grace-period=0 is provided, wait for deletion
The grace-period is automatically set to 1 unless --force is provided,
and the client waits until the object is deleted.

This preserves backwards compatibility with 1.4 and earlier. It does not
handle scenarios where the object is deleted and a new object is created
with the same name.
2016-11-23 15:02:43 -06:00
xilabao
c526849436 extend cmd valid resources information 2016-11-23 17:49:43 +08:00
Zihong Zheng
f57c9c70f9 Removes shorthand flag from kubectl apply 2016-11-22 22:24:50 -08:00
ymqytw
3cc294b1e0 Revert "support patch list of primitives"
This reverts commit 34891ad9f6.
2016-11-22 21:06:36 -08:00
ymqytw
d248843b65 Revert "try old patch after new patch fails"
This reverts commit f32696e734.
2016-11-22 21:02:30 -08:00
ymqytw
9b16b435fc Revert "Update apply and edit"
This reverts commit 48d3ca23cf.
2016-11-22 21:02:15 -08:00
ymqytw
d178bc76ed Revert "add a unit test"
This reverts commit 11653b11c1.
2016-11-22 21:01:20 -08:00
ymqytw
b8fbf68759 update kubectl drain doc 2016-11-22 15:34:58 -08:00
Kubernetes Submit Queue
2af762b67a Merge pull request #37142 from AdoHe/fix_kubectl_get_all
Automatic merge from submit-queue

kubectl resource filter convert unstructured obj before apply filter …

Fix #37128 

@pwittrock @saad-ali ptal.
2016-11-21 08:28:02 -08:00
deads2k
e300f01a1b add create clusterrolebinding command 2016-11-21 08:50:06 -05:00
Kubernetes Submit Queue
b9d2d74a94 Merge pull request #37038 from ymqytw/retry_old_patch_after_new_patch_fail
Automatic merge from submit-queue

Fix kubectl Stratigic Merge Patch compatibility

As @smarterclayton pointed out in [comment1](https://github.com/kubernetes/kubernetes/pull/35647#pullrequestreview-8290820) and [comment2](https://github.com/kubernetes/kubernetes/pull/35647#pullrequestreview-8290847) in PR #35647,
we cannot assume the API servers publish version and they shares the same version.

This PR removes all the calls of GetServerSupportedSMPatchVersion().
Change the behavior of `apply` and `edit` to:
Retrying with the old patch version, if the new version fails.
Default other usage of SMPatch to the new version, since they don't update list of primitives.

fixes #36916

cc: @pwittrock @smarterclayton
2016-11-19 01:02:47 -08:00
AdoHe
67f6754e0f kubectl resource filter convert unstructured obj before apply filter func 2016-11-19 13:03:39 +08:00
ymqytw
11653b11c1 add a unit test 2016-11-18 15:35:50 -08:00
ymqytw
48d3ca23cf Update apply and edit 2016-11-18 09:01:28 -08:00
Kubernetes Submit Queue
15bbd11bbf Merge pull request #35967 from saturnism/patch-2
Automatic merge from submit-queue

Append newline to the "deleted context ... " and "deleted cluster" message

**What this PR does / why we need it**: Append newline to the "deleted context ... " message.

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

**Special notes for your reviewer**:

**Release note**:
```release-note
NONE
```
2016-11-18 08:28:12 -08:00
Alvaro [Andor]
f2fcf659fc Fix renaming order shown on terminal
When finishing a rolling update, a message is shown :
'Renaming oldRc to newRc'
In my case that'd be:
'Renaming nginx to nginx-df8d9fafc5007d83968cd37c8353d52e'
That naming order is incorrect, as the new name is temporary, and the final name should be the old one
2016-11-18 16:17:25 +01:00
Kubernetes Submit Queue
ddcd9708ec Merge pull request #36898 from deads2k/cli-10-fix-unstructuredtpr
Automatic merge from submit-queue

remove TPR registration, ease validation requirements

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

This removes the special casing for TPRs inside of the `UnstructuredObject`, which should allow CRUD against skewed kube api server levels.

@kubernetes/kubectl @kubernetes/sig-cli 
@janetkuo
2016-11-18 06:27:17 -08:00
Kubernetes Submit Queue
cae6cf2cee Merge pull request #37031 from foxish/add-ss-kubectl
Automatic merge from submit-queue

Adding statefulset to the list of things kubectl says it knows about

**What this PR does / why we need it**: Adding statefulset to the list of things kubectl says it knows about.

**Special notes for your reviewer**: 

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
NONE
```

cc @kubernetes/sig-apps @erictune
2016-11-17 16:49:58 -08:00
ymqytw
f32696e734 try old patch after new patch fails 2016-11-17 14:28:09 -08:00
Anirudh
4b53a32e14 Adding statefulset to the kubectl output for valid resources 2016-11-17 13:53:23 -08:00
Ray Tsang
846cd2d66a Append newline to the "deleted context ... " and "deleted cluster ..." message 2016-11-17 12:30:45 -05:00
Kubernetes Submit Queue
424286996a Merge pull request #36764 from ymqytw/make_edit_before_create_iterate
Automatic merge from submit-queue

make kubectl create --edit iterate

`kubectl create --edit` is broken after #36148 merged.
`kubectl create --edit` will fail when a manifest that contains multiple resources.
I guess the root cause is that dynamic typer doesn't support a list of resources currently.

This PR makes `kubectl create --edit` iterate again as `kubectl create`.
2016-11-17 01:25:34 -08:00
deads2k
66e5c38d67 remove TPR registration, ease validation requirements 2016-11-16 14:04:35 -05:00
AdoHe
d66bcbfa61 create service add create ExternalName service implementation 2016-11-16 04:47:10 -05:00
Kubernetes Submit Queue
fac05d9c81 Merge pull request #36174 from JacobTanenbaum/v2resource_fixes
Automatic merge from submit-queue

V2resource fixes

when using kubectl set resources it resets all resource fields that are not being set.

for example
$ kubectl set resources deployments nginx --limits=cpu=100m

followed by

$ kubectl set resources deployments nginx --limits=memory=256Mi

would result in the nginx deployment only limiting memory at 256Mi with the previous
limit placed on the cpu being wiped out. This behavior is corrected so that each invocation
only modifies fields set in that command and changed the testing so that the desired behavior
is checked.

Also a typo:

you must specify an update to requests or limits or (in the form of --requests/--limits)

corrected to

you must specify an update to requests or limits (in the form of --requests/--limits)

Implemented both the dry run and local flags.

Added test cases to show that both flags are operating as intended.
Removed the print statement "running in local mode" as in PR#35112

The original PR associated with these fixes where reverted due to causing a flake in hack/make-rules/test-cmd.sh, I gave the 'kubectl set resources' tests there own deployment and set the terminationGracePeriodSeconds to 0 and have run test-cmd.sh for hours without hitting the flake
2016-11-15 21:03:06 -08:00
Kubernetes Submit Queue
2bd8bb2699 Merge pull request #34873 from k82cn/k8s_34633
Automatic merge from submit-queue

Set non-zero exit code on failures for kubectl

fixes #34633 

/cc @AdoHe
2016-11-15 03:40:53 -08:00
Kubernetes Submit Queue
79fc0a95a0 Merge pull request #35543 from philips/improve-version
Automatic merge from submit-queue

kubectl: add less verbose version

The kubectl version output is very complex and makes it hard for users
and vendors to give actionable information. For example during the
recent Kubernetes 1.4.3 TLS security scramble I had to write a one-liner
for users to get out the version number to give to figure out if they
are vulnerable:

```
$ kubectl version | grep -i Server | sed  -n 's%.*GitVersion:"\([^"]*\).*%\1%p'
```

Instead this patch outputs simply output by default

```
./kubectl version
Client Version: v1.4.3
Server Version: v1.4.3
```

Adding the `--verbose` flag will output the old format.
2016-11-14 22:39:21 -08:00
ymqytw
189348df2b make kubectl create --edit iterate 2016-11-14 14:12:24 -08:00
Kubernetes Submit Queue
61a5d23e0f Merge pull request #36603 from fabianofranz/fix_lists_in_convert
Automatic merge from submit-queue

Fix handling lists in kubectl convert

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

When handling multiple objects in `kubectl convert` (for example in `kubectl convert -f .` with multiple files in current directory) the objects must be managed as a list instead of individually, otherwise `-o yaml|json` will generate invalid format (just multiple json/yaml objects concatenated) which can't be fed to `kubectl create` like in `kubectl convert -f . | kubectl create -f -`.


```release-note
NONE
```
2016-11-14 12:21:16 -08:00
deads2k
baa2418b11 let printer update unstructured list 2016-11-14 10:42:28 -05:00
xilabao
b472d49bf2 fix kubectl get psp 2016-11-14 10:29:37 +08:00
Klaus Ma
fec8793b5f Set non-zero exit code on failures for kubectl. 2016-11-12 07:40:54 -05:00
Kubernetes Submit Queue
3e169be887 Merge pull request #35647 from ymqytw/patch_primitive_list
Automatic merge from submit-queue

Fix strategic patch for list of primitive type with merge sementic

Fix strategic patch for list of primitive type when the patch strategy is `merge`.
Before: we cannot replace or delete an item in a list of primitive, e.g. string, when the patch strategy is `merge`. It will always append new items to the list.
This patch will generate a map to update the list of primitive type.
The server with this patch will accept either a new patch or an old patch.
The client will found out the APIserver version before generate the patch.

Fixes #35163, #32398

cc: @pwittrock @fabianofranz 

``` release-note
Fix strategic patch for list of primitive type when patch strategy is `merge` to remove deleted objects.
```
2016-11-11 14:36:44 -08:00
Brandon Philips
9216057589 kubectl: add less verbose version
The kubectl version output is very complex and makes it hard for users
and vendors to give actionable information. For example during the
recent Kubernetes 1.4.3 TLS security scramble I had to write a one-liner
for users to get out the version number to give to figure out if they
are vulnerable:

    $ kubectl version | grep -i Server | sed  -n 's%.*GitVersion:"\([^"]*\).*%\1%p'

Instead this patch outputs simply output with `--short`

    ./kubectl version --short
    Client Version: v1.4.3
    Server Version: v1.4.3
2016-11-10 14:07:42 -08:00
Fabiano Franz
8965fcaf10 Fix handling lists in kubectl convert 2016-11-10 18:19:30 -02:00
Kubernetes Submit Queue
a551dff534 Merge pull request #35901 from justinsb/kubectl_show_labels
Automatic merge from submit-queue

kubectl: show node label if defined

We are moving towards marking master nodes as tainted, and not
necessarily unschedulable.  Further now we encourage users to taint
nodes, marking them unschedulable.

Thus the reliance on "Unschedulable" is not really a great indicator for
the master.

Instead, recognize the existing node 'role' markers, and surface them
where Unschedulable is (in the status).

We recognize:

 * a kubernetes.io/role label
 * a kubeadm.alpha.kubernetes.io/role label
~a taint with Key 'dedicated'~

Fix #33533
2016-11-10 03:12:33 -08:00
Kubernetes Submit Queue
6fcf8e415c Merge pull request #34584 from ymqytw/support_force_apply
Automatic merge from submit-queue

support kubectl apply --force

Support `kubectl apply --force` which is first delete the resource and then re-apply the resource, when the patch fails.

Fixes: #16569
2016-11-09 21:14:25 -08:00
Kubernetes Submit Queue
5d894d5164 Merge pull request #36495 from mwielgus/kubectl_pdb
Automatic merge from submit-queue

Support for PodDisruptionBudget in Kubectl

Based on:

https://github.com/kubernetes/kubernetes/pull/35287

cc: @davidopp @soltysh @wojtek-t
2016-11-09 17:33:41 -08:00
Kubernetes Submit Queue
7bb031da3a Merge pull request #30237 from mikedanese/csr-porcelain
Automatic merge from submit-queue

implement kubectl procelain csr commands

cc @gtank

ref #30163
2016-11-09 16:57:49 -08:00
juanvallejo
11ad2cf2ff
Remove duplicate describer errs
The `describe` command iterates through a list of infos received from
the server and aggregates a list of errors while attempting to call each
resource's respective describer. When a resource exists, but does not
have a describer set, such as `Event`, the `describe` command outputs
the same error `error: no description has been implemented for "Event"`
for each info.

```
$ kubectl describe events
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
no description has been implemented for "Event"
```
2016-11-09 16:28:36 -05:00
ymqytw
34891ad9f6 support patch list of primitives 2016-11-09 11:46:59 -08:00
Marcin
5e83188327 Autogenerated bazel 2016-11-09 13:41:18 +01:00
Marcin
9cee1456a6 Describe and get support for the updated api + tests 2016-11-09 13:39:16 +01:00
Maciej Szulik
5f8e76b479 Add resource printer and describer for PodDisruptionBudget 2016-11-09 11:33:51 +01:00
Kubernetes Submit Queue
b3e4083f49 Merge pull request #36133 from luomiao/photon-support-PR-v2
Automatic merge from submit-queue

Support persistent volume usage for kubernetes running on Photon Controller platform

**What this PR does / why we need it:**
Enable the persistent volume usage for kubernetes running on Photon platform.
Photon Controller: https://vmware.github.io/photon-controller/

_Only the first commit include the real code change.
The following commits are for third-party vendor dependency and auto-generated code/docs updating._

Two components are added:
pkg/cloudprovider/providers/photon: support Photon Controller as cloud provider
pkg/volume/photon_pd: support Photon persistent disk as volume source for persistent volume

Usage introduction:
a. Photon Controller is supported as cloud provider.
When choosing to use photon controller as a cloud provider, "--cloud-provider=photon --cloud-config=[path_to_config_file]" is required for kubelet/kube-controller-manager/kube-apiserver. The config file of Photon Controller should follow the following usage:

```
[Global]
target = http://[photon_controller_endpoint_IP]
ignoreCertificate = true
tenant = [tenant_name]
project = [project_name]
overrideIP = true
```

b. Photon persistent disk is supported as volume source/persistent volume source.
yaml usage:

```
volumes:
  - name: photon-storage-1
    photonPersistentDisk:
        pdID: "643ed4e2-3fcc-482b-96d0-12ff6cab2a69"
```
pdID is the persistent disk ID from Photon Controller.

c. Enable Photon Controller as volume provisioner.
yaml usage:

```
kind: StorageClass
apiVersion: storage.k8s.io/v1beta1
metadata:
  name: gold_sc
provisioner: kubernetes.io/photon-pd
parameters:
  flavor: persistent-disk-gold
```

The flavor "persistent-disk-gold" needs to be created by Photon platform admin before hand.
2016-11-09 00:10:22 -08:00
Kubernetes Submit Queue
4b5667e177 Merge pull request #36211 from brendandburns/cordon
Automatic merge from submit-queue

Add retry to node scheduability marking.

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

@justinsb @janetkuo @kubernetes/sig-cli
2016-11-08 16:05:53 -08:00
Miao Luo
b22ccc6780 Support persistent volume on Photon Controller platform
1. Enable Photon Controller as cloud provider
2. Support Photon persistent disk as volume source/persistent volume
source
2016-11-08 09:36:16 -08:00
Kubernetes Submit Queue
3b31c9f019 Merge pull request #36355 from soltysh/deprecate_extensionsjob
Automatic merge from submit-queue

 Deprecate extensions/v1beta1.Jobs related stuff

This PR supersedes https://github.com/kubernetes/kubernetes/pull/33861, it's a pre-req for removing `extensions/v1beta1.Jobs` (#32763) in the next release. 

@kubernetes/kubectl @kubernetes/api-review-team ptal
@bgrant0607 @erictune @janetkuo fyi

```release-note
Deprecate extensions/v1beta1.Jobs
```
2016-11-08 07:18:40 -08:00
Mike Danese
584689f182 implement kubectl procelain csr commands 2016-11-08 06:33:46 -08:00
xilabao
b346911299 fix forbid clusterrole with namespace 2016-11-08 16:25:33 +08:00
xilabao
93be603d8f add kubectl get rolebindings/clusterrolebindings -o wide 2016-11-08 16:19:57 +08:00
Kubernetes Submit Queue
13cc43af82 Merge pull request #35483 from ymqytw/use_evict_for_drain
Automatic merge from submit-queue

Fix kubectl drain for statefulset

Support deleting pets for `kubectl drain`. 
Use evict to delete pods.

Fixes: #33727

```release-note
Adds support for StatefulSets in kubectl drain.
Switches to use the eviction sub-resource instead of deletion in kubectl drain, if server supports.
```

@foxish @caesarxuchao
2016-11-07 17:42:08 -08:00
ymqytw
b73fae6c55 Fix kubectl drain for statefulset and use eviciton for drain if possible 2016-11-07 16:13:06 -08:00
Justin Santa Barbara
98f7c3919e kubectl: show node label if defined
We are moving towards marking master nodes as tainted, and not
necessarily unschedulable.  Further now we encourage users to cordon
nodes, marking them unschedulable.

Thus the reliance on "Unschedulable" is not really a great indicator for
the master.

So, recognize the existing node 'role' markers, and surface them
where Unschedulable is (in the status).

We recognize:

 * a kubernetes.io/role label
 * a kubeadm.alpha.kubernetes.io/role label

Fix #33533
2016-11-07 18:38:21 -05:00
Kubernetes Submit Queue
7f74d48586 Merge pull request #36171 from kargakis/kubectl-changes-for-failed-deployments
Automatic merge from submit-queue

kubectl: enhancements for deployment progress deadline

Changes:
* add deployment conditions in the describer
* abort 'rollout status' for deployments that have exceeded their
progress deadline

Depends on https://github.com/kubernetes/kubernetes/pull/35691.

@kubernetes/kubectl @kubernetes/deployment

Fixes https://github.com/kubernetes/kubernetes/issues/31319
2016-11-07 10:22:32 -08:00
Maciej Szulik
ed6ede3715 Deprecate extensions/v1beta1.Jobs related stuff 2016-11-07 12:44:51 +01:00
Maciej Szulik
0b5ef16008 Support ScheduledJob name 2016-11-07 10:14:12 +01:00
Maciej Szulik
41d88d30dd Rename ScheduledJob to CronJob 2016-11-07 10:14:12 +01:00
Kubernetes Submit Queue
f7e0c6c19e Merge pull request #35418 from sttts/sttts-discovery-cache
Automatic merge from submit-queue

Add caching for discovery info with invalidation on cache-miss

TODO:
- [x] write tests for `CachedDiscoveryClient`
- [x] write tests for `DeferredDiscoveryRESTMapper` on cache-miss
- [x] find better way/structure to get rid of `invalidateCh` in c06ba3175b
2016-11-06 20:10:57 -08:00
Brendan Burns
55f031e167 Add retry to node scheduability marking. 2016-11-06 08:28:36 -08:00
Michail Kargakis
f97666eb66 kubectl: enhancements for deployment progress deadline
Changes:
* add deployment conditions in the describer
* abort 'rollout status' for deployments that have exceeded their
progress deadline
2016-11-06 14:08:33 +01:00
Kubernetes Submit Queue
47519962bf Merge pull request #35484 from smarterclayton/delete_warning
Automatic merge from submit-queue

Add --force to kubectl delete and explain force deletion

--force is required for --grace-period=0. --now is == --grace-period=1.
Improve command help to explain what graceful deletion is and warn about
force deletion.

Part of #34160 & #29033

```release-note
In order to bypass graceful deletion of pods (to immediately remove the pod from the API) the user must now provide the `--force` flag in addition to `--grace-period=0`.  This prevents users from accidentally force deleting pods without being aware of the consequences of force deletion.  Force deleting pods for resources like StatefulSets can result in multiple pods with the same name having running processes in the cluster, which may lead to data corruption or data inconsistency when using shared storage or common API endpoints.
```
2016-11-05 11:19:04 -07:00
Kubernetes Submit Queue
da56dc1e33 Merge pull request #35206 from juanvallejo/jvallejo/exit-w-errorcode-on-non-existent-cmds
Automatic merge from submit-queue

update default run function for sub-commands

**Release note**:

``` release-note
release-note-none
```

This patch updates parent commands of sub-commands to exit with a usage
error and exit code 1 on an invalid (non-sub-command) argument.

cc @kargakis
2016-11-05 07:33:46 -07:00
ymqytw
750449ba3c support force apply 2016-11-04 20:42:34 -07:00
Dr. Stefan Schimanski
c8513c31a1 Update bazel 2016-11-04 21:17:12 +01:00
Dr. Stefan Schimanski
14ce6f6065 Add caching for discovery info 2016-11-04 21:17:12 +01:00
Kubernetes Submit Queue
5a2c473c1c Merge pull request #36085 from deads2k/cli-05-generic-print
Automatic merge from submit-queue

have basic kubectl crud agnostic of registered types

Makes `kubectl get` agnostic to scheme (baked in API types).  This means that it will now work against generic API servers that are "kube shaped".

This is similar to the work done for `kubectl create` last release.  I'll split out the smaller command.  `kubectl get` looks a lot different, but this eliminates all special casing for TPR in those cases.



@fabianofranz
2016-11-04 08:17:02 -07:00
deads2k
61673c4b39 make kubectl get generic with respect to objects 2016-11-04 09:04:57 -04:00
Kubernetes Submit Queue
9531442cd6 Merge pull request #35866 from madhusudancs/federation-kubefed-init-fakeclient
Automatic merge from submit-queue

Make the fake command factory return the clientset with appropriate rest clients for all the API groups.

Please review only the last commit here. This is based on PR #35865 which will be reviewed independently.

Design Doc: PR #34484

cc @kubernetes/sig-cluster-federation @nikhiljindal
2016-11-04 05:46:46 -07:00
deads2k
7fe9bd4c30 make kubectl delete generic 2016-11-04 07:50:31 -04:00
deads2k
9260b992bf make kubectl replace generic 2016-11-04 07:50:31 -04:00
Kubernetes Submit Queue
e4edd817af Merge pull request #35220 from MrHohn/kubectl-apply-type
Automatic merge from submit-queue

Implement --prune-whitelist(-w) flag to overwrite default whitelist for --prune

From #34274.

Updates:

As suggested, the new commits implement a default whitelist for `kubectl apply --prune`, which could be overwritten by using `--prune-whitelist`or `-w` flag. The default whitelist and example as below.

Also supports `--dry-run` for `--prune` to fix #35222.

whitelist:

```
type pruneResource struct {
    group      string
    version    string
    kind       string
    namespaced bool
}

*pruneResources = []pruneResource{
    {"", "v1", "ConfigMap", true},
    {"", "v1", "Endpoints", true},
    {"", "v1", "Namespace", false},
    {"", "v1", "PersistentVolumeClaim", true},
    {"", "v1", "PersistentVolume", false},
    {"", "v1", "Pod", true},
    {"", "v1", "ReplicationController", true},
    {"", "v1", "Secret", true},
    {"", "v1", "Service", true},
    {"batch", "v1", "Job", true},
    {"extensions", "v1beta1", "DaemonSet", true},
    {"extensions", "v1beta1", "Deployment", true},
    {"extensions", "v1beta1", "HorizontalPodAutoscaler", true},
    {"extensions", "v1beta1", "Ingress", true},
    {"extensions", "v1beta1", "ReplicaSet", true},
    {"apps", "v1beta1", "StatefulSet", true},
}
```

example:

```
$ kubectl apply -f /path/to/file --prune -l test=true \
      -w core/v1/Pod \
      -w core/v1/Service \
      -w extensions/v1beta1/Deployment 
```

@mikedanese
2016-11-03 18:46:17 -07:00
Kubernetes Submit Queue
f2b5600567 Merge pull request #36017 from foxish/kubectl-new-2
Automatic merge from submit-queue

Set reason and message on Pod during nodecontroller eviction

**What this PR does / why we need it**: Pods which are evicted by the nodecontroller due to network partition, or unresponsive kubelet should be differentiated from termination initiated by other sources. The reason/message are consumed by kubectl to provide a better summary using get/describe.

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

**Release note**:
```release-note
Pods that are terminating due to eviction by the nodecontroller (typically due to unresponsive kubelet, or network partition) now surface in `kubectl get` output 
as being in state "Unknown", along with a longer description in `kubectl describe` output.
```
2016-11-03 18:05:44 -07:00
Kubernetes Submit Queue
6ac5887e8a Merge pull request #36148 from kargakis/edit-list
Automatic merge from submit-queue

kubectl: make edit work with lists again

@kubernetes/kubectl this is fixing https://github.com/kubernetes/kubernetes/issues/20519 and slightly changes the behavior of --recursive when the directory that is being edited has files with errors. Previously since `edit` was working on an object basis, bad objects would be skipped and the editor would load the next object. We want to load multiple objects in the same list and it's impossible to load invalid objects in a list so --recursive will not work if there is any error in the directory. I think this is an acceptable trade-off.

Review here: https://github.com/kubernetes/kubernetes/pull/36148/files?w=1
2016-11-03 17:27:13 -07:00
Kubernetes Submit Queue
27118fe23a Merge pull request #35715 from apelisse/owners-pkg-kubectl
Automatic merge from submit-queue

Curating Owners: pkg/kubectl

In an effort to expand the existing pool of reviewers and establish a
two-tiered review process (first someone lgtms and then someone
experienced in the project approves), we are adding new reviewers to
existing owners files.
## If You Care About the Process:

We did this by algorithmically figuring out who’s contributed code to
the project and in what directories.  Unfortunately, that doesn’t work
well: people that have made mechanical code changes (e.g change the
copyright header across all directories) end up as reviewers in lots of
places.

Instead of using pure commit data, we generated an excessively large
list of reviewers and pruned based on all time commit data, recent
commit data and review data (number of PRs commented on).

At this point we have a decent list of reviewers, but it needs one last
pass for fine tuning.
## TLDR:

As an owner of a sig/directory and a leader of the project, here’s what
we need from you:
1. Comment on the pull-request explaining the changes you want. I'll
   take care of doing them (unless you want to modify the pull-request
   yourself).
2. OWNERS files in subdirectory can be removed if they are redundant with
   top-directory files.
3. Please use the ALIAS feature if you want to re-use a list of persons
   in different files.
2016-11-03 15:50:29 -07:00
Anirudh
6d7213dd39 Update bazel 2016-11-03 13:47:09 -07:00
Anirudh
a5bdc5f509 Set reason and message on Pod during nodecontroller eviction
Pods which are evicted by the nodecontroller due to network
malfunction, or unresponsive kubelet should be differentiated
from termination initiated by other sources. The reason/message
are consumed by kubectl to provide a better summary using get/describe.
2016-11-03 13:47:03 -07:00
Kubernetes Submit Queue
7c391158e3 Merge pull request #35810 from deads2k/client-18-decode-status
Automatic merge from submit-queue

always allow decoding of status when returned from the API

`unversioned.Status` should be able to come back from any API version and still be properly decoded.  This doesn't happen today by default.

@smarterclayton  Our projectrequest endpoint returns a `Status` object on a 200 return from list to indicate everything went well.  This (or something like it) is needed to make the API accepted by `kubectl`.  Alternatively, we change the API to return a different (still not a `Project`) value from list, which still feels wrong.
2016-11-03 11:18:23 -07:00
Jacob Tanenbaum
13afa70c81 Implemented both the dry run and local flags.
Added test cases to show that both flags are operating as intended.
Removed the print statement "running in local mode" as in PR#35112

The previous attempt at the PR (PR#35050) was reverted for causeing a flake.
I believe that setting the deployments terminationGracePeriodSeconds to 0 should
take care of it. I ran hack/make-rules/test-cmd.sh 50 times in a row without encountering
the flake
2016-11-03 12:55:19 -04:00
Jacob Tanenbaum
9d7ae7b80d fixed some issues with kubectl set resources
when using kubectl set resources it resets all resource fields that are not being set.

for example
  # kubectl set resources deployments nginx --limits=cpu=100m

followed by

  # kubectl set resources deployments nginx --limits=memory=256Mi

would result in the nginx deployment only limiting memory at 256Mi with the previous
limit placed on the cpu being wiped out. This behavior is corrected so that each invocation
only modifies fields set in that command and changed the testing so that the desired behavior
is checked.

Also a typo:

 you must specify an update to requests or limits or  (in the form of --requests/--limits)

corrected to

 you must specify an update to requests or limits (in the form of --requests/--limits)

changelog:
 - fixed a typo in hack/make-rules/test-cmd.sh "effecting" to "affecting"
2016-11-03 12:55:19 -04:00
Kubernetes Submit Queue
f91cd17821 Merge pull request #35799 from deads2k/client-17-negotiation
Automatic merge from submit-queue

clean up client version negotiation to handle no legacy API

Version negotiation fails if the legacy API endpoint isn't available.

This tightens up the negotiation interface based to more clearly express what each stage is doing and what the constraints on negotiation are.  This is needed to speak to generic API servers.

@kubernetes/kubectl
2016-11-03 07:53:47 -07:00
Michail Kargakis
35f7d2513f kubectl: make edit work with lists again 2016-11-03 13:12:22 +01:00
Clayton Coleman
6e25830378
Add --force to kubectl delete and explain force deletion
--force is required for --grace-period=0. --now is == --grace-period=1.
Improve command help to explain what graceful deletion is and warn about
force deletion.
2016-11-02 17:44:05 -04:00
Madhusudan.C.S
0092cda7ed Need type assertion because RESTClient() is now a method that returns and interface. 2016-11-01 21:59:51 -07:00
Madhusudan.C.S
e69475d29e Make the fake command factory return the clientset with appropriate rest clients for all the API groups.
Calling `internalclientset.New()` with a rest client as an argument simply
copies that rest client to all the API group clients irrespective of the
configured GroupVersion or versionedAPIPath in the client. So only one
API group client gets the client configured correctly for that API
group. All the other API group clients get misconfigured rest clients.

On the other hand, `internalclientset.NewForConfigOrDie()` does the right
thing by reconfiguring the passed configs for each API group and
initializes an appropriate rest client for that group.

Now that we are relying on the `NewForConfigOrDie()` method to
initialize the rest clients, we need to swap the underlying http clients
in each of these rest clients with a fake one for testing.
2016-11-01 19:03:04 -07:00
Kubernetes Submit Queue
3d33b45e43 Merge pull request #30091 from rootfs/azure-storage
Automatic merge from submit-queue

support Azure disk dynamic provisioning

azure disk dynamic provisioning

A screen shot 

``` console
$ kubectl create -f examples/experimental/persistent-volume-provisioning/azure-dd.yaml
storageclass "slow" created
$ kubectl create -f examples/experimental/persistent-volume-provisioning/claim1.json
persistentvolumeclaim "claim1" created
$ kubectl describe pvc
Name:       claim1
Namespace:  default
Status:     Bound
Volume:     pvc-de7150d1-6a37-11e6-aec9-000d3a12e034
Labels:     <none>
Capacity:   3Gi
Access Modes:   RWO
$ kubectl create -f pod.yaml
replicationcontroller "nfs-server" created
$ kubectl describe pod
Name:       nfs-server-b9w6x
Namespace:  default
Node:       rootfs-dev/172.24.0.4
Start Time: Wed, 24 Aug 2016 19:46:21 +0000
Labels:     role=nfs-server
Status:     Running
IP:     172.17.0.2
Controllers:    ReplicationController/nfs-server
Containers:
  nfs-server:
    Container ID:   docker://be6f8c0e26dc896d4c53ef0d21c9414982f0b39a10facd6b93a255f9e1c3806c
    Image:      nginx
    Image ID:       docker://bfdd4ced794ed276a28cf56b233ea58dec544e9ca329d796cf30b8bcf6d39b3f
    Port:       
    State:      Running
      Started:      Wed, 24 Aug 2016 19:49:19 +0000
    Ready:      True
    Restart Count:  0
    Volume Mounts:
      /exports from mypvc (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-9o0fj (ro)
    Environment Variables:  <none>
Conditions:
  Type      Status
  Initialized   True 
  Ready     True 
  PodScheduled  True 
Volumes:
  mypvc:
    Type:   PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  claim1
    ReadOnly:   false
  default-token-9o0fj:
    Type:   Secret (a volume populated by a Secret)
    SecretName: default-token-9o0fj
QoS Class:  BestEffort
Tolerations:    <none>
Events:
  FirstSeen LastSeen    Count   From            SubobjectPath           Type        Reason      Message
  --------- --------    -----   ----            -------------           --------    ------      -------
  11m       11m     1   {default-scheduler }                    Normal      Scheduled   Successfully assigned nfs-server-b9w6x to rootfs-dev
  9m        9m      1   {kubelet rootfs-dev}                    Warning     FailedMount Unable to mount volumes for pod "nfs-server-b9w6x_default(6eb7fd98-6a33-11e6-aec9-000d3a12e034)": timeout expired waiting for volumes to attach/mount for pod "nfs-server-b9w6x"/"default". list of unattached/unmounted volumes=[mypvc]
  9m        9m      1   {kubelet rootfs-dev}                    Warning     FailedSync  Error syncing pod, skipping: timeout expired waiting for volumes to attach/mount for pod "nfs-server-b9w6x"/"default". list of unattached/unmounted volumes=[mypvc]
  8m        8m      1   {kubelet rootfs-dev}    spec.containers{nfs-server} Normal      Pulling     pulling image "nginx"
  8m        8m      1   {kubelet rootfs-dev}    spec.containers{nfs-server} Normal      Pulled      Successfully pulled image "nginx"
  8m        8m      1   {kubelet rootfs-dev}    spec.containers{nfs-server} Normal      Created     Created container with docker id be6f8c0e26dc
  8m        8m      1   {kubelet rootfs-dev}    spec.containers{nfs-server} Normal      Started     Started container with docker id be6f8c0e26dc

```

@colemickens @brendandburns
2016-11-01 17:27:14 -07:00
Zihong Zheng
af048bdb62 Implements --prune-whitelist(-w) flag to overwrite default whitelist for --prune 2016-11-01 14:02:00 -07:00
Saad Ali
1c51ac4fc1 Revert "fixed some issues with kubectl set resources" 2016-11-01 13:53:17 -07:00
deads2k
235678d591 always allow decoding of status when returned from the API 2016-11-01 16:36:45 -04:00
Madhusudan.C.S
1712a190cb [Federation][(Un)join-00] Implement federation/cluster resource generator. 2016-11-01 00:58:54 -07:00
deads2k
bae940df5c clean up client version negotiation to handle no legacy API 2016-10-31 16:05:50 -04:00
Kubernetes Submit Queue
24899597b9 Merge pull request #32687 from jouve/resource_type
Automatic merge from submit-queue

update list of vailable resources

Hi,

kubectl get --help produce a list of resource types and aliases :

```
Valid resource types include:
   * clusters (valid only for federation apiservers)
   * componentstatuses (aka 'cs')
   ...
```

``` release-note
Update the list of resources in kubectl get --help
```

The list is currently outdated (for exemple missing networkpolicy).

http://kubernetes.io/docs/user-guide/kubectl-overview/#resource-types has the same data and is also outdated.

The patch updates these 2 lists.
2016-10-31 09:28:29 -07:00
juanvallejo
988e747649 update default run function for sub-commands
This patch updates parent commands of sub-commands to exit with a usage
error and exit code 1 on an invalid (non-sub-command) argument.
2016-10-31 10:08:12 -04:00
Michal Fojtik
0faa27e62d Use PATCH when pausing/resuming objects and CalculatePatches to get the patch 2016-10-31 13:13:59 +01:00
Kubernetes Submit Queue
f448f24c73 Merge pull request #34914 from brendandburns/kubectl-cp
Automatic merge from submit-queue

add kubectl cp

Implements `kubectl cp` (https://github.com/kubernetes/kubernetes/issues/13776)

Syntax examples:

```sh
# Copy from pod to local machine
$ kubectl cp [namespace/]pod:/some/file/or/dir ./some/local/file/or/dir

# Copy from local machine to pod
$ kubectl cp /some/local/file/or/dir [namespace/]pod:/some/remote/file/or/dir
```

@deads2k @smarterclayton @kubernetes/sig-cli
2016-10-30 15:12:41 -07:00
Cyril Jouve
ffcc2f61b5 update available resource list 2016-10-30 21:47:25 +01:00
Kubernetes Submit Queue
71ba8a90f0 Merge pull request #35732 from fabianofranz/run_cant_dryrun_with_attach
Automatic merge from submit-queue

Better kubectl run validations

Adds more validations to flags that must be mutually exclusive in `kubectl run`. For example, `--dry-run` must not be used with `--attach`, `--stdin` or `--tty`. Adds unit tests for these new validations and some previously existing ones.

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
NONE
```
2016-10-30 13:07:28 -07:00
Kubernetes Submit Queue
bc5682bbaa Merge pull request #35050 from JacobTanenbaum/resource_fixes
Automatic merge from submit-queue

fixed some issues with kubectl set resources

when using kubectl set resources it resets all resource fields that are not being set.

for example
  # kubectl set resources deployments nginx --limits=cpu=100m

followed by

  # kubectl set resources deployments nginx --limits=memory=256Mi

would result in the nginx deployment only limiting memory at 256Mi with the previous
limit placed on the cpu being wiped out. This behavior is corrected so that each invocation
only modifies fields set in that command and changed the testing so that the desired behavior
is checked.

Also a typo:

 you must specify an update to requests or limits or  (in the form of --requests/--limits)

corrected to

 you must specify an update to requests or limits (in the form of --requests/--limits)

 Implemented both the dry run and local flags.

Added test cases to show that both flags are operating as intended.
Removed the print statement "running in local mode" as in PR#35112
2016-10-30 06:18:56 -07:00
Kubernetes Submit Queue
1ff0b422a8 Merge pull request #35664 from ymqytw/update_drain_test
Automatic merge from submit-queue

Update drain test

Update how int convert to string in the kubectl drain test.
It is safer to use `strconv.Itoa()` than `string()`.
2016-10-30 04:30:18 -07:00
Kubernetes Submit Queue
5f8dc216d1 Merge pull request #35427 from fabianofranz/issues_35426
Automatic merge from submit-queue

kubectl commands must not use the factory out of Run

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

@smarterclayton PTAL
2016-10-30 03:17:59 -07:00
Kubernetes Submit Queue
7778ee2190 Merge pull request #33024 from juanvallejo/jvallejo/add-print-error-w-causes-cmdutil-helper
Automatic merge from submit-queue

Add "PrintErrorWithCauses" cmdutil helper

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

This patch adds a new helper function to `cmd/util/helpers.go` that
handles errors containing collections of causes and prints each cause in
a separate newline.
2016-10-30 01:12:13 -07:00
Brendan Burns
d65757fb88 add kubectl cp 2016-10-29 20:24:54 -07:00
Kubernetes Submit Queue
a06a08a906 Merge pull request #34489 from caesarxuchao/time-copy.sh
Automatic merge from submit-queue

Verify and update client-go staging area for every PR

We need to keep the staging area up-to-date to prevent PRs from breaking client-go.

It's marked as "WIP" because we need to decide the [versioning strategy](https://github.com/kubernetes/client-go/issues/9) for client-go first. This PR contains breaking changes for client-go.

This is blocking #29934 and potentially #34441

cc @kubernetes/sig-api-machinery
2016-10-29 16:24:07 -07:00
Kubernetes Submit Queue
7f309f5fae Merge pull request #35471 from caesarxuchao/client-gen-multi-versions
Automatic merge from submit-queue

Let release_1_5 clientset include multiple versions of a group

Fix #35237 

This PR make versioned clientset to include multiple versions of a group. Currently only `batch` has `v1` and `v2alpha1`. The clientset interface now looks like:
```go
	BatchV2alpha1() v2alpha1batch.BatchV2alpha1Interface
	BatchV1() v1batch.BatchV1Interface
	// Deprecated: please explicitly pick a version if possible.
	Batch() v1batch.BatchV1Interface
```

Commit "update client-gen to say internalversion rather than unversioned" fixes https://github.com/kubernetes/kubernetes/issues/24481. 


cc @kubernetes/sig-api-machinery @soltysh @deads2k @nikhiljindal 



```release-note
release_1_5 clientset supports multiple versions of a group.
```
2016-10-29 15:40:13 -07:00
Kubernetes Submit Queue
7c9c8cbf28 Merge pull request #34952 from kargakis/update-observedgeneration-for-overlapping-deployments
Automatic merge from submit-queue

Make overlapping deployments deletable

@kubernetes/deployment ptal

Fixes https://github.com/kubernetes/kubernetes/issues/34466 by 1) not adding the overlapping annotation in the working deployment, 2) updates observedGeneration for overlapping deployments, and 3) updates the kubectl deployment reaper to do non-cascading deletion for deployments with the overlapping annotation.
2016-10-29 14:50:16 -07:00
Chao Xu
fd2fdfba89 move client/unversioned/fake to client/restclient/fake 2016-10-29 14:22:02 -07:00
Chao Xu
850729bfaf include multiple versions in clientset
update client-gen to use the term "internalversion" rather than "unversioned";
leave internal one unqualified;
cleanup client-gen
2016-10-29 13:30:47 -07:00
Kubernetes Submit Queue
7fc2273cad Merge pull request #35327 from r2d4/kubectl-completion-boilerplate
Automatic merge from submit-queue

Add boilerplate to `kubectl completion bash`

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

Small refactor to make kubectl bash and zsh completion share
boilerplate.  Previously the boilerplate was not included in the bash
script.
2016-10-29 12:27:39 -07:00
Kubernetes Submit Queue
739f78fad2 Merge pull request #33250 from ymqytw/edit_before_create
Automatic merge from submit-queue

support editing before creating resource

Support `kubectl create -f config.yaml --edit`
Support editing before creating resource from files, urls and stdin.
The behavior is similar to `kubectl edit`
It won't create anything when edit make no change.

partial: #18064

Based on: #33686 and #33973

```release-note
Support editing before creating resource from files, urls and stdin, e.g. `kubectl create -f config.yaml --edit`
It won't create anything when edit make no change.
```
2016-10-29 11:45:43 -07:00
Antoine Pelisse
91393b5123 Move pkg/kubectl reviewers into an alias 2016-10-28 14:54:17 -07:00
Phillip Wittrock
28bdf8298b Update OWNERS 2016-10-28 13:11:57 -07:00
Clayton Coleman
ca2f1b87ad
Replace negotiation with a new method that can extract info
Alter how runtime.SerializeInfo is represented to simplify negotiation
and reduce the need to allocate during negotiation. Simplify the dynamic
client's logic around negotiating type. Add more tests for media type
handling where necessary.
2016-10-28 11:30:11 -04:00
juanvallejo
643649113f Add "PrintErrorWithCauses" cmdutil helper
This patch adds a new helper function to cmd/util/helpers.go that
handles errors containing collections of causes and prints each cause in
a separate newline.
2016-10-28 10:17:45 -04:00
Huamin Chen
1d52719465 azure disk volume: support storage class and dynamic provisioning
Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-10-28 13:31:47 +00:00
Janet Kuo
10aee82ae3 Rename PetSet API to StatefulSet 2016-10-27 17:25:10 -07:00
Fabiano Franz
bc1a1d7b30 Better kubectl run validations 2016-10-27 20:05:26 -02:00
Antoine Pelisse
0332c3c346 Update OWNERS approvers and reviewers: pkg/kubectl 2016-10-27 11:38:57 -07:00
Jacob Tanenbaum
a77cecb957 Implemented both the dry run and local flags.
Added test cases to show that both flags are operating as intended.
Removed the print statement "running in local mode" as in PR#35112
2016-10-27 14:05:46 -04:00
Jacob Tanenbaum
fe3bcad128 fixed some issues with kubectl set resources
when using kubectl set resources it resets all resource fields that are not being set.

for example
  # kubectl set resources deployments nginx --limits=cpu=100m

followed by

  # kubectl set resources deployments nginx --limits=memory=256Mi

would result in the nginx deployment only limiting memory at 256Mi with the previous
limit placed on the cpu being wiped out. This behavior is corrected so that each invocation
only modifies fields set in that command and changed the testing so that the desired behavior
is checked.

Also a typo:

 you must specify an update to requests or limits or  (in the form of --requests/--limits)

corrected to

 you must specify an update to requests or limits (in the form of --requests/--limits)

changelog:
 - fixed a typo in hack/make-rules/test-cmd.sh "effecting" to "affecting"
2016-10-27 14:05:46 -04:00
Fabiano Franz
60fc7b87be kubectl commands must not use the factory out of Run 2016-10-27 15:38:22 -02:00
ymqytw
08d4d8dba5 Update drain test 2016-10-26 19:17:05 -07:00
deads2k
81ae13084d handle non-generated client removal 2016-10-26 16:10:41 -04:00
ymqytw
c641834bb3 support editing before creating resource 2016-10-24 09:56:37 -07:00
ymqytw
8a2610c6fb fix drain test flake 2016-10-24 09:32:49 -07:00
Mike Danese
df713b478c fix tests by declaring testdata 2016-10-21 17:32:32 -07:00
Mike Danese
3b6a067afc autogenerated 2016-10-21 17:32:32 -07:00
Kubernetes Submit Queue
a7807eb5a4 Merge pull request #34138 from ingvagabund/create-restclient-interface
Automatic merge from submit-queue

Create restclient interface

Refactoring of code to allow replace *restclient.RESTClient with any RESTClient implementation that implements restclient.RESTClientInterface interface.
2016-10-21 16:02:04 -07:00
Matt Rickard
0497ffb9c6 Add boilerplate to kubectl completion bash
Small refactor to make kubectl bash and zsh completion share
boilerplate.  Previously the boilerplate was not included in the bash
script.
2016-10-21 14:07:38 -07:00
Jan Chaloupka
6079053407 Update clientset generator to use RESTClient interface instead of the RESTClient data type 2016-10-21 10:13:51 +02:00
Kubernetes Submit Queue
68e68052be Merge pull request #35115 from k82cn/k8s_35092
Automatic merge from submit-queue

Did not print 'No resources found.' if error.

fixes #35092 .
2016-10-21 01:01:32 -07:00
Kubernetes Submit Queue
10ebd65913 Merge pull request #34922 from zreigz/add-nodeport
Automatic merge from submit-queue

Add NodePort value in kubectl output

This PR enhances kubectl output after the command execution: `kubectl get svc`.
It additionally shows the value of the NodePort.

This PR is a response for this issue: https://github.com/kubernetes/kubernetes/issues/34100
2016-10-20 06:10:37 -07:00
Sami Hiltunen
66c8f60f02 kubectl: commas in --from-literal on secret creation
* Fixes an issue where commas were not accepted in --from-literal
  arguments when creating secrets. (closes #35185)
2016-10-20 14:19:40 +02:00
Kubernetes Submit Queue
ad9ee6a50c Merge pull request #34778 from ymqytw/safe_kubectl_drain
Automatic merge from submit-queue

wait until the pods are deleted completely

Drain the pods on a node safely by keeping polling until all pods has been deleted.

```release-note
kubectl drain now waits until pods have been delete from the Node before exiting
```

Fixes: #34782
2016-10-20 04:45:45 -07:00
Kubernetes Submit Queue
5482fe0368 Merge pull request #35097 from nhlfr/loadbalancer-service-help
Automatic merge from submit-queue

kubectl: Fix --help output for kubectl create service loadbalancer
2016-10-20 02:10:52 -07:00
ymqytw
e8fd8d50a5 address comments 2016-10-19 17:09:11 -07:00
Kubernetes Submit Queue
2de1f5c07e Merge pull request #34407 from brendandburns/kubectl-schema
Automatic merge from submit-queue

Add validation that detects repeated keys in the labels and annotations maps

Fixes #2965  (a nearly 2 year old feature request!)

@kubernetes/kubectl 

@eparis
2016-10-19 14:01:00 -07:00
Kubernetes Submit Queue
91b7e1f9c3 Merge pull request #34638 from screeley44/k8-get-sc
Automatic merge from submit-queue

Adding default StorageClass annotation printout for resource_printer and describer and some refactoring

adding ISDEFAULT for _kubectl get storageclass_ output

```
[root@screeley-sc1 gce]# kubectl get storageclass
NAME            TYPE                   ISDEFAULT
another-class   kubernetes.io/gce-pd   NO        
generic1-slow   kubernetes.io/gce-pd   YES       
generic2-fast   kubernetes.io/gce-pd   YES       
```

```release-note
Add ISDEFAULT to kubectl get storageClass output
```

@kubernetes/sig-storage
2016-10-19 11:36:08 -07:00
Kubernetes Submit Queue
5133e1f0df Merge pull request #34683 from asalkeld/cmd/testing/fake
Automatic merge from submit-queue

Move the common test functions from cmd_test.go to cmd/testing/fake.go

**What this PR does / why we need it**:
This is so that we can use NewAPIFactory() from cmd/set/*test.go
Up until now we would get a import loop error.

This commit also adds a basic unit test case for cmd/set/set_image.go

**Which issue this PR fixes**
partial #34592

**Special notes for your reviewer**:
None

**Release note**:
```release-note
NONE
```
2016-10-19 08:03:07 -07:00
Scott Creeley
86f1a94be5 Adding default StorageClass annotation printout for resource_printer 2016-10-19 10:59:07 -04:00
Klaus Ma
930cd155ad Did not print 'No resources found.' if error. 2016-10-19 20:40:11 +08:00
Ilya Dmitrichenko
2494462e5f
Get rid of output line that break automated usage of kubectl set image (fix #35105) 2016-10-19 13:13:20 +01:00
Michal Rostecki
957776bd9e kubectl: Fix --help output for kubectl create service loadbalancer
Fixes #35086
2016-10-19 09:06:22 +02:00
ymqytw
55c6116d66 address comments and add tests 2016-10-18 22:55:15 -07:00
Kubernetes Submit Queue
20841a5b0e Merge pull request #34537 from AdoHe/get_info
Automatic merge from submit-queue

kubectl get print filter info use verbose

add a quick fix #34469
2016-10-18 19:10:27 -07:00
ymqytw
3bd3c9570f fix test 2016-10-18 16:01:51 -07:00
ymqytw
7922a2a105 wait until the pods are deleted completely 2016-10-18 16:01:51 -07:00
Angus Salkeld
d58554a647 Move the common test functions from cmd_test.go to cmd/testing/fake.go
This is so that we can use NewAPIFactory() from cmd/set/*test.go
Up until now we would get a import loop error.

This commit also adds a basic unit test case for cmd/set/set_image.go
2016-10-19 08:53:26 +10:00
Michail Kargakis
8351450a22 kubectl: do not cascade deletion for overlapping deployments 2016-10-18 17:46:34 +02:00
Kubernetes Submit Queue
1dfae3633d Merge pull request #34981 from deads2k/cli-03-supress-error
Automatic merge from submit-queue

glog non-fatal, usually unimportant error instead of fmt

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

This particular message isn't usually important, so demote it to glog.
2016-10-18 05:59:14 -07:00
deads2k
ea1eefa7ff glog non-fatal, usually unimportant error instead of fmt 2016-10-18 07:58:20 -04:00
Kubernetes Submit Queue
c19569f03f Merge pull request #34502 from fabianofranz/cli_usability_improvements
Automatic merge from submit-queue

Improvements to CLI usability and maintainability

Improves `kubectl` from an usability perspective by

1. Fixing how we handle terminal width in help. Some sections like the flags use the entire available width, while others like long descriptions breaks lines but don't follow a well established max width (screenshot below). This PR adds a new responsive writer that will adjust to terminal width and set 80, 100, or 120 columns as the max width, but not more than that given POSIX best practices and recommendations for better readability.
![terminal_width](https://cloud.githubusercontent.com/assets/158611/19253184/b23a983e-8f1f-11e6-9bae-667dd5981485.png)
2. Adds our own normalizers for long descriptions and cmd examples which allows us better control about how things like lists, paragraphs, line breaks, etc are printed. Features markdown support. Looks like `templates.LongDesc` and `templates.Examples` instead of `dedent.Dedend`.
3. Allows simple reordering and reuse of help and usage sections.
3. Adds `verify-cli-conventions.sh` which intends to run tests to make sure cmd developers are using what we propose as [kubectl conventions](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/kubectl-conventions.md). Just a couple simple tests for now but the framework is there and it's easy to extend.
4. Update [kubectl conventions](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/kubectl-conventions.md) to use our own normalizers instead of `dedent.Dedent`.

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
Improves how 'kubectl' uses the terminal size when printing help and usage.
```

@kubernetes/kubectl
2016-10-17 23:41:23 -07:00
mbohlool
25afcc5522 Add +optional tag to all fields with omitempty json tag 2016-10-17 08:52:13 -07:00
Fabiano Franz
3f7579cacb Tools for checking CLI conventions 2016-10-17 11:50:02 -02:00
Fabiano Franz
4d641c4911 Use responsive writer in help 2016-10-17 11:50:02 -02:00
Fabiano Franz
f6d1ac72a0 Use our own normalizers for cmd examples and descriptions 2016-10-17 11:49:55 -02:00
Fabiano Franz
6f66c0eafa Add normalizers for cmd examples and descriptions 2016-10-17 11:31:38 -02:00
Lukasz Zajaczkowski
b7da874789 Add NodePort value in kubectl output 2016-10-17 07:57:34 +02:00
Kubernetes Submit Queue
3f4c438946 Merge pull request #34836 from mikedanese/prune-1
Automatic merge from submit-queue

kubectl: apply prune should fallback to basic delete when a resource has no reaper

Fixes #34790

cc @kubernetes/kubectl @MrHohn
2016-10-15 18:38:20 -07:00
Kubernetes Submit Queue
dc6117f233 Merge pull request #34721 from juanvallejo/allow-callers-to-bypass-cmdutil-checkerr-logging
Automatic merge from submit-queue

Allow callers to bypass cmdutil.CheckError() logging

**Release note**:
```release-note
release-note-none
```

This patch is originally from:
https://github.com/kubernetes/kubernetes/pull/25451 (eedb67a30d)

Simplifies code where clients are writing their own errors, and want to
terminate with an exit code.

cc @smarterclayton
2016-10-15 16:34:36 -07:00
Kubernetes Submit Queue
db80dd3339 Merge pull request #34854 from deads2k/cli-02-restmaper
Automatic merge from submit-queue

attempt to use discovery RESTMapper and fallback if we can't

Updates `kubectl` to always attempt discovery regardless of server version.  This is needed to extension servers.
2016-10-15 13:46:40 -07:00
Kubernetes Submit Queue
c32a05333b Merge pull request #32671 from soltysh/generator_options
Automatic merge from submit-queue

Update run flags to point to generators docs

@janetkuo you've requested that in https://github.com/kubernetes/kubernetes/pull/32484#issuecomment-246840562 I'm opening this PR but like you I don't like the length of the descriptions already. The other problem with this is that there's not clean docs for a user to figure out what the generators are. I've stumbled upon this several times and I always found myself looking into the code :/ How about adding new flag/subcommand that will give you more information about generators and we'd move all those `--restart` and `--generator` information into specific generator info and present at the top level only general information?
2016-10-15 12:17:29 -07:00
Kubernetes Submit Queue
d21af56e05 Merge pull request #34802 from ivan4th/remove-duplicated-code-in-kubectl-portforward-test
Automatic merge from submit-queue

Remove duplicated code in kubectl portforward test
2016-10-15 09:31:28 -07:00
Kubernetes Submit Queue
936bb64a9c Merge pull request #34808 from ivan4th/remove-duplicate-code-from-kubectl-describe
Automatic merge from submit-queue

Remove duplicate code from kubectl describe
2016-10-15 08:09:55 -07:00
Kubernetes Submit Queue
9174429776 Merge pull request #33546 from k82cn/k8s_15834
Automatic merge from submit-queue

Updated err message when retrieving resources by name with --all-name…

fixes #15834
2016-10-15 06:50:00 -07:00
Kubernetes Submit Queue
a010d3b195 Merge pull request #34028 from juanvallejo/jvallejo/add-dry-run-flag-kubectl-apply
Automatic merge from submit-queue

add --dry-run flag to `kubectl apply, kubectl create`

Partially addresses https://github.com/kubernetes/kubernetes/issues/11488

**Release note**:
```release-note
release-note-none
```

Related StackOverflow:
http://stackoverflow.com/questions/38824409/validate-openshift-objects-defined-in-yaml-before-actually-applying-or-executing

This patch adds a `--dry-run` flag to the `apply` command in order to
allow validation of objects, without patching or creating them. If a
`--dry-run` flag is present and no validation errors are found, the
command will exit before "configuring" or creating any objects.

@ncdc @fabianofranz
2016-10-15 05:30:40 -07:00
Michael Fraenkel
acb032fc72 Allow a selector when retrieving logs 2016-10-15 18:28:55 +08:00
Kubernetes Submit Queue
13196527cf Merge pull request #34759 from caesarxuchao/remove-unversioned
Automatic merge from submit-queue

Remove imports of "pkg/client/unversioned" in "pkg/controller"

We are trying to deprecate "pkg/client/unversioned", see https://github.com/kubernetes/kubernetes/issues/25442.

Also part of https://github.com/kubernetes/kubernetes/issues/29934.
2016-10-15 00:10:15 -07:00
Kubernetes Submit Queue
e5cdc95b85 Merge pull request #34767 from ivan4th/fix-more-typos-1
Automatic merge from submit-queue

Fix typos
2016-10-14 23:30:23 -07:00
Kubernetes Submit Queue
c0fea2a1e2 Merge pull request #34862 from ymqytw/fix_edit_panic
Automatic merge from submit-queue

fix error handling

Add missing error handling mentioned in [#33250 Comment](https://github.com/kubernetes/kubernetes/pull/33250#issuecomment-253920315)
@janetkuo
2016-10-14 23:30:15 -07:00
Kubernetes Submit Queue
e2ef58e915 Merge pull request #27206 from JacobTanenbaum/add_limit
Automatic merge from submit-queue

Add 'kubectl set resources'

Add "kubectl set resources" for easier updating container memory/cpu limits/requests (for pods or resources with pod templates).

**Usage**

`kubectl set resources (-f FILENAME | TYPE NAME)  ([--limits=LIMITS & --requests=REQUESTS])`

**Examples**
Set a deployments nginx container cpu limits to "200m and memory to "512Mi"
`kubectl set resources deployment nginx -c=nginx --limits=cpu=200m,memory=512Mi`

Set the limit and requests for all containers in nginx
`kubectl set resources deployment nginx --limits=cpu=200m,memory=512Mi --requests=cpu=100m,memory=256Mi`

Print the result (in yaml format) of updating nginx container limits from a local, without hitting the server
`kubectl set resources -f path/to/file.yaml --limits=cpu=200m,memory=512Mi --local -o yaml`

Remove limits on containers in nginx
`kubectl set resources deployment nginx --limits=cpu=0,memory=0`

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


EDIT: removed the '--remove' flag example
2016-10-14 17:55:34 -07:00
Mike Danese
c17a8a773d kubectl: apply prune should fallback to basic delete when a resource has no reaper 2016-10-14 15:04:38 -07:00
ymqytw
af1ee9e6b3 fix error handling 2016-10-14 14:54:57 -07:00
juanvallejo
bae1cca65c
Allow callers to bypass cmdutil.CheckError() logging 2016-10-14 17:45:53 -04:00
Ivan Shvedunov
f1258dca4e Fix typos 2016-10-15 00:21:00 +03:00
deads2k
abf2c43ad7 attempt to use discovery RESTMapper and fallback if we can't 2016-10-14 16:06:31 -04:00
Klaus Ma
005b8dad14 Updated err message when retrieving resources by name with --all-namespaces. 2016-10-14 22:21:01 +08:00
Kubernetes Submit Queue
1efdf72e23 Merge pull request #33973 from ymqytw/fix_edit
Automatic merge from submit-queue

Improve edit experience

Improve edit experience a bit according [#26050(comment)](https://github.com/kubernetes/kubernetes/issues/26050#issuecomment-246089751)
> a) always go back to the editor
b) always retain what I hand-edited, even if that has to be in comments


@janetkuo
2016-10-14 06:41:36 -07:00
Jacob Tanenbaum
901bbee2fd Add 'kubectl set limit'
Add a way to set resource limits/requests on running pods

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

I squashed the commits to make rebasing easier
Change log:

- fixed a typo that caused the command to be run with kubectl set set instead of the correct kubectl set limit

- added a ResourcesWithPodTemplates to pkg/kubectl/cmd/util/factory.go
     instead of hardcoding these resources move there description all in one place

- Fixing some of the flow control in kubectl set limit

- update the help info

- changed the name of ResourcesWithPodTemplates to ResourcesWithPodSpecs to more accuratly describe what it is doing
    and changed the variable names to lower case to conform to go's variable naming convention

- changing the name of the command from 'set limit' to 'set resources'

- Adding the new file pkg/kubectl/cmd/set/set_resources.go

- changes to the test cases to reflect the change from 'kubectl set limit' to 'kubectl set resources'

- comment removed

- adding the man page to the git repository attempting to fix Jenkins tests

- adding the user guide

- fixed a few typos

- typo in hack/cmd-test.sh

- implamenting suggestions for command help text

- adding the dry-run flag

- removing the "remove" option in favor of zeroing out request/limits in order to remove them

- changed limits/requests to requests/limit

- changing ResourcesWithPodSpec

- updated generated docs and removed whitespace

- change priint on success message from "resource limits/requests updated" to "resource requirements updated"

- minor rebasing issues - 'hack/test-cmd.sh' now passes

- cmdutil.PrintSuccess added another argument

- fixing mungedocs failure

- removed whitespace from hack/make-rules/test-cmd.sh and an erroneous entry from pkg/cloudprovider/providers/openstack/MAINTAINERS.md

- fixed typo in Short: field of the cobra command

- rebased

- Creating a new factory in the ResourcesWithPodSpecs() so that the testing will pass

- changing ResourcesWithPodSpecs, it doesn't need to be a method of factory
2016-10-14 08:35:32 -04:00
Kubernetes Submit Queue
9adbbf2324 Merge pull request #34587 from resouer/stringflag
Automatic merge from submit-queue

Merge string flag into util flag

Continuing my work on https://github.com/kubernetes/kubernetes/issues/15634

This refactoring is expected to be completely finished and then I will add a verify scripts in `hack`
2016-10-14 04:22:11 -07:00
Ivan Shvedunov
27d51f09a7 Remove duplicate code from kubectl describe 2016-10-14 12:39:34 +03:00
Ivan Shvedunov
5c229f386d Remove duplicated code in kubectl portforward test 2016-10-14 10:10:45 +03:00
Brendan Burns
d9d06f6680 Add some checking for the presence of the same key twice. 2016-10-13 21:58:44 -07:00
Angus Salkeld
ea1063a263 Assign options.Err in "set image"
There is a usage of options.Err in a Printf, but this option is never set.
This patch passes the stderr into the command and assigns the option correctly.
2016-10-14 11:17:03 +10:00
Kubernetes Submit Queue
786cc3ef6c Merge pull request #32142 from juanvallejo/jvallejo_bugfix/remove-compinit-call-zsh-completions
Automatic merge from submit-queue

remove call to compinit in zsh completion output

**Release note**:
```release-note
release-note-none
```

Fixes: https://github.com/kubernetes/kubernetes/issues/32029
Fixes:
https://github.com/kubernetes/kubernetes/issues/27538#issuecomment-238574035

The zsh completion output makes a call to "compinit" which causes the
zsh completion system to re-initialize every time `<root_cmd> completion zsh`
is sourced, overwriting any settings already applied to other commands.
This in-turn caused other commands' completions to break (such as git,
gcloud, vim) causing an error "function definition file not found" to
be returned any time a tab-completion was attempted.

This patch removes the call to `compinit` in the zsh completion output,
causing no behavioral changes to the existing `completion` command, but
fixing any issues that were caused after sourcing its output.
2016-10-13 16:33:09 -07:00
Chao Xu
fbd187af45 move the retry util out of pkg/client/unversioned 2016-10-13 16:10:24 -07:00
juanvallejo
4bf980967a remove call to compinit in zsh completion output
Fixes: https://github.com/kubernetes/kubernetes/issues/32029
Fixes:
https://github.com/kubernetes/kubernetes/issues/27538#issuecomment-238574035

The zsh completion output makes a call to "compinit" which causes the
zsh completion system to re-initialize every time `<root_cmd> completion zsh`
is sourced, overwriting any settings already applied to other commands.
This in-turn caused other commands' completions to break (such as git,
gcloud, vim) causing an error "function definition file not found" to
be returned any time a tab-completion was attempted.

This patch removes the call to `compinit` in the zsh completion output,
causing no behavioral changes to the existing `completion` command, but
fixing any issues that were caused after sourcing its output.
2016-10-13 16:47:20 -04:00
Kubernetes Submit Queue
f2ca99ed2c Merge pull request #32104 from lojies/usededentforcompletion
Automatic merge from submit-queue

Use dedent for completion.go
2016-10-13 10:07:54 -07:00
AdoHe
b2280a646a update various commands to adapt the new Factory interface 2016-10-13 21:01:14 +08:00
AdoHe
dfae1a27c2 add fake factories for test 2016-10-13 20:57:14 +08:00
AdoHe
593d8e0d7c refactor Factory make it interface 2016-10-13 20:57:14 +08:00
Kubernetes Submit Queue
523fce990a Merge pull request #32781 from lukaszo/ready_ds
Automatic merge from submit-queue

Add ReadyScheduled to DaemonSet status

Fixes #25605

cc @bgrant0607 @mikedanese
2016-10-13 00:25:56 -07:00
Kubernetes Submit Queue
b8b7f9ffc0 Merge pull request #32722 from juanvallejo/jvallejo_return-err-on-oc-get-empty-list
Automatic merge from submit-queue

return warning on empty list result in kubectl get

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

The current default behavior of `kubectl get` is to return an empty
output when there are no resources to display. This patch improves
usability by returning a warning through stderr in the case of an empty
list.

##### Before
`$ kubectl get pods`
  - *empty output*

##### After
`$ kubectl get pods`
```
There are no resources to display.
```
2016-10-12 23:48:01 -07:00
ymqytw
c27f99b89e improve edit experience 2016-10-12 17:12:41 -07:00
juanvallejo
63e0279d93
add --dry-run flag to kubectl apply
Related StackOverflow:
http://stackoverflow.com/questions/38824409/validate-openshift-objects-defined-in-yaml-before-actually-applying-or-executing

This patch adds a `--dry-run` flag to the `apply` command in order to
allow validation of objects, without actually creating them. If a
`--dry-run` flag is present and no validation errors are found, the
command will exit before patching or creating any objects.

It also adds a `--dry-run` option to the `kubectl create` root command.
2016-10-12 16:48:20 -04:00
Kubernetes Submit Queue
44337ba8c2 Merge pull request #33176 from gluke77/allow-pod-prefix-for-kubectl-exec
Automatic merge from submit-queue

Allow 'pod/' prefix in pod name for 'kubectl exec'

This PR adds ability to provide pod name with 'pod/' prefix for 'kubectl exec' command. Pod names without 'pod/' prefix are still allowed.

Fixes #24225
2016-10-12 10:15:42 -07:00
Illia Khudoshyn
ea12b32d6a Allow 'pod/' prefix in pod name for 'kubectl exec'
Fixes #24225

This PR adds ability to provide pod name with 'pod/' prefix for 'kubectl exec' command. Pod names without 'pod/' prefix are still allowed.
2016-10-12 17:42:31 +03:00
Łukasz Oleś
5d2e215652 Add NumberReady to DaemonSet status
Fixes #25605
2016-10-12 15:15:10 +02:00
Kubernetes Submit Queue
3a882072e9 Merge pull request #34279 from ymqytw/refactor_edit
Automatic merge from submit-queue

Refactor kubectl edit cmd

Refactor `kubectl edit` command.

#33250 will be based on this PR for easier review.
Will need to rebase after #33973 merges.
2016-10-12 03:52:39 -07:00
Harry Zhang
eb81ef6023 Merge string flag into util flag 2016-10-11 23:28:59 -04:00
AdoHe
219006a277 kubectl get print filter info use verbose 2016-10-11 20:53:30 +08:00
Michail Kargakis
75f30ec46f kubectl: add --revision flag in rollout status 2016-10-10 15:04:46 +02:00
m1093782566
fd47b6d4d1 change petset replicas type from int to int32
Change-Id: I0b8c30083e4a221421de46d9d4dcb21b1f5bb36f
2016-10-08 17:13:20 +08:00
Kubernetes Submit Queue
46c009952d Merge pull request #34199 from asalkeld/annotate-label
Automatic merge from submit-queue

Make kubectl label and annotate more consistent

**What this PR does / why we need it**:
This makes the label and annotate cmd files more consistent which should help with code maintenance.

Some of the main changes:
- add dryrun to annotate (can push this in a different PR if requested)
- use Complete(), Validate() and RunX()
- don't place dynamic variables in the options (only user options and args)
- call the NewBuilder() in the Run function.

**Which issue this PR fixes** 
fixes #34151

**Special notes for your reviewer**:
Note: you *can* now diff the two files and the changes make sense.

**Release note**:
```release-note
kubectl annotate now supports --dry-run
```
2016-10-07 23:58:54 -07:00
Kubernetes Submit Queue
882d431f96 Merge pull request #33552 from floreks/kubectl-node-external-ip
Automatic merge from submit-queue

kubectl: Add external ip information to node when '-o wide' is used

<!--  Thanks for sending a pull request!  Here are some tips for you:
1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
-->

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

**Special notes for your reviewer**: 
1. Is it possible to expose multiple external ips on the node?
2. Should this be supported or first one be taken like now? 
3. Should more node address types be shown?

I'll add tests if solution is approved.

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
kubectl: Add external ip information to node when '-o wide' is used
```
2016-10-07 21:10:27 -07:00
Kubernetes Submit Queue
f2016df2cc Merge pull request #34054 from deads2k/testapi-01-remove-default.groupversion
Automatic merge from submit-queue

remove testapi.Default.GroupVersion

I'm going to try to take this as a series of mechanicals.  This removes `testapi.Default.GroupVersion()` and replaces it with `registered.GroupOrDie(api.GroupName).GroupVersion`.

@caesarxuchao I'm trying to see how much of `pkg/api/testapi` I can remove.
2016-10-07 20:30:34 -07:00
David Oppenheimer
cd4e08e7ec Revert "Add kubelet awareness to taint tolerant match caculator." 2016-10-07 12:10:55 -07:00
Kubernetes Submit Queue
21188cadeb Merge pull request #26501 from resouer/scheduler
Automatic merge from submit-queue

Add kubelet awareness to taint tolerant match caculator.

Add kubelet awareness to taint tolerant match caculator.

Ref: #25320

This is required by `TaintEffectNoScheduleNoAdmit` & `TaintEffectNoScheduleNoAdmitNoExecute `, so that node will know if it should expect the taint&tolerant
2016-10-07 12:05:35 -07:00
deads2k
518d5500c7 remove testapi.Default.GroupVersion 2016-10-07 10:10:54 -04:00
Kubernetes Submit Queue
8b834dd5c0 Merge pull request #34243 from liggitt/simplify-raw
Automatic merge from submit-queue

Simplify kubectl get --raw

Write to configured output stream
Don't assume output is a string
2016-10-07 06:29:10 -07:00
Mike Danese
ea5ecc4145 implement kubectl apply --prune 2016-10-06 17:49:02 -07:00
ymqytw
2af1c03b2a refactor edit cmd 2016-10-06 16:29:09 -07:00
Jordan Liggitt
82a099d92d
Simplify kubectl get --raw 2016-10-06 11:42:19 -04:00
Angus Salkeld
4a09ded01d Make kubectl label and annotate more consistent
Some of the main changes:
- add dryrun to annotate (can push this in a different PR if requested)
- use Complete(), Validate() and RunX()
- don't place dynamic variables in the options (only user options and args)
- call the NewBuilder() in the Run function.

You can now do diff between these files and they are as identical as possible.
2016-10-06 17:17:40 +10:00
Kubernetes Submit Queue
05192d9d57 Merge pull request #33319 from juanvallejo/jvallejo/add-option-to-set-nodeport
Automatic merge from submit-queue

Add option to set a service nodeport

**Release note**:
```release-note
Add kubectl --node-port option for specifying the service nodeport
```

This patch adds the option to set a nodeport when creating a NodePort
service. In case of a port allocation error due to a specified port
being out of the valid range, the error now includes the valid
range. If a `--node-port` value is not specified, it defaults to zero, in
which case the allocator will default to its current behavior of
assigning an available port.

This patch also adds a new helper function in `cmd/util/helpers.go` to
retrieve `Int32` cobra flags.

**Example**
```
# create a nodeport service with an invalid port
$ kubectl create service nodeport mynodeport --tcp=8080:7777 --node-port=1
The Service "mynodeport" is invalid: spec.ports[0].nodePort: Invalid
value: 1: provided port is not in the valid range. Valid ports range
from 30000-32767

# create a nodeport service with a valid port
$ kubectl create service nodeport mynodeport --tcp=8080:7777 --node-port=30000
service "mynodeport" created

# create a nodeport service with a port already in use
$ kubectl create service nodeport mynodeport --tcp=8080:7777 --node-port=30000
The Service "mynodeport" is invalid: spec.ports[0].nodePort: Invalid value: 3000: provided port is already allocated

$ kubectl describe service mynodeport
Name:                   mynodeport
Namespace:              default
Labels:                 app=mynodeport
Selector:               app=mynodeport
Type:                   NodePort
IP:                     172.30.81.254
Port:                   8080-7777       8080/TCP
NodePort:               8080-7777       30000/TCP
Endpoints:              <none>
Session Affinity:       None
No events.
```

@fabianofranz
2016-10-05 15:00:32 -07:00
Kubernetes Submit Queue
87393e1da9 Merge pull request #34106 from kargakis/rollout-status-watch-flag
Automatic merge from submit-queue

kubectl: add watch flag in rollout status

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

@kubernetes/kubectl
2016-10-05 13:09:01 -07:00
Kubernetes Submit Queue
d4088fc47b Merge pull request #34020 from juanvallejo/jvallejo/allow-empty-annotation-values
Automatic merge from submit-queue

Allow empty annotation values

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

**Release note**:
```release-note
release-note-none
```

Annotations with empty values can be used, for example, in diagnostics
logging. This patch removes the client-side check for empty values in
an annotation key-value pair.

**Before**
```
$ kubectl annotate pod zookeeper-1 node-selector="" --overwrite
error: invalid annotation format: node-selector=
```

**After**
```
$ kubectl annotate pod zookeeper-1 node-selector="" --overwrite
pod "zookeper-1" annotated
```

```
$ kubectl get po/zookeeper-1 --template='{{.metadata.annotations}}'
map[... node-selector: test-label:test]
```

@fabianofranz @liggitt
2016-10-05 11:48:02 -07:00
juanvallejo
a872657371
Allow empty annotation values
Annotations with empty values can be used, for example, in diagnostics
logging. This patch removes the client-side check for empty values in
an annotation key-value pair.

**Before**
```
$ kubectl annotate pod zookeeper-1 node-selector="" --overwrite
error: invalid annotation format: node-selector=
```

**After**
```
$ kubectl annotate pod zookeeper-1 node-selector="" --overwrite
pod "zookeper-1" annotated
```

```
$ kubectl get po/zookeeper-1 --template='{{.metadata.annotations}}'
map[... node-selector: test-label:test]
```
2016-10-05 13:17:08 -04:00
Kubernetes Submit Queue
0798f02391 Merge pull request #33942 from kargakis/sttts-kubectl-run-watch-until
Automatic merge from submit-queue

Switch kubectl to use watch.Until

Squashed version of https://github.com/kubernetes/kubernetes/pull/30235 

@ncdc PTAL

cc: @kubernetes/kubectl
2016-10-05 08:29:54 -07:00
Michail Kargakis
7e972f4cbd kubectl: add watch flag in rollout status 2016-10-05 16:33:06 +02:00
Kubernetes Submit Queue
a7f6557f1d Merge pull request #34074 from asalkeld/annotate-local-option
Automatic merge from submit-queue

Add local option to annotate

**What this PR does / why we need it**:
Add the --local option to be both consistent with other commands and so it can be used with "set selector" and "create service".

**Which issue this PR fixes** 
Related: #7296

**Special notes for your reviewer**:
None

**Release note**:
```release-note
Add a new option "--local" to the `kubectl annotate`
```
2016-10-05 07:09:05 -07:00
Kubernetes Submit Queue
776af8e7f6 Merge pull request #33990 from asalkeld/local-option-label
Automatic merge from submit-queue

Add local option to the label command

**What this PR does / why we need it**:
Add the --local option to be both consistent with other commands and so it can be used with  "set selector" and "create service".

**Which issue this PR fixes** 
Related: #7296

**Special notes for your reviewer**:
None

**Release note**:
```release-note
Add a new option "--local" to the `kubectl label`
```
2016-10-05 06:32:13 -07:00
Kubernetes Submit Queue
33103e576e Merge pull request #33639 from guangxuli/k8s_test_helper
Automatic merge from submit-queue

if test succ remove the tmp file
2016-10-05 01:56:18 -07:00
Angus Salkeld
5cb945d672 Add local option to the label command
This is to be used with the new "set selector" command.
2016-10-05 15:45:43 +10:00
Angus Salkeld
b86b85dea9 Add local option to annotate 2016-10-05 14:39:56 +10:00
nikhiljindal
bbea084375 Enable kubectl describe rs to work when apiserver does not support pods 2016-10-04 13:27:31 -07:00
juanvallejo
7d1461be8e remove unused GetFlagInt32 func 2016-10-04 13:19:24 -04:00
juanvallejo
cfbdcec7d6 make portallocator.ErrNotInRange a type 2016-10-04 13:19:24 -04:00
juanvallejo
6b83f89d47 Add option to set a service nodeport
This patch adds the option to set a nodeport when creating a NodePort
service. In case of a port allocation error due to a specified port
being out of the valid range, the error now includes the valid
range. If a `--node-port` value is not specified, it defaults to zero, in
which case the allocator will default to its current behavior of
assigning an available port.

This patch also adds a new helper function in `cmd/util/helpers.go` to
retrieve `Int32` cobra flags.

**Example**
```
$ kubectl create service nodeport mynodeport --tcp=8080:7777 --node-port=1
The Service "mynodeport" is invalid: spec.ports[0].nodePort: Invalid
value: 1: provided port is not in the valid range. Valid ports range
from 30000-32767

$ kubectl create service nodeport mynodeport --tcp=8080:7777 --node-port=30000
service "mynodeport" created

$ oc describe service mynodeport
Name:                   mynodeport
Namespace:              default
Labels:                 app=mynodeport
Selector:               app=mynodeport
Type:                   NodePort
IP:                     172.30.81.254
Port:                   8080-7777       8080/TCP
NodePort:               8080-7777       30000/TCP
Endpoints:              <none>
Session Affinity:       None
No events.
```
2016-10-04 13:19:24 -04:00
Michail Kargakis
40b7fabaf2 kubectl: return exit status appropriately after running watch.Until 2016-10-03 18:54:53 +02:00
bindata-mockuser
5ad518cd2b Switch kubectl to use watch.Until 2016-10-03 17:17:41 +02:00
Ilya Dmitrichenko
abc0a98d25
Replace references to http://releases.k8s.io/HEAD/docs/user-guide/ 2016-10-02 11:44:40 +01:00
Kubernetes Submit Queue
6f69293240 Merge pull request #32599 from mikedanese/kubectl-selector
Automatic merge from submit-queue

allow kubectl -f to filter by selector

cc @kubernetes/kubectl

Fixes #32544
2016-10-01 01:13:09 -07:00
Kubernetes Submit Queue
f9dd76564c Merge pull request #33686 from ymqytw/format_json_printer_for_runtime.Unknown
Automatic merge from submit-queue

formatting json printer for runtime.Unknown

Formatting JSONPrinter.
It prints everything in one single line before.
Now it prints in well-formatted way.
2016-09-30 06:13:17 -07:00
Mike Danese
5f2569c16d allow kubectl -f to filter by selector 2016-09-30 00:42:35 -07:00
ymqytw
d74704254d formatting json printer for runtime.Unknown 2016-09-29 08:45:08 -07:00
Kubernetes Submit Queue
5a59f3bbcc Merge pull request #33626 from lojies/changeport
Automatic merge from submit-queue

use len(params["port"]) > 0 to replace port > 0

**What this PR does / why we need it**:
port also needs to be passed to server when port is negative or zero.
this is an omission of pr https://github.com/kubernetes/kubernetes/pull/29605

**Which issue this PR fixes**: 

**Special notes for your reviewer**:

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
```
2016-09-29 07:52:38 -07:00
Sebastian Florek
776c551523
kubectl: Add external ip information to node when '-o wide' is used 2016-09-29 13:25:06 +02:00
Kubernetes Submit Queue
b840605197 Merge pull request #33677 from juanvallejo/jvallejo/add-linebreak-between-resource-groups
Automatic merge from submit-queue

add linebreak between resource groups

**Release note**:
```release-note
release-note-none
```

Printing multiple groups via `kubectl get all` can produce output that is
hard to read in cases where there are a lot of resource types to display
/ some resource types contain varying column amounts.

This patch adds a linebreak above each group of resources only when
there is more than one group to display, and always omitting the
linebreak above the first group. This makes for slightly improved
output.

Linebreaks are printed to stderr, and honor the `--no-headers` option.

**Before**

```
$ kubectl get all
NAME                     READY     STATUS    RESTARTS   AGE
po/database-1-u9m9l      1/1       Running   3          5d
po/idling-echo-1-9fmz6   2/2       Running   8          5d
po/idling-echo-1-gzb0v   2/2       Running   4          5d
NAME               DESIRED   CURRENT   READY     AGE
rc/database-1      1         1         1         6d
rc/idling-echo-1   2         2         2         6d
NAME              CLUSTER-IP       EXTERNAL-IP   PORT(S)
AGE
svc/database      172.30.11.104    <none>        5434/TCP
6d
svc/frontend      172.30.196.217   <none>        5432/TCP
6d
svc/idling-echo   172.30.115.67    <none>        8675/TCP,3090/UDP
6d
svc/kubernetes    172.30.0.1       <none>        443/TCP,53/UDP,53/TCP
6d
svc/mynodeport    172.30.81.254    <nodes>       8080/TCP
5d
svc/mynodeport1   172.30.198.193   <nodes>       8080/TCP
5d
svc/mynodeport2   172.30.149.48    <nodes>       8080/TCP
5d
svc/mynodeport3   172.30.195.235   <nodes>       8080/TCP
5d
```

**After**

```
$ kubectl get all
NAME                     READY     STATUS    RESTARTS   AGE
po/database-1-u9m9l      1/1       Running   3          5d
po/idling-echo-1-9fmz6   2/2       Running   8          5d
po/idling-echo-1-gzb0v   2/2       Running   4          5d

NAME               DESIRED   CURRENT   READY     AGE
rc/database-1      1         1         1         6d
rc/idling-echo-1   2         2         2         6d

NAME              CLUSTER-IP       EXTERNAL-IP   PORT(S)
AGE
svc/database      172.30.11.104    <none>        5434/TCP
6d
svc/frontend      172.30.196.217   <none>        5432/TCP
6d
svc/idling-echo   172.30.115.67    <none>        8675/TCP,3090/UDP
6d
svc/kubernetes    172.30.0.1       <none>        443/TCP,53/UDP,53/TCP
6d
svc/mynodeport    172.30.81.254    <nodes>       8080/TCP
5d
svc/mynodeport1   172.30.198.193   <nodes>       8080/TCP
5d
svc/mynodeport2   172.30.149.48    <nodes>       8080/TCP
5d
svc/mynodeport3   172.30.195.235   <nodes>       8080/TCP
5d
```

cc @fabianofranz @liggitt
2016-09-28 23:13:07 -07:00
Kubernetes Submit Queue
faac71c0dc Merge pull request #31818 from juanvallejo/jvallejo_suggest-explain-cmd-in-kube-get
Automatic merge from submit-queue

suggest use of `kube explain <resource>` in kube get output

**Release note**:
```release-note
release-note-none
```

This patch improves usability flow, making it easier for a user to
discover the command `kube explain <resource>` through `kube get` output.

##### After
```
$ kube get
You must specify the type of resource to get. Valid resource types include:
   * componentstatuses (aka 'cs')
   * configmaps (aka 'cm')
   * daemonsets (aka 'ds')
   * deployments (aka 'deploy')
   * events (aka 'ev')
   * endpoints (aka 'ep')
   * horizontalpodautoscalers (aka 'hpa')
   * ingress (aka 'ing')
   * jobs
   * limitranges (aka 'limits')
   * nodes (aka 'no')
   * namespaces (aka 'ns')
   * petsets (alpha feature, may be unstable)
   * pods (aka 'po')
   * persistentvolumes (aka 'pv')
   * persistentvolumeclaims (aka 'pvc')
   * quota
   * resourcequotas (aka 'quota')
   * replicasets (aka 'rs')
   * replicationcontrollers (aka 'rc')
   * secrets
   * serviceaccounts (aka 'sa')
   * services (aka 'svc')
error: Required resource not specified.
Use "kubectl explain <resource>" for a detailed description of that resource (e.g. kubectl explain pods).
See 'kubectl get -h' for help and examples.
```
2016-09-28 21:59:29 -07:00
juanvallejo
0988f967f0 add check to NewCmdExec before printing suggestion
checks that the "describe" command and a parent command path exist
before printing suggestion to use the describe command to list
containers in a pod.
2016-09-28 18:02:33 -04:00
juanvallejo
48370b2802 suggest use of kube explain <resource> in kube get output
This patch improves usability flow, making it easier for a user to
discover the command `kube explain <resource>` through `kube get`
output.
2016-09-28 14:54:15 -04:00
juanvallejo
735fbf9c09
add linebreak between resource groups
Printing multiple groups via `kubectl get all` can produce output that is
hard to read in cases where there are a lot of resource types to display
/ some resource types contain varying column amounts.

This patch adds a linebreak above each group of resources only when
there is more than one group to display, and always omitting the
linebreak above the first group. This makes for slightly improved
output.

Linebreaks are printed to stderr, and honor the `--no-headers` option.

**Before**

```
$ kubectl get all
NAME                     READY     STATUS    RESTARTS   AGE
po/database-1-u9m9l      1/1       Running   3          5d
po/idling-echo-1-9fmz6   2/2       Running   8          5d
po/idling-echo-1-gzb0v   2/2       Running   4          5d
NAME               DESIRED   CURRENT   READY     AGE
rc/database-1      1         1         1         6d
rc/idling-echo-1   2         2         2         6d
NAME              CLUSTER-IP       EXTERNAL-IP   PORT(S)
AGE
svc/database      172.30.11.104    <none>        5434/TCP
6d
svc/frontend      172.30.196.217   <none>        5432/TCP
6d
svc/idling-echo   172.30.115.67    <none>        8675/TCP,3090/UDP
6d
svc/kubernetes    172.30.0.1       <none>        443/TCP,53/UDP,53/TCP
6d
svc/mynodeport    172.30.81.254    <nodes>       8080/TCP
5d
svc/mynodeport1   172.30.198.193   <nodes>       8080/TCP
5d
svc/mynodeport2   172.30.149.48    <nodes>       8080/TCP
5d
svc/mynodeport3   172.30.195.235   <nodes>       8080/TCP
5d
```

**After**

```
$ kubectl get all
NAME                     READY     STATUS    RESTARTS   AGE
po/database-1-u9m9l      1/1       Running   3          5d
po/idling-echo-1-9fmz6   2/2       Running   8          5d
po/idling-echo-1-gzb0v   2/2       Running   4          5d

NAME               DESIRED   CURRENT   READY     AGE
rc/database-1      1         1         1         6d
rc/idling-echo-1   2         2         2         6d

NAME              CLUSTER-IP       EXTERNAL-IP   PORT(S)
AGE
svc/database      172.30.11.104    <none>        5434/TCP
6d
svc/frontend      172.30.196.217   <none>        5432/TCP
6d
svc/idling-echo   172.30.115.67    <none>        8675/TCP,3090/UDP
6d
svc/kubernetes    172.30.0.1       <none>        443/TCP,53/UDP,53/TCP
6d
svc/mynodeport    172.30.81.254    <nodes>       8080/TCP
5d
svc/mynodeport1   172.30.198.193   <nodes>       8080/TCP
5d
svc/mynodeport2   172.30.149.48    <nodes>       8080/TCP
5d
svc/mynodeport3   172.30.195.235   <nodes>       8080/TCP
5d
```
2016-09-28 14:21:46 -04:00
Doug Davis
9d5bac6330 Change minion to node
Contination of #1111

I tried to keep this PR down to just a simple search-n-replace to keep
things simple.  I may have gone too far in some spots but its easy to
roll those back if needed.

I avoided renaming `contrib/mesos/pkg/minion` because there's already
a `contrib/mesos/pkg/node` dir and fixing that will require a bit of work
due to a circular import chain that pops up. So I'm saving that for a
follow-on PR.

I rolled back some of this from a previous commit because it just got
to big/messy. Will follow up with additional PRs

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-09-28 10:53:30 -07:00
juanvallejo
7a5ed25c61 return warning on empty list result in kubectl get
The current default behavior of `kubectl get` is to return an empty
output when there are no resources to display. This patch improves
usability by returning a warning through stderr in the case of an empty
list.
2016-09-28 10:41:24 -04:00
Kubernetes Submit Queue
cbbf22a7d2 Merge pull request #33154 from krmayankk/drain
Automatic merge from submit-queue

fix kubectl drain help to be consistent with documentation

fix kubectl drain usage to be consistent with documentation at https://github.com/kubernetes/kubernetes.github.io/blob/master/docs/user-guide/kubectl/kubectl_drain.md

It would be ideal if both could be sourced from a single file though
2016-09-28 04:55:09 -07:00
guangxuli
010bca6323 if test succ remove the tmp file 2016-09-28 16:52:55 +08:00
Kubernetes Submit Queue
e811f5b991 Merge pull request #33566 from guangxuli/k8s_0927_config_test
Automatic merge from submit-queue

clean up the tmp Cert data
2016-09-28 01:46:49 -07:00
Kubernetes Submit Queue
8ce107cbff Merge pull request #33263 from wu8685/flag_string_array
Automatic merge from submit-queue

Update godep for github.com/spf13/pflag and replace StringSlice with String Array in configMap

Update godep for pkg `github.com/spf13/pflag`, because the new flag type `StringArray` within it is needed in issue #27454
2016-09-28 00:20:43 -07:00
Kubernetes Submit Queue
563919c3ec Merge pull request #31763 from fraenkel/drain_finished
Automatic merge from submit-queue

Finished pods can be drained

fixes #26080



```release-note
Kubectl drain will now drain finished Pods
```
2016-09-27 20:30:54 -07:00
lojies
9ef3ef3f17 use len > 0 to replace port > 0 2016-09-28 10:23:25 +08:00
guangxuli
d8331735a2 clean up the tmp Cert data
use function os.Remove to remove file
2016-09-27 23:17:47 +08:00
wu8685
f4a95ff3d9 fix issue #27454: replace flag type StringSlice with StringArray in configMap 2016-09-27 19:21:46 +08:00
Kubernetes Submit Queue
4d9581345e Merge pull request #32449 from smarterclayton/defend_get
Automatic merge from submit-queue

Unwrap aggregates of size 1 when writing errors

Our special error logic was being defeated by aggregates.

Also, only use aggregate in get when we actually are dealing with
multiple errors.

@kubernetes/kubectl

For other kubectl reviewers - no one should use an aggregate unless you are ranging over a list, and even then ask yourself whether you really care about returning all errors.
2016-09-27 03:09:00 -07:00
Kubernetes Submit Queue
35e9f4d07f Merge pull request #31235 from ping035627/ping035627-patch-0823-1
Automatic merge from submit-queue

Implement replace with a call to testapi.Codec()

Implement replace with a call to testapi.Codec().
2016-09-26 18:02:49 -07:00
Kubernetes Submit Queue
9a899b92ae Merge pull request #29605 from lojies/addportvalidate
Automatic merge from submit-queue

add port validate when --port is set or --expose=true

```shell
$ kubectl run nginx --image=nginx --port=88888 --expose=true
The Deployment "nginx" is invalid.
spec.template.spec.containers[0].ports[0].containerPort: Invalid value: 88888: must be between 1 and 65535, inclusive
$ kubectl run nginx --image=nginx --port=0 --expose=true
error: --port must be a positive integer when exposing a service
```

1. when port is greater than 65535, port is required between 1 and 65535 and deployment 'nginx' can not be created.
2. when port is less than 1, port is not validated and deployment 'nginx' can be created. But service will be created failed.

so i add this change:
when --port is set or --expose=true, validate port range so that error reported can be the same when port is greater than 65535 or less than 1.
And this can also find the port  range error before creating the deployment other than during creating the deployment.
2016-09-26 17:25:30 -07:00
Kubernetes Submit Queue
ea688f5e44 Merge pull request #31276 from juanvallejo/jvallejo_update-dry-run-create
Automatic merge from submit-queue

Update kubectl create message when using --dry-run

`kubectl create <resource> <name> --dry-run` provides a misleading success
message.

When commands such as `kubectl new-app node` are run with a
`--dry-run` flag, they make this clear by appending a "(DRY RUN)"
string to the final output. `kubectl create <resource>  <name> --dry-run`
does not do this, providing a potentially misleading output.

This patch appends a "(DRY RUN)" string to the end of a successful
message of `kubectl create` subcommands that support the `--dry-run` flag.

`kubectl create quota quota --dry-run`
```
resourcequota "quota" created
```

`kubectl create quota quota --dry-run`
```
resourcequota "quota" created (DRY RUN)
```

**Release note**:
```release-note
release-note-none
```
2016-09-26 16:01:17 -07:00
Clayton Coleman
9bfa63dbba
Unwrap aggregates of size 1 when writing errors
Also, only use aggregate in get when we actually are dealing with
multiple errors.
2016-09-26 15:56:38 -04:00
Kubernetes Submit Queue
beba1e2c8f Merge pull request #33275 from maciaszczykm/remove-kubectl-namespace-cmd
Automatic merge from submit-queue

Remove kubectl namespace command

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

It removes deprecated `kubectl namespace` command, which `has been superseded by the context.namespace field of .kubeconfig files.  See 'kubectl config set-context --help' for more details`. It was done nearly two years ago, so like `// TODO remove once people have been given enough time to notice` comment says it may be a good time to get rid of it.

**Special notes for your reviewer**:

None ATM.

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
Remove kubectl namespace command
```
2016-09-24 02:51:39 -07:00
Kubernetes Submit Queue
b95fa62fe1 Merge pull request #31163 from juanvallejo/jvallejo_filter-resources-before-printing
Automatic merge from submit-queue

add resource filter handling before printing

**Release note**:
```release-note
release-note-none
```

Resources are currently filtered (in order to prevent printing) at print
time in their HumanReadablePrinter handlers. This design makes it not
possible to filter objects when they are printed using any other
printer, such as YAML, JSON, or the NamePrinter.

This patch removes any filters previously added at the printer level for
pods and adds a way to define resource-specific filters before they are
sent to a printer handler. A woking filter handler for pods has also been
implemented.

Filters affect resources being printed through the HumanReadablePrinter,
YAML, JSON, and `--template` printers.

cc @smarterclayton
2016-09-23 10:45:57 -07:00
Maciej Szulik
cccef68e27 Update run flags to point to generators docs 2016-09-23 15:02:30 +02:00
Kubernetes Submit Queue
67219f4041 Merge pull request #32867 from kargakis/move-events-sort
Automatic merge from submit-queue

kubectl: move events sorting interface to the api for general use

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

@kubernetes/kubectl
2016-09-22 20:39:29 -07:00
Kubernetes Submit Queue
3906acfba8 Merge pull request #33079 from ping035627/ping035627-patch-0920
Automatic merge from submit-queue

Merge the "var" segment

So much "var" doesn't seem clear, suggest to merge them.
2016-09-22 14:24:27 -07:00
Kubernetes Submit Queue
4b700f41ec Merge pull request #32944 from k82cn/refactor_builder_visitorResult
Automatic merge from submit-queue

Refactor Builder.visitorResult by extra methonds.

**What this PR does / why we need it**:
Code polish; it'll make code readable.
2016-09-22 13:45:09 -07:00
Harry Zhang
c735921b6f Add no admit on node side
Update generated code

Refactored predicates & restore helper
2016-09-22 10:12:44 -04:00
Marcin Maciaszczyk
d2a288de6a Remove kubectl namespace command 2016-09-22 15:46:20 +02:00
Kubernetes Submit Queue
5af04d1dd1 Merge pull request #32876 from errordeveloper/more-cert-utils
Automatic merge from submit-queue

Refactor cert utils into one pkg, add funcs from bootkube for kubeadm to use

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

We have ended-up with rather incomplete and fragmented collection of utils for handling certificates. It may be worse to consider using `cfssl` for doing all of these things, but for now there is some functionality that we need in `kubeadm` that we can borrow from bootkube. It makes sense to move the utils from bookube into core, as discussed in #31221.

**Special notes for your reviewer**: I've taken the opportunity to review names of existing funcs and tried to make some improvements in that area (with help from @peterbourgon).

**Release note**:

```release-note
NONE
```
2016-09-22 01:29:46 -07:00
juanvallejo
7000e2cf4f
add resource handling before printing
Resources are currently filtered (in order to prevent printing) at print
time in their HumanReadablePrinter handlers. This design makes it not
possible to filter objects when they are printed using any other
printer, such as YAML, JSON, or the NamePrinter.

This patch removes any filters previously added at the printer level for
pods and adds a way to define resource-specific filters before they are
sent to a printer handler. A woking filter handler for pods has also
been
implemented.

Filters affect resources being printed through the HumanReadablePrinter,
YAML, JSON, and `--template` printers.
2016-09-21 10:03:59 -04:00
deads2k
e9c1b87b80 move extensions registry packages 2016-09-21 09:14:38 -04:00
Kubernetes Submit Queue
313ef63993 Merge pull request #32680 from sttts/sttts-gracefully-kubectl-without-version
Automatic merge from submit-queue

Behave gracefully in kubectl if /version returns 404

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

It's only about caching the swagger spec here. So it's safe to fall back to non-caching mode and continue.
2016-09-21 04:59:16 -07:00
Kubernetes Submit Queue
4099a5cc98 Merge pull request #33136 from smarterclayton/default_config
Automatic merge from submit-queue

When client config is default or default is invalid, check ICC

Alternative fix to #33019
2016-09-21 02:21:34 -07:00
Kubernetes Submit Queue
b245886658 Merge pull request #33058 from MHBauer/dead-interface
Automatic merge from submit-queue

delete private interface with no references in package

<!--  Thanks for sending a pull request!  Here are some tips for you:
1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
-->

**What this PR does / why we need it**:
code quality. 

**Which issue this PR fixes**:
does not fix anything. removes unused interface. 

**Special notes for your reviewer**:
It does not do anything. Let us remove it.

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
NONE
```
2016-09-20 23:35:49 -07:00
Clayton Coleman
07f079216e
Make clientcmd defaulting a function of ConfigOverrides and LoadingRules
This commit moves away from using a global variable for default
configuration checking, and instead exposes a method on LoadingRules to
determine whether a particular restclient.Config should be considered
"default". This allows kubectl to provide its own defaults (the same
as before, KUBERNETES_MASTER and the static localhost:8080 values) while
allowing other clients to avoid defining them.

In-cluster config defaulting is now easier to read.
2016-09-21 01:28:06 -04:00
Mayank Kumar
822b2d791c fix drain help and make consistent with doc 2016-09-20 21:42:01 -07:00
PingWang
de6a2452fa combine var
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2016-09-20 16:56:25 +08:00
Kubernetes Submit Queue
c97246247a Merge pull request #30199 from dims/re-add-roadmap-extend-all
Automatic merge from submit-queue

Extend all to more resources

Added more things from the list here:
https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/cmd/cmd.go#L159

Update the devel/kubectl-conventions.md with the rules mentioned by
a few folks on which resources could be added to the special 'all' alias
2016-09-20 01:49:45 -07:00
Kubernetes Submit Queue
8d0518d4d2 Merge pull request #32897 from deads2k/api-07-remove-dead-mapper
Automatic merge from submit-queue

remove dead mapper

Removing a write-only field I found looking at the registration code.
2016-09-19 23:12:06 -07:00
Kubernetes Submit Queue
2941069307 Merge pull request #32894 from deads2k/cli-01-remove-arg
Automatic merge from submit-queue

make --include-extended-apis deprecated and remove plumbing

Marks a dead CLI parameter as deprecated and removes the plumbing for it.
2016-09-19 21:11:04 -07:00
Morgan Bauer
fa28ee8683
delete private interface with no references in package 2016-09-20 00:13:16 +00:00
Davanum Srinivas
e1373cf516 Extend all to more resources
Added more things from the list here:
https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/cmd/cmd.go#L159

Update the devel/kubectl-conventions.md with the rules mentioned by
a few folks on which resources could be added to the special 'all' alias
2016-09-19 13:01:59 -04:00
deads2k
4aa61ddcb2 remove dead mapper 2016-09-19 09:57:19 -04:00
Ilya Dmitrichenko
386fae4592
Refactor utils that deal with certs
- merge `pkg/util/{crypto,certificates}`
- add funcs from `github.com/kubernetes-incubator/bootkube/pkg/tlsutil`
- ensure naming of funcs is fairly consistent
2016-09-19 09:03:42 +01:00
Michail Kargakis
b87e8c79ca kubectl: move events sorting interface to the api for general use 2016-09-18 19:25:42 +02:00
Kubernetes Submit Queue
8fd414537b Merge pull request #32823 from nikhiljindal/descNs
Automatic merge from submit-queue

Allow kubectl describe ns to pass if server does not support resource quotas and limit ranges

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

Context: federation-apiserver does not support limit ranges and resource quotas. Hence `kubectl describe ns` fails right now.
Fixing it so that `kubectl describe ns` does not error out and atleast prints information about the namespace.

cc @kubernetes/sig-cluster-federation @kubernetes/kubectl
2016-09-17 04:04:20 -07:00
Klaus Ma
d55006d38f Refactor Builder.visitorResult by extra methonds. 2016-09-17 17:36:13 +08:00
Yanqiang Miao
ed3b3ad47d delete a unused function in the 'pkg/kubectl/cmd/util/helpers.go'
Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>

update

Signed-off-by: Yanqiang Miao <miao.yanqiang@zte.com.cn>
2016-09-17 12:43:59 +08:00
Kubernetes Submit Queue
051ee17094 Merge pull request #30815 from ymqytw/refactoring
Automatic merge from submit-queue

Fixes #30562: Refactor kubectl command options to use common struct for common file params

Fixes #30562 : Refactor common go struct options in pkg/kubectl/cmd/*.go.
@pwittrock
2016-09-16 19:48:22 -07:00
deads2k
862415aaa2 make --include-extended-apis deprecated and remove plumbing 2016-09-16 16:05:52 -04:00
Kubernetes Submit Queue
27c093ea90 Merge pull request #32048 from smarterclayton/consistent_errors
Automatic merge from submit-queue

Handle Stream() errors consistently in restclient

We should be following the same rules for Stream() as the normal body
request flow.

Also add slightly more output on a server error - in the future we may
want to clean this up but it's potentially hiding bad responses.

Related to #32009 but isn't the fix (so far)
2016-09-15 20:13:48 -07:00
nikhiljindal
b84e53bc2b Allow describe ns to pass if server does not support resource quotas and limit ranges 2016-09-15 15:16:49 -07:00
Michael Fraenkel
a3537a02fe Allow no ports when exposing headless service 2016-09-15 14:56:49 -04:00
deads2k
771915c6c4 make shortcut expanding restmapper handle all 2016-09-15 11:03:51 -04:00
deads2k
4359c79f53 add FirstHitRESTMapper for adding thirdparty resources 2016-09-15 10:26:39 -04:00
deads2k
500cddc5c3 use discovery restmapper for kubectl 2016-09-15 10:26:39 -04:00
juanvallejo
52fc8efa55 update PrintSuccess message when using --dry-run 2016-09-15 10:11:21 -04:00
Kubernetes Submit Queue
fa94308912 Merge pull request #31594 from brendandburns/kubecfg
Automatic merge from submit-queue

To improve error messages, validate the existence of a namespace.

Fixes #15542

@deads2k 
@kubernetes/kubectl
2016-09-14 15:14:06 -07:00
Kubernetes Submit Queue
f59f4aecfa Merge pull request #32660 from mksalawa/fix_usage_printing
Automatic merge from submit-queue

Fix printing container usage in kubectl top

**What this PR does / why we need it**:
Fix a bug in kubectl top, which showed the same value of usage for all containers in a pod.

**Release note**:
```release-note
NONE
```
2016-09-14 11:49:41 -07:00
Dr. Stefan Schimanski
54f5a9b423 Disable swagger spec caching without /version 2016-09-14 18:44:46 +02:00
Brendan Burns
23c7c2e3e7 Add namespace error checking if a resource is not found. 2016-09-14 06:51:36 -07:00
Kubernetes Submit Queue
33e5b0e0db Merge pull request #32504 from kargakis/top-pod-fixes
Automatic merge from submit-queue

kubectl: run validation for 'top pod'

@mksalawa @kubernetes/kubectl
2016-09-14 05:35:42 -07:00
mksalawa
7fe19e0c56 Fix printing container usage. 2016-09-14 12:11:24 +02:00
Kubernetes Submit Queue
630c7532c6 Merge pull request #32274 from ping035627/ping035627-patch-0908
Automatic merge from submit-queue

Change all jsonmerge to strategicpatch

Implement all jsonmerge changed to strategicpatch in edit.go.
2016-09-13 01:15:52 -07:00
Kubernetes Submit Queue
ba3ab80b09 Merge pull request #32060 from lojies/addaliasdeploy
Automatic merge from submit-queue

add alias deploy for deployment

deploy is also alias of deployment. add alias deploy for deployment so the help can see deploy in the Aliases like below:
```sh
k8s@k8s-node1:~/go/workspace/src/k8s.io/kubernetes/cmd/kubectl$ ./kubectl create dep -h
Create a deployment with the specified name.

Aliases:
deployment, dep, deploy
```
2016-09-13 00:29:31 -07:00
Kubernetes Submit Queue
8f2f836e4e Merge pull request #32106 from jellonek/fd_leaks
Automatic merge from submit-queue

Ensure that we are closing files.

**What this PR does / why we need it**: In several places we are leaking file descriptors. This could be problematic on systems with low ulimits for them.

**Release note**:
```release-note
```
2016-09-12 23:43:38 -07:00
ymqytw
c67a62da49 Fixes #30562: Refactor kubectl command options to use common struct for common file params 2016-09-12 11:01:37 -07:00
Michail Kargakis
4787dca073 kubectl: run validation for 'top pod' 2016-09-12 19:20:46 +02:00
deads2k
519c13745f convert rest of kubectl to generated clients 2016-09-12 08:22:34 -04:00
deads2k
f756e43e7f convert rolling updater to generated client 2016-09-12 07:38:34 -04:00
deads2k
9d43f7e52c convert more command to use a generated clientset 2016-09-12 07:38:34 -04:00
Piotr Skamruk
dc3674c8d0 Ensure that we are closing files. 2016-09-12 09:33:24 +02:00
Kubernetes Submit Queue
0f14ede4ed Merge pull request #32174 from lojies/usededentforcreatequota
Automatic merge from submit-queue

use dedent for create_quota.go
2016-09-12 00:08:05 -07:00
Kubernetes Submit Queue
19364c2d3b Merge pull request #32222 from juanvallejo/jvallejo_bugfix/single-resource-prefix-kubectl-get-all
Automatic merge from submit-queue

print resource kind prefix when `kubectl get all` has single type to display

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

This patch forces the HumanReadablePrinter to display resource kind
prefixes when there is only one type of resource to show and a specific
resource type has not been specified as an argument to kubectl get

`$ kubectl get all`
```
NAME         CLUSTER-IP   EXTERNAL-IP   PORT(S)                 AGE
kubernetes   172.30.0.1   <none>        443/TCP,53/UDP,53/TCP   2m
```

`$ kubectl get all`
```
NAME         CLUSTER-IP   EXTERNAL-IP   PORT(S)                 AGE
svc/kubernetes   172.30.0.1   <none>        443/TCP,53/UDP,53/TCP   2m
```
2016-09-11 19:39:17 -07:00
Kubernetes Submit Queue
a7571aa367 Merge pull request #32230 from juanvallejo/jvallejo_update-kubectl-expose-output-to-usage-error
Automatic merge from submit-queue

update `kubectl expose` output to UsageError

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

This patch updates `kubectl expose` output (with no resources provided)
to a UsageError so that the `kubectl expose -h` suggestion is displayed.

##### Before
`$ kubectl expose`
```
error: You must provide one or more resources by argument or filename.
Example resource specifications include:
   '-f rsrc.yaml'
   '--filename=rsrc.json'
   'pods my-pod'
   'services'
```

##### After
```
error: You must provide one or more resources by argument or filename.
Example resource specifications include:
   '-f rsrc.yaml'
   '--filename=rsrc.json'
   'pods my-pod'
   'services'
See 'kubectl expose -h' for help and examples.
```
2016-09-11 16:20:22 -07:00
Kubernetes Submit Queue
27c5e5dca7 Merge pull request #31110 from AdoHe/rollout_dry_run
Automatic merge from submit-queue

Rollout dry run

**What this PR does / why we need it**: rollout undo add dry-run implementation

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

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```
rollout undo add dry-run option
```
2016-09-11 15:05:16 -07:00
Kubernetes Submit Queue
b4c09192bc Merge pull request #31841 from fraenkel/replace_force
Automatic merge from submit-queue

Replace force

fixes #28115
2016-09-11 14:27:30 -07:00
Kubernetes Submit Queue
b93860d61a Merge pull request #32229 from errordeveloper/cosmetic-newline-kubectl-describe
Automatic merge from submit-queue

Add missing new line after "No events."

**What this PR does / why we need it**: Make `kubectl describe` output pretty again.

**Special notes for your reviewer**: Should probably get rolled into the release branch.

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
NONE
```
2016-09-11 13:08:57 -07:00
Kubernetes Submit Queue
5cb9b3a3b7 Merge pull request #32176 from lojies/addaliasforcreateservice
Automatic merge from submit-queue

add alias svc for create_service.go

add alias 'svc' for service in create_service.go so that  alias 'svc'  can be used and also can be seen in help message's Aliases like below:
```shell
$ kubectl create svc -h
Create a service using specified subcommand.

Aliases:
service, svc

Available Commands:
  clusterip    Create a clusterIP service.
  loadbalancer Create a LoadBalancer service.
  nodeport     Create a NodePort service.

Usage:
  kubectl create service [options]
```
2016-09-11 12:25:33 -07:00
Kubernetes Submit Queue
64f5d9c3f4 Merge pull request #32092 from asalkeld/get-strange-output
Automatic merge from submit-queue

Improve the get output for completed pods

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

- rename FinishPrint() to AfterPrint()
- add a newline to separate it from the table
- remove the "objects" and ()
- assume plural

**Which issue this PR fixes** 
fixes #31160

**Special notes for your reviewer**:
None

**Release note**:
```release-note
Improve the get output for completed pods
```
2016-09-11 06:22:03 -07:00
Kubernetes Submit Queue
adee82352b Merge pull request #31703 from rootfs/cinder-describe
Automatic merge from submit-queue

print Cinder volume source in kubectl describe

with the patch, `kubectl describe` output is

```console
# kubectl describe pv
Name:		pvc-34069100-6ec5-11e6-97f3-fa163e39e62e
Labels:		<none>
Status:		Bound
Claim:		default/claim1
Reclaim Policy:	Delete
Access Modes:	RWO
Capacity:	3Gi
Message:	
Source:
    Type:	Cinder (a Persistent Disk resource in OpenStack)
    VolumeID:	a1bc727a-d1e6-4d6b-92d6-3e5e22bde3fa
    FSType:	ext4
    ReadOnly:	false
No events.
```
@kubernetes/sig-storage
2016-09-10 14:36:30 -07:00
Kubernetes Submit Queue
dd9d5aa27d Merge pull request #32378 from kevin-wangzefeng/update-taints-e2e
Automatic merge from submit-queue

update taints e2e, restrict taints operation with key, effect

Since taints are now unique by key, effect on a node, this PR is to restrict existing taints adding/removing/updating operations in taints e2e.
Also fixes https://github.com/kubernetes/kubernetes/issues/31066#issuecomment-242870101
Related prior Issue/PR #29362 and #30590
2016-09-10 13:20:51 -07:00
Kubernetes Submit Queue
f9e1ef97db Merge pull request #30717 from juanvallejo/jvallejo_add-oc-describe-help-suggestion
Automatic merge from submit-queue

add suggestion to use `describe` to obtain container names

**Release note**:
```release-note
release-note-none
```

Commands with the `--container=` option provide no suggestions to a user
on how to obtain a container's name from a pod.

This patch adds a suggestion on the usage output to use the `describe`
command on a pod to obtain the container value that is passed to the
`--container=` flag.

`$ kubectl exec -h`
```
Execute a command in a container.

Examples:

kubectl exec 123456-7890 date

kubectl exec 123456-7890 -c ruby-container date

kubectl exec 123456-7890 -c ruby-container -i -t -- bash -il

Flags:
  -c, --container string   Container name. If omitted, the first container in the pod will be chosen. Use the 'describe' command to find the list of containers on a pod.
  -p, --pod string         Pod name
  -i, --stdin              Pass stdin to the container
  -t, --tty                Stdin is a TTY
2016-09-10 12:02:10 -07:00
Kubernetes Submit Queue
e4ca861892 Merge pull request #31598 from ping035627/ping035627-patch-0829
Automatic merge from submit-queue

Return all the invalid flags for rollingupdate

It had better to return all the invalid flags for the "validateArguments" function, so the user can modify them at once.
2016-09-10 11:26:23 -07:00
Kubernetes Submit Queue
bb51525d0d Merge pull request #31212 from YuPengZTE/printf
Automatic merge from submit-queue

It is better to add "\n" in printf

<!--  Thanks for sending a pull request!  Here are some tips for you:
1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
-->

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

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

**Special notes for your reviewer**:

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
```
2016-09-10 10:48:47 -07:00
Wojciech Tyczynski
e240aff741 Revert "Use scale subresource" 2016-09-10 18:35:07 +02:00
Kubernetes Submit Queue
4389446d4e Merge pull request #31604 from ping035627/ping035627-patch-0830-1
Automatic merge from submit-queue

Return all the invalid parameters for set_image

Suggest returning all the invalid parameters for "ImageOptions.Validate()" in set_image.go.
2016-09-10 09:26:25 -07:00
Kubernetes Submit Queue
099d47f0eb Merge pull request #31089 from ping035627/ping035627-patch-0822
Automatic merge from submit-queue

Optimise the DefaultGenerators function

It needn't define all the generators in the "DefaultGenerators" function, it just return the "cmdName" generator, the others is redundant.
2016-09-10 07:43:02 -07:00
Kubernetes Submit Queue
a5d6bf4095 Merge pull request #31111 from fraenkel/scale_subresource
Automatic merge from submit-queue

Use scale subresource

Fixes #29698

Use scale subresource for ReplicationController, ReplicaSet and Deployment.
Couldn't do Jobs and PetSet since they live in a different group.
2016-09-10 06:26:25 -07:00
Kubernetes Submit Queue
97ec720a19 Merge pull request #32152 from deads2k/client-02-make-clientset
Automatic merge from submit-queue

add ClientSet to factory to remove non-generated client

We should move to using generated clients in the `kubectl` client.  We should really move to generated external clients, but this at least moves away from using manually created clients.

@fabianofranz @mfojtik When I complete this work (move the other commands and eliminate the old API), this will ripple downstream.
2016-09-10 01:59:02 -07:00
Kubernetes Submit Queue
8b5317bf87 Merge pull request #32141 from deads2k/client-01-fix-swagger
Automatic merge from submit-queue

make swaggerschema agnostic about which version to use

`Factory.SwaggerSchema` was reliant on having a non-generated client bits filled in so that it could get the adapted client it wanted.  There's no need since discovery ignores configured GroupVersions.  This eliminates the unneeded dependency.
2016-09-09 22:27:52 -07:00
Kubernetes Submit Queue
ba4dba8be2 Merge pull request #31607 from jsafrane/describe-storageclass
Automatic merge from submit-queue

Add kubectl describe storageclass.

Sample output:

```
Name:		fast
Annotations:	storage.beta.kubernetes.io/default-class=true
Provisioner:	kubernetes.io/aws-ebs
Parameters:	type=gp2
No events.

Name:		slow
Annotations:	<none>
Provisioner:	kubernetes.io/aws-ebs
Parameters:	type=sc1
No events.
```
(it looks nicely aligned in terminal)

Proposing 1.4, it's bugfix, not a feature.
2016-09-09 11:52:42 -07:00
Kevin
fff139ce32 update taints e2e, respect that taint is unique by key, effect 2016-09-09 19:15:11 +08:00
PingWang
121f6fb289 change all jsonmerge to strategicpatch
Signed-off-by: PingWang <wang.ping5@zte.com.cn>

update preconditions define

Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2016-09-09 08:28:10 +08:00
Huamin Chen
3fc8416ec7 print Cinder volume source in kubectl describe
Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-09-08 09:42:32 -04:00
Kubernetes Submit Queue
d974051c47 Merge pull request #32177 from lojies/changesomeerrorcomment
Automatic merge from submit-queue

fix some error comment in create_service.go

some comments were error. mofify these to match the real.
2016-09-08 05:41:26 -07:00
Kubernetes Submit Queue
91f04c765b Merge pull request #32093 from guangxuli/kube_secret_test
Automatic merge from submit-queue

the created path should be closed in test case
2016-09-08 05:41:21 -07:00
Michael Fraenkel
c036d28689 Wait until resource is deleted before creating 2016-09-08 08:37:11 -04:00
Kubernetes Submit Queue
8d9d32db0a Merge pull request #31499 from areed/31130-rollout-status
Automatic merge from submit-queue

kubectl rollout status waits for available pods

<!--  Thanks for sending a pull request!  Here are some tips for you:
1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
-->

**What this PR does / why we need it**:
This changes kubectl rollout status to wait until all updated replicas are available before finishing.

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

**Special notes for your reviewer**:

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
Changes 'kubectl rollout status' to wait until all updated replicas are available before finishing.
```
Currently kubectl rollout status finishes when Deployment.Spec.Replicas == Deployment.Status.UpdatedReplicas, but it's less surprising to the user for kubectl rollout status to wait until Deployment.Status.UpdatedReplicas == Deployment.Status.Replics == Deployment.Status.AvailableReplicas
2016-09-08 05:01:26 -07:00
Michael Fraenkel
88e17d7478 Require force when using grace period or timeout 2016-09-08 07:45:20 -04:00
Jan Safranek
a683977b43 Add kubectl describe storageclass. 2016-09-08 13:03:12 +02:00
Kubernetes Submit Queue
63495d785b Merge pull request #31045 from abrarshivani/vsphere_describe_volume
Automatic merge from submit-queue

Add kubectl describe cmd support for vSphere volume

This PR does following,
Add kubectl describe cmd support for vSphere volume

Examples:

> kubectl describe pod redis
.......
Volumes:
  vmdk-storage:
    Type:	vSphereVolume (a Persistent Disk resource in vSphere)
    VolumePath:	[Datastore] test1
    FSType:	ext4
.........

> kubectl describe pv pv0001
Name:		pv0001
Labels:		<none>
Status:		Available
Claim:
Reclaim Policy:	Recycle
Access Modes:	RWO
Capacity:	2Gi
Message:
Source:
    Type:	vSphereVolume (a Persistent Disk resource in vSphere)
    VolumePath:	[vsanDatastore] volumes/test11
    FSType:	ext4
No events.
2016-09-08 00:08:35 -07:00
AdoHe
6a68dbdac4 rollout undo add dry-run implementation 2016-09-08 08:02:04 +08:00
Angus Salkeld
ee298a80e9 Simplify the output in AfterPrint()
- Change FinishPrint() to AfterPrint()
  (As suggested in #31160)
- add a newline to separate it from the table
- remove the "objects" and ()
- assume plural
2016-09-08 09:42:17 +10:00
Michael Fraenkel
fb4a466321 Save stderr since it may become nil 2016-09-07 19:01:59 -04:00
juanvallejo
8faff9f949
update kubectl expose output to UsageError
This patch updates `kubectl expose` output (with no resources provided)
to a UsageError so that the `kubectl expose -h` suggestion is displayed.
2016-09-07 17:20:09 -04:00
Ilya Dmitrichenko
8821825a6d Add missing new line after "No events." 2016-09-07 22:12:31 +01:00
juanvallejo
59ba00f822
print resource kind prefix when kubectl get all has single type to display
This patch forces the HumanReadablePrinter to display resource kind
prefixes when there is only one type of resource to show and a specific
resource type has not been specified as an argument to kubectl get

`$ kubectl get all`
```
NAME         CLUSTER-IP   EXTERNAL-IP   PORT(S)                 AGE
kubernetes   172.30.0.1   <none>        443/TCP,53/UDP,53/TCP   2m
```

`$ kubectl get all`
```
NAME         CLUSTER-IP   EXTERNAL-IP   PORT(S)                 AGE
svc/kubernetes   172.30.0.1   <none>        443/TCP,53/UDP,53/TCP   2m
    ```
2016-09-07 16:12:34 -04:00
juanvallejo
f8cc2ab3b8
add suggestion to use describe to obtain container names 2016-09-07 13:06:22 -04:00
deads2k
1d5e5532ed add ClientSet to factory to remove non-generated client 2016-09-07 09:44:01 -04:00
lojies
8b349ebfb0 fix some error comment in create_service.go 2016-09-07 10:14:50 +08:00
lojies
c8fe895d5b add alias svc for create_service.go 2016-09-07 09:46:56 +08:00
lojies
eaf257a993 use dedent for create_quota.go 2016-09-07 09:09:12 +08:00
deads2k
aee962c0f2 make swaggerschema agnostic about which version to use 2016-09-06 14:16:02 -04:00
deads2k
cd5b6cc491 move StorageClass to its own group 2016-09-06 08:41:17 -04:00
lojies
b118db0a17 Use dedent for completion.go 2016-09-06 15:49:20 +08:00
Kubernetes Submit Queue
5e22e51f34 Merge pull request #31675 from brendandburns/msgs
Automatic merge from submit-queue

improve some error messages.

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

@pwittrock @deads2k 
@kubernetes/kubectl
2016-09-05 23:23:11 -07:00
Kubernetes Submit Queue
7d09f954c4 Merge pull request #31860 from lojies/adddeployforsetimage
Automatic merge from submit-queue

add deploy for deployment in kubectl set image help text

add shorthand deploy for deployment in kubectl set image help text
2016-09-05 22:44:53 -07:00
Kubernetes Submit Queue
1143107d8b Merge pull request #31857 from lojies/annotataresourcechange
Automatic merge from submit-queue

change annotate_resources to valid_resources

annotate_resources missing some resources such as deployment, namespace. 

i think using valid_resources to replace annotate_resources  more suitable.
2016-09-05 21:32:21 -07:00
Kubernetes Submit Queue
36a85cae7b Merge pull request #31764 from lojies/adddeploy
Automatic merge from submit-queue

add deploy for deployment in kubectl expose help text

add shorthand deploy for  deployment
2016-09-05 20:13:47 -07:00
guangxuli
f8a86e4c96 the created path should be closed in test case 2016-09-06 11:08:52 +08:00
lojies
8d9b537ac1 add alias deploy for deployment 2016-09-06 11:00:50 +08:00
Kubernetes Submit Queue
8d00825481 Merge pull request #31685 from jellonek/jell/29524
Automatic merge from submit-queue

kubectl edit: Do not add warning header if ftype is json.

This PR blocks adding warning header if `kubectl edit` is used with `-o json` option.
Fixed header contains comment (what is not supported by json standard) what can break utilities which are using libraries that conforms with http://www.ietf.org/rfc/rfc7159.txt

fixes #29524

/cc @pwittrock 

```release-note
Removed comments in json config when using kubectl edit with -o json
```
2016-09-05 19:35:31 -07:00
Kubernetes Submit Queue
ae3b956c65 Merge pull request #31144 from ohmystack/fix/zsh-completion
Automatic merge from submit-queue

Fix named pipe in kubectl zsh completion

This PR fixes #28049

Though my zsh version > 5.0, I still got the problem. So, I think we need this fix.

---

### Env

```
OS: Ubuntu 14.04
$ zsh --version
zsh 5.0.2 (x86_64-pc-linux-gnu)
```

### A simple DEMO to show the root cause

In zsh and bash, a multi-line named pipe, who is wrapped by parenthesis, is possible to mismatch the "right parenthesis", even that parenthesis is in a here-document.

The following script was going to use `sed` to print the text in the 'BASH_COMPLETION_EOF' here-document. 
> * I made the `sed` simpler. As you can see, `sed` actually does nothing here. It just prints what it gets from `<<`). In real [`pkg/kubectl/cmd/completion.go`](https://github.com/kubernetes/kubernetes/blob/v1.3.5/pkg/kubectl/cmd/completion.go#L246-L258), `sed` will do some text replacement, changing bash functions to zsh functions. But that is not the point of the problem.
> * I use `cat <(...)` to replace the `source <(...)`.
> In this way, we can see how named pipe works.

run-bad.zsh:
```bash
#!/usr/bin/zsh
cat <(sed -e 's/foo/bar/g' <<'BASH_COMPLETION_EOF'
  aaa='aaa'
  case aaa in
    'aaa')      #  <- This ')' is in a here-document, but it is handled by named pipe by mistake.
      echo 'yes'
      ;;
  esac
BASH_COMPLETION_EOF
)
```

> Output:
> ```
> ./run-bad.zsh
>     aaa='aaa'
>     case aaa in
>       'aaa'yes     <- You can see the here-document `echo yes` has been executed!!!
> ./run-bad.zsh:8: parse error near `;;'
> ```

The named pipe `<(sed ...` "eats" the `)`, which should belong to `case aaa in 'aaa')`. So that the named pipe ends earlier than expectation. The left zsh code is broken, it fails.

### Here's the fix

Move the code into a function, and use an inline named pipe.

run.zsh:
```bash
#!/usr/bin/zsh

print_sed_result() {
  sed -e 's/foo/bar/g' <<'BASH_COMPLETION_EOF'
  aaa='aaa'
  case aaa in
    'aaa')
      echo 'yes'
      ;;
  esac
BASH_COMPLETION_EOF
}

cat <(print_sed_result)     # <- Use an inline named pipe
```

> Output:
> ```
> ./run.zsh                                                                                                                                                                    > stack@docker-dev01
>         aaa='aaa'
>         case aaa in
>           'aaa')
>             echo 'yes'
>             ;;
>         esac
> ```

Now, the here-document and named pipe work correctly.
2016-09-05 15:31:18 -07:00
Kubernetes Submit Queue
cf7b033fbf Merge pull request #25810 from andreykurilin/kubectl_rollingupdate
Automatic merge from submit-queue

Add link to diagram of `kubectl rolling-update`
2016-09-05 14:15:45 -07:00
Kubernetes Submit Queue
61dda4d34a Merge pull request #31773 from pigmej/typos_englishify_some_pkgs
Automatic merge from submit-queue

Typos and englishify pkg/cloudprovider + pkg/dns + pkg/kubectl

**What this PR does / why we need it**: Just fixed some typos + "englishify" in pkg/cloudprovider + pkg/dns + pkg/kubectl

**Which issue this PR fixes** : None

**Special notes for your reviewer**: It's just fixes typos

**Release note**: `NONE`
2016-09-05 11:10:09 -07:00
Clayton Coleman
5e6f5fee8a
Handle Stream() errors consistently in restclient
We should be following the same rules for Stream() as the normal body
request flow.

Also add slightly more output on a server error - in the future we may
want to clean this up but it's potentially hiding bad responses.
2016-09-04 14:50:04 -04:00
Kubernetes Submit Queue
17ee588c3e Merge pull request #31510 from mksalawa/kubectltop
Automatic merge from submit-queue

Print a message if metrics are not yet available.

**What this PR does / why we need it**:
It takes about 80s to gather first metrics for the newly created pod. We would like to indicate this to the user, so that they don't mistake it for the command failure.

In case no metrics are found, we check whether there should be any, and if yes, print the appropriate message to the user.

**Which issue this PR fixes**
#30826 

```release-note
NONE
```
2016-09-01 11:30:16 -07:00
Kubernetes Submit Queue
c98a1e2416 Merge pull request #31333 from xingzhou/kube-25287
Automatic merge from submit-queue

Fixed incomplete kubectl bash completion.

Added bash completion for several kubectl commands.

Fixes #25287
2016-09-01 10:49:51 -07:00
PingWang
5a9848207a implement replace with a call to testapi.Codec()
Signed-off-by: PingWang <wang.ping5@zte.com.cn>

delete comments

Signed-off-by: PingWang <wang.ping5@zte.com.cn>

update annotateRuntimeObject

Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2016-09-01 17:34:54 +08:00
lojies
ef87972835 add port validate when --port is set or --expose=true 2016-09-01 17:24:02 +08:00
lojies
b50cef53eb add deploy for deployment in kubectl set image help text 2016-09-01 17:17:41 +08:00
lojies
479ddc8818 change annotate_resources to valid_resources 2016-09-01 16:33:51 +08:00
Brendan Burns
d1fa7ff7a8 Address comments. 2016-08-31 21:16:46 -07:00
Kubernetes Submit Queue
3d30787abc Merge pull request #31719 from nikhiljindal/kubectlHelp
Automatic merge from submit-queue

Adding clusters to the list of valid resources printed by kubectl help

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

Adding clusters to the list of valid resources printed by kubectl help with a clear message that it only works when talking to federation apiserver.
In future, we should replace the hard coded list with a dynamic list generated using APIServer's discovery API.

```release-note
Adding clusters to the list of valid resources printed by kubectl help
```


cc @kubernetes/kubectl @kubernetes/sig-cluster-federation
2016-08-31 17:52:53 -07:00
Jedrzej Nowak
9e2abd4b02 Fix various typos in pgk/cloudprovider,dns,kubectl 2016-08-31 18:56:52 +02:00
Michael Fraenkel
9cff11dbb0 Finished pods can be drained
- Don't bother trying to filter pods that have succeeded or failed
2016-08-31 08:30:30 -04:00
mksalawa
87cba30aae Print message if metrics are not yet available. 2016-08-31 11:54:53 +02:00
nikhiljindal
0fcbde5ee1 Adding clusters to the list of valid resources printed in kubectl help 2016-08-30 18:57:35 -07:00
lojies
513f24f857 add deploy for deployment 2016-08-31 09:50:22 +08:00
Clayton Coleman
06cbb29e9e
ClientConfig should not default to http://localhost:8080
This changes clientcmd to skip the default cluster, but preserves the
behavior in kubectl. This prevents the possibility of an administrator
misconfiguration in kubelet or other server component from allowing a
third party who can bind to 8080 on that host from potentially
impersonating an API server and gaining root access.
2016-08-30 10:43:24 -04:00
Piotr Skamruk
d0e59e0c22 kubectl: Do not add warning header if ftype is json. 2016-08-30 10:15:45 +02:00
Brendan Burns
155fb9f4be improve some error messages. 2016-08-29 22:27:22 -07:00
Xing Zhou
80d6cd0a40 Added bash completion for several kubectl commands.
This path added/fixed bash completion for several
kubectl commands.

Fixes #25287
2016-08-30 13:12:09 +08:00
PingWang
8ec61c1dce return all the invalid parameters for set_image
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2016-08-29 17:17:51 +08:00
PingWang
6ca2c36e71 return all the invalid flags for rollingupdate
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2016-08-29 15:11:01 +08:00
Kubernetes Submit Queue
e24aff0711 Merge pull request #29821 from alexbrand/config-cluster
Automatic merge from submit-queue

Add get/delete cluster, delete context to kubectl config

Fixes #29794 by adding `get-clusters`, `delete-cluster` and `delete-context` actions to `kubectl config`.
2016-08-26 11:44:46 -07:00
Eric Paris
6f90869996 Merge pull request #31452 from jeffmendoza/cleanup-docs-yamls
Removed non-md files from docs. Moved doc yamls to test/fixtures.
2016-08-26 12:17:12 -04:00
Kubernetes Submit Queue
01541584ed Merge pull request #31375 from kargakis/cast-to-actual-type
Automatic merge from submit-queue

kubectl: cast notFound error to struct

Fixes https://github.com/kubernetes/kubernetes/issues/28378 (the 404 flake)

@kubernetes/kubectl @kubernetes/deployment
2016-08-26 04:39:31 -07:00
Kubernetes Submit Queue
dd42d95bab Merge pull request #31000 from mksalawa/fix_pods_from_all_namespaces
Automatic merge from submit-queue

Fix getting pods from all namespaces

**What this PR does / why we need it**:
Use Heapster handler for pods from all namespaces (added in the new version).

Depends on #30993
2016-08-26 03:19:39 -07:00
Andrew Reed
cb5c556197 kubectl rollout status waits for available pods
It's less surprising to the user for kubectl rollout status to wait until
DeploymentStatus.UpdatedReplicas == DeploymentStatus.Replics == DeploymentStatus.AvailableReplicas
2016-08-26 07:51:07 +00:00
Kubernetes Submit Queue
f73c684404 Merge pull request #31383 from janetkuo/run-attach-err
Automatic merge from submit-queue

Print to stderr when attach failed

@kubernetes/kubectl
2016-08-26 00:40:15 -07:00
Kubernetes Submit Queue
df99dfd04d Merge pull request #31358 from screeley44/k8-get-pv
Automatic merge from submit-queue

Add ReclaimPolicy to the resource printer for 'get pv'

Propose we add the RECLAIMPOLICY (persistentVolumeReclaimPolicy) from resource_printer.go to show the policy when a user does a ```kubectl get pv```

```
[root@k8dev nfs]# kubectl get pv
NAME      CAPACITY   ACCESSMODES   RECLAIMPOLICY   STATUS      CLAIM     REASON    AGE
pv-nfs    1Gi        RWO           Retain          Available                       1m
pv-nfs2   1Gi        RWO           Delete          Available                       4s

```
2016-08-25 23:56:20 -07:00
Kubernetes Submit Queue
1184800cbb Merge pull request #30730 from janetkuo/prevent-overlapping-deployment
Automatic merge from submit-queue

Handle overlapping deployments gracefully

Fixes #30028
2016-08-25 21:50:56 -07:00
YuPengZTE
83cdfba0e0 It is better to add "\n" in printf
Signed-off-by: YuPengZTE <yu.peng36@zte.com.cn>
2016-08-26 11:58:26 +08:00
Jeff Mendoza
95b73058d2 Removed non-md files from docs. Moved doc yamls to test/fixtures.
Most of the contents of docs/ has moved to kubernetes.github.io.
Development of the docs and accompanying files has continued there, making
the copies in this repo stale. I've removed everything but the .md files
which remain to redirect old links. The .yaml config files in the docs
were used by some tests, these have been moved to test/fixtures/doc-yaml,
and can remain there to be used by tests or other purposes.
2016-08-25 15:09:27 -07:00
Michael Fraenkel
f061f74f56 Use scale subresource
- Use scale subresource for ReplicationController, ReplicaSet and Deployment.
2016-08-25 17:17:12 -04:00
Kubernetes Submit Queue
ab8d4525bb Merge pull request #31421 from wojtek-t/fix_kubectl_scale
Automatic merge from submit-queue

Fix scale x->x in kubectl for ReplicationController

Fix #31374

This fixes problem introduced in #31051 (which in turn was fixing a different problem).

@lavalamp - FYI
2016-08-25 05:40:06 -07:00
Wojciech Tyczynski
79d8c9754d Fix scale x->x in kubectl for ReplicationController 2016-08-25 11:44:11 +02:00
Kubernetes Submit Queue
098c999a8c Merge pull request #31246 from Clarifai/ext-svc-ref
Automatic merge from submit-queue

kubectl: display ExternalName for services

User-visible part of https://github.com/kubernetes/features/issues/33

Also add ExternalIPs in `describe`

cc @thockin @smarterclayton
2016-08-25 02:36:09 -07:00
Michail Kargakis
4c56b8cfc5 kubectl: cast notFound error to struct 2016-08-25 10:40:44 +02:00
Kubernetes Submit Queue
c2f8c265b4 Merge pull request #30958 from lojies/addvalidresourceforexplain
Automatic merge from submit-queue

add valid resources when args is nil

add valid resources message is more friendly to user when running `kubectl explain`
and this also can be same with other cmd like get\describe.
2016-08-25 01:38:52 -07:00
mksalawa
f4016bef7a Use heapster handler for pods from all namespaces. 2016-08-25 09:08:31 +02:00
Kubernetes Submit Queue
bdeeb9db90 Merge pull request #31135 from xingzhou/bash_completion_bug
Automatic merge from submit-queue

Fixed two issues of kubectl bash completion.

This patch includes the fix of the following issue:
• Correct the method invocation from "__kubectl_namespace_flag"
  to "__kubectl_override_flags"
• Support bash completion if "--namespace=xxx" style flags are
  specified in the kubectl command

Fixes #31134
2016-08-24 23:43:20 -07:00
Janet Kuo
1d620b545c Print to stderr when attach failed 2016-08-24 15:36:52 -07:00
Kubernetes Submit Queue
ca5879bdb9 Merge pull request #31051 from caesarxuchao/fix-rc-scale
Automatic merge from submit-queue

Fix rc scaler watch

<!--  Thanks for sending a pull request!  Here are some tips for you:
1. If this is your first time, read our contributor guidelines https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md and developer guide https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md
2. If you want *faster* PR reviews, read how: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/faster_reviews.md
3. Follow the instructions for writing a release note: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes
-->

**What this PR does / why we need it**:
The RC scaler uses Watch to monitor if the RC is scaled. The Watch was sent with resourceVersion=0, so the watch event it gets back starts from any point in the history, so the result is not valid.

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

Probably will fix #30990
Fix #30469

**Special notes for your reviewer**:

This breaks the load test because the reaper doesn't actually wait until all the pods are gone before it deletes the RC.

I haven't run the node-100 test myself to verify it fixes the problem though.

cc @deads2k @smarterclayton @lavalamp
2016-08-24 12:18:54 -07:00
Abrar Shivani
1b54fa3d4f Add kubectl describe cmd support for vSphere volume 2016-08-24 11:27:16 -07:00
Scott Creeley
22665e1806 Add ReclaimPolicy to the resource printer for 'get pv' 2016-08-24 14:00:29 -04:00
Chao Xu
5fd19d3766 fix RC watch in scale 2016-08-24 10:26:08 -07:00
Kubernetes Submit Queue
b8c1a833a6 Merge pull request #31210 from lojies/changetostderr
Automatic merge from submit-queue

change to stderr

`fmt.Fprint(out, "You must specify the type of resource to describe. ", valid_resources)`

change this to stderr.
2016-08-24 03:32:57 -07:00
Kubernetes Submit Queue
3544f8a717 Merge pull request #29836 from rootfs/azuredd
Automatic merge from submit-queue

support Azure data disk volume

This is a WIP of supporting azure data disk volume. Will add test and dynamic provisioning support once #29006 is merged

replace #25915
fix #23259

@kubernetes/sig-storage 
@colemickens @brendandburns
2016-08-24 02:49:54 -07:00
Kubernetes Submit Queue
d84dcaf3fb Merge pull request #30858 from kargakis/status-column-for-rs
Automatic merge from submit-queue

kubectl: display ready replicas in 'get {rs,rc}'

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

@kubernetes/kubectl @janetkuo @bgrant0607
2016-08-24 00:38:53 -07:00
Kubernetes Submit Queue
2fe56d4bb3 Merge pull request #30863 from ping035627/ping035627-patch-0818
Automatic merge from submit-queue

Optimise the ValidateBytes function

The PR optimise the "ValidateBytes" function in factory.go. Too much "if" branches is poor readability, use "switch" to look better.
2016-08-23 23:59:00 -07:00
Janet Kuo
90557ec56c Handle overlapping deployments gracefully
1. When overlapping deployments are discovered, annotate them
2. Expose those overlapping annotations as warnings in kubectl describe
3. Only respect the earliest updated one (skip syncing all other overlapping deployments)
4. Use indexer instead of store for deployment lister
2016-08-23 14:33:30 -07:00
Rudi Chiarito
42e1e7aed4 kubectl: display ExternalName for services
Also add ExternalIPs in `describe`
2016-08-23 09:51:17 -04:00
Huamin Chen
dea4b0226d support Azure data disk volume
Signed-off-by: Huamin Chen <hchen@redhat.com>
2016-08-23 13:23:07 +00:00
Kubernetes Submit Queue
4edc98260f Merge pull request #31109 from AdoHe/fix_get_cluster
Automatic merge from submit-queue

fix kubectl get cluster display issue

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

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

**Release note**:
`NONE`
2016-08-23 00:19:43 -07:00
lojies
f21c37db64 change to stderr 2016-08-23 14:51:56 +08:00
AdoHe
bf66113802 fix kubectl get cluster display issue 2016-08-23 10:25:01 +08:00
lojies
f5b7a6e2a3 add valid resources when args is nil 2016-08-23 09:40:57 +08:00
ohmystack
1ea3da1eb6 Fix named pipe in kubectl zsh completion
In zsh and bash, a multi-line named pipe, who is wrapped by
parenthesis, is possible to mismatch the right parenthesis, even that
parenthesis is in a here-document. So, we move the code into a
function, and use an inline named pipe.

Signed-off-by: ohmystack <jiangjun1990@gmail.com>
2016-08-23 01:42:05 +08:00
Xing Zhou
48100f7117 Fixed two issues of kubectl bosh completion.
This patch includes the fix of the following issue:
• Correct the method invocation from "__kubectl_namespace_flag"
  to "__kubectl_override_flags"
• Support bash completion if "--namespace=xxx" style flags are
  specified in the kubectl command

Fixes #31134
2016-08-23 01:13:38 +08:00
Michail Kargakis
51a894e616 kubectl: display ready replicas in 'get {rs,rc}' 2016-08-22 15:12:14 +02:00
Kubernetes Submit Queue
5b5a4145da Merge pull request #30821 from ardnaxelarak/21076_change_isEmpty_to_Empty
Automatic merge from submit-queue

Rename IsEmpty to Empty

addresses #21076
2016-08-22 00:54:28 -07:00
PingWang
0926f7d3f1 Optimise the DefaultGenerators function
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2016-08-22 10:43:15 +08:00
Kubernetes Submit Queue
d1ed6f598f Merge pull request #30614 from AdoHe/run_pull_policy
Automatic merge from submit-queue

kubectl run add pull-policy flag to control image pull policy

```release-note
Add support for --image-pull-policy to 'kubectl run'
```

Fix #30493 
@pwittrock @thockin ptal
2016-08-21 14:04:15 -07:00
Kubernetes Submit Queue
a956dd1c25 Merge pull request #25524 from AdoHe/kubectl_reorg
Automatic merge from submit-queue

update kubectl help output for better organization

## Pull Request Guidelines

1. Please read our [contributor guidelines](https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md).
1. See our [developer guide](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md).
1. Follow the instructions for [labeling and writing a release note for this PR](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes) in the block below.

```release-note
* Use the release-note-* labels to set the release note state 
* Clear this block to use the PR title as the release note 
-OR-
* Enter your extended release note here
```


[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-08-21 09:08:56 -07:00
Kubernetes Submit Queue
7272cd09e3 Merge pull request #26541 from sttts/sttts-kubectl-exec-rc
Automatic merge from submit-queue

Return container command exit codes in kubectl run/exec

Fixes https://github.com/kubernetes/kubernetes/issues/26424
Based on https://github.com/kubernetes/kubernetes/pull/25273.

TODO:
- [x] add e2e tests
- [x] investigate `kubectl run` exit code for `--restart=Never` (compare issue #24533 and PR #25253)
- [x] document exit codes
2016-08-21 00:44:55 -07:00
Kubernetes Submit Queue
7b78631754 Merge pull request #30713 from smarterclayton/incorrect_default
Automatic merge from submit-queue

ResourceNames() should prohibit unnamed arguments
2016-08-20 20:48:56 -07:00
Kubernetes Submit Queue
cbbcfe8ad8 Merge pull request #29849 from aveshagarwal/master-kubectl-describe-default-limits
Automatic merge from submit-queue

Fix kubectl describe to display a container's resource limit env vars as node allocatable when the limits are not set
2016-08-20 16:53:28 -07:00
Kubernetes Submit Queue
e9947d9ad7 Merge pull request #30813 from bprashanth/kubectl_petset
Automatic merge from submit-queue

Basic scaler/reaper for petset

Currently scaling or upgrading a petset is more complicated than it should be. Would be nice if this made code freeze on friday. I'm planning on a follow up change with generation number and e2es post freeze.
2016-08-20 10:51:07 -07:00
bindata-mockuser
e792d4117d Add return code support to kubectl-exec and -run 2016-08-20 15:58:47 +02:00
bindata-mockuser
6dcb0c9130 Rectify kubectl error output 2016-08-20 15:58:10 +02:00
Kubernetes Submit Queue
3c65fdc752 Merge pull request #30313 from juanvallejo/jvallejo_kube-remove-duplicate-error-msgs
Automatic merge from submit-queue

remove duplicate errors from aggregate error outputs

release-label-none

Duplicate error messages are sometimes shown when displaying aggregate errors:

`$ kubectl label pod/database-1-fn0r7 qwer1345%$$#=self`
```
* metadata.labels: Invalid value: "qwer1345%5602#": name part must match the regex ([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9] (e.g. 'MyName' or 'my.name' or '123-abc')
* metadata.labels: Invalid value: "qwer1345%5602#": name part must match the regex ([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9] (e.g. 'MyName' or 'my.name' or '123-abc')
* metadata.labels: Invalid value: "qwer1345%5602#": name part must match the regex ([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9] (e.g. 'MyName' or 'my.name' or '123-abc')
```

This patch removes any duplicate messages (adjacent or not) that appear in the final list of errors.
2016-08-20 02:18:46 -07:00
Kubernetes Submit Queue
c39f0eec4a Merge pull request #30993 from mksalawa/bump_heapster_version
Automatic merge from submit-queue

Bump heapster version

Bump heapster version to v1.2.0-beta.1.
Migrate metrics tests and HPA to use List objects introduced in the new version.
2016-08-19 19:36:53 -07:00
AdoHe
b411fe217f update kubectl help output for better organization 2016-08-20 08:03:39 +08:00
Kubernetes Submit Queue
3787a068fc Merge pull request #30955 from lojies/modifygetresource
Automatic merge from submit-queue

use valid_resources to replace kubectl.PossibleResourceTypes

```release
Fix resource list printed by kubectl help 
```

 `kubectl get` return 

> 
You must specify the type of resource to get. Valid resource types include:
   * componentstatuses (aka 'cs')
   * configmaps
   * daemonsets (aka 'ds')
   * deployments
   * events (aka 'ev')
   * endpoints (aka 'ep')
   * horizontalpodautoscalers (aka 'hpa')
   * ingress (aka 'ing')
   * jobs
   * limitranges (aka 'limits')
   * nodes (aka 'no')
   * namespaces (aka 'ns')
   * pods (aka 'po')
   * persistentvolumes (aka 'pv')
   * persistentvolumeclaims (aka 'pvc')
   * quota
   * resourcequotas (aka 'quota')
   * replicasets (aka 'rs')
   * replicationcontrollers (aka 'rc')
   * secrets
   * serviceaccounts (aka 'sa')
   * services (aka 'svc')
error: Required resource not specified.
See 'kubectl get -h' for help and examples.

while `kubectl get --help` return

> root@k8s-node1:~# kubectl get --help
Display one or many resources.
Possible resource types include (case insensitive): pods (po), services (svc), deployments,
replicasets (rs), replicationcontrollers (rc), nodes (no), events (ev), limitranges (limits),
persistentvolumes (pv), persistentvolumeclaims (pvc), resourcequotas (quota), namespaces (ns),
serviceaccounts (sa), ingresses (ing), horizontalpodautoscalers (hpa), daemonsets (ds), configmaps,
componentstatuses (cs), endpoints (ep), and secrets.
By specifying the output as 'template' and providing a Go template as the value
of the --template flag, you can filter the attributes of the fetched resource(s).
......

kubectl.PossibleResourceTypes missing some resouces such as jobs quota.
describe and explain have the same problem.

i think using valid_resources to replace kubectl.PossibleResourceTypes more suitable.
2016-08-19 15:49:15 -07:00
Kubernetes Submit Queue
56045bbd6a Merge pull request #30971 from lojies/removenil
Automatic merge from submit-queue

remove unnecessary err == nil

because if err != nil has returned err, so remove unnecessary err == nil.
2016-08-19 15:48:23 -07:00
Kubernetes Submit Queue
68c4190e60 Merge pull request #30579 from smarterclayton/strip_extra_newlines
Automatic merge from submit-queue

Describing a single item should not have extra newlines

@fabianofranz
2016-08-19 14:33:39 -07:00
Kara Alexandra
d12a66a422 Rename IsEmpty to Empty
Signed-off-by: Kara Alexandra <kalexandra@us.ibm.com>
2016-08-19 14:19:19 -07:00
Kubernetes Submit Queue
f51e834d63 Merge pull request #30445 from deads2k/get-raw
Automatic merge from submit-queue

add --raw for kubectl get

Adds a `--raw` option to `kubectl get` that allow you specify your URI, but use the transport built by `kubectl`.  This is especially useful when working with secured environments that require authentication and authorization to hit non-api endpoints.  For example, `kubect get --raw /metrics` or if you want to debug a watch with a view at the exact data `kubectl get --raw '/api/v1/namespaces/one/replicationcontrollers?watch=true'`.

@kubernetes/kubectl 
@fabianofranz fyi
2016-08-19 09:29:08 -07:00
mksalawa
ddf66e0dae Update Godeps. 2016-08-19 17:28:25 +02:00
mksalawa
2833119a15 Use List objects for metrics in kubectl top and HPA 2016-08-19 17:26:50 +02:00
Kubernetes Submit Queue
2099c6f495 Merge pull request #30767 from mksalawa/kubectltop
Automatic merge from submit-queue

Add percentage of used resources to node metrics.

Show percentage along with resource usage in 'kubectl top node' command.

Remove Storage column. (#30782)

Sample output:
```
$ kubectl top node

NAME                           CPU(cores)   CPU%      MEMORY(bytes)   MEMORY%   
kubernetes-master              238m         23%       1982Mi          53%       
kubernetes-minion-group-xxxx   62m          3%        1576Mi          21%       
kubernetes-minion-group-yyyy   68m          3%        1638Mi          21%       
kubernetes-minion-group-zzzz   42m          2%        1568Mi          20%
```

**Release note**
```release-note
NONE
```
2016-08-19 06:58:18 -07:00
Kubernetes Submit Queue
40367df750 Merge pull request #30590 from kevin-wangzefeng/taint-unique-by-key-effect
Automatic merge from submit-queue

make taints unique by <key, effect> on a node

closes #29362
2016-08-19 04:58:12 -07:00
mksalawa
566af82be3 Add percentage of used resources to node metrics. 2016-08-19 13:35:39 +02:00
lojies
a459a4a188 remove unnecessary err == nil 2016-08-19 14:34:27 +08:00
Kubernetes Submit Queue
c19e9cc89d Merge pull request #26044 from smarterclayton/multiversion_encode
Automatic merge from submit-queue

Guarantee that Encode handles nested objects again
2016-08-18 21:10:55 -07:00
lojies
f81fef1f04 use valid_resources to replace kubectl.PossibleResourceTypes 2016-08-19 09:42:46 +08:00
bprashanth
05aa040b0f Allow changes to container image for updates 2016-08-18 16:33:51 -07:00
Avesh
d794becfa4 Fix kubectl describe to display a container's resource limit env vars as
node allocatable when the limits are not set.
2016-08-18 15:25:46 -04:00
Kubernetes Submit Queue
dbc9063c17 Merge pull request #24977 from johscheuer/quobyte-plugin
Automatic merge from submit-queue

Quobyte Volume plugin

@quofelix and myself developed a volume plugin for [Quobyte](http://www.quobyte.com) which is a software-defined storage solution. This PR allows Kubernetes users to mount a Quobyte Volume inside their containers over Kubernetes.

Here are some further informations about [Quobyte and Storage for containers](http://www.quobyte.com/containers)
2016-08-18 11:46:37 -07:00
Clayton Coleman
e54d974a12
ResourcePrinter should pass all versions at once
Rather than one at a time.
2016-08-18 14:45:22 -04:00
Clayton Coleman
a7a7fd4631
Patch was not requesting a version to encode to 2016-08-18 14:45:01 -04:00
Johannes Scheuermann
eed42380f9 Initial Quobyte support 2016-08-18 17:13:50 +02:00
PingWang
cd158938b9 Optimise the ValidateBytes function
Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2016-08-18 19:23:10 +08:00
Jan Safranek
6e4d95f646 Dynamic provisioning V2 controller, provisioners, docs and tests. 2016-08-18 10:36:49 +02:00
Kubernetes Submit Queue
98bdd3967e Merge pull request #29825 from nak3/json-marshalindent
Automatic merge from submit-queue

Use MarshalIndent instead of marshal and indent
2016-08-17 19:02:32 -07:00
bprashanth
30f3cb9d26 Scaler and reaper for petset 2016-08-17 17:37:56 -07:00
Kubernetes Submit Queue
4b5fd43e24 Merge pull request #30250 from krousey/kctl_dynamic
Automatic merge from submit-queue

Change kubectl create to use dynamic client

https://github.com/kubernetes/kubernetes/issues/16764 https://github.com/kubernetes/kubernetes/issues/3955

This is a series of changes to allow kubectl create to use discovery-based REST mapping and dynamic clients.

cc @kubernetes/sig-api-machinery

**Release note**:
<!--  Steps to write your release note:
1. Use the release-note-* labels to set the release note state (if you have access) 
2. Enter your extended release note in the below block; leaving it blank means using the PR title as the release note. If no release note is required, just write `NONE`. 
-->
```release-note
kubectl will no longer do client-side defaulting on create and replace.
```
2016-08-17 14:48:56 -07:00
deads2k
1ed263e0e5 add --raw for kubectl get 2016-08-17 08:45:50 -04:00
Kubernetes Submit Queue
aedeccda95 Merge pull request #28352 from vefimova/fix_22986-1
Automatic merge from submit-queue

Added warning msg for `kubectl get`

- added warning description regarding terminated pods to `get` long help message
  - added printing of warning message in case of `get pods` if there are hidden pods

Fixes #22986  (initiall PR and discussion are here #26417)

## **Output examples:**
### # kubectl get pods
```
NAME                       READY     STATUS             RESTARTS   AGE
dapi-test-pod1             0/1       Terminating        0          22h
liveness-http              0/1       CrashLoopBackOff   11245      22d
ubuntu1-1206318548-oh9tc   0/1       CrashLoopBackOff   2336       8d
  info: 1 completed object(s) was(were) not shown in pods list. Pass --show-all to see all objects.

```

### #  kubectl get pods,namespaces
```
NAME                          READY     STATUS             RESTARTS   AGE
po/dapi-test-pod1             0/1       Terminating        0          22h
po/liveness-http              1/1       Running            11242      22d
po/ubuntu1-1206318548-oh9tc   0/1       CrashLoopBackOff   2335       8d
 info: 1 completed object(s) was(were) not shown in pods list. Pass --show-all to see all objects.

NAME             STATUS    AGE
ns/default       Active    89d
ns/kube-system   Active    41d
```

### # kubectl get pods -a
```
NAME                       READY     STATUS             RESTARTS   AGE
busybox                    0/1       Error              0          27d
dapi-test-pod1             0/1       Terminating        0          22h
liveness-http              0/1       CrashLoopBackOff   11245      22d
ubuntu1-1206318548-oh9tc   0/1       CrashLoopBackOff   2336       8d
```

### # kubectl get -h
```
Display one or many resources.

Possible resource types include (case insensitive): pods (aka 'po'), services (aka 'svc'), deployments (aka 'deploy'),
replicasets (aka 'rs'), replicationcontrollers (aka 'rc'), nodes (aka 'no'), events (aka 'ev'), limitranges (aka 'limits'),
persistentvolumes (aka 'pv'), persistentvolumeclaims (aka 'pvc'), resourcequotas (aka 'quota'), namespaces (aka 'ns'),
serviceaccounts (aka 'sa'), ingresses (aka 'ing'), horizontalpodautoscalers (aka 'hpa'), daemonsets (aka 'ds'), configmaps (aka 'cm'),
componentstatuses (aka 'cs), endpoints (aka 'ep'), petsets (alpha feature, may be unstable) and secrets.

This command will hide resources that have completed. For instance, pods that are in the Succeeded or Failed phases.
You can see the full results for any resource by providing the '--show-all' flag.

By specifying the output as 'template' and providing a Go template as the value
of the --template flag, you can filter the attributes of the fetched resource(s).

Examples:

.........
````
2016-08-17 05:11:50 -07:00
Kubernetes Submit Queue
c07ef7163c Merge pull request #30497 from ping035627/ping035627-patch-0811
Automatic merge from submit-queue

Add validation conditions for autoscale

When validate the value of max and min in autoscale.go, it should append all the invalid conditions to errs, and print the value.
2016-08-17 00:55:29 -07:00
Kubernetes Submit Queue
b22ba87ab3 Merge pull request #30165 from mikedanese/shortname
Automatic merge from submit-queue

add shortname for certificate signing request in kubectl

#30163
2016-08-17 00:54:13 -07:00
Kevin
1e2d560253 make taints unique by <key, effect> on a node 2016-08-17 15:40:33 +08:00
AdoHe
ca315e317b kubectl run add pull-policy flag to control image pull policy 2016-08-17 11:26:27 +08:00
Clayton Coleman
994e9e3c62
ResourceNames() should prohibit unnamed arguments
resource.Builder should prohibit empty resource names (the error is from
the wrong place) so that commands that work on multiple resources but
not resource types can properly limit errors.
2016-08-16 17:52:17 -04:00
juanvallejo
4b18f52fc9 add unit test for duplicate errors 2016-08-16 13:09:55 -04:00
juanvallejo
6e7df2c986 remove duplicate errors from aggregate error outputs 2016-08-16 13:09:52 -04:00
Kenjiro Nakayama
7d3cad6898 Use MarshalIndent instead of marshal and indent 2016-08-16 18:00:30 +09:00
Kris
b5235bccec Make kubectl replace use dynamic clients 2016-08-15 22:07:54 -07:00
Kris
7511412ca6 Make kubectl create use dynamic clients 2016-08-15 22:07:54 -07:00
Kris
24c441e96d kubectl/resource: Remove thirdparty special casing
And also remove some duplicate code while I'm at it.
2016-08-15 22:07:54 -07:00
Kris
63a512fe47 Add discovery mapper and dynamic typer to kubectl 2016-08-15 22:07:54 -07:00
PingWang
bc3b74a499 Add validation conditions for autoscale
Signed-off-by: PingWang <wang.ping5@zte.com.cn>

delete --min judgment

Signed-off-by: PingWang <wang.ping5@zte.com.cn>
2016-08-16 09:41:28 +08:00
vefimova
f20c40ed65 Added warning msg for kubectl get
- added warning description regarding terminated objects to `get` long help message
  - added printing of warning message in case of `get pods` if there are hidden pods
Fixes #22986
2016-08-15 22:49:37 +00:00
Mike Danese
ab730a7179 add a certificate signing request resource printer in kubectl 2016-08-15 09:57:17 -07:00
Clayton Coleman
6caf4d5a3f
Describing a single item should not have extra newlines 2016-08-15 12:28:15 -04:00
Kubernetes Submit Queue
a44baa0a48 Merge pull request #30383 from deads2k/fix-reaper
Automatic merge from submit-queue

speed up RC scaler

The RC scaler was waiting before starting the scale and then didn't use a watch to observe the result.  That led to longer than expected wait times.

@fabianofranz ptal.  You may want to sweep the rest of the file.  It could use some tidying with `RetryOnConflict` and `watch.Until`.
2016-08-13 01:05:00 -07:00
Kubernetes Submit Queue
f0e5dac1f1 Merge pull request #30247 from ardnaxelarak/28695_suppress_noisy_output
Automatic merge from submit-queue

Make more messages respect --quiet flag

Make following two messages respect `--quiet` in `kubectl run`
- `If you don't see a command prompt, try pressing enter.`
- `Pod "name" deleted`

Ref #28695
2016-08-12 21:34:14 -07:00
Kubernetes Submit Queue
612e3c2634 Merge pull request #30222 from hodovska/port-forward-cmd-struct
Automatic merge from submit-queue

kubectl/port-forward: complete/validate/run structure

```kubectl port-forward``` command is converted to a complete/validate/run kubectl command structure specified here: https://github.com/kubernetes/kubernetes/blob/master/docs/devel/kubectl-conventions.md#command-conventions
In this PR is also exposed the ready and stop channel for API consumer.

Fixes #16504
2016-08-12 20:58:53 -07:00
Kubernetes Submit Queue
a4acf08747 Merge pull request #30460 from juanvallejo/jvallejo_kube-add-zsh-compatibility-note-kubectl-completion
Automatic merge from submit-queue

Add zsh compatibility note `completion` cmd help

zsh completions are not supported on zsh versions < 5.2.

This patch advices user on supported versions of zsh when using the `completion`
command to avoid potential UX failure.

##### After
`$ kubectl completion -h`
```
Output shell completion code for the given shell (bash or zsh).

This command prints shell code which must be evaluation to provide interactive
completion of kubectl commands.

Examples:

$ source <(kubectl completion bash)

will load the kubectl completion code for bash. Note that this depends on the
bash-completion framework. It must be sourced before sourcing the kubectl
completion, e.g. on the Mac:

$ brew install bash-completion
$ source $(brew --prefix)/etc/bash_completion
$ source <(kubectl completion bash)

If you use zsh*, the following will load kubectl zsh completion:

$ source <(kubectl completion zsh)

* zsh completions are only supported in versions of zsh >= 5.2
```

```release-note
release-note-none
```

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/30460)
<!-- Reviewable:end -->
2016-08-12 10:16:50 -07:00
Kubernetes Submit Queue
6f20321833 Merge pull request #28509 from juanvallejo/jvallejo_update-human-readable-printer-signature
Automatic merge from submit-queue

Update HumanResourcePrinter signature w single PrintOptions param

release-note-none

- Makes [HumanReadablePrinter options field non-exported again](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/resource_printer.go#L346-349)
- Adds test-case for HumanReadablePrinter resource printing with aliases.
- Better formatting for saving resource "kind" aliases

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/28509)
<!-- Reviewable:end -->
2016-08-12 07:27:56 -07:00
Kubernetes Submit Queue
9c3d539313 Merge pull request #28844 from mksalawa/kubectltop
Automatic merge from submit-queue

Implement 'kubectl top' command

```release-note
Added 'kubectl top' command showing the resource usage metrics.
```

Sample output:

Nodes:
```
$ kubectl top node

NAME                           CPU       MEMORY    STORAGE   TIMESTAMP                         
kubernetes-minion-group-xxxx   76m       1468 Mi   0 Mi      Tue, 12 Jul 2016 17:37:00 +0200   
kubernetes-minion-group-yyyy   73m       1511 Mi   0 Mi      Tue, 12 Jul 2016 17:37:00 +0200   
kubernetes-minion-group-zzzz   46m       1506 Mi   0 Mi      Tue, 12 Jul 2016 17:37:00 +0200   
kubernetes-master              76m       2059 Mi   0 Mi      Tue, 12 Jul 2016 17:37:00 +0200   
```

Pods in all namespaces:
```
$ kubectl top pod --all-namespaces

NAMESPACE     NAME                                                 CPU       MEMORY    STORAGE   TIMESTAMP                         
default       nginx-1111111111-zzzzz                               0m        1 Mi      0 Mi      Tue, 12 Jul 2016 17:49:00 +0200   
kube-system   etcd-server-kubernetes-master                        4m        116 Mi    0 Mi      Tue, 12 Jul 2016 17:49:00 +0200   
kube-system   fluentd-cloud-logging-kubernetes-minion-group-xxxx   14m       110 Mi    0 Mi      Tue, 12 Jul 2016 17:49:00 +0200   
kube-system   kube-dns-v18-zzzzz                                   1m        6 Mi      0 Mi      Tue, 12 Jul 2016 17:49:00 +0200   
...
```

Pod with containers:
```
$ kubectl top pod heapster-v1.1.0-1111111111-miail --namespace=kube-system --containers

NAMESPACE     NAME                               CPU       MEMORY    STORAGE   TIMESTAMP                         
kube-system   heapster-v1.1.0-1111111111-miail   1m        42 Mi     0 Mi      Tue, 12 Jul 2016 17:52:00 +0200   
              heapster                           1m        26 Mi     0 Mi                                        
              eventer                            0m        3 Mi      0 Mi                                        
              heapster-nanny                     0m        6 Mi      0 Mi                                        
              eventer-nanny                      0m        6 Mi      0 Mi                                        
```

ref #11382

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/28844)
<!-- Reviewable:end -->
2016-08-12 06:50:43 -07:00
Dominika Hodovska
c5babe2396 expose ready/stop channel 2016-08-12 15:45:57 +02:00
Kubernetes Submit Queue
2ab58ea519 Merge pull request #30162 from juanvallejo/jvallejo_err-kube-run-on-invalid-image-value
Automatic merge from submit-queue

return err on `kubectl run --image` with invalid value

When running `kubectl run <configname> --image="Invalid$$%ImageValue%%__"`, a configuration is successfully created with an image name that is not a valid value for an image reference.

This patch validates that the image name is a valid image reference, and returns an error before creating a config if an invalid value is passed.

`$ kubectl run test --image="Invalid__%imagename"`
```
error: Invalid image name "Invalid__%imagename": invalid reference format
```

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/30162)
<!-- Reviewable:end -->
2016-08-12 06:09:26 -07:00
deads2k
553313f867 speed up RC scaler 2016-08-12 08:19:10 -04:00
Kubernetes Submit Queue
5c1e1573d2 Merge pull request #30461 from caesarxuchao/kubectl-gc
Automatic merge from submit-queue

Let kubectl delete rc and rs with DeleteOptions.OrphanDependents=false

so that when the garbage collector is enabled, RC and RS are deleted immediately without waiting for the garbage collector to orphan the pods.

There is no user visible changes, so we don't need a release note.

cc @fabioy

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/30461)
<!-- Reviewable:end -->
2016-08-12 01:55:11 -07:00
Kubernetes Submit Queue
c73b96d66d Merge pull request #25526 from lavalamp/fix-generated-code
Automatic merge from submit-queue

Fix code generators-- make scheme building composable

I needed to make some changes to make my other refactoring possible and this got rather large. 

We now provide a "SchemeBuilder" to help all of the api packages provide their scheme-building functions (addKnownTypes and friends) in a standardized way. This also allows generated deepcopies & conversions to be entirely self contained, the project will now build without them being present (as they can add themselves to the SchemeBuilder). (Although if you actually build without them, you will get reduced performance!)

Previously, there was no way to construct your own runtime.Scheme (e.g., to test), you had to use the api.Scheme object, which has all sorts of non-hermetic cruft in it. Now you can get everything from a package by calling the scheme builder's AddToScheme, including the generated functions, if they are present.

Next steps are to allow for declaring dependencies, and to standardize the registration & install code. (#25434)

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/25526)
<!-- Reviewable:end -->
2016-08-11 22:38:29 -07:00
Kubernetes Submit Queue
922477f987 Merge pull request #30381 from aveshagarwal/kubectl-describe-pod-display-tolerations
Automatic merge from submit-queue

Display pod tolerations with kubectl describe pod

@kubernetes/rh-cluster-infra @kubernetes/kubectl

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/30381)
<!-- Reviewable:end -->
2016-08-11 19:45:15 -07:00
Daniel Smith
f1fd638962 fix register.go files up + add test import 2016-08-11 17:06:54 -07:00
Kubernetes Submit Queue
91a3930331 Merge pull request #30362 from lixiaobing10051267/masterAppsClient
Automatic merge from submit-queue

check validation with no apps client in kubectl util factory

autoscaling client already exist:

		if c.c.AutoscalingClient == nil {
			return errors.New("unable to validate: no autoscaling client")

so following autoscaling client should be apps client:

		if c.c.AppsClient == nil {
			return errors.New("unable to validate: no autoscaling client")
		}

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/30362)
<!-- Reviewable:end -->
2016-08-11 12:54:14 -07:00
Chao Xu
bcc1b68d47 let kubectl delete rc and rs using explicit non-orphan delete options 2016-08-11 11:30:26 -07:00
juanvallejo
9eb98cfb58 Add zsh compatibility note completion cmd help 2016-08-11 13:49:44 -04:00
Avesh Agarwal
230251b030 Display pod tolerations with kubectl describe pod. 2016-08-11 12:52:50 -04:00
mksalawa
5df9fe684d Implement kubectl top command with subcommands. 2016-08-11 17:25:18 +02:00
lixiaobing10051267
254189a5f2 check validation with no apps client in kubectl util factory 2016-08-10 21:20:50 +08:00
Kubernetes Submit Queue
cc7d509e47 Merge pull request #30227 from soltysh/remove_seconds
Automatic merge from submit-queue

Remove seconds from scheduled jobs cron format

@erictune @janetkuo as promised this removes the seconds from the cron format

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/30227)
<!-- Reviewable:end -->
2016-08-10 03:50:30 -07:00
Maciej Szulik
902ecd85fc Remove seconds from scheduled jobs cron format 2016-08-10 11:15:33 +02:00
juanvallejo
af37981812 return err on kubectl run --image with invalid value 2016-08-09 15:05:44 -04:00
Timothy St. Clair
24993b0343 Update generated files due to dependency shift.
Also minor bug fix in federation api.
2016-08-09 10:41:09 -05:00
Dominika Hodovska
ae584d8114 kubectl: Convert port-forward cmd to complete/validate/run structure 2016-08-09 12:10:04 +02:00
Kubernetes Submit Queue
16621cd32d Merge pull request #30022 from juanvallejo/jvallejo_add-timeout-unit-to-scale-help
Automatic merge from submit-queue

Update scale cmd help to display duration "units" in --timeout usage

release-note-none

`kubectl scale` has `--timeout` option, but the help info does not give accepted time units.

The help info gives default value 0 without a unit, potentially misleading a user into thinking they need to pass the numbered time only.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.kubernetes.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.kubernetes.io/reviews/kubernetes/kubernetes/30022)
<!-- Reviewable:end -->
2016-08-08 17:58:02 -07:00
Kara Alexandra
4c959c0b23 Make more messages respect --quiet flag
- "If you don't see a command prompt, try pressing enter."
- "Pod "name" deleted"

Signed-off-by: Kara Alexandra <kalexandra@us.ibm.com>
2016-08-08 14:24:44 -07:00
Angus Salkeld
bd0b7528b5 Add "create deployment" sub-command 2016-08-08 13:24:30 +10:00
Angus Salkeld
42ca885edb Add "create service" sub-commands
This adds:
 create service clusterip
 create service nodeport
 create service loadbalancer
2016-08-08 12:31:21 +10:00
Angus Salkeld
2f7a1612db Fix namespace_test error message 2016-08-08 12:08:57 +10:00
Kubernetes Submit Queue
b91de274c7 Merge pull request #30129 from lixiaobing10051267/masterName
Automatic merge from submit-queue

make correction to two variables in inverse order

from Fprintf info ""Renaming %s to %s\n", it should be renamed from old to new.
2016-08-06 03:01:14 -07:00
Kubernetes Submit Queue
5f44431275 Merge pull request #30007 from ericchiang/kubectl-config-set-credentials-auth-providers
Automatic merge from submit-queue

kubectl config set-crentials: add arguments for auth providers

This PR adds `--auth-provider` and `--auth-provider-arg` flags to the
`kubectl config set-credentials` sub-command.

There's currently no way of interacting with the new auth provider framework added in #23066 through kubectl. You have to render a custom kubeconfig to use them. Additionally `kubectl config set` just sort of craps out when attempting to interact with authentication info objects (#29312).

This is a minimal implementation of allowing `kubect config set-credentials` to set fields for client auth providers.

cc @cjcullen @kubernetes/kubectl
2016-08-05 22:22:22 -07:00
Kubernetes Submit Queue
2537f66f0e Merge pull request #29230 from luxas/goimport
Automatic merge from submit-queue

Run goimport for the whole repo

While removing GOMAXPROC and running goimports, I noticed quite a lot of other files also needed a goimport format. Didn't commit `*.generated.go`, `*.deepcopy.go` or files in `vendor`

This is more for testing if it builds.
The only strange thing here is the gopkg.in/gcfg.v1 => github.com/scalingdata/gcfg replace.
cc @jfrazelle @thockin
2016-08-05 16:22:01 -07:00
Mike Danese
0ca2511b37 add shortname for certificate signing request 2016-08-05 14:17:14 -07:00
Kubernetes Submit Queue
e4b067efd0 Merge pull request #30125 from lixiaobing10051267/masterFormat
Automatic merge from submit-queue

Wrong format is used with single quotes in log

Wrong format is used with single quotes in log, should use ""
2016-08-05 10:29:52 -07:00
Davanum Srinivas
ecda7c60c1 Allow empty value for env in kubectl run
Fixes #28734
2016-08-05 08:47:53 -04:00
Kubernetes Submit Queue
a13efbc01a Merge pull request #30070 from deads2k/fix-alias
Automatic merge from submit-queue

replace improper create quota alias

`q` is not a shortname for `resourcequota`, so it shouldn't be an alias for `kubectl create resourcequota`.

@sttts ptal
2016-08-05 02:36:44 -07:00
lixiaobing10051267
849a8df35d make correction to two variables in inverse order 2016-08-05 16:17:01 +08:00
lixiaobing10051267
11f5ced9d3 Wrong format is used with single quotes in log 2016-08-05 15:23:23 +08:00
Kubernetes Submit Queue
e7d01097dc Merge pull request #29971 from caesarxuchao/fix-kubectl-rolling-update-with-gc
Automatic merge from submit-queue

[GarbageCollector] Fix kubectl rolling-update to work with GC

This changes the order of the [Rename()](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/rolling_updater.go#L532) function. After the change, Rename() first deletes the old RC and orphans its pods, then creates the new RC, which will then have a chance to adopt the orphaned pods.

This also fixes the "should support rolling-update to same image" [test](https://github.com/kubernetes/kubernetes/blob/master/test/e2e/kubectl.go#L915) when the garbage collector is on.

Here is the detailed explanation on why the test would have failed:
`kubectl rolling-update` will [rename](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/rolling_updater.go#L532-L546) the RC. It first creates the an identical RC (including spec.selectors) with the new name, then it deletes the existing RC. When GC is turned on, the newly created RC cannot adopt the existing pod, because it has a controllerRef pointing to the exising RC, so the new RC will create new pods and expect to see the creation. However, the new RC and the old RC have the same selector, so sometimes the old RC, instead of the new RC, has its [expectation lowered](https://github.com/kubernetes/kubernetes/blob/master/pkg/controller/replication/replication_controller.go#L346-L362), the new RC's expectation will stuck forever. The e2e test then times out when executing `kubectl delete newRC`, because there is the new RC will not scale down as its expectation is not fulfilled.

A side-note, we should fix [rm.getPodController()](https://github.com/kubernetes/kubernetes/blob/master/pkg/controller/replication/replication_controller.go#L346) to respect pod's controllerref, that will prevent similar bugs.

Also note that an old version `kubectl rolling-update` will not work with the GC. We cannot fix that.
2016-08-04 20:48:10 -07:00
Kubernetes Submit Queue
7921a9ce67 Merge pull request #25816 from soltysh/scheduledjob_kubectl
Automatic merge from submit-queue

ScheduledJob kubectl

@erictune the last part (kubectl) of the ScheduledJob, as usual builds on top of previous PRs, so only last 2 commits matter (the kubectl one and storage leftovers).

```release-note
* Introducing ScheduledJobs as described in [the proposal](https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/scheduledjob.md) as part of `batch/v2alpha1` version (experimental feature).
```
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-08-04 17:36:07 -07:00
Kubernetes Submit Queue
b8dbb3e34a Merge pull request #30045 from lojies/addalias
Automatic merge from submit-queue

add alias for createconfigmap

add Aliases for cmd create configmap.
this is a supplement for [https://github.com/kubernetes/kubernetes/pull/29652]
2016-08-04 16:25:58 -07:00
Eric Chiang
974473c45f kubectl config set-crentials: add arguments for auth providers
This PR adds `--auth-provider` and `--auth-provider-arg` flags to the
`kubectl config set-credentials` sub-command.
2016-08-04 16:23:40 -07:00
Kubernetes Submit Queue
8770b2e237 Merge pull request #29319 from juanvallejo/jvallejo_bugfix/single-resource-version-flag
Automatic merge from submit-queue

fix annotate.go single resource check

```release-note
Fix issue with kubectl annotate when --resource-version is provided.
```

When using `kubectl annotate` with a `--resource-version` on a resource, such as `kubectl annotate pod <pod_name> --resource-version=1820 description='myannotation'`, the command fails with the error: `error: --resource-version may only be used with a single resource`.

Upon printing the output of `resources` that the annotate command receives from cli args, it prints: `Resources:[pod <pod_name>]`. In other words, it treats the name of the resource as a second resource. This PR addresses this issue by using the resource builder `Singular` flag to determine if only a single resource was passed.
2016-08-04 13:26:50 -07:00
juanvallejo
620758c7e9 format resource printing with aliases 2016-08-04 12:01:25 -04:00
deads2k
0beca8e6be replace improper create quota alias 2016-08-04 08:02:14 -04:00
Kubernetes Submit Queue
c2614aee9a Merge pull request #29500 from lixiaobing10051267/masterFound
Automatic merge from submit-queue

Check all places to break the loop when object found

Check all places to break the loop when object found.
2016-08-03 20:05:15 -07:00
lojies
4426c5fd6f add alias for createconfigmap 2016-08-04 10:35:15 +08:00
Chao Xu
96c84303bd fix kubectl rolling-update when GC is enabled 2016-08-03 15:57:03 -07:00
Kubernetes Submit Queue
207e8836c0 Merge pull request #29921 from andreykurilin/kubectl_typos
Automatic merge from submit-queue

Fix various typos in kubectl
2016-08-03 13:43:32 -07:00
juanvallejo
d9dedfff5e add timeout units to cmds help example 2016-08-03 16:36:51 -04:00
Maciej Szulik
b5c68a9015 ScheduledJob kubectl changes 2016-08-03 17:25:37 +02:00
Kubernetes Submit Queue
1ac1865dd7 Merge pull request #29484 from kargakis/fix-scaler-error
Automatic merge from submit-queue

kubectl: notfound errors should not error out

Fixes the flake in https://github.com/kubernetes/kubernetes/issues/28378#issuecomment-234677846

@pwittrock ptal
2016-08-03 03:13:19 -07:00
Kubernetes Submit Queue
24216fe02f Merge pull request #26958 from resouer/util-line
Automatic merge from submit-queue

Refactoring runner resource container linedelimiter to it's own pkg

Continuing my work ref #15634

Anyone is ok to review this fix.
2016-08-03 02:26:12 -07:00
Kubernetes Submit Queue
4f9c3d52b2 Merge pull request #29163 from lojies/adderr
Automatic merge from submit-queue

add err return

Since err can be returned by previous code,  add err return.
2016-08-02 21:39:39 -07:00
Kubernetes Submit Queue
f2a9ba2339 Merge pull request #27392 from sjenning/old-kubectl-watch
Automatic merge from submit-queue

allow watching old resources with kubectl

Right now, one can not watch a resource with kubectl whose resourceVersion is outside the etcd watch window.  Specifying resourceVersion=0 returns the current object, then watches from the current index.

This PR changes the logic to use resourceVersion=0, which will work regardless of the resourceVersion of the object, and discard the first event if --watch-only is specified.

@ncdc @aveshagarwal
2016-08-02 14:44:20 -07:00
k8s-merge-robot
7a62b9c8d1 Merge pull request #29523 from fraenkel/service_names_rfc1035
Automatic merge from submit-queue

Allow service names up to 63 characters (RFC 1035)

fixes #3752
2016-08-02 10:33:16 -07:00
Andrey Kurilin
91cace347d Fix various typos in kubectl 2016-08-02 19:51:51 +03:00
Seth Jennings
461faae367 allow watching old resources with kubectl 2016-08-02 10:28:04 -05:00
Michael Fraenkel
b1e7e6cf46 Service names conform to RFC 1035 2016-08-02 08:42:15 -06:00
k8s-merge-robot
0fbd60fa30 Merge pull request #29187 from soltysh/multiversion_kubectl
Automatic merge from submit-queue

Create client from API version passed in config or use default

When creating a client read the `GroupVersion` value passed in the `restclient.Config`. If the passed `GroupVersion` does not match current group or is not enabled fallback to default `GroupVersion` for that group.

This PR should allow accessing `ScheduledJob` properly in `batch/v2alpha1`.

@smarterclayton @deads2k @caesarxuchao @lavalamp ptal
2016-08-02 06:10:26 -07:00
Lucas Käldström
c88a07ce1a Run goimports 2016-08-02 15:12:39 +03:00
k8s-merge-robot
ad0a44ea0b Merge pull request #29823 from alexbrand/config-context-msg
Automatic merge from submit-queue

Fix error msg in kubectl config get-contexts

Fixes #29822
2016-08-02 02:28:42 -07:00
k8s-merge-robot
44ea855713 Merge pull request #28239 from ApsOps/kubectl-expose-headless-svc
Automatic merge from submit-queue

Add a flag for `kubectl expose`to set ClusterIP and allow headless services

- Use `--cluster-ip=None` to create a headless service
- Fixes #10294
2016-08-02 01:18:19 -07:00
k8s-merge-robot
01cd7f326e Merge pull request #29621 from resouer/uuid
Automatic merge from submit-queue

Refactor uuid into its own pkg util/uuid

Continuing my work ref #15634

Anyone can review this if he/she wants.
2016-08-01 22:21:30 -07:00
Daniel Smith
b712bfd7ac Revert "Extend all to more resources" 2016-08-01 21:51:57 -07:00
abrand
20ae1b87cc Fix error msg in kubectl config get-contexts 2016-08-01 17:27:15 -04:00
abrand
82c700c896 Add get/delete cluster, delete context to kubectl 2016-08-01 17:04:13 -04:00
Michal Rostecki
59ca5986dd Print/log pointers of structs with %#v instead of %+v
There are many places in k8s where %+v is used to format a pointer
to struct, which isn't working as expected.

Fixes #26591
2016-08-01 22:27:56 +02:00
k8s-merge-robot
ed763b8034 Merge pull request #29419 from wangxing1517/remove_redundant_ToJSON
Automatic merge from submit-queue

Remove redundant ToJSON

<!--
Checklist for submitting a Pull Request

Please remove this comment block before submitting.

1. Please read our [contributor guidelines](https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md).
2. See our [developer guide](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md).
3. If you want this PR to automatically close an issue when it is merged,
   add `fixes #<issue number>` or `fixes #<issue number>, fixes #<issue number>`
   to close multiple issues (see: https://github.com/blog/1506-closing-issues-via-pull-requests).
4. Follow the instructions for [labeling and writing a release note for this PR](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes) in the block below.
-->

ToJSON in pkg/kubectl/resource/visitor.go#ValidateSchema is unnecessary, because "data" will be checked in schema.ValidateBytes [pkg/api/validation/schema.go] shortly.
2016-08-01 10:50:50 -07:00
k8s-merge-robot
95b4572e7c Merge pull request #28955 from dims/roadmap-extend-all
Automatic merge from submit-queue

Extend all to more resources

Added more things from the list here:
https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/cmd/cmd.go#L159

Note, did not add events as it did not seem useful to me. Since
this is just a list of messages generated by the system.

Related to a suggestion in issue #22337
2016-08-01 10:07:01 -07:00
Harry Zhang
c495397cae Refactor uuid into its own pkg 2016-07-30 00:07:02 -04:00
Harry Zhang
15d0f5cfd5 Move linedelimiter to it's own pkg
Refactoring resource container
2016-07-29 02:29:26 -04:00
k8s-merge-robot
96996985a0 Merge pull request #29737 from andreykurilin/fix_kubectl_help_cmd
Automatic merge from submit-queue

Fix kubectl help command

PR 48d47b1027 broke `kubectl help` command due
to wrong check `help for help cmd` .

Fixes #29736
2016-07-28 19:07:55 -07:00
k8s-merge-robot
b6b44b2d90 Merge pull request #29652 from lojies/shorthandconfigmaps
Automatic merge from submit-queue

add shorthand cm for configmaps

add shorthand 'cm' for configmaps.
2016-07-28 13:16:57 -07:00
Andrey Kurilin
b2f8ee4f12 Fix kubectl help command
PR 48d47b1027 broke `kubectl help` command due
to wrong check `help for help cmd` .

Fixed issue #29736
2016-07-28 17:47:03 +03:00
k8s-merge-robot
5c6c8eb9a6 Merge pull request #29531 from AdoHe/rolling_update_panic
Automatic merge from submit-queue

fix kubectl rolling update empty file cause panic issue

 ```release-note
Fix issue with kubectl panicing when passed files that do not exist.
```

Fix #29398 
@pwittrock @justinsb ptal. This just fix on the cmd layer, I am thinking whether we should return err from marshal&unmarshal if the reader is empty.
2016-07-28 01:54:56 -07:00
k8s-merge-robot
1f9c41dc3a Merge pull request #29495 from xiangpengzhao/fix-defer-fclose
Automatic merge from submit-queue

defer file.Close() in resource_printer.go
2016-07-27 19:19:34 -07:00
juanvallejo
1e71359a77 fix annotate.go single resource check 2016-07-27 10:41:05 -04:00
lojies
79f09cb687 add shorthand cm for configmaps 2016-07-27 10:54:11 +08:00
Dr. Stefan Schimanski
199f991f6a Add --scopes to kubectl-create-quota and add tests 2016-07-26 14:12:35 +02:00
Maciej Szulik
1e496fd8ce Create client from API version passed in config or use default
When creating a client read the GroupVersion value passed in the
restclient.Config. If the passed GroupVersion does not match current
group or is not enabled fallback to default GroupVersion for that group.
2016-07-26 11:54:25 +02:00
maaz khan
5b95524d65 Add support for kubectl create quota command 2016-07-26 11:32:08 +02:00
AdoHe
0949e08336 fix kubectl rolling update empty file cause panic issue 2016-07-26 02:37:55 -04:00
lojies
bf24ff00eb add err return 2016-07-26 08:55:53 +08:00
k8s-merge-robot
b4b430bf0d Merge pull request #28833 from tnguyen-rh/fix-docstring
Automatic merge from submit-queue

Fix docstring: Say "flag options" instead of "flag statements"

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-25 16:16:06 -07:00
k8s-merge-robot
c29f3238ec Merge pull request #26411 from zefciu/b17542
Automatic merge from submit-queue

Validation logic applied to edited file

The file that is submitted via ``edit`` is now subject to validation
logic as any other file. The validation flags were added to the ``edit``
command.

Fixes:  #17542
2016-07-25 09:18:55 -07:00
Davanum Srinivas
ccf4e4d61e Extend all to more resources
Added more things from the list here:
https://github.com/kubernetes/kubernetes/blob/master/pkg/kubectl/cmd/cmd.go#L159

Update the devel/kubectl-conventions.md with the rules mentioned by
a few folks on which resources could be added to the special 'all' alias

Related to a suggestion in issue #22337
2016-07-24 21:14:50 -04:00
Michail Kargakis
36522378f4 kubectl: notfound errors should not error out 2016-07-24 12:46:38 +02:00
lixiaobing10051267
be8d081539 Check all places to break the loop when object found 2016-07-23 13:49:04 +08:00
xiangpengzhao
236a225060 defer file.Close() in resource_printer.go 2016-07-22 23:24:01 -04:00
Wang Xing
6cabb084c3 Remove redundant ToJSON 2016-07-22 11:28:21 +08:00
Janet Kuo
623a97c685 Use patch when recording commands in kubectl set image 2016-07-21 15:33:34 -07:00
k8s-merge-robot
1cf3f1cf03 Merge pull request #29237 from ncdc/fixup-windows-term
Automatic merge from submit-queue

Fix Windows terminal handling

Fix some issues with Windows terminal handling with respect to TTYs that came up as part of the
code that adds support for terminal resizing.

cc @smarterclayton @sttts @csrwng
2016-07-21 07:24:13 -07:00
Wojciech Tyczynski
4d0d115690 Revert "add tokenreviews endpoint to implement webhook" 2016-07-21 09:40:35 +02:00
deads2k
2c4a9f2e8d interesting changes to add tokenreviews endpoint to implement webhook 2016-07-20 15:11:56 -04:00
Andy Goldstein
77b0547b3d Fix Windows terminal handling
Fix some issues with Windows terminal handling with respect to TTYs that came up as part of the
code that adds support for terminal resizing.
2016-07-20 13:37:14 -04:00
Michal Rostecki
3ed9768a51 Make "attach" and "exec" rejection in proxy more explicit
The more explicit regular expression for rejection makes a
possibility of accessing pods (or any other resources) which
contain "attach" or "exec" in their names via proxy API. It
was not possible before.

Also, the reference for "run" resource was removed, because
it doesn't exist in any of k8s APIs currently.

Fixes: #21464
2016-07-19 20:50:19 +02:00
Michal Fojtik
3095437300 Retry updating deployment only on update conflict error 2016-07-19 13:01:06 +02:00
k8s-merge-robot
e72f6a892d Merge pull request #28234 from damemi/record-false-bugfix
Automatic merge from submit-queue

Make sure --record=false is acknowledged when passed to commands

```release-note
Change setting "kubectl --record=false" to stop updating the change-cause when a previous change-cause is found.
```

Ensures that when `--record=false` is explicity set that no `ChangeCauseAnnotation`s are set on the object. Previously, if `--record=true` was used then all following actions triggered a `ChangeCauseAnnotation` even if `--record=false` was set, due to the prior `ChangeCauseAnnotation` existing.

Reference to bug report: https://bugzilla.redhat.com/show_bug.cgi?id=1351127

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-18 11:32:15 -07:00
k8s-merge-robot
f50bb73ed6 Merge pull request #26136 from AdoHe/kubectl_apply_overwrite
Automatic merge from submit-queue

kubectl apply add --overwrite flag

```release-note
Add "kubectl --overwrite" flag to automatically resolve conflicts between the modified and live configuration using values from the modified configuration.
```
fixes #17238

This PR just add the `--overwrite` flag, pkg/strategicpatch has already support overwrite. @bgrant0607 @jackgr ptal.
2016-07-18 10:47:53 -07:00
Thien-Thi Nguyen
165363a834 Fix docstring: Say "flag options" instead of "flag statements" 2016-07-18 11:58:40 +02:00
AdoHe
ddbd539d1e kubectl apply add --overwrite flag 2016-07-18 00:32:13 -04:00
Davanum Srinivas
2b0ed014b7 Use Go canonical import paths
Add canonical imports only in existing doc.go files.
https://golang.org/doc/go1.4#canonicalimports

Fixes #29014
2016-07-16 13:48:21 -04:00
Mike Dame
cfbf7da75b Make sure --record=false is acknowledged when passed to commands 2016-07-15 11:24:05 -04:00
k8s-merge-robot
423106ccee Merge pull request #28512 from smarterclayton/multirestmapper
Automatic merge from submit-queue

Implement a RESTMappings method

With the introduction of batch/v1 and batch/v2alpha1, any
MultiRESTMapper that has per groupversion mappers (as a naive discovery
client would create) would end up being unable to call RESTMapping() on
batch.Jobs. As we finish up discovery we will need to be able to choose
prioritized RESTMappings based on the service discovery doc.

This change implements RESTMappings(groupversion) which returns all
possible RESTMappings for that kind.  That allows a higher level call to
prioritize the returned mappings by server or client preferred version.

@deads2k
2016-07-15 05:13:55 -07:00
Szymon Pyżalski
b87ee3dff7 Validation logic applied to edited file
The file that is submitted via edit is now subject to validation
logic as any other file. The validation flags were added to the edit
command.

Fixes: #17542
2016-07-15 13:02:19 +02:00
k8s-merge-robot
98d769cf3d Merge pull request #27943 from ivan4th/refactor-printer-arguments
Automatic merge from submit-queue

Refactor Printer arguments

<!--
Checklist for submitting a Pull Request

Please remove this comment block before submitting.

1. Please read our [contributor guidelines](https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md).
2. See our [developer guide](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md).
3. If you want this PR to automatically close an issue when it is merged,
   add `fixes #<issue number>` or `fixes #<issue number>, fixes #<issue number>`
   to close multiple issues (see: https://github.com/blog/1506-closing-issues-via-pull-requests).
4. Follow the instructions for [labeling and writing a release note for this PR](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes) in the block below.
-->
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
Fixes #21260
2016-07-14 08:03:40 -07:00
k8s-merge-robot
50172148e4 Merge pull request #25273 from ncdc/exec-sigwinch
Automatic merge from submit-queue

Support terminal resizing for exec/attach/run

```release-note
Add support for terminal resizing for exec, attach, and run. Note that for Docker, exec sessions
inherit the environment from the primary process, so if the container was created with tty=false,
that means the exec session's TERM variable will default to "dumb". Users can override this by
setting TERM=xterm (or whatever is appropriate) to get the correct "smart" terminal behavior.
```

Fixes #13585
2016-07-14 07:26:49 -07:00
Ivan Shvedunov
5ed881c6c4 Refactor Printer arguments
Fixes #21260
2016-07-14 16:23:02 +03:00
Clayton Coleman
c077bac341
Implement a RESTMappings method
With the introduction of batch/v1 and batch/v2alpha1, any
MultiRESTMapper that has per groupversion mappers (as a naive discovery
client would create) would end up being unable to call RESTMapping() on
batch.Jobs. As we finish up discovery we will need to be able to choose
prioritized RESTMappings based on the service discovery doc.

This change implements RESTMappings(groupversion) which returns all
possible RESTMappings for that kind.  That allows a higher level call to
prioritize the returned mappings by server or client preferred version.
2016-07-13 21:18:53 -04:00
k8s-merge-robot
721eabf492 Merge pull request #28626 from juanvallejo/update-resource-builder-format-error
Automatic merge from submit-queue

update resource builder error message to be more clear

release-note-none

The error message given by command line `kubectl get` is sometimes of no help / not clear on what must be corrected, e.g.:
`kubectl get pod pod/database-1-i10b9`
error: when passing arguments in resource/name form, all arguments must include the resource 

##### Steps to Reproduce:
1. Run command "$ kubectl get pod pod/database-1-i10b9"  

##### Actual Result:
Get unfriendly error message which is of no help:
"error: when passing arguments in resource/name form, all arguments must include the resource"

##### Expected Result:
Error message should recommend end user to run this cli in good grammar: "$ kubectl get pod database-1-i10b9" or "$ kubectl get pod/database-1-i10b9"

##### Before
"error: when passing arguments in resource/name form, all arguments must include the resource"

##### After
"error: there is no need to specify a resource type as a separate argument when passing arguments in resource/name form (e.g. `kubectl get resource/<resource_name>` instead of `kubectl get resource resource/<resource_name>`"

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-13 14:42:02 -07:00
Andy Goldstein
3b21a9901b Support terminal resizing for exec/attach/run
Add support for terminal resizing for exec, attach, and run. Note that for Docker, exec sessions
inherit the environment from the primary process, so if the container was created with tty=false,
that means the exec session's TERM variable will default to "dumb". Users can override this by
setting TERM=xterm (or whatever is appropriate) to get the correct "smart" terminal behavior.
2016-07-13 17:06:16 -04:00
Andrey Kurilin
24a3c9009c Add link to diagram of kubectl rolling-update
fixes issue: #kubernetes/kubernetes.github.io#528
2016-07-13 20:17:07 +03:00
k8s-merge-robot
af1891ca03 Merge pull request #28531 from dims/fix-issues-28314
Automatic merge from submit-queue

Add custom-columns and custom-template-file to --help text
2016-07-13 06:09:25 -07:00
k8s-merge-robot
47d06dd9c2 Merge pull request #28606 from dims/fix-issues-19636
Automatic merge from submit-queue

Fix kubectl run to print object on dry run

Originally Authored By tnachen in PR:
https://github.com/kubernetes/kubernetes/pull/25842

Fixes #19636
2016-07-12 21:05:58 -07:00
k8s-merge-robot
0efd03810c Merge pull request #28801 from janetkuo/kubectl-run-silent
Automatic merge from submit-queue

Add --quiet to hide the 'waiting for pods to be running' message in kubectl run

Ref #28695  

@kubernetes/kubectl 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-07-12 16:37:22 -07:00
k8s-merge-robot
b543e61215 Merge pull request #26554 from kargakis/fix-expose-container-port
Automatic merge from submit-queue

kubectl: make --container-port actually work for expose

Even if it was recently deprecated, it should work as expected.

@kubernetes/kubectl
2016-07-12 13:12:53 -07:00
Janet Kuo
268b93ea75 Add --quiet to hide the 'waiting for pods to be running' message in kubectl run 2016-07-12 11:56:58 -07:00
Sergey Lukjanov
3c0f0474d3 Add "deploy" abbrev for deployments to kubectl 2016-07-12 16:52:17 +03:00
k8s-merge-robot
baa956b686 Merge pull request #27267 from kargakis/refactor-rollout-history
Automatic merge from submit-queue

kubectl: refactor rollout history to be more configurable

ChangeCauseAnnotation is hardcoded in PrintRolloutHistory and it needs
to be overriden since other resources that may need to be added in
`kubectl rollout history` may not use it. Instead of adding one more
method in the factory, refactor the existing HistoryViewer interface
to accomodate the change.

@kubernetes/kubectl
2016-07-12 03:00:20 -07:00
Michail Kargakis
ad33c5c087 kubectl: refactor rollout history to be more configurable
ChangeCauseAnnotation is hardcoded in PrintRolloutHistory and it needs
to be overriden since other resources that may need to be added in
`kubectl rollout history` may not use it. Instead of adding one more
method in the factory, refactor the existing HistoryViewer interface
to accomodate the change.
2016-07-12 10:36:14 +02:00
k8s-merge-robot
cef6f776f1 Merge pull request #27243 from smarterclayton/dont_alter_error
Automatic merge from submit-queue

resource.Builder should not alter error type from server
2016-07-11 16:42:08 -07:00
k8s-merge-robot
30c43e63af Merge pull request #26696 from gitfred/no-header-custom-column
Automatic merge from submit-queue

--no-header available now for custom-column

Change `CustomColumnsPrinter` to have `noHeader` boolean, also changed `GetPrinter` to receive this bool and pass it through.
One test `TestNewColumnPrinterFromSpecWithNoHeaders` added for checking if there is no headers in output for sure

fixes #24133
2016-07-11 16:11:23 -07:00
k8s-merge-robot
00d00cdac0 Merge pull request #26315 from dims/fix-issue-26303
Automatic merge from submit-queue

Support --all-namespaces in kubectl describe


Work In Progress :)

Fixes #26303
2016-07-10 08:00:23 -07:00
k8s-merge-robot
3b3f7fb09c Merge pull request #27977 from ciwang/move-storage-examples
Automatic merge from submit-queue

Move storage examples

Fixes #23671 

Consolidate storage examples into separate folders for storage and volume plugins
2016-07-08 21:45:38 -07:00
k8s-merge-robot
01c0f8cb54 Merge pull request #28587 from wojtek-t/remove_codec_from_content_config
Automatic merge from submit-queue

Remove Codec from ContentConfig.

This is the remaining cleanup after adding NegotiatedSerializer to ContentConfig.
2016-07-08 21:12:24 -07:00
k8s-merge-robot
b71b6eb8e8 Merge pull request #25646 from nhlfr/kubectl-petset-resource
Automatic merge from submit-queue

Include petsets in kubectl valid commands

Petsets are already implemented in kubectl, but there were no hints
for that subcommand.

Fixes #25615
2016-07-08 16:36:54 -07:00
Cindy Wang
fedc513658 Consolidated examples into storage/ and volume/ folders
Search and replace for references to moved examples

Reverted find and replace paths on auto gen docs

Reverting changes to changelog

Fix bugs in test-cmd.sh

Fixed path in examples README

ran update-all successfully

Updated verify-flags exceptions to include renamed files
2016-07-08 13:34:32 -07:00
Davanum Srinivas
c879e69f9f
Support --all-namespaces in kubectl describe
Fixes #26303
2016-07-08 11:45:38 -04:00
Davanum Srinivas
8b0868b76d
Fix kubectl run to print object on dry run
Originally Authored By tnachen in PR:
https://github.com/kubernetes/kubernetes/pull/25842

Fixes #19636
2016-07-08 11:00:08 -04:00
Wojciech Tyczynski
7403564366 Remove Codec from ContentConfig. 2016-07-08 13:53:09 +02:00
Angus Salkeld
eec08872c7 Move deployment utilities to there own package 2016-07-08 09:46:56 +02:00
k8s-merge-robot
1c8985160a Merge pull request #28573 from dims/fix-issue-7496-followup
Automatic merge from submit-queue

Follow up to PR 25640 - Cleanup newline and tweak help text

Follow up to PR https://github.com/kubernetes/kubernetes/pull/25640

* Remove redundant newline below Aliases:
* Renaming "Available Commands:" to "Available Sub-commands:"
2016-07-07 20:52:56 -07:00
k8s-merge-robot
5f2460b58c Merge pull request #21240 from thockin/validation_pt8
Automatic merge from submit-queue

Validation: Make validation func return error strings

Part of an ongoing series of validation cleanups.

This centralizes the error strings next to the code that checks the error conditions.  Future commits will refine the messages further and provide more utility validators.

I'm OK if this doesn't go into 1.2, but I am tired of rebasing :)  I suggest commit-by-commit review, which should go pretty quickly.  This was largely mechanical.

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/21240)
<!-- Reviewable:end -->
2016-07-07 14:37:11 -07:00
juanvallejo
17a4df2c31 update resource builder error message to be more clear 2016-07-07 16:32:26 -04:00
k8s-merge-robot
569008809f Merge pull request #28375 from duglin/removeContinue
Automatic merge from submit-queue

Remove unneeded continute

very minor but I noticed and it and it bugged me :-)

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-07-07 11:36:13 -07:00
Sylwester Brzeczkowski
19434e1b58 24133 fix: --no-headers works with custom columns now 2016-07-07 10:04:09 +02:00
k8s-merge-robot
2da247ffbc Merge pull request #26977 from joe2far/fix-help-strings
Automatic merge from submit-queue

Make kubectl help strings consistent
2016-07-07 00:12:22 -07:00
k8s-merge-robot
8741217179 Merge pull request #28547 from elyscape/completion-docs
Automatic merge from submit-queue

Reformat kubectl completion example text
2016-07-06 23:37:06 -07:00
k8s-merge-robot
f3d0d147eb Merge pull request #28305 from jlowdermilk/kubectl-convert-noise
Automatic merge from submit-queue

kubectl convert --local prints info message to stderr

fix #28298
2016-07-06 23:36:53 -07:00
Davanum Srinivas
e3146456d3
Change Commands to Sub-commands in help 2016-07-06 23:29:49 -04:00
Davanum Srinivas
59142694bf
Remove Extra line after Aliases 2016-07-06 23:28:11 -04:00
k8s-merge-robot
5fe54ac9ef Merge pull request #25640 from dims/fix-issue-7496
Automatic merge from submit-queue

kubectl should print usage at the bottom

Override the Usage: output using SetUsageTemplate. Just moved
the strings in the template to make sure we print Usage: at
the bottom of the output and not at the top.

Fixes issue #7496
2016-07-06 20:19:18 -07:00
Eli Young
f2f80a097d Reformat kubectl completion example text
This makes the description wrap properly in 80-character terminals.
2016-07-06 13:18:33 -07:00
k8s-merge-robot
c0579af684 Merge pull request #27844 from hodovska/1336632-hpa_flag_tips
Automatic merge from submit-queue

kubectl/autoscale: fix tips when validating --max flag

While autoscaling, it was not clear what was the reason of failed --max flag validation.
This fix divides reasons to:
- value not provided or too low
- value of max is lower than value of min

bug 1336632
Bugzilla link: https://bugzilla.redhat.com/show_bug.cgi?id=1336632
2016-07-06 08:40:14 -07:00
Davanum Srinivas
09fee66783
Add custom-columns and custom-template-file to --help text
Fixes #28314
2016-07-06 09:02:50 -04:00
k8s-merge-robot
58dc3ba31d Merge pull request #28217 from kargakis/simplify-rollbacker-interface
Automatic merge from submit-queue

kubectl: simplify Rollbacker interface

@kubernetes/kubectl
2016-07-06 05:23:41 -07:00
Davanum Srinivas
91f16364b8
kubectl should print usage at the bottom
Override the Usage: output using SetUsageTemplate. Just moved
the strings in the template to make sure we print Usage: at
the bottom of the output and not at the top.

Fixes issue 7496
2016-07-05 10:08:51 -04:00
Angus Salkeld
e0ce987f4e Add command "kubectl config get-contexts"
Note: Context is not a runtime object (doesn't have Kind and Version) so
      we can't use the resource_printer
2016-07-05 11:24:00 +02:00
Aman
e9e06d6826
Add a kubectl expose flag to give ClusterIP
- Use `--cluster-ip=None` to create a headless service
- Fixes #10294
2016-07-05 00:59:53 +05:30
Tim Hockin
766f44f715 Move IsSecretKey into util/validation 2016-07-03 02:19:09 -07:00
k8s-merge-robot
2f9feef9a6 Merge pull request #27048 from kargakis/ignore-only-409-in-scaler
Automatic merge from submit-queue

kubectl: ignore only update conflicts in the scaler

@kubernetes/kubectl is there any reason to retry any other errors?
2016-07-02 21:28:37 -07:00
Tim Hockin
189d4a5159 Make CIdentifier return error strings 2016-07-02 17:32:05 -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
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
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
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
Doug Davis
507c3f2802 Remove unneeded continute
very minor but I noticed and it and it bugged me :-)

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-07-01 11:30:43 -07:00
juanvallejo
7df60d6b64 display resource type as part of its name 2016-07-01 12:58:02 -04: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
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
Andrey Kurilin
48d47b1027 Implement custom help command for kubectl
Own implemenation 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 search query in short descriptions of commands in case of mismatch
with commands names.

fixes #25234
2016-07-01 00:35:56 +03:00
Jeff Lowdermilk
67cfd34354 kubectl convert --local prints info message to stderr 2016-06-30 13:20:38 -07:00
Doug Davis
930332751b Use CreatedByAnnotation contant
A nit but didn't want the strings to get out of sync.

Signed-off-by: Doug Davis <dug@us.ibm.com>
2016-06-30 10:12:26 -07:00
Andy Goldstein
67d929a3d2 Return immediately for singular get on error
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
```
2016-06-30 12:28:51 -04:00
Michal Fojtik
7ea28e42c0 Add MinReadySeconds to rolling updater 2016-06-30 13:13:08 +02:00
Michal Fojtik
7ba1e59d84 Describe container volume mounts 2016-06-30 11:01:10 +02:00
David McMahon
ef0c9f0c5b Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
k8s-merge-robot
3814809f07 Merge pull request #25736 from andreykurilin/diagram_kubectl_drain
Automatic merge from submit-queue

Add link to diagram of `kubectl drain`
2016-06-29 11:28:21 -07:00
k8s-merge-robot
42a5654383 Merge pull request #25612 from mbohlool/fix_error_msg
Automatic merge from submit-queue

Fixed misleading error message when a resource with no selector or na…

Commit:
- Fixed misleading error message when a resource with no selector or name is provided to kubectl delete or label command

This commit fixes #25541
2016-06-29 10:52:25 -07:00
k8s-merge-robot
90f47644f6 Merge pull request #28012 from sttts/sttts-kubectl-attach-err-non-existing-ctr
Automatic merge from submit-queue

kubectl attach: error out for non-existing containers

Currently, kubectl attach falls back to the first container which is pretty confusing.

Based on https://github.com/kubernetes/kubernetes/pull/27541.
2016-06-29 10:11:03 -07:00
Andrey Kurilin
21b218ce4f Add link to diagram of kubectl drain
issue kubernetes/kubernetes.github.io#501
2016-06-29 19:10:01 +03:00
k8s-merge-robot
084b598f4d Merge pull request #25876 from dshulyak/patch_change
Automatic merge from submit-queue

Use strategic patch to replace changeCause in patch command

This is partial rework of 11da9a7638
StrategicPatch will be used to update changeCause but failure wont affect command result

fixes: #24858
2016-06-29 08:34:50 -07:00
k8s-merge-robot
7f3da674f7 Merge pull request #26680 from olegshaldybin/fake-clientset-registry
Automatic merge from submit-queue

Track object modifications in fake clientset

Fake clientset is used by unit tests extensively but it has some
shortcomings:

- no filtering on namespace and name: tests that want to test objects in
  multiple namespaces end up getting all objects from this clientset,
  as it doesn't perform any filtering based on name and namespace;

- updates and deletes don't modify the clientset state, so some tests
  can get unexpected results if they modify/delete objects using the
  clientset;

- it's possible to insert multiple objects with the same
  kind/name/namespace, this leads to confusing behavior, as retrieval is
  based on the insertion order, but anchors on the last added object as
  long as no more objects are added.

This change changes core.ObjectRetriever implementation to track object
adds, updates and deletes.

Some unit tests were depending on the previous (and somewhat incorrect)
behavior. These are fixed in the following few commits.
2016-06-29 06:04:33 -07:00
Dmitry Shulyak
d81f7a0f22 Use strategic patch to replace changeCause in patch command 2016-06-29 15:20:38 +03:00
joe2far
25b4341dc7 Make kubectl help strings consistent 2016-06-29 12:50:24 +01:00
Michail Kargakis
2451df4e6c kubectl: simplify Rollbacker interface 2016-06-29 13:30:00 +02:00
k8s-merge-robot
de0c033570 Merge pull request #27358 from lukaszo/restarts
Automatic merge from submit-queue

Show restart count for init containers

Coutner is reset for normal containers.
fixes issue: #26892
2016-06-29 03:22:10 -07:00
k8s-merge-robot
1a1a4709b9 Merge pull request #28093 from dubstack/dubstack-refactor-qos2
Automatic merge from submit-queue

[Refactor] Make QoS naming consistent across the codebase

@derekwaynecarr @vishh PTAL. Can one of you please attach a LGTM.
2016-06-29 02:36:22 -07:00
nikhiljindal
88b10b1dc0 Removing unneeded fields from Cluster API object 2016-06-28 17:12:57 -07:00
k8s-merge-robot
70daa166c2 Merge pull request #23830 from sttts/sttts-bash-completion-override-flags
Automatic merge from submit-queue

Add awareness of more override flags in bash-completion

Add awareness during completion for
- `--kubeconfig`
- `--cluster`
- `--user`
- `--context`
- `--server`

TODO:
- [ ] ~~add completion for the upper flags themselves~~ (out of scope)

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/23830)
<!-- Reviewable:end -->
2016-06-28 13:59:13 -07:00
k8s-merge-robot
32eccd413f Merge pull request #25562 from gtank/certificates-api-v9
Automatic merge from submit-queue

TLS bootstrap API group (alpha)

This PR only covers the new types and related client/storage code- the vast majority of the line count is codegen. The implementation differs slightly from the current proposal document based on discussions in design thread (#20439). The controller logic and kubelet support mentioned in the proposal are forthcoming in separate requests.

I submit that #18762 ("Creating a new API group is really hard") is, if anything, understating it. I've tried to structure the commits to illustrate the process.

@mikedanese @erictune @smarterclayton @deads2k

```release-note-experimental
An alpha implementation of the the TLS bootstrap API described in docs/proposals/kubelet-tls-bootstrap.md.
```

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-28 13:25:22 -07:00
k8s-merge-robot
13bb931b60 Merge pull request #26761 from matchstick/dedent
Automatic merge from submit-queue

Dedent

Adding the dedent package and then applying it to the kubectl help commands. Also updating the documentation to reflect the use of dedent.
2016-06-28 12:50:59 -07:00
Dr. Stefan Schimanski
0acca44dc1 Error out on non-existing container in kubectl attach 2016-06-28 21:11:29 +02:00
George Tankersley
34506faf97 kubectl: add certificates group 2016-06-28 12:05:40 -07:00
Dr. Stefan Schimanski
e78d7749a5 Add awareness of more override flags in bash-completion 2016-06-28 20:56:36 +02:00
Oleg Shaldybin
3b15d5be19 Use correct namespace in unit tests that use fake clientset
Fake clientset no longer needs to be prepopulated with records: keeping
them in leads to the name conflict on creates. Also, since fake
clientset now respects namespaces, we need to correctly populate them.
2016-06-28 11:26:34 -07:00
Michal Rostecki
d285faaf8a Include petsets in kubectl valid commands
Petsets are already implemented in kubectl, but there were no hints
for that subcommand.

Fixes #25615
2016-06-28 08:07:11 +02:00
k8s-merge-robot
e32b871637 Merge pull request #26771 from kargakis/use-pod-namespacer
Automatic merge from submit-queue

kubectl: fix sort logic for logs

@kubernetes/kubectl
2016-06-27 21:33:59 -07:00
Michael Rubin
760b04e294 Use dedent for the kubectl commands
The one side effect is that for the "kubectl help" commands a newline
is prepended to output, which will alter the yaml output.

Here we use dedent to format the code to match the output.

hack/update-generated-docs.sh has been run and the affected files have
been added.

Note: for describe.go we added a period to the end of an output message.
2016-06-26 22:51:14 -07:00
Buddha Prakash
4acb64f8bd Make Qos naming consistent across the codebase 2016-06-26 16:19:47 -07:00
k8s-merge-robot
d64333419c Merge pull request #27749 from dubstack/dubstack-refactor-qos
Automatic merge from submit-queue

[Refactor] QOS to have QOS Class type for QoS classes

This PR adds a QOSClass type and initializes QOSclass constants for the three QoS classes.
It would be good to use this in all future QOS related features. 
This would be good to have for the (Pod level cgroups isolation proposal)[https://github.com/kubernetes/kubernetes/pull/26751] that i am working on aswell.
@vishh PTAL
 
Signed-off-by: Buddha Prakash <buddhap@google.com>
2016-06-26 06:23:23 -07:00
k8s-merge-robot
7fbf4ac625 Merge pull request #27541 from gitfred/attach-init-con
Automatic merge from submit-queue

Fix attach command for InitContainers

Added InitContainers to the things that GetContainer in attach.go has to look for to find a container to attach. Also test case added.

fixes #27540
2016-06-26 00:04:49 -07:00
k8s-merge-robot
a6f6a74a9d Merge pull request #27359 from sttts/sttts-kubectl-exec-not-running
Automatic merge from submit-queue

Add not-running check to kubectl-exec

Different cases:
- pod is started, container terminated: 
```
error: error executing remote command: error executing command in container: container not found ("sleep1")
```
- pod has terminated:
```
error: cannot exec into a container in a completed pod; current phase is Succeeded
```
- container does not exist in pod spec:
```
Error from server: container foo is not valid for pod multi-container
```

Fixes https://github.com/openshift/origin/issues/8472#event-681794952
2016-06-25 21:31:03 -07:00
k8s-merge-robot
84c8158b2a Merge pull request #27263 from sttts/sttts-kubectl-attach-cmdName
Automatic merge from submit-queue

Dynamically derive AttachOptions.CommandName

This PR sets AttachOptions.CommandName dynamically depending on the corba Command
hierarchy. If the root command is named e.g. "oc" (for the OpenShift cli) this
will result in "oc attach" instead of the static "kubectl attach" before this
patch.

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1341450
2016-06-25 18:40:56 -07:00
k8s-merge-robot
951b591716 Merge pull request #26722 from deads2k/local-patch
Automatic merge from submit-queue

let patch use --local flag like `kubectl set image`

Adds the concept of a `--local` flag to `kubectl patch`.  This flag is similar to `kubectl set image -f --local` because it will use the content of the file as the input to the patch operation instead of using the file content to file resource/name tuples.  

This pull lets you run something like `kubectl create deployment --dry-run -o yaml | kubectl set volume --local -f - -o yaml | kubectl patch --local -f - --patch {} | kubectl create -f -`

As proof that it works, you can run against a local file just to mess around with it, but `--local -f -` is the most likely case.
```
$kubectl patch --local -f pkg/api/validation/testdata/v1/validPod.yaml --patch='{"spec": {"restartPolicy":"Never"}}'
apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    name: redis-master
  name: name
spec:
  containers:
  - args:
    - this
    - is
    - an
    - ok
    - command
    image: gcr.io/fake_project/fake_image:fake_tag
    name: master
    resources: {}
  restartPolicy: Never
status: {}
```

This is useful for setting rarely used, but immutable fields from `kubectl create` or `kubectl convert` without dropping to an interactive editor.

Some discussion here: https://github.com/kubernetes/kubernetes/issues/21648#issuecomment-218579977

@smarterclayton @kubernetes/kubectl 
 @eparis @soltysh @stevekuznetsov we've talked about this separately
2016-06-25 10:00:41 -07:00
k8s-merge-robot
81c8fe37e6 Merge pull request #26598 from janetkuo/3rd-party-error-logs
Automatic merge from submit-queue

Add more information when throwing errors in discoverying 3rd party resources

#26425


[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-25 09:25:58 -07:00
k8s-merge-robot
99951007ff Merge pull request #26539 from ripcurld00d/fix_json_template_url
Automatic merge from submit-queue

Update the jsonpath template URL

It seems like http://releases.k8s.io/HEAD/docs/user-guide/jsonpath.md redirects to http://kubernetes.io/docs/user-guide/jsonpath/.

Therefore, updating to the new URL where is required.

Relate to https://github.com/openshift/origin/pull/9013
2016-06-25 08:17:31 -07:00
k8s-merge-robot
7c355e18a7 Merge pull request #25085 from metral/recursive-edit
Automatic merge from submit-queue

enable recursive processing in kubectl edit

This PR was split out of https://github.com/kubernetes/kubernetes/pull/23673 per @deads2k's suggestion: https://github.com/kubernetes/kubernetes/pull/23673#discussion_r61291178

It makes use of the recursive processing of a directory in `kubectl edit`
2016-06-24 23:59:54 -07:00
Buddha Prakash
c3551ae6cd Refactor qos package
Signed-off-by: Buddha Prakash <buddhap@google.com>
2016-06-24 15:36:04 -07:00
k8s-merge-robot
ce0227bb8b Merge pull request #27402 from pwittrock/owners
Automatic merge from submit-queue

Remove bgrant from owners since he has plenty to do.

@bgrant0607 FYI

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-24 13:56:59 -07:00
Sylwester Brzeczkowski
a558cadedd Fix attach command for InitContainers 2016-06-24 14:35:02 +02:00
Vishnu kannan
fc3101f515 remove reference to documentation webpage from kubectl describe nodes output
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-06-23 16:28:01 -07:00
Dominika Hodovska
59db75f893 kubectl/autoscale: fix tips when validating --max flag
bug 1336632
Bugzilla link https://bugzilla.redhat.com/show_bug.cgi?id=1336632
2016-06-22 09:51:15 +02:00
Janet Kuo
ee81e5ebfa Retry Pod/RC updates in kubectl rolling-update 2016-06-21 16:08:10 -07:00
k8s-merge-robot
1fd4047961 Merge pull request #27549 from Clarifai/eventorder
Automatic merge from submit-queue

swap FIRSTSEEN/LASTSEEN columns in `kubectl get event -w`

```release-note
Show LASTSEEN, the sorting key, as the first column in `kubectl get event` output
```
Not having LASTSEEN as the first column can confuse users into thinking
that events are not delivered in order.

Fixes #27060
2016-06-21 00:09:53 -07:00
k8s-merge-robot
ca76cc0e9f Merge pull request #27566 from metral/clarify-docs
Automatic merge from submit-queue

clarify kubectl recursive flag description

Clarify the description of the recursive flag in `kubectl` so that it's more intuitive to the user

This should make it into v1.3 as the rest of the recursive feature PR's will be available in 1.3
2016-06-20 13:06:40 -07:00
k8s-merge-robot
b613908cf2 Merge pull request #27365 from derekwaynecarr/describe_allocatable
Automatic merge from submit-queue

kubectl describe node is allocatable aware

`kubectl describe node` will render node.status.allocatable if present.

in addition, it will report allocated resources relative to node.status.allocatable if present instead of capacity.

old code was confusing if you setup system-reserved and kube-reserved as allocated resource percentages were relative to node capacity and not schedulable amount of resources.

this is a small but valuable usability improvement, so i think it would be good to make 1.3 milestone.

/cc @kubernetes/sig-node @kubernetes/rh-cluster-infra @kubernetes/kubectl @davidopp
2016-06-20 13:06:35 -07:00
k8s-merge-robot
3df228fd76 Merge pull request #27431 from jsafrane/pv-events-print
Automatic merge from submit-queue

'kubectl describe pv' now shows events
2016-06-19 15:31:55 -07:00
goltermann
218645b346 Fix several spelling errors in comments. 2016-06-17 10:41:18 -07:00
Mike Metral
6b172657b0 clarify recursive flag description 2016-06-17 08:35:44 -07:00
Rudi Chiarito
bf873df1ee swap FIRSTSEEN/LASTSEEN columns in kubectl get event
Not having LASTSEEN as the first column can confuse users into thinking
that events are not delivered in order.

Fixes #27060
2016-06-16 14:39:41 -04:00
Dr. Stefan Schimanski
734f05057e Add pod-terminated check to kubectl-exec
Fixes https://github.com/openshift/origin/issues/8472#event-681794952
2016-06-16 19:44:47 +02:00
Phillip Wittrock
0ed3bd63e4 Remove bgrant from pkg/OWNERS and pkg/kubectl/OWNERS since he has plenty to do. 2016-06-16 08:21:27 -07:00
Jan Safranek
e1e9a41757 Show events in 'kubectl describe pv' 2016-06-15 14:17:02 +02:00
deads2k
ac64404d86 let patch use local file content to mutate 2016-06-14 14:38:00 -04:00
derekwaynecarr
65764c8ed2 kubectl describe node is allocatable aware 2016-06-14 13:06:47 -04:00
Łukasz Oleś
11e1188dbe Show restart count for init containers
Coutner is reset for normal containers.
fixes issue: #26892
2016-06-14 14:35:37 +02:00
k8s-merge-robot
0d02f8c0f6 Merge pull request #26557 from AdoHe/patch_retry
Automatic merge from submit-queue

kubectl apply retry stale resource version

```release-note
kubectl apply: retry applying a patch if a version conflict error is encountered
```

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

fixes #15493 
@pwittrock I just got my original implementation back, ptal.
2016-06-13 10:13:27 -07:00
Dr. Stefan Schimanski
65e2e63170 Set AttachOptions.CommandName from kubectl run using corba CommandPath
This sets AttachOptions.CommandName dynamically depending on the corba Command
hierarchy. If the root command is named e.g. "oc" (for the OpenShift cli) this
will result in "oc attach" instead of the static "kubectl attach" before this
patch.

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1341450
2016-06-13 17:16:35 +02:00
k8s-merge-robot
98f0d22bcc Merge pull request #26975 from ericchiang/kubectl-resource-printer-for-rbac-group
Automatic merge from submit-queue

pkg/kubectl: add resource printers for rbac api group

This PR adds the necessary kubectl printers for the rbac api group which we overlooked in previous PRs.

cc @erictune
2016-06-12 17:13:55 -07:00
Clayton Coleman
b2f72e6b1b
resource.Builder should not alter error type from server
The current helpful message loses the error type, which means
resource.Builder consumers can't filter errors or have downstream logic.

If the error is a known type, only mutate the message, not the message
type.
2016-06-11 19:22:54 -04:00
k8s-merge-robot
2ef20b41f6 Merge pull request #26686 from metral/fix-get-output
Automatic merge from submit-queue

fix recursive & non-recursive kubectl get of generic output format

This PR fixes the issues with `kubectl get` in https://github.com/kubernetes/kubernetes/issues/26466

Changes made:
- fix printing when using the generic output format in both non-recursive & recurvise settings to ensure that errors are being shown
- add tests to check printing generic output in a **non-recursive** setting with non-existent pods
- clean up the **recursive** `kubectl get` tests

/cc @janetkuo
2016-06-11 14:26:31 -07:00
Boaz Shuster
d6f69c0f22 Update the jsonpath template URL 2016-06-10 12:22:36 +03:00
Piotr Szczesniak
1818b5b3fc Added hpa/v1 generator to kubectl autoscale 2016-06-10 09:26:35 +02:00
k8s-merge-robot
f1ccc2f1be Merge pull request #26354 from csrwng/fix_visitor_error
Automatic merge from submit-queue

kubectl: fix URLVisitor error message

The status of a failed fetch will usually include the code, resulting in a duplicate code in the error message:
```
unable to read URL "http://git:8080/ruby-hello-world.git", server reported 401 401 Unauthorized
```

This change rearranges them so at least the message doesn't stutter (and includes the code in case it's not part of the status):
```
unable to read URL "http://git:8080/ruby-hello-world.git", server reported 401 Unauthorized, status code 401
```

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-09 02:43:27 -07:00
k8s-merge-robot
0b6e0e2b02 Merge pull request #26749 from Clarifai/describe-svc
Automatic merge from submit-queue

AWS: kubectl get service should print hostnames for LB services

Fixes #21526

Also test wide outputs. We only guarantee the first IP to be fully printed
if multiple ingresses are present. For AWS, which has no ingress IPs, but
only hostnames, the ELB hostname will be truncated, unless -o=wide is
specified.
2016-06-09 02:43:23 -07:00
k8s-merge-robot
5a5c490a43 Merge pull request #27057 from janetkuo/kubectl-run-server-discovery
Automatic merge from submit-queue

Don't ignore error when Discovery().ServerResources() in kubectl run

Ref #27014
This doesn't fix the flake directly, but expose the error happened when the flake happens. 

@kubernetes/kubectl @caesarxuchao 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-08 23:49:04 -07:00
AdoHe
69bcdc20ff kubectl apply retry stale resource version 2016-06-09 00:14:17 -04:00
Rudi Chiarito
40f76a95cb AWS: kubectl get service should print hostnames for LoadBalancer services
Fixes #21526

Also test wide outputs. We only guarantee the first IP to be fully printed
if multiple ingresses are present. For AWS, which has no ingress IPs, but
only hostnames, the ELB hostname will be truncated, unless -o=wide is
specified.
2016-06-08 19:29:48 -04:00
Matt Liggett
d09af4a1d6 Stop 'drain' deleting pods with local storage.
Unless forced with --delete-local-data.  Also a refactoring of the
kubectl drain logic that selects/rejects pods and produces error/warning
messages.
2016-06-08 14:59:03 -07:00
Janet Kuo
75c3cbcbfb Don't ignore error when Discovery().ServerResources() in kubectl run 2016-06-08 10:34:09 -07:00
Michail Kargakis
c7140b3749 kubectl: return more meaningful timeout errors 2016-06-08 18:03:49 +02:00
Michail Kargakis
a74f700b63 kubectl: ignore only update conflicts in the scaler 2016-06-08 18:03:49 +02:00
Eric Chiang
acfac5aff8 pkg/kubectl: add resource printers for rbac api group 2016-06-07 15:26:57 -07:00
Michail Kargakis
886014b1a3 kubectl: fix sort logic for logs
Use a separate sorting algorithm for kubectl logs that sorts from older
to newer instead of the other way that ActivePods is doing.
2016-06-07 10:52:42 +02:00
k8s-merge-robot
5c41b93d8b Merge pull request #26719 from pwittrock/kubectl-owners
Automatic merge from submit-queue

Add pwittrock to the kubectl OWNERS file



[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-06 13:46:13 -07:00
AdoHe
9d28bab847 make kubectl get ingress output more consistency 2016-06-04 22:43:51 -04:00
k8s-merge-robot
421c16addd Merge pull request #25894 from brendandburns/thirdparty-watch
Automatic merge from submit-queue

Fix third party

Fixes https://github.com/kubernetes/kubernetes/issues/25421
Fixes https://github.com/kubernetes/kubernetes/issues/25422

@AdoHe @sjenning @caesarxuchao @lavalamp 

@kubernetes/sig-api-machinery 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-04 15:42:41 -07:00
k8s-merge-robot
9bf1ce42f8 Merge pull request #26843 from AdoHe/describe_ingress
Automatic merge from submit-queue

update ingress describe output

refer #26684 for more detail. @bprashanth ptal.
2016-06-04 13:27:46 -07:00
k8s-merge-robot
95e2535682 Merge pull request #26793 from fabianofranz/expose_show_labels_in_printers
Automatic merge from submit-queue

Expose printer utils that append labels

So that it can be reused downstream. @smarterclayton 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-04 09:59:39 -07:00
k8s-merge-robot
22d405477b Merge pull request #26568 from derekwaynecarr/kubectl_qos
Automatic merge from submit-queue

Update kubectl describe pod to use pod level qos

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

/cc @vishh
2016-06-04 02:40:47 -07:00
AdoHe
ab743708fe update ingress describe output 2016-06-04 04:58:37 -04:00
derekwaynecarr
89ff3b2530 Update kubectl describe pod to use pod level qos 2016-06-03 15:32:32 -04:00
Fabiano Franz
8f62a196fd Expose print utils to append labels 2016-06-03 15:00:50 -03:00
k8s-merge-robot
525140a278 Merge pull request #26693 from AdoHe/init_containers
Automatic merge from submit-queue

exec support init containers

Partially fixes #25818 
@smarterclayton ptal.
2016-06-03 10:13:49 -07:00
AdoHe
1cfcb24f37 exec support init container 2016-06-03 02:05:15 -04:00
Mike Metral
4409eed57f fix recursive & non-recursive kubectl get of generic output format 2016-06-02 21:46:15 -07:00
Brendan Burns
328a8392b1 Fix third party 2016-06-02 10:24:14 -07:00
Phillip Wittrock
198c95d3d7 Add pwittrock to the kubectl OWNERS file 2016-06-02 09:21:25 -07:00
k8s-merge-robot
cae939b81c Merge pull request #26654 from janetkuo/e2e-deployment-list-rs
Automatic merge from submit-queue

List RSes once when getting old/new RSes in deployment e2e tests

Ref #26509 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-06-02 08:54:36 -07:00
k8s-merge-robot
8c66ffbddc Merge pull request #26581 from caesarxuchao/continue-25746
Automatic merge from submit-queue

fix kubectl patch example

Based on https://github.com/kubernetes/kubernetes/pull/25746, fix the kubectl example.

cc @tobstarr
2016-06-02 07:48:07 -07:00
Janet Kuo
2ced966cd5 List RSes once when getting old/new RSes in deployment e2e tests 2016-06-01 14:19:35 -07:00
Janet Kuo
4615d1e24c Add more information when throwing errors in discoverying 3rd party resources 2016-06-01 13:18:50 -07:00
Dr. Stefan Schimanski
026804c2be Fix kubectl --attach decription with deprecated --interactive 2016-06-01 13:21:39 +02:00
k8s-merge-robot
0a6a52b19d Merge pull request #26597 from caesarxuchao/fix-26425
Automatic merge from submit-queue

retry GetThirdPartyGroupVersions

GetThirdPartyGroupVersions() may return a "NotFound" error if a thirdparty group is deleted in the interim between the group-discovery and the resource-discovery. This is causing e2e flakes in all tests that run kubectl, because test/e2e/thirdparty.go is creating/deleting thirdparty groups.

Fix #26425

The e2e flakes will have the following pattern:
1. the test is calling kubectl
2. error message is `Error from server: the server could not find the requested resource`
3. in the apiserver log, you should see `GET /apis/company.com/v1: (518.944µs) 404 [[kubectl/v1.3.0 (linux/amd64) kubernetes/ae28564] 104.154.110.118:46043]`

For detail see [here](https://github.com/kubernetes/kubernetes/issues/26425#issuecomment-222844523)

cc @janetkuo @brendanburns
2016-06-01 00:02:43 -07:00
Chao Xu
7cea7ccd8d retry GetThirdPartyGroupVersions 2016-05-31 17:14:24 -07:00
Chao Xu
216649b822 fix kubectl patch example 2016-05-31 11:45:12 -07:00
k8s-merge-robot
d957e78a41 Merge pull request #25253 from soltysh/issue24533
Automatic merge from submit-queue

kubectl run --restart=Never creates pods

Fixes #24533.

@bgrant0607 @janetkuo ptal
/fyi @thockin

```release-note
* kubectl run --restart=Never creates pods
```
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-31 11:44:05 -07:00
k8s-merge-robot
ae1fb82cfc Merge pull request #26073 from piosz/remove-metrics-group
Automatic merge from submit-queue

Removed metrics api group

```release-note
Removed metrics api group
```
The group is empty and unused. Kubelet Metrics API is defined in Kubelet code. Master Metrics API is defined in Heapster. Removing to avoid the confusion.

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-31 03:50:24 -07:00
k8s-merge-robot
c805303644 Merge pull request #26162 from jszczepkowski/kubectl-fix2
Automatic merge from submit-queue

Fixed check in kubectl autoscale.

```release-note
Fixed check in kubectl autoscale: cpu consumption can be higher than 100%.
```

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

Fixed check in kubectl autoscale: cpu consumption can be higher than 100%. Fixes #25815.
2016-05-31 03:00:05 -07:00
Michail Kargakis
476208dec6 kubectl: make --container-port actually work for expose
Even if it was recently deprecated, it should work as expected.
2016-05-31 10:55:49 +02:00
Piotr Szczesniak
22dc21d703 Removed metrics api group 2016-05-31 09:48:39 +02:00
k8s-merge-robot
6a234a2cc2 Merge pull request #24882 from brendandburns/3rdparty
Automatic merge from submit-queue

Add support for 3rd party objects to kubectl label

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

@kubernetes/rh-ux
2016-05-30 07:24:51 -07:00
k8s-merge-robot
e531a7784e Merge pull request #26242 from metral/refactor-get
Automatic merge from submit-queue

fix recursive get for proper err display

- refactor code to use `Infos()` instead
- fixes https://github.com/kubernetes/kubernetes/issues/26241
2016-05-30 05:04:04 -07:00
Dr. Stefan Schimanski
a79a420fde Move shell completion generation into 'kubectl completion' command 2016-05-30 07:23:36 +02:00
k8s-merge-robot
63931d39a3 Merge pull request #26349 from kargakis/fix-reaper-not-found-error
Automatic merge from submit-queue

kubectl: cast scale errors to actual errors when deleting

Fixes some of the deployment reaper timeouts in e2e

@kubernetes/deployment @soltysh
2016-05-29 17:29:30 -07:00
k8s-merge-robot
72479b82e0 Merge pull request #26019 from gyuho/kubectl_slice_append
Automatic merge from submit-queue

pkg/kubectl: preallocate slice
2016-05-29 15:00:15 -07:00
k8s-merge-robot
10b271c6de Merge pull request #26078 from mfojtik/fix-nil-annnotations
Automatic merge from submit-queue

Fix panic when the namespace flag is not present

We don't set the namespace in OpenShift, so we need to check if the namespace flag is present.
2016-05-29 10:32:33 -07:00
Gyu-Ho Lee
a14a288c3f pkg/kubectl: preallocate slice
To avoid slice growth with append operations.
2016-05-29 02:09:39 -07:00
k8s-merge-robot
7813e90026 Merge pull request #25802 from dshulyak/sort_history
Automatic merge from submit-queue

Sort revisions in rollout history as integers

Previously keys were sorted as strings, thus it was possible to see such order as 1, 10, 2, 3, 4, 5.

fixes: #25788
2016-05-28 22:56:31 -07:00
k8s-merge-robot
9e31175795 Merge pull request #26161 from kargakis/move-print-method-in-the-factory
Automatic merge from submit-queue

kubectl: move printObjectSpecificMessage in factory

@smarterclayton @kubernetes/kubectl PTAL
2016-05-28 15:15:59 -07:00
k8s-merge-robot
03fc51f74f Merge pull request #26046 from timoreimann/stabilize-map-order-in-kubectl-describe
Automatic merge from submit-queue

Stabilize map order in kubectl describe

Refs #25251.

Add `SortedResourceNames()` methods to map type aliases in order to achieve stable output order for `kubectl` descriptors.

This affects QoS classes, resource limits, and resource requests.

A few remarks:

1. I couldn't find map usages for described fields other than the ones mentioned above. Then again, I failed to identify those programmatically/systematically. Pointers given, I'd be happy to cover any gaps within this PR or along additional ones.
1. It's somewhat difficult to deterministically test a function that brings reliable ordering to Go maps due to its randomizing nature. None of the possibilities I came up with (rely a "probabilistic testing" against repeatedly created maps, add complexity through additional interfaces) seemed very appealing to me, so I went with testing my `sort.Interface` implementation and the changed logic in `kubectl.describeContainers()`.
1. It's apparently not possible to implement a single function that sorts any map's keys generically in Go without producing lots of boilerplate: a `map[<key type>]interface{}` is different from any other map type and thus requires explicit iteration on the caller site to convert back and forth. Unfortunately, this makes it hard to completely avoid code/test duplication.

Please let me know what you think.
2016-05-28 10:49:57 -07:00
Michail Kargakis
3cbb6b0104 kubectl: move printObjectSpecificMessage in factory 2016-05-28 18:33:58 +02:00
k8s-merge-robot
e543bd6452 Merge pull request #26007 from smarterclayton/watch_opt
Automatic merge from submit-queue

Additional optimizations to the encode/decode paths

Builds on top of #25983 with a number of other optimizations.
2016-05-28 06:27:00 -07:00
k8s-merge-robot
a550cf16b9 Merge pull request #25826 from freehan/svcsourcerange
Automatic merge from submit-queue

promote sourceRange into service spec

@thockin  one more for your pile

I will add docs at `http://releases.k8s.io/HEAD/docs/user-guide/services-firewalls.md`

cc: @justinsb 

Fixes: #20392
2016-05-28 02:20:13 -07:00
Maciej Szulik
d76fa8a119 kubectl run --restart=Never creates pods 2016-05-28 07:08:32 +02:00
Minhan Xia
a1bd33f510 promote sourceRange into service spec 2016-05-26 10:42:30 -07:00
Cesar Wong
0800ed834c Fix URLVisitor error message 2016-05-26 09:20:42 -04:00
Michail Kargakis
748c71f3eb kubectl: cast scale errors to actual errors when deleting 2016-05-26 10:33:52 +02:00
Timo Reimann
32aa740fd3 Show resources in pod descriptions by sorted names.
Includes container and QoS resources.
2016-05-25 23:51:37 +02:00
Eric Chiang
323e804f39 add rbac for tests and kubectl 2016-05-25 14:25:56 -07:00
k8s-merge-robot
83c78fdcaa Merge pull request #24179 from aveshagarwal/master-downward-api-resources-limits-requests-implementation
Automatic merge from submit-queue

Downward API implementation for resources limits and requests

This is an implementation of Downward API for resources limits and requests, and it works with environment variables and volume plugin.

This is based on proposal https://github.com/kubernetes/kubernetes/pull/24051. This implementation follows API with magic keys approach as discussed in the proposal.

@kubernetes/rh-cluster-infra

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24179)
<!-- Reviewable:end -->
2016-05-25 03:38:49 -07:00
Mike Metral
950612eb5f fix recursive get for proper err display 2016-05-24 20:05:07 -07:00
k8s-merge-robot
50524c78a1 Merge pull request #20672 from brendandburns/dump
Automatic merge from submit-queue

Add a 'kubectl clusterinfo dump' option

Ref: #3500 

@bgrant0607 @smarterclayton @jszczepkowski 

Usage:
```
  # Dump current cluster state to stdout
  kubectl clusterinfo dump
  
  # Dump current cluster state to /tmp
  kubectl clusterinfo dump --output-directory=/tmp
  
  # Dump all namespaces to stdout
  kubectl clusterinfo dump --all-namespaces
  
  # Dump a set of namespaces to /tmp
  kubectl clusterinfo dump --namespaces default,kube-system --output-directory=/tmp
```

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/20672)
<!-- Reviewable:end -->
2016-05-24 14:24:17 -07:00
Avesh Agarwal
1931931494 Downward API implementation for resources limits and requests 2016-05-24 12:22:35 -04:00
Jerzy Szczepkowski
47a5c17aba Fixed check in kubectl autoscale.
Fixed check in kubectl autoscale: cpu consumption can be higher than 100%. Fixes #25815.
2016-05-24 14:56:25 +02:00
Dmitry Shulyak
4a60d3ce60 Sort revisions in rollout history as integers
Previously keys were sorted as strings, thus it was possible
to see such order as 1, 10, 2, 3, 4, 5.

Ints64 helper implemented in util/slice module to sort []int64
2016-05-24 10:04:05 +02:00
Brendan Burns
dac09311b8 Add support for labelling 3rd party objects 2016-05-23 13:13:35 -07:00
Michal Fojtik
f79998a9b1 Fix panic when the namespace flag is not present 2016-05-23 16:41:31 +02:00
k8s-merge-robot
a8ba289003 Merge pull request #25617 from smarterclayton/manage_deploy_logs
Automatic merge from submit-queue

Rolling updater should allow progress to be logged / detected
2016-05-22 23:45:24 -07:00
k8s-merge-robot
88766e8a68 Merge pull request #25600 from janetkuo/sort-by-timestamp
Automatic merge from submit-queue

Support sort-by timestamp in kubectl get

## Pull Request Guidelines

1. Please read our [contributor guidelines](https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md).
1. See our [developer guide](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md).
1. Follow the instructions for [labeling and writing a release note for this PR](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes) in the block below.

```release-note
```

**Before:**
```console
$ kubectl get svc --sort-by='{.metadata.creationTimestamp}'
proto: no encoder for TypeMeta unversioned.TypeMeta [GetProperties]
proto: tag has too few fields: "-"
proto: no coders for struct *reflect.rtype
proto: no encoder for sec int64 [GetProperties]
proto: no encoder for nsec int32 [GetProperties]
proto: no encoder for loc *time.Location [GetProperties]
proto: no encoder for Time time.Time [GetProperties]
proto: no coders for intstr.Type
proto: no encoder for Type intstr.Type [GetProperties]
F0513 16:46:49.499894   29562 sorting_printer.go:182] Field {.metadata.creationTimestamp} in TypeMeta:<kind:"Service" apiVersion:"v1" > metadata:<name:"kubernetes" generateName:"" namespace:"default" selfLink:"/api/v1/namespaces/default/services/kubernetes" uid:"b88b4739-1964-11e6-9ac3-64510658e388" resourceVersion:"8" generation:0 creationTimestamp:<2016-05-13T16:45:06-07:00> labels:<key:"component" value:"apiserver" > labels:<key:"provider" value:"kubernetes" > > spec:<ports:<name:"https" protocol:"TCP" port:443 targetPort:<type:0 intVal:443 strVal:"" > nodePort:0 > clusterIP:"10.0.0.1" type:"ClusterIP" sessionAffinity:"ClientIP" loadBalancerIP:"" > status:<loadBalancer:<> >  is an unsortable type: struct, err: unsortable type: struct
```

**After:**
```console
$ kubectl get svc --sort-by='{.metadata.creationTimestamp}'
NAME         CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   10.0.0.1     <none>        443/TCP   48s
frontend     10.0.0.108   <none>        80/TCP    10s
```
@kubernetes/kubectl 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-22 22:51:34 -07:00
Mike Metral
4913481b05 enable recursive processing in kubectl edit 2016-05-22 09:49:11 -07:00
k8s-merge-robot
39f0c6ba25 Merge pull request #24719 from bprashanth/kubectl_tls
Automatic merge from submit-queue

Add a kubectl create secret tls command

A somewhat hasty implementation that enables progress along: https://github.com/kubernetes/kubernetes/issues/20176#issuecomment-177409516, https://github.com/kubernetes/kubernetes/issues/24669, https://github.com/kubernetes/kubernetes/issues/20176#issuecomment-198142836 if associated parties have spare cycles. @kubernetes/kubectl

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24719)
<!-- Reviewable:end -->
2016-05-22 09:40:42 -07:00
k8s-merge-robot
6936b9ff21 Merge pull request #20918 from deads2k/fix-list-edit
Automatic merge from submit-queue

fix edit on list

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

This reverts the implementation that removed list editing capability, but leaves its tests intact.  This allows edits of lists to work, while still allowing mutation of the annotations.  It does this by walking each item and building per item patches.

The current implementation will do funny things if you delete entire list entries.  A followup could be written to locate the correct list item by name.  Right now, it just rejects the patch because its trying to change an immutable field.

@janetkuo @kubernetes/kubectl @kargakis
2016-05-22 07:12:18 -07:00
Clayton Coleman
c6961d6fd6
Remove runtime.Typer, reduce to ObjectKinds(1) (3)
Remove the unnecessary variants, which avoids allocations in several
core paths.
2016-05-21 23:55:42 -04:00
k8s-merge-robot
4d69e2c26a Merge pull request #25475 from soltysh/scheduledjob_client
Automatic merge from submit-queue

ScheduledJob client 

@erictune SheduledJob part 2, based on #24970 so first two commits doesn't count. 
This is still WIP, but it's here so you know :)

```release-note
Introducing ScheduledJobs as described in [the proposal](https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/scheduledjob.md) as part of `batch/v2alpha1` version (experimental feature).
```
[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-21 14:10:41 -07:00
k8s-merge-robot
d06fe0caf7 Merge pull request #25638 from caseydavenport/cd-network-policy-api
Automatic merge from submit-queue

Add NetworkPolicy API Resource

API implementation of https://github.com/kubernetes/kubernetes/pull/24154

Still to do:
- [x] Get it working (See comments)
- [x] Make sure user-facing comments are correct.
- [x] Update naming in response to #24154
- [x] kubectl / client support
- [x] Release note.

```release-note
Implement NetworkPolicy v1beta1 API object / client support.
```

Next Steps:
- UTs in separate PR.
- e2e test in separate PR.
- make `Ports` + `From` pointers to slices (TODOs in code - to be done when auto-gen is fixed)

CC @thockin 

[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-21 08:51:28 -07:00
Maciej Szulik
6510eb54d8 ScheduledJob client 2016-05-21 15:48:40 +02:00
k8s-merge-robot
2c471bce4e Merge pull request #25509 from janetkuo/kubectl-set-image
Automatic merge from submit-queue

Add 'kubectl set image'

```release-note
Add "kubectl set image" for easier updating container images (for pods or resources with pod templates). 
```

**Usage:**
```
kubectl set image (-f FILENAME | TYPE NAME) CONTAINER_NAME_1=CONTAINER_IMAGE_1 ... CONTAINER_NAME_N=CONTAINER_IMAGE_N
```
**Example:**
```console 
# Set a deployment's nginx container image to 'nginx:1.9.1', and its busybox container image to 'busybox'.
$ kubectl set image deployment/nginx busybox=busybox nginx=nginx:1.9.1

# Update all deployments' nginx container's image to 'nginx:1.9.1'
$ kubectl set image deployments nginx=nginx:1.9.1 --all

# Update image of all containers of daemonset abc to 'nginx:1.9.1'
$ kubectl set image daemonset abc *=nginx:1.9.1

# Print result (in yaml format) of updating nginx container image from local file, without hitting the server 
$ kubectl set image -f path/to/file.yaml nginx=nginx:1.9.1 --local -o yaml
```

I abandoned the `--container=xxx --image=xxx` flags in the [deploy proposal](https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/deploy.md#kubectl-set) since it's much easier to use with just KEY=VALUE (CONTAINER_NAME=CONTAINER_IMAGE) pairs. 

Ref #21648 
@kubernetes/kubectl @bgrant0607 @kubernetes/sig-config 


[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-20 07:13:45 -07:00
Casey Davenport
47248f3698 v1beta1 NetworkPolicy API definition and client support 2016-05-19 19:02:54 -07:00
Daniel Smith
5448400b1c Merge pull request #25243 from smarterclayton/explore_quantity
Provide an int64 version of Quantity that is much faster
2016-05-19 16:56:48 -07:00
Clayton Coleman
e5fbf86157
Allow StatusErrors to be modified after creation 2016-05-19 09:08:53 -04:00
Clayton Coleman
5e4308f91d
Update use of Quantity in other classes 2016-05-19 08:41:43 -04:00
k8s-merge-robot
c63ac4e664 Merge pull request #24331 from jsafrane/devel/refactor-binder
Automatic merge from submit-queue

Refactor persistent volume controller

Here is complete persistent controller as designed in https://github.com/pmorie/pv-haxxz/blob/master/controller.go

It's feature complete and compatible with current binder/recycler/provisioner. No new features, it *should* be much more stable and predictable.

Testing
--
The unit test framework is quite complicated, still it was necessary to reach reasonable coverage (78% in `persistentvolume_controller.go`). The untested part are error cases, which are quite hard to test in reasonable way - sure, I can inject a VersionConflictError on any object update and check the error bubbles up to appropriate places, but the real test would be to run `syncClaim`/`syncVolume` again and check it recovers appropriately from the error in the next periodic sync. That's the hard part.

Organization
---
The PR starts with `rm -rf kubernetes/pkg/controller/persistentvolume`. I find it easier to read when I see only the new controller without old pieces scattered around.
[`types.go` from the old controller is reused to speed up matching a bit, the code looks solid and has 95% unit test coverage].

I tried to split the PR into smaller patches, let me know what you think.

~~TODO~~
--

* ~~Missing: provisioning, recycling~~.
* ~~Fix integration tests~~
* ~~Fix e2e tests~~

@kubernetes/sig-storage

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24331)
<!-- Reviewable:end -->

Fixes #15632
2016-05-19 03:06:46 -07:00
Janet Kuo
a178b5d553 Support sort-by timestamp in kubectl get 2016-05-18 21:36:44 -07:00
Janet Kuo
4332472bde Add 'kubectl set image' 2016-05-18 21:23:17 -07:00
Kevin
52fb89ff73 implement taints and tolerations 2016-05-18 15:06:23 +00:00
k8s-merge-robot
e4e6e46197 Merge pull request #24799 from thockin/validation_pt8-2
Automatic merge from submit-queue

Make IsValidLabelValue return error strings

Part of the larger validation PR, broken out for easier review and merge.  Builds on previous PRs in the series.
2016-05-18 04:08:15 -07:00
k8s-merge-robot
5ffebfa303 Merge pull request #24016 from XiaoningDing/federation-kubectl
Automatic merge from submit-queue

Federation kubectl for clusters

add federation/clusters resource to kubectl
#23653, requires #23847

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24016)
<!-- Reviewable:end -->
2016-05-18 02:23:07 -07:00
Tim Hockin
66d0d87829 Make IsValidLabelValue return error strings 2016-05-17 21:36:10 -07:00
Brendan Burns
178b5f7638 address comments 2016-05-17 10:24:29 -07:00
Jan Safranek
af295719f6 Add events. 2016-05-17 15:14:11 +02:00
Prashanth Balasubramanian
daa8e29c5b Add a kubectl create secret tls command 2016-05-16 22:38:56 -07:00
Clayton Coleman
2a53330700
Describe and get should show init containers 2016-05-17 00:29:54 -04:00
Brendan Burns
d8daa07f08 address comments 2016-05-16 16:50:53 -07:00
Brendan Burns
092afb6285 Address comments. 2016-05-16 16:50:53 -07:00
Brendan Burns
3c9fb1b651 Add a 'kubectl clusterinfo dump' option 2016-05-16 16:50:53 -07:00
jianhuiz
6f8fc60d06 describe for clusters 2016-05-16 16:34:08 -07:00
jianhuiz
586eea0691 add get/create/delete for clusters 2016-05-16 16:34:08 -07:00
deads2k
0adc0ab5b2 make kubectl edit handle lists again 2016-05-16 11:02:10 -04:00
k8s-merge-robot
9cf6642531 Merge pull request #25110 from metral/recursive-rollout
Automatic merge from submit-queue

enable recursive processing in kubectl rollout

This PR was split out of https://github.com/kubernetes/kubernetes/pull/23673 per @deads2k's suggestion: https://github.com/kubernetes/kubernetes/pull/23673#discussion-diff-61290415

It makes use of the recursive processing of a directory in `kubectl rollout {undo,pause,resume}` which now also conforms to the [command conventions](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/kubectl-conventions.md#command-implementation-conventions).

`kubectl rollout history` is being omitted for the time being as its encountering what appears to be an anomaly of an issue: https://github.com/kubernetes/kubernetes/issues/24606. Once this issue has been resolved I will modify it to be recursive
2016-05-15 06:14:21 -07:00
k8s-merge-robot
5d6c5f5af8 Merge pull request #25022 from zhouhaibing089/sort-fix
Automatic merge from submit-queue

Support struct,array,slice types when sorting kubectl output

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

Briefly, `sorting_printer` only take cares of the following type kinds:

*   `reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64`
*   `reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64`
*   `reflect.Float32, reflect.Float64`
*   `reflect.String`
*   `reflect.Ptr`

This commit aims to add `reflect.Struct, reflect.Slice, reflect.Array`.

/cc @bgrant0607
2016-05-15 04:16:12 -07:00
Clayton Coleman
5d40f94feb
Rolling updater should allow progress to be logged / detected
Allows callers to terminate early as well as print useful messages
during the rollout. Use a crude percentage metric for summarization.
2016-05-14 22:54:02 -04:00
k8s-merge-robot
b8f1682695 Merge pull request #24090 from AdoHe/expose_rc
Automatic merge from submit-queue

fix expose multi protocols issue

Please refer #23882 for more detail. @bprashanth @bgrant0607 ptal.

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24090)
<!-- Reviewable:end -->
2016-05-14 07:15:58 -07:00
amehdy
0c5713084b Fixed misleading error message when a resource with no selector or name is provided to kubectl delete or label command 2016-05-14 02:04:35 -07:00
k8s-merge-robot
4486385bc6 Merge pull request #25267 from pwittrock/kubectl-retry-simple
Automatic merge from submit-queue

Retry fetching http urls passed to '-f' in kubectl.

## Pull Request Guidelines

1. Please read our [contributor guidelines](https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md).
1. See our [developer guide](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md).
1. Follow the instructions for [labeling and writing a release note for this PR](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes) in the block below.

```release-note
* kubectl now retries failed http gets for urls passed through the '-f' flag.
```


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

Closes #24089.
2016-05-13 22:44:24 -07:00
Matt Liggett
f5e8d41431 Finish implementing policy API.
Registry implementation and addition to the master.
2016-05-13 17:27:58 -07:00
Jeff Lowdermilk
8329b7d624 Merge pull request #25305 from AdoHe/pod_ip
add ip to pod wide output
2016-05-13 15:05:30 -07:00
k8s-merge-robot
ce80372573 Merge pull request #25500 from mml/2016
Automatic merge from submit-queue

It's 2016, yo.
2016-05-13 14:24:57 -07:00
k8s-merge-robot
399b086620 Merge pull request #23684 from luxas/auto_label_arch
Automatic merge from submit-queue

Automatically add node labels beta.kubernetes.io/{os,arch}

Proposal: #17981
As discussed in #22623:
> @davidopp: #9044 says cloud provider but can also cover platform stuff.

Adds a label `beta.kubernetes.io/platform` to `kubelet` that informs about the os/arch it's running on.
Makes it easy to specify `nodeSelectors` for different arches in multi-arch clusters.

```console
$ kubectl get no --show-labels
NAME        STATUS    AGE       LABELS
127.0.0.1   Ready     1m        beta.kubernetes.io/platform=linux-amd64,kubernetes.io/hostname=127.0.0.1
$ kubectl describe no
Name:			127.0.0.1
Labels:			beta.kubernetes.io/platform=linux-amd64,kubernetes.io/hostname=127.0.0.1
CreationTimestamp:	Thu, 31 Mar 2016 20:39:15 +0300
```
@davidopp @vishh @fgrzadkowski @thockin @wojtek-t @ixdy @bgrant0607 @dchen1107 @preillyme
2016-05-13 13:25:34 -07:00
Matt Liggett
2bc46d5085 It's 2016, yo. 2016-05-13 12:41:40 -07:00
Jeff Lowdermilk
e9aecf6b9e Merge pull request #25181 from janetkuo/kubectl-suggest
kubectl suggest for get (list, ps), and delete(rm)
2016-05-13 10:08:22 -07:00
Saad Ali
ab6c3121eb Merge pull request #25191 from rajdeepd/master
Added negative test case for namespace
2016-05-12 15:50:13 -07:00
Clayton Coleman
51b624103f
Change ConvertToVersion to use GroupVersion
Long delayed refactor, avoids a few more allocations.
2016-05-12 10:10:35 -04:00
Clayton Coleman
a84e62d9e6
Change ObjectKind signature to avoid allocations
We don't need to pass a pointer into SetGroupKindVersion() - a
struct works just as well.
2016-05-12 10:10:35 -04:00
k8s-merge-robot
0c2641d4ea Merge pull request #19946 from janetkuo/kubectl-rollout-status
Automatic merge from submit-queue

Add `kubectl rollout status`

## Pull Request Guidelines

1. Please read our [contributor guidelines](https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md).
1. See our [developer guide](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md).
1. Follow the instructions for [labeling and writing a release note for this PR](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes) in the block below.

```release-note
Implement `kubectl rollout status` that can be used to watch a deployment's rollout status
```

Addresses #17168; depends on #19882 (the "Add kubectl rollout" commit).
See [proposal](https://github.com/kubernetes/kubernetes/blob/master/docs/proposals/deploy.md#deployment-version). 

cc @bgrant0607 @nikhiljindal @ironcladlou @kargakis @kubernetes/sig-config @kubernetes/kubectl  @madhusudancs

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/19946)
<!-- Reviewable:end -->
2016-05-12 06:28:49 -07:00
Mike Metral
30f21fd431 enable recursive processing in kubectl rollout 2016-05-12 01:27:17 -07:00
Wojciech Tyczynski
2706df102b Merge pull request #25465 from wojtek-t/client_renegotiation
Support renegotiation in client based on response ContentType
2016-05-12 10:21:10 +02:00
Wojciech Tyczynski
5d046fed41 Fix tests for renegotiation 2016-05-12 08:21:11 +02:00
AdoHe
e830d03ffc add ip to pod wide output 2016-05-12 00:30:25 -04:00
k8s-merge-robot
4e57c80052 Merge pull request #24600 from pweil-/psp
Automatic merge from submit-queue

PSP admission

```release-note
Update PodSecurityPolicy types and add admission controller that could enforce them
```

Still working on removing the non-relevant parts of the tests but I wanted to get this open to start soliciting feedback.

- [x] bring PSP up to date with any new features we've added to SCC for discussion
- [x] create admission controller that is a pared down version of SCC (no ns based strategies, no user/groups/service account permissioning)
- [x] fix tests

@liggitt @pmorie - this is the simple implementation requested that assumes all PSPs should be checked for each requests.  It is a slimmed down version of our SCC admission controller

@erictune @smarterclayton
2016-05-11 21:26:45 -07:00
AdoHe
ad97cddb3e fix expose multi protocols issue 2016-05-12 00:07:07 -04:00
k8s-merge-robot
ac50a70992 Merge pull request #25459 from errm/misspell
Automatic merge from submit-queue

Corrects some misspellings in comments

This should help to make
https://goreportcard.com/report/k8s.io/kubernetes#misspell
look a little nicer.
2016-05-11 19:18:30 -07:00
Paul Weil
56193b7140 PSP types 2016-05-11 18:07:35 -04:00
k8s-merge-robot
e0f7de94f5 Merge pull request #25279 from piosz/hpa-ga
Automatic merge from submit-queue

Move internal types of hpa from pkg/apis/extensions to pkg/apis/autoscaling

ref #21577

@lavalamp could you please review or delegate to someone from CSI team?
@janetkuo could you please take a look into the kubelet changes?

cc @fgrzadkowski @jszczepkowski @mwielgus @kubernetes/autoscaling
2016-05-11 13:19:42 -07:00
k8s-merge-robot
7ae1dab280 Merge pull request #25172 from pwittrock/kubectl-apiversion
Automatic merge from submit-queue

Kubectl support for validating nested objects with different ApiGroups

## Pull Request Guidelines

1. Please read our [contributor guidelines](https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md).
1. See our [developer guide](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md).
1. Follow the instructions for [labeling and writing a release note for this PR](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes) in the block below.

```release-note
kubectl now supports validation of nested objects with different ApiGroups (e.g. objects in a List)
```


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

#24089
2016-05-11 10:11:55 -07:00
k8s-merge-robot
c042156590 Merge pull request #25444 from janetkuo/kubectl-set
Automatic merge from submit-queue

Add 'kubectl set'

## Pull Request Guidelines

1. Please read our [contributor guidelines](https://github.com/kubernetes/kubernetes/blob/master/CONTRIBUTING.md).
1. See our [developer guide](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/development.md).
1. Follow the instructions for [labeling and writing a release note for this PR](https://github.com/kubernetes/kubernetes/blob/master/docs/devel/pull-requests.md#release-notes) in the block below.

```release-note
```

Ref #21648, the parent `kubectl set` command; will add more sub-command in subsequent PRs. @kubernetes/kubectl 


[![Analytics](https://kubernetes-site.appspot.com/UA-36037335-10/GitHub/.github/PULL_REQUEST_TEMPLATE.md?pixel)]()
2016-05-11 05:15:32 -07:00
Ed Robinson
afdbad078a
Corrects some misspellings in comments
This should help to make
https://goreportcard.com/report/k8s.io/kubernetes#misspell
look a little nicer.
2016-05-11 08:16:13 +01:00
k8s-merge-robot
c10d12b7b7 Merge pull request #24923 from mwielgus/drain-refactor
Automatic merge from submit-queue

Small refactoring around drain - move drain logic to separate function.

cc: @piosz @fgrzadkowski
2016-05-10 19:44:21 -07:00
Fabio Yeon
0809b2be4d Merge pull request #25119 from XiaoningDing/api-shared-annotations
move shared annotations to new api/annotations package
2016-05-10 19:34:17 -07:00
Janet Kuo
eb58cd6676 Add 'kubectl set' 2016-05-10 17:24:25 -07:00
Fabio Yeon
a167a6b4df Merge pull request #25308 from AdoHe/deployment_panic
fix rollout nil panice issue
2016-05-10 15:51:22 -07:00
Janet Kuo
67becccda0 Add kubectl rollout status 2016-05-10 13:49:39 -07:00
Lucas Käldström
c28524fbab Add operatingsystem/architecture as node labels. Also, display that in status 2016-05-10 20:38:57 +03:00
Rajdeep Dua
51b5b895a8 release-note-none
Added negative test case for namespace
2016-05-10 09:55:14 -07:00
Phillip Wittrock
680b2b9d09 Kubectl support for validating nested objects with different ApiGroups (e.g. Lists containing objects in different api groups). Closes #24089 2016-05-09 19:38:40 -07:00
Phillip Wittrock
b9f9d130d7 Address PR comments 2 2016-05-09 16:23:15 -07:00
Phillip Wittrock
3d08c73767 Address PR Comments 1 2016-05-09 16:21:30 -07:00
Phillip Wittrock
75417ba3e4 Retry fetching http urls passed to '-f' in kubectl.
Closes #24089.
2016-05-09 15:58:17 -07:00
jianhuiz
441e206671 move server client shared annotations to new api/annotations package 2016-05-09 11:10:44 -07:00
Piotr Szczesniak
212b459817 Move internal types of hpa from pkg/apis/extensions to pkg/apis/autoscaling 2016-05-09 09:18:13 +02:00
Tim Hockin
527cb50583 Demand at least go1.6 2016-05-08 20:30:37 -07:00
k8s-merge-robot
41b7b04faf Merge pull request #24554 from ingvagabund/dhodovska-events-flag-for-describers
Automatic merge from submit-queue

Introduce events flag for describers

Printing events for a given object is not always needed. Thus, introducing --show-events=false to ``kubectl describe`` to skip events printing.

Fixes: #24239
2016-05-08 14:41:28 -07:00
k8s-merge-robot
f40fe7173b Merge pull request #24304 from cjcullen/cacheauth
Automatic merge from submit-queue

Support persisting config from kubecfg AuthProvider plugins

Plumbs through an interface to the plugin that can persist a `map[string]string` config for just that plugin. Also adds `config` to the AuthProvider serialization type, and `Login()` to the AuthProvider plugin interface.
Modified the gcp AuthProvider to cache short-term access tokens in the kubecfg file.

Builds on #23066 
@bobbyrullo @deads2k @jlowdermilk @erictune
2016-05-08 13:27:57 -07:00
k8s-merge-robot
53b3ef2122 Merge pull request #23988 from php-coder/kubectl_describe_multiline_labels
Automatic merge from submit-queue

kubectl describe: show multiple labels/annotations on multiple lines

Small UX improvement: when there is more than one label/annotation, it's more readable to see them on the different lines.

Before:
```console
$ kubectl describe svc
Name:			s2i-test
Namespace:		test2
Labels:			app=s2i-test,foo=bar
...
```
After:
```console
$ kubectl describe svc
Name:			s2i-test
Namespace:		test2
Labels:			app=s2i-test
				foo=bar
...
```
This change affects output of the labels/annotations in many of the sub-commands of the `kubectl describe`.

PTAL @smarterclayton @kargakis
2016-05-08 12:51:45 -07:00
k8s-merge-robot
601e09852c Merge pull request #23590 from kargakis/timeout-logs-attach
Automatic merge from submit-queue

kubectl: more sophisticated pod selection for logs and attach

Trying to get the logs or attach to an object other than a pod
will poll forever if that object has no replicas. This commit adds
a 20s timeout for polling.

@kubernetes/kubectl @deads2k @fabianofranz
2016-05-08 10:51:00 -07:00
CJ Cullen
86293810af Move ModifyConfig (and some related functions) into the clientcmd pkg. 2016-05-07 18:15:18 -07:00
AdoHe
d1480cd8df fix rollout nil panice issue 2016-05-07 10:06:13 -04:00
Janet Kuo
57c2a28b92 Clarify limit/requests flags in kubectl run 2016-05-06 16:32:43 -07:00
Robert Bailey
0db3ca4b50 Merge pull request #24989 from derekwaynecarr/fix_secret_cmd
Fix kubectl create secret/configmap to allow = values
2016-05-06 15:18:50 -07:00
Robert Bailey
385ae07bc6 Merge pull request #24919 from kargakis/avoid-panic-in-mapper
kubectl: avoid panic with nil gvk
2016-05-06 15:07:05 -07:00
Robert Bailey
f01f9f2237 Merge pull request #24955 from AdoHe/output_nil
fix config view output bug
2016-05-06 14:49:43 -07:00
Robert Bailey
76912008b4 Merge pull request #25035 from kargakis/remove-dead-factory-code
kubectl: remove dead factory code
2016-05-06 14:12:26 -07:00
Robert Bailey
bb08b27e43 Merge pull request #25072 from AdoHe/deprecate_container_port
mark container-port flag as deprecated
2016-05-06 14:10:14 -07:00
Robert Bailey
7df41be489 Merge pull request #24403 from kargakis/use-platform-agnostic-func
kubectl: use platform-agnostic helper in edit
2016-05-06 13:26:12 -07:00
Jan Chaloupka
dd2c9c578d Introduce kubectl describe --show-events
Introduce DescriberSettings for Describer display options
Introduce --show-events flag and DescriberSettings in Describer methods
Introduce unit-tests
Regenerated kubectl describe docs
Add events flag tests to test-cmd.sh

Signed-off-by: dhodovsk@redhat.com
Signed-off-by: jchaloup@redhat.com
2016-05-06 11:40:11 +02:00
Clayton Coleman
e0ebcf4216
Split the storage and negotiation parts of Codecs
The codec factory should support two distinct interfaces - negotiating
for a serializer with a client, vs reading or writing data to a storage
form (etcd, disk, etc). Make the EncodeForVersion and DecodeToVersion
methods only take Encoder and Decoder, and slight refactoring elsewhere.

In the storage factory, use a content type to control what serializer to
pick, and use the universal deserializer. This ensures that storage can
read JSON (which might be from older objects) while only writing
protobuf. Add exceptions for those resources that may not be able to
write to protobuf (specifically third party resources, but potentially
others in the future).
2016-05-05 12:08:23 -04:00
k8s-merge-robot
f5e1e9a227 Merge pull request #24912 from bprashanth/petset_controller
Automatic merge from submit-queue

Petset controller

Took longer than I expected. Main parts of this pr are:
1. Identity generation based on petset spec (volumes are mapped per discussion in #18016)
2. Ensure that we create/delete pets in sequence
3. Ensuring that we create, wait for healthy, create; or delete, wait for terminationGrace, delete
4. Controller that watches apiserver and drives actual -> desired

PVCs are not deleted, yet.
2016-05-05 08:58:23 -07:00
Prashanth Balasubramanian
6bc3052551 PetSet alpha controller 2016-05-04 18:39:17 -07:00
Janet Kuo
181627e36c kubectl suggest for get (list, ps), and delete(rm) 2016-05-04 17:18:52 -07:00
k8s-merge-robot
53ea2cb444 Merge pull request #25074 from AdoHe/remove_container_args
Automatic merge from submit-queue

update kubectl apply help info

Please refer #22342 for more detail. @bgrant0607 ptal. Also I have open a PR to update docs on `kuberntes.github.io`
2016-05-04 14:44:14 -07:00
derekwaynecarr
25ed62c3ea Fix kubectl create secret/configmap to allow = values 2016-05-04 17:14:12 -04:00
k8s-merge-robot
93e3df8e55 Merge pull request #24789 from wojtek-t/use_proper_codec_in_client
Automatic merge from submit-queue

Use proper codec in client
2016-05-04 11:00:04 -07:00
k8s-merge-robot
1642083e60 Merge pull request #24645 from jlowdermilk/rolling-update
Automatic merge from submit-queue

kubectl rolling-update support for same image

Fixes #23497.

Enables `kubectl rolling-update --image` to the same image, adding a `--image-pull-policy` flag to remove ambiguity. This allows rolling-update to behave as an "update and/or restart" (https://github.com/kubernetes/kubernetes/issues/23497#issuecomment-212349730), or as a forced update when the same tag can mean multiple versions (e.g. `:latest`). cc @janetkuo @nikhiljindal
2016-05-04 07:24:22 -07:00
Wojciech Tyczynski
3aadafd411 Use NegotiatedSerializer in client 2016-05-04 10:57:36 +02:00
Marcin Wielgus
60f1339138 Small refactoring around drain - move drain logic to separate function. 2016-05-04 10:43:20 +02:00
AdoHe
036ac359d1 update kubectl apply help info 2016-05-03 22:50:24 -04:00
AdoHe
ba69f0f367 mark container-port flag as deprecated 2016-05-03 20:36:42 -04:00
k8s-merge-robot
c66250dd0d Merge pull request #24548 from pwittrock/kubectl
Automatic merge from submit-queue

Delete unused helpers
2016-05-03 11:26:25 -07:00
zhouhaibing089
09d4d5ed78 let type struct,array,slice also being considerred when sorting kubectl output 2016-05-02 23:17:18 +08:00
k8s-merge-robot
f500194d92 Merge pull request #23673 from metral/multiple-resources
Automatic merge from submit-queue

allow kubectl subcmds to process multiple resources

~~autoscale, expose & patch~~ Many kubectl subcommands were limited to processing one resource at a time.

This PR allows those subcommands to process multiple resources.

This PR is in reference to https://github.com/kubernetes/kubernetes/pull/23116#issuecomment-202360784 by @deads2k
2016-05-02 07:09:44 -07:00
Michail Kargakis
a25088fe15 kubectl: more sophisticated pod selection for logs and attach 2016-05-02 15:56:36 +02:00
Michail Kargakis
dbc1e356d3 kubectl: remove dead factory code 2016-05-02 11:03:44 +02:00
Mike Metral
999c8e211e allow kubectl subcmds to process multiple resources
- use resource.Visit() to recursively process resources, as well as, aggregate
errors where possible
2016-05-01 20:27:37 -07:00
k8s-merge-robot
b930d58fcb Merge pull request #24994 from pmorie/kubectl-configmap
Automatic merge from submit-queue

Fix `kubectl create configmap` help

Resurrection of #23290

cc @bgrant0607 @janetkuo @ncdc
2016-04-29 23:09:42 -07:00
Clayton Coleman
fdb110c859
Fix the rest of the code 2016-04-29 17:12:10 -04:00
Andy Goldstein
8858d20044 Fix kubectl create configmap help
Remove "generic" from the help text, as that was an inadvertent carry-over from `kubectl create
secret generic`.
2016-04-29 16:31:24 -04:00
k8s-merge-robot
2b7021add0 Merge pull request #17030 from csrwng/pf_cmd_streams
Automatic merge from submit-queue

Port-forward: use out and error streams instead of glog

Switches use of glog with command out and error streams
2016-04-29 09:27:47 -07:00
AdoHe
6958db9c16 fix config view output bug 2016-04-28 23:04:57 -04:00
Slava Semushin
e83200d322 printLabelsMultilineWithIndent: add more customizable method. 2016-04-28 18:37:41 +02:00
Slava Semushin
72b4b54f28 kubectl describe: show multiple labels/annotations on multiple lines.
When there is more than one label/annotation, it's more readable to see
them on the different lines.
2016-04-28 18:37:41 +02:00
Michail Kargakis
29ff69fd83 kubectl: avoid panic with nil gvk
The decoder will return a nil gvk in case it errors out and getting
the version out of that gvk naturally will panic. Bail out as soon
as we can check that the error is non-nil. kubectl edit was the primary
victim.
2016-04-28 11:14:15 +02:00
k8s-merge-robot
d0b887e4e0 Merge pull request #24595 from zhouhaibing089/httpserverclose
Automatic merge from submit-queue

Uncomment the code that caused by #19254

Fix https://github.com/kubernetes/kubernetes/issues/24546.

@lavalamp
2016-04-28 01:41:16 -07:00
k8s-merge-robot
ae5065a2c2 Merge pull request #24365 from janetkuo/remove-t-for-tty
Automatic merge from submit-queue

Add flag -t as shorthand for --tty

`-t` was deprecated in #12813 (Aug. 2015, about 6+ months ago). 

Now remove `--template`'s shorthand `-t` and create a shorthand `-t` for `--tty` in `kubectl run`. 

@kubernetes/kubectl
2016-04-28 00:23:11 -07:00
Cesar Wong
55114efcb7 Port-forward: use out and error streams instead of glog 2016-04-27 13:26:54 -04:00
Marcin Wielgus
41dde20410 Make DrainOptions.getPodsForDeletion public to be reused in ClusterAutoscaler 2016-04-27 11:47:34 +02:00
k8s-merge-robot
373a3ece84 Merge pull request #24475 from k82/k8s-24411
Automatic merge from submit-queue

Clarify `kubectl get service` output.

Pull request for #24411 .
2016-04-26 13:45:09 -07:00
k8s-merge-robot
96586e7c60 Merge pull request #23958 from petervo/byte-args
Automatic merge from submit-queue

kubectl: Allow []byte config fields to be set by the cli

Allows []byte config fields such as 'certificate-authority-data' to be set using `kubectl config set` commands.
2016-04-26 10:23:07 -07:00
Jeff Lowdermilk
1baa473ef2 kubectl rolling-update support for same image 2016-04-25 09:20:15 -07:00
zhouhaibing089
bf1a3f99c0 Uncomment the code that cause by #19254 2016-04-25 23:21:31 +08:00
Maciej Szulik
a3b4447305 Move internal types of job from pkg/apis/extensions to pkg/apis/batch 2016-04-25 11:03:54 +02:00
petervo
4f9d3ace5d kubectl: Allow []byte config fields to be set by the cli
Allows []byte config fields such as 'certificate-authority-data'
to be set using `kubectl config set` commands.
2016-04-22 15:53:24 -07:00
Klaus Ma
b6d2c2b295 Clarify kubectl output. 2016-04-21 15:35:32 +08:00
Prashanth Balasubramanian
0ac10c6cc2 PetSet type, apps apigroup 2016-04-20 18:49:31 -07:00
Phillip Wittrock
1a3b133077 Delete unused helpers 2016-04-20 13:49:59 -07:00
k8s-merge-robot
ebe4ce160e Merge pull request #24366 from janetkuo/kubectl-run-session-hint
Automatic merge from submit-queue

Fix session ended hint for kubectl run

Fixes #23602

Before:
```console
$ kubectl run -i --tty busybox --image=busybox 
Waiting for pod default/busybox-3797442026-mt8zk to be running, status is Pending, pod ready: false
Hit enter for command prompt
/ # 
/ # exit
Session ended, resume using ' busybox-3797442026-mt8zk -c busybox -i -t' command when the pod is running
                             ↑
                      (incomplete command)
```

After:
```console
Session ended, resume using 'kubectl attach busybox-3797442026-mt8zk -c busybox -i -t' command when the pod is running
```

@kubernetes/kubectl
2016-04-20 00:30:23 -07:00
Michail Kargakis
cf7671d2c4 kubectl: use platform-agnostic helper in edit
https://github.com/kubernetes/kubernetes/issues/22371 still stands for
Windows clients since path.Base is not platform-agnostic[1].

Use filepath.Base instead[2].

[1] https://golang.org/src/path/path.go?s=4482:4511#L166
[2] https://golang.org/src/path/filepath/path.go?s=12257:12286#L409
2016-04-18 11:51:05 +02:00
k8s-merge-robot
bfc953cd4b Merge pull request #23890 from pmorie/kubectl-describe-envs
Automatic merge from submit-queue

Correctly handle secret and configMap envs in kubectl describe

Fixes #23679 

cc @kubernetes/kubectl @jwforres
2016-04-16 17:08:58 -07:00
k8s-merge-robot
fe6a7a2c7d Merge pull request #23689 from maclof/drain-replicaset-pods
Automatic merge from submit-queue

Drain pods created from ReplicaSets

Refer to my issue here: https://github.com/kubernetes/kubernetes/issues/23531
2016-04-16 00:37:41 -07:00
Janet Kuo
fe4b16c8aa Fix session ended hint for kubectl run 2016-04-15 17:28:03 -07:00
Janet Kuo
aa2ac9b1d1 -t shorthand for --tty instead of --template 2016-04-15 17:12:42 -07:00
k8s-merge-robot
ed87db5040 Merge pull request #23437 from DirectXMan12/bug/cannot-edit-across-gv
Automatic merge from submit-queue

Make kubectl edit not convert GV on edits

Previously, kubectl edit was using a decoder to load in edits that
converted to the internal version.  It would then re-encode this
decoded value to produce a patch.  However, if you were editing
in the object in a GroupVersion that was not the internal version,
this would cause the kubectl edit command to attempt to produce
a patch which changed the GroupVersion, which would fail.

Now, we use a plain deserializer instead, so no conversion or
defaulting occurs when loading in the edited file.

Ref #23378
2016-04-15 16:32:17 -07:00
k8s-merge-robot
03f48e730e Merge pull request #22810 from amygdala/cassandra2
Automatic merge from submit-queue

phase 2 of cassandra example overhaul

Here's the next iteration in overhauling this example, towards https://github.com/kubernetes/kubernetes/issues/20961.  This removes the pod adoption part, but doesn't (yet) otherwise change any of the resources used.

It also includes some README cleanup, and removes some explicit specification of labels in the rc yaml.

This PR doesn't yet add any commentary on how we're using the seed provider (re: https://github.com/kubernetes/kubernetes/issues/20961#issuecomment-190405959 etc.).  Maybe we should add that.

Also: LMK if this PR should include any changes to the links out to the docs.

cc @bgrant0607 @johndmulhausen
2016-04-15 15:41:01 -07:00
Marc Lough
fdf409861a Drain pods created from ReplicaSets 2016-04-15 08:51:40 +01:00
Amy Unruh
8846b313dc phase 2 of cassandra example overhaul 2016-04-14 21:55:23 -07:00
Daniel Smith
bbe5299371 Merge pull request #23798 from nak3/bash-completion
Bash completion updates
2016-04-14 16:59:48 -07:00
Daniel Smith
a42d7fa31c Merge pull request #23756 from smarterclayton/force_delete
Add a client flag to delete "--now" for grace period 0
2016-04-14 16:55:07 -07:00
Kenjiro Nakayama
c9d34870ed Update bashcompletion codes for kubectl expose 2016-04-14 23:43:48 +09:00
Kenjiro Nakayama
84e3ee8ec4 Update bashcompletion codes for kubectl annotate 2016-04-14 23:40:34 +09:00
Kenjiro Nakayama
910b6bce33 Update bashcompletion codes for kubectl patch 2016-04-14 23:40:31 +09:00
Kenjiro Nakayama
5cc540fec1 Update bashcompletion codes for kubectl edit 2016-04-14 23:34:58 +09:00
k8s-merge-robot
e121b562c5 Merge pull request #23262 from sttts/sttts-bash-completion-flag-equal
Automatic merge from submit-queue

Make kubectl bash-completion namespace and resource alias aware

![kubectl-completion](https://cloud.githubusercontent.com/assets/730123/13912456/94abf9a2-ef3d-11e5-9c8a-3df7058ea8f0.gif)

- filter resource listing by `--namespace` flag given before in the command line
```bash
$ kubectl get pod --namespace=kube-system <tab><tab>
kube-dns-v9-2wuzj   kube-dns-v9-llqxa
```
- add completion of `--namespace`
```bash
$ kubectl get pod --namespace=<tab><tab>
[*]         default      ingress      kube-system
```

- add support for plural nouns and aliases like `rc`
2016-04-14 04:26:40 -07:00
goltermann
a3104ba96c Final vet fixes; enabling vet checks in verify scripts. 2016-04-13 13:51:51 -07:00
k8s-merge-robot
acf9492cb1 Merge pull request #23660 from goltermann/vetclean
Automatic merge from submit-queue

Additional go vet fixes

Mostly:
- pass lock by value
- bad syntax for struct tag value
- example functions not formatted properly
2016-04-12 06:22:16 -07:00
Clayton Coleman
ea3467f822 Add a client flag for --now delete
Is equivalent to --grace-period=0 but is more intuitive for end users.
2016-04-07 23:45:08 -04:00
Paul Morie
9069cbb086 Correctly handle secret and configMap envs in kubectl describe 2016-04-07 14:16:59 -04:00
goltermann
696423e044 Vet fixes, mostly pass lock by value errors. 2016-04-06 11:27:40 -07:00
Janet Kuo
0335f1c2cd Revert "rolling update will check whether the image is distinct or not, however the image with tag latest should be excluded"
This reverts commit d27a30df29.
2016-04-04 18:36:02 -07:00
Dr. Stefan Schimanski
7e0bb885f1 Make kubectl bash completion namespace aware and add noun aliases
- add namespace filtering to bash completion
- add --namespace flag bash completion
- add bash completion noun aliases
- adapt to new cobra package structure
2016-04-03 16:25:56 +02:00
k8s-merge-robot
f5c93c8ddc Merge pull request #23472 from wojtek-t/fix_object_meta_for
Automatic merge from submit-queue

Switch from api.ObjectMetaFor to meta.Accessor in most of places

Fix #23278

@smarterclayton @lavalamp
2016-04-02 02:33:40 -07:00
k8s-merge-robot
c927790cc6 Merge pull request #22877 from fabianofranz/mark_filename_flags_for_completions
Automatic merge from submit-queue

Mark filename flags for completions

Adds filename bash completion to some flags that were missing.
2016-04-01 22:38:54 -07:00
k8s-merge-robot
3b65927050 Merge pull request #16451 from ncdc/exec-interop-testing
Automatic merge from submit-queue

Refactor streaming code to support interop testing

Refactor exec/attach/port forward client and server code to better
support interop testing of different client and server subprotocol
versions.

Fixes #16119
2016-04-01 17:11:26 -07:00
Fabiano Franz
9ddacfa25f Mark filename flags for completions 2016-04-01 16:14:36 -03:00
Andy Goldstein
4551ba6b53 Refactor exec code to support version skew testing
Refactor exec/attach client and server code to better support interoperability testing of different
client and server subprotocol versions.
2016-04-01 13:05:50 -04:00
k8s-merge-robot
07929972a3 Merge pull request #18835 from brendandburns/3rdparty
Automatic merge from submit-queue

Add support for 3rd party objects to kubectl

@deads2k @jlowdermilk

Instructions for playing around with this:

Run an apiserver with third party resources turned on (`--runtime-config=extensions/v1beta1=true,extensions/v1beta1/thirdpartyresources=true`)

Then you should be able to:

```
kubectl create -f rsrc.json
```

```json
{
  "metadata": {
    "name": "foo.company.com"
  },
  "apiVersion": "extensions/v1beta1",
  "kind": "ThirdPartyResource",
  "versions": [
    {
      "apiGroup": "group",
      "name": "v1"
    },
    {
      "apiGroup": "group",
      "name": "v2"
    }
  ]
}
```

Once that is done, you should be able to:

```
curl http://<server>/apis/company.com/v1/foos
```

```
curl -X POST -d @${HOME}/foo.json http://localhost:8080/apis/company.com/v1/namespaces/default/foos
```

```json
{
  "kind": "Foo",
  "apiVersion": "company.com/v1",
  "metadata": {
    "name": "baz"
  },
  "someField": "hello world",
  "otherField": 1
}
```

After this PR, you can do:

```
kubectl create -f foo.json
```

```
kubectl get foos
```

etc.
2016-03-31 18:09:56 -07:00
Brendan Burns
be6c5b332b Add third party support to kubectl 2016-03-31 10:53:32 -07:00
Wojciech Tyczynski
2699be2e7e Switch api.ObjetaMetaFor to meta.Accessor 2016-03-31 17:52:31 +02:00
Janet Kuo
c1596e6711 Update guestbook examples; replace RC concepts with Deployment 2016-03-30 14:16:52 -07:00
k8s-merge-robot
f36c44be79 Merge pull request #23279 from kargakis/export-volume-describer
Automatic merge from submit-queue

kubectl: enhance podtemplate describer

@kubernetes/kubectl 

@smarterclayton for the dc decsriber
2016-03-30 12:53:52 -07:00
k8s-merge-robot
9b6e4aa9b4 Merge pull request #23116 from metral/recursive-visit
Automatic merge from submit-queue

allow kubectl cmds to process files recursively, when given a dir

This PR accomplishes two things:

1. It creates a `--recursive` flag for use with certain `kubectl` commands that _currently_ do not process files beyond their first level of children, as seen in the issue https://github.com/kubernetes/kubernetes/issues/19767
2. It enables the ability to use the `--recursive` flag in the `kubectl` commands that currently _only_ support processing a directory up to its first level of children.
2016-03-30 05:07:47 -07:00
k8s-merge-robot
fb5181a596 Merge pull request #23500 from tam7t/tls-sni-routing
Auto commit by PR queue bot
2016-03-29 07:16:22 -07:00
Tommy Murphy
4d22c2fd6a IngressTLS: allow secretName to be blank for SNI routing 2016-03-28 21:25:54 -04:00
Dawn Chen
c47f74a470 Merge pull request #23348 from pwittrock/docs
Update docs to reflect `kubectl run` creates deployments by default i…
2016-03-28 17:03:47 -07:00
Phillip Wittrock
4d2f3c1c17 Update docs to reflect kubectl run creates deployments by default instead of replicatino controllers. 2016-03-28 16:25:02 -07:00
Mike Metral
7403878ac0 allow kubectl cmd to process dirs recursively
reqs:
    - the kubectl cmd must support the -f | --filename flag
    - the kubectl cmd must support visiting a dir one level deep,
    or using more than one resource
2016-03-28 12:44:21 -07:00
k8s-merge-robot
e01feae75a Merge pull request #23453 from luxas/kubectl_sa_shorthand
Auto commit by PR queue bot
2016-03-28 07:29:57 -07:00
k8s-merge-robot
9a5b4658cb Merge pull request #23516 from zhouhaibing089/imagecheck_fix
Auto commit by PR queue bot
2016-03-26 23:15:58 -07:00
zhouhaibing089
d27a30df29 rolling update will check whether the image is distinct or not, however the image with tag latest should be excluded 2016-03-26 10:56:52 +08:00
goltermann
32d569d6c7 Fixing all the "composite literal uses unkeyed fields" Vet errors. 2016-03-25 15:25:09 -07:00
Lucas Käldström
3507bf814f Add sa as a shorthand for serviceaccounts 2016-03-25 23:28:52 +02:00
Michail Kargakis
8477699055 kubectl: enhance podtemplate describer 2016-03-25 19:56:23 +01:00
k8s-merge-robot
b8e390a0f3 Merge pull request #22824 from brendandburns/enable
Auto commit by PR queue bot
2016-03-24 22:26:39 -07:00
k8s-merge-robot
4e4ad61260 Merge pull request #23366 from goltermann/vet
Auto commit by PR queue bot
2016-03-24 21:50:56 -07:00
Solly Ross
bc4143092c Make kubectl edit not convert GV on edits
Previously, kubectl edit was using a decoder to load in edits that
converted to the internal version.  It would then re-encode this
decoded value to produce a patch.  However, if you were editing
in the object in a GroupVersion that was not the internal version,
this would cause the kubectl edit command to attempt to produce
a patch which changed the GroupVersion, which would fail.

Now, we use a plain deserializer instead, so no conversion or
defaulting occurs when loading in the edited file.

Fixes #23378
2016-03-24 15:15:19 -04:00
k8s-merge-robot
76369c42be Merge pull request #22939 from resouer/util-sub-dir
Auto commit by PR queue bot
2016-03-23 03:34:33 -07:00
k8s-merge-robot
4af38b52b9 Merge pull request #22736 from resouer/fix-util-dev
Auto commit by PR queue bot
2016-03-22 19:54:58 -07:00
k8s-merge-robot
2f89867821 Merge pull request #23305 from janetkuo/update-kubectl-help
Auto commit by PR queue bot
2016-03-22 19:17:45 -07:00
goltermann
34d4eaea08 Fixing several (but not all) go vet errors. Most are around string formatting, or unreachable code. 2016-03-22 17:26:50 -07:00
Brendan Burns
87a1635c93 Machine generated stuff 2016-03-22 14:41:37 -07:00
k8s-merge-robot
9dfbcae449 Merge pull request #22634 from kargakis/kubectl-edit-error-log-fix
Auto commit by PR queue bot
2016-03-22 14:37:55 -07:00
Janet Kuo
e93b855242 Update kubectl help for 1.2 resources 2016-03-22 14:14:35 -07:00
Clayton Coleman
0a274a85d1 Allow logs to be used with a preloaded pod. 2016-03-21 23:59:59 -04:00
Clayton Coleman
3a29e3971b Improve terminal reuse and attach
Currently attach and the editor do not share the same logic for saving
and restoring the terminal, and are not suitable for nesting (when the
caller wants to create something, attach, and then delete something when
the attach is over).  This commit moves the interrupt protection logic
to a util package and supports nesting interrupt handlers.
2016-03-21 23:59:58 -04:00
harry
b0900bf0d4 Refactor diff into sub pkg 2016-03-21 20:21:39 +08:00
Harry Zhang
7178fba251 Move crlf.go to sub pkg 2016-03-21 20:20:05 +08:00
harry
bc422f077a Refactor bool_flag into sub pkg 2016-03-21 14:50:57 +08:00
k8s-merge-robot
b56252e338 Merge pull request #23161 from thockin/drain-help-typo
Auto commit by PR queue bot
2016-03-19 22:44:54 -07:00
Tim Hockin
1e5ce735fc Fix typo in help for kubectl drain 2016-03-19 20:42:51 -07:00
AdoHe
57534eaec9 update expose command description to add deployment 2016-03-19 13:51:21 -04:00
Madhusudan.C.S
67b70d7c89 Add a Deployment example for kubectl expose. 2016-03-18 17:05:49 -07:00
Wojciech Tyczynski
89585237cd Rename RawJSON to Raw in runtime.RawExtension and add ContentType & ContentEncoding. 2016-03-18 12:35:27 +01:00
k8s-merge-robot
4e67d9606c Merge pull request #23083 from janetkuo/rollout-undo-paused-check
Auto commit by PR queue bot
2016-03-17 06:28:39 -07:00
k8s-merge-robot
53c6b35b71 Merge pull request #23038 from wojtek-t/rename_raw_json_to_raw
Auto commit by PR queue bot
2016-03-17 04:05:43 -07:00
Janet Kuo
2bd30c7572 Stop the users from rolling back a paused deployment in kubectl rollout undo 2016-03-16 15:46:22 -07:00
k8s-merge-robot
41c85d1113 Merge pull request #22999 from smarterclayton/better_auth_error
Auto commit by PR queue bot
2016-03-16 09:59:20 -07:00
Wojciech Tyczynski
218d3e5923 Rename RawJSON to Raw in runtime.Unknown and add ContentType & ContentEncoding. 2016-03-16 16:43:58 +01:00
Clayton Coleman
dccf114fdd Display a better error on unauthorized
Not being logged in is a common user error, and the message we display
can be more specific to an end user. Provide a friendly message with the
server message in parethesis (in case this is a more complex server
error).
2016-03-15 12:51:23 -04:00
Michail Kargakis
23343425b8 kubectl: print errors that wont be reloaded in the editor 2016-03-15 15:01:28 +01:00
Kris
4d404ded1a Moving adapters to their own packages 2016-03-14 14:22:34 -07:00
harry
f19d59cf35 Move flag into sub pkg 2016-03-14 21:30:38 +08:00
Jordan Liggitt
5e68cec23c Test relative timestamps using UTC 2016-03-13 20:46:59 -04:00
Jordan Liggitt
d008283942 Tolerate multiple registered versions in a single group 2016-03-12 12:49:41 -05:00
Brian Grant
b7984b2fa7 Merge pull request #22862 from jlowdermilk/typo
fix typo in kubectl run help string
2016-03-11 12:26:48 -08:00
nikhiljindal
593b78f925 Deprecating --api-version flag 2016-03-11 10:12:44 -08:00
Jeff Lowdermilk
627615c870 fix typo in kubectl run help string 2016-03-11 10:11:14 -08:00
Brian Grant
5cc7790f45 Merge pull request #22853 from deads2k/parse-version
allow resource.version.group in kubectl
2016-03-11 10:11:00 -08:00
Brian Grant
1c50f1831c Merge pull request #22849 from soltysh/issue22836
Added api discovery to kubectl run, based on which we decide which generators to use
2016-03-11 09:04:12 -08:00
Maciej Szulik
f27871e60d Added api discovery to kubectl run, based on which we decide which generators to use 2016-03-11 16:59:14 +01:00
deads2k
5bd161a9cc allow resource.version.group in kubectl 2016-03-11 10:21:50 -05:00
Brian Grant
e5748a44d6 Merge pull request #22840 from liggitt/preferred-gvk
Prefer fetched version when determining HPA group version kind
2016-03-11 00:41:39 -08:00
Brian Grant
5bd45d26ac Merge pull request #22772 from AdoHe/kubectl_update_wide
update wide option output
2016-03-10 23:19:02 -08:00
AdoHe
9788101e11 update wide option output 2016-03-11 00:29:37 -05:00
Jordan Liggitt
560b02b3ec Prefer fetched version when determining HPA group version kind 2016-03-11 00:03:38 -05:00
Madhusudan.C.S
dfc62b56cc Enable kubectl autoscale for replica sets.
Also add some tests for it.
2016-03-10 15:05:54 -08:00
k8s-merge-robot
5b00059fd2 Merge pull request #22762 from soltysh/job_run
Auto commit by PR queue bot
2016-03-10 13:22:29 -08:00
Maciej Szulik
de83631768 Added job/v1 generator to kubectl run 2016-03-10 19:56:57 +01:00
Madhusudan.C.S
db48dcf583 ReplicaSetSpec.Template shouldn't be a pointer.
PodTemplateSpec should be consistent for all the types in extensions/v1beta1.

See PR #19510.
2016-03-09 21:24:16 -08:00
k8s-merge-robot
f046d6c83e Merge pull request #22420 from AdoHe/kubectl_swagger_cache
Auto commit by PR queue bot
2016-03-07 15:18:56 -08:00
k8s-merge-robot
492c5d68fb Merge pull request #21694 from aveshagarwal/master-sort-by-versioned
Auto commit by PR queue bot
2016-03-07 08:09:55 -08:00
Michail Kargakis
77097d9a20 kubectl: set maxUnavailable to 1 if both fenceposts resolve to zero
Due to rounding down for maxUnavailable, we may end up with rolling updates
that have zero surge and unavailable pods something that 1) is not allowed
as per validation, 2) blocks updates. If we end up in such a situation
set maxUnavailable to 1 on the theory that surge might not work due to
quota.
2016-03-07 13:03:41 +01:00
k8s-merge-robot
95ab1936ea Merge pull request #22559 from krousey/discbreak
Auto commit by PR queue bot
2016-03-06 12:47:07 -08:00
k8s-merge-robot
f31647ec38 Merge pull request #22556 from sjenning/add-configmap-kubectl-usage
Auto commit by PR queue bot
2016-03-05 20:04:29 -08:00
Seth Jennings
4ca54b0c9c add configmap to kubectl subcommand list 2016-03-05 20:20:00 -06:00
k8s-merge-robot
2e03822386 Merge pull request #21335 from deads2k/make-rc-logs-work
Auto commit by PR queue bot
2016-03-05 09:37:24 -08:00
k8s-merge-robot
b198c820cd Merge pull request #22402 from erictune/psp-simplify
Auto commit by PR queue bot
2016-03-05 07:55:19 -08:00
AdoHe
893e36c61d fix kubectl swagger cache bug 2016-03-04 18:59:40 -05:00
Kris
dbde4fd798 Move the discovery client to its own package 2016-03-04 13:44:52 -08:00
Avesh Agarwal
be06003e6b Fix kubectl sort-by metadata issue.
Internal types are not supposed to have json metadata (though in kubernetes
they do) as it is true with openshift types. That means sort-by must work
on versioned objects for sorting, otherwise it produces "error: metadata
is not found" error if it sorts internal types without json metadata.

This PR converts internal types objects to versioned objects and sort-by
sorts them correctly without medata error, and then it prints
corresponding internal objects in sorted order.
2016-03-04 16:14:45 -05:00
Abhi Shah
b25a48d605 Revert "Move discovery client to its own package" 2016-03-04 09:24:54 -08:00
Abhi Shah
627edd2588 Merge pull request #22016 from krousey/discbreak
Move discovery client to its own package
2016-03-04 09:17:46 -08:00
Michail Kargakis
b390087a99 kubectl: bring the rolling updater on par with the deployments
During a rolling update for Deployments, the total count of surge pods
is calculated by adding the desired number of pods (deployment.Spec.Replicas)
to maxSurge. During a kubectl rolling update, the total count of surge
pods is calculated by adding the original number of pods (oldRc.Spec.Replicas
via an annotation) to maxSurge. This commit changes this to use desired
replicas.
2016-03-04 18:07:09 +01:00
Jeff Lowdermilk
afa7816c38 Merge pull request #22009 from aveshagarwal/master-create-urls-issue
Fix kubectl create to create to all resources in a url.
2016-03-03 15:21:35 -08:00
Jeff Lowdermilk
6682a6693c Merge pull request #22332 from nikhiljindal/rollingUpdate
Resetting maxUnavailable for kubectl rolling update to 0
2016-03-03 15:19:02 -08:00
Eric Tune
4d090bfb09 Rename PodSecurityPolicy fields
In podSecurityPolicy:
1. Rename .seLinuxContext to .seLinux
2. Rename .seLinux.type to .seLinux.rule
3. Rename .runAsUser.type to .runAsUser.rule
4. Rename .seLinux.SELinuxOptions

1,2,3 as suggested by thockin in #22159.
I added 3 for consistency with 2.
2016-03-03 11:49:48 -08:00
Jeff Lowdermilk
8c500a9c31 Merge pull request #22279 from soltysh/describer_none
Unifying empty/none/not set values in describer
2016-03-03 11:40:54 -08:00
deads2k
f8f45df578 make kubectl logs work for replication controllers 2016-03-03 11:17:50 -05:00
k8s-merge-robot
d81d823ca5 Merge pull request #22393 from eparis/blunderbuss
Auto commit by PR queue bot
2016-03-02 18:51:56 -08:00
Eric Paris
5e5a823294 Move blunderbuss assignees into tree 2016-03-02 20:46:32 -05:00
Janet Kuo
d5953991d9 Fix kubectl edit: no such file 2016-03-02 16:05:08 -08:00
Avesh Agarwal
ad6dfa0370 Fix kubectl create to create all resources in a url.
https://github.com/kubernetes/kubernetes/issues/18751 .
2016-03-02 18:08:24 -05:00
k8s-merge-robot
7f9ee58550 Merge pull request #22129 from pmorie/kubectl-describe-volumes
Auto commit by PR queue bot
2016-03-02 09:10:48 -08:00
k8s-merge-robot
cc19c9fdfa Merge pull request #21671 from kargakis/add-exposed-ports-in-pod-desc
Auto commit by PR queue bot
2016-03-02 06:40:28 -08:00
Maciej Szulik
1b56d79f64 Unifying empty/none/not set values in describer 2016-03-02 13:57:39 +01:00
nikhiljindal
cb8414e247 Resetting maxUnavailable for kubectl rolling update to 0 2016-03-01 18:44:59 -08:00
k8s-merge-robot
739285b146 Merge pull request #21265 from stevekuznetsov/skuznets/new-sa
Auto commit by PR queue bot
2016-03-01 01:14:06 -08:00
Kris
f22664159e Move the discovery client to its own package 2016-02-29 15:37:21 -08:00
Kris
e664ef922f Move restclient to its own package 2016-02-29 12:05:13 -08:00
k8s-merge-robot
d1d036391a Merge pull request #22177 from AdoHe/update_commented_examples
Auto commit by PR queue bot
2016-02-29 09:18:57 -08:00
AdoHe
9cc668f7c6 update commented examples just remove $ 2016-02-29 09:41:09 -05:00
Michail Kargakis
530dbe4d01 kubectl: add container ports in pod description 2016-02-28 23:33:58 +01:00
k8s-merge-robot
13f6daf980 Merge pull request #22141 from AdoHe/kubectl_add_age_column
Auto commit by PR queue bot
2016-02-28 13:09:59 -08:00
k8s-merge-robot
5ecbf4ff4a Merge pull request #22138 from bgrant0607/bugfix1
Auto commit by PR queue bot
2016-02-28 02:00:40 -08:00
Brian Grant
d0dd4f8a93 Restore expectation timeout to 5 minutes. Fix enqueueDeployment. Pass by reference.
Make names of ReplicaSets created by Deployment deterministic for idempotence.
Eliminate use of expectations in Deployment controller.
2016-02-28 07:33:07 +00:00
AdoHe
c56c4c87f7 kubectl add AGE column to job, ingress and daemonset 2016-02-28 00:59:01 -05:00
k8s-merge-robot
6f8a951f87 Merge pull request #20446 from derekwaynecarr/quota_scopes
Auto commit by PR queue bot
2016-02-27 19:46:42 -08:00
k8s-merge-robot
e089e841b1 Merge pull request #21593 from fabianofranz/split_bind_flags
Auto commit by PR queue bot
2016-02-27 16:10:19 -08:00
Paul Morie
7a6a4fab97 Add kubectl describe output for downward API volume 2016-02-27 15:40:13 -05:00
derekwaynecarr
01584bfabf Improve rendering of multiple quotas in namespace; show scopes 2016-02-26 20:34:15 -05:00
k8s-merge-robot
551d252497 Merge pull request #21864 from AdoHe/kubectl_job_desired
Auto commit by PR queue bot
2016-02-26 16:18:34 -08:00
Fabio Yeon
97bae1099b Merge pull request #21661 from AdoHe/describe_container_status_optional
make show status in describe.DescribeContainers optional
2016-02-26 15:48:46 -08:00
Fabio Yeon
a4c9a7c4c0 Merge pull request #19988 from soltysh/annotate_cmd
Fix kubectl annotate and label to use versioned objects when operating
2016-02-26 15:38:26 -08:00
Fabio Yeon
caf7b9eba7 Merge pull request #21688 from pmorie/kubectl-describe-pod-config
Add describe output for ConfigMap volumes
2016-02-26 13:16:49 -08:00
Fabio Yeon
3dab166da4 Merge pull request #21776 from erictune/job-sel-gen
Selector generation for batch/v1 Job
2016-02-26 11:58:21 -08:00
Steve Kuznetsov
e5b696ee43 added 'kubectl create sa' to create serviceaccounts 2016-02-26 10:27:37 -05:00
Marcin Wielgus
d174353ec9 Print annotations in HPA describe` 2016-02-26 12:04:19 +01:00
k8s-merge-robot
8c60068b36 Merge pull request #21794 from caesarxuchao/fix-19715
Auto commit by PR queue bot
2016-02-25 18:31:52 -08:00
Brian Grant
63feac0afc Merge pull request #21872 from kargakis/maxUavailability-fix
kubectl: preserve availability when maxUnavailability is not 100%
2016-02-25 09:35:37 -08:00
Eric Tune
875755f992 Added Selector Generation to Job.
Added selector generation to Job's
strategy.Validate, right before validation.
Can't do in defaulting since UID is not known.

Added a validation to Job to ensure that the generated
labels and selector are correct when generation was requested.
This happens right after generation, but validation is in a better
place to return an error.

Adds "manualSelector" field to batch/v1 Job to control selector generation.
Adds same field to extensions/__internal.  Conversion between those two
is automatic.

Adds "autoSelector" field to extensions/v1beta1 Job.  Used for storing batch/v1 Jobs
    - Default for v1 is to do generation.
    - Default for v1beta1 is to not do it.
    - In both cases, unset == false == do the default thing.

Release notes:
Added batch/v1 group, which contains just Job, and which is the next
version of extensions/v1beta1 Job.

The changes from the previous version are:
- Users no longer need to ensure labels on their pod template are unique to the enclosing
  job (but may add labels as needed for categorization).
- In v1beta1, job.spec.selector was defaulted from pod labels, with the user responsible for uniqueness.
  In v1, a unique label is generated and added to the pod template, and used as the selector (other
  labels added by user stay on pod template, but need not be used by selector).
- a new field called "manualSelector" field exists to control whether the new behavior is used,
  versus a more error-prone but more flexible "manual" (not generated) seletor.  Most users
  will not need to use this field and should leave it unset.

Users who are creating extensions.Job go objects and then posting them using the go client
will see a change in the default behavior.  They need to either stop providing a selector (relying on
selector generation) or else specify "spec.manualSelector" until they are ready to do the former.
2016-02-25 09:28:07 -08:00
AdoHe
aa6f07636b kubectl add job DESIRED column 2016-02-25 10:43:04 -05:00
deads2k
9c42d219bc allow disambiguation of resouces 2016-02-25 07:35:23 -05:00
deads2k
2b84d58b6d add a PriorityRESTMapper that can choose particular group/version of a resource 2016-02-25 07:35:23 -05:00
deads2k
94d683e89b fix ShortcutRESTMapper and prevent it from ever silently failing again 2016-02-25 07:35:22 -05:00
kargakis
9cc19102f3 kubectl: preserve availability when maxUnavailability is not 100% 2016-02-25 10:10:41 +01:00
Brian Grant
80614896db Merge pull request #21509 from madhusudancs/kubectl-get-list-deployments-daemonsets
Add DaemonSets and Deployments to valid resources list in kubectl.
2016-02-24 15:30:08 -08:00
Chao Xu
3efd3c62e6 Replace ineffective DeleteOptions with nil 2016-02-24 15:06:24 -08:00
Brian Grant
0b5edab208 Merge pull request #21857 from nikhiljindal/stopDeployment
fix deployment e2e flake: Update DeploymentReaper.Stop to use ObservedGeneration
2016-02-24 14:26:23 -08:00
Brian Grant
4add4ebacc Merge pull request #21445 from janetkuo/fix-rolling-update-nil
Fix rolling-update --image nil pointer dereference
2016-02-24 13:59:01 -08:00
Brian Grant
b5c6341ec9 Merge pull request #21435 from janetkuo/use-intptr
Use IntPtr
2016-02-24 13:54:21 -08:00
nikhiljindal
2a538e317f Moving deployment deletion at the end 2016-02-24 13:00:45 -08:00
nikhiljindal
7e50fa6df0 Update DeploymentReaper.Stop to use ObservedGeneration to remove race condition 2016-02-24 00:09:44 -08:00
k8s-merge-robot
014f73c93f Merge pull request #21295 from AdoHe/kubectl_desired_column
Auto commit by PR queue bot
2016-02-24 00:05:41 -08:00
Janet Kuo
e7356679bc Fix rolling-update --image nil pointer dereference 2016-02-23 15:07:53 -08:00
Piotr Szczesniak
3e023411f6 Added events to kubectl describe hpa 2016-02-23 20:44:51 +01:00
Madhusudan.C.S
781480d7fe Add DaemonSets and Deployments to valid resources list in kubectl. 2016-02-23 11:19:19 -08:00
Piotr Szczesniak
7f83e07465 Added support for HPA v1 in kubectl describe 2016-02-23 16:50:28 +01:00
AdoHe
aa5c036a5c add DESIRED and CURRENT columns to rcs,ds,rs 2016-02-23 10:11:19 -05:00
k8s-merge-robot
725a8e8b36 Merge pull request #21369 from AdoHe/kubectl_change_column_titles
Auto commit by PR queue bot
2016-02-23 05:20:38 -08:00
k8s-merge-robot
d3661414a1 Merge pull request #21273 from kargakis/rolling-updater-fix
Auto commit by PR queue bot
2016-02-23 04:50:59 -08:00
Paul Morie
4c61f2ce27 Add describe output for ConfigMap volumes 2016-02-22 12:26:05 -05:00
k8s-merge-robot
95354490c1 Merge pull request #21318 from kargakis/record-command-factory-method-tweak
Auto commit by PR queue bot
2016-02-22 08:11:57 -08:00
AdoHe
55823156d7 make show status in describe.DescribeContainers optional 2016-02-22 03:16:34 -05:00
k8s-merge-robot
aee2eb3977 Merge pull request #21434 from erictune/job-ga
Auto commit by PR queue bot
2016-02-22 00:12:54 -08:00
k8s-merge-robot
e34a23b289 Merge pull request #21351 from smarterclayton/optional_pod_status
Auto commit by PR queue bot
2016-02-21 04:10:19 -08:00
k8s-merge-robot
12383dfa0c Merge pull request #21341 from smarterclayton/liveness_describer
Auto commit by PR queue bot
2016-02-20 23:31:22 -08:00
k8s-merge-robot
330f484c17 Merge pull request #21174 from deads2k/make-patch-more-predictable
Auto commit by PR queue bot
2016-02-20 05:56:41 -08:00
Fabiano Franz
59ea2b1e59 Split factory#BindFlags 2016-02-19 20:41:16 -02:00
Maciej Szulik
9bfa27a5bf Fix kubectl annotate and label to use versioned objects when operating 2016-02-19 22:40:18 +01:00
Brian Grant
d9635b5e3e Merge pull request #21572 from janetkuo/fix-flake-rollback-norevision
Retry Update in DeploymentReaper.Stop
2016-02-19 12:06:09 -08:00
Janet Kuo
3a3ebf68f0 Retry Update in DeploymentReaper.Stop 2016-02-19 11:31:41 -08:00
deads2k
11da9a7638 fix --record to not fail a successful patch 2016-02-19 14:28:23 -05:00
k8s-merge-robot
82c09f074b Merge pull request #20481 from kargakis/edit-fixes
Auto commit by PR queue bot
2016-02-19 10:55:16 -08:00
Eric Tune
b4d454e9d5 Autogenerate. 2016-02-19 09:48:03 -08:00
Eric Tune
bcdbd1c709 Fix Job Reaping
Ensure batch.Kind("Job") has a reaper, so that pods are not orphaned.
Check for orphaned pods in test-cmd.sh.
Also provide describer and scaler for batch.Kind("Job").
The scaler, reaper, and describer for extensions can
be reused for batch.
2016-02-19 09:22:05 -08:00
Eric Tune
175addf2a3 Implemented Batch client 2016-02-19 09:20:56 -08:00
Michail Kargakis
35fab99af7 kubectl: scale down based on ready during rolling updates 2016-02-19 15:42:04 +01:00
k8s-merge-robot
68a5641eb8 Merge pull request #20803 from aveshagarwal/master-sortby-indentation-issue
Auto commit by PR queue bot
2016-02-19 00:33:00 -08:00
k8s-merge-robot
5a3dec8dad Merge pull request #20777 from pmorie/kubectl-create-configmap
Auto commit by PR queue bot
2016-02-19 00:03:53 -08:00
k8s-merge-robot
eb45154996 Merge pull request #21348 from caesarxuchao/generate-fake-for-1-2
Auto commit by PR queue bot
2016-02-18 23:02:05 -08:00
Paul Morie
51a9c2c9ba Add kubectl create configmap 2016-02-18 21:24:21 -05:00
k8s-merge-robot
5acdb92126 Merge pull request #21177 from laushinka/spelling-fixes
Auto commit by PR queue bot
2016-02-18 10:29:49 -08:00
k8s-merge-robot
17325ef6ef Merge pull request #20501 from piosz/hpa-ga
Auto commit by PR queue bot
2016-02-18 06:52:39 -08:00
Michail Kargakis
f4658396eb kubectl: a couple of edit fixes
Fix some edit bugs:
* Reload the file in case of syntax errors
* Fix error format for validation errors
* Avoid hotlooping in case of no changes or empty saves
2016-02-18 11:43:07 +01:00
Clayton Coleman
c198367958 Add a liveness and readiness describer to pods
Also shorten the Last Termination State label so the page is denser.
2016-02-17 20:07:05 -05:00
Chao Xu
ad46715f51 generate fake client for release_1_2 2016-02-17 16:10:02 -08:00
laushinka
7ef585be22 Spelling fixes inspired by github.com/client9/misspell 2016-02-18 06:58:05 +07:00
Janet Kuo
1a5dd9f14f Use IntPtr 2016-02-17 15:08:50 -08:00
Michail Kargakis
55f402c5a6 kubectl: use the factory properly for recording commands 2016-02-17 12:16:19 +01:00
Clayton Coleman
778fb1798b Don't print reason or message if they are empty on pods
For running pods they are typically empty and convey no value. Don't
print images twice.
2016-02-16 23:26:59 -05:00
AdoHe
10feb3e6fd change CONTROLLER, ReplicaSet and Job column titles to NAME 2016-02-16 23:14:12 -05:00
Janet Kuo
92eb075a2b When reaping deployments, retry deployment Update 2016-02-16 15:12:38 -08:00
k8s-merge-robot
dada47eb2f Merge pull request #21179 from smarterclayton/cant_replace_cluster_resource
Auto commit by PR queue bot
2016-02-16 04:45:43 -08:00
k8s-merge-robot
9dacc5b382 Merge pull request #21238 from AdoHe/kubectl_help_bug
Auto commit by PR queue bot
2016-02-15 19:16:39 -08:00
k8s-merge-robot
47acbd62ec Merge pull request #21099 from deads2k/extend-patch
Auto commit by PR queue bot
2016-02-15 14:49:02 -08:00
Piotr Szczesniak
d2f11521cb Implemented Autoscaling client 2016-02-15 21:39:00 +01:00
k8s-merge-robot
1380a3e6a1 Merge pull request #20850 from deads2k/remove-resource-is-valid
Auto commit by PR queue bot
2016-02-15 11:27:19 -08:00
k8s-merge-robot
134d44cf2b Merge pull request #20409 from AdoHe/kubectl_ingress_labels
Auto commit by PR queue bot
2016-02-15 10:59:12 -08:00
deads2k
9901a386c3 remove ResourceIsValid 2016-02-15 07:49:48 -05:00
k8s-merge-robot
94b3c95e7a Merge pull request #20557 from AdoHe/kubectl_update_wide
Auto commit by PR queue bot
2016-02-15 00:18:37 -08:00
AdoHe
81103a07c2 fix --sort-by help bug 2016-02-14 22:31:13 -05:00
k8s-merge-robot
ee33ed2cf5 Merge pull request #20981 from madhusudancs/labelselector-error-string-fix
Auto commit by PR queue bot
2016-02-14 03:14:46 -08:00
AdoHe
f6b5eca11c kubectl print ingress add column labels 2016-02-14 04:28:44 -05:00
k8s-merge-robot
d28ac1f88b Merge pull request #20948 from ghodss/versioned-apply
Auto commit by PR queue bot
2016-02-14 00:56:10 -08:00
AdoHe
53d4b15b87 move columns into wide option to make result more readable 2016-02-14 03:55:00 -05:00
k8s-merge-robot
3b4c0beb99 Merge pull request #20868 from mqliang/int-min-max
Auto commit by PR queue bot
2016-02-13 17:32:22 -08:00
k8s-merge-robot
53d9f9ecab Merge pull request #20814 from deads2k/restmapper-errors
Auto commit by PR queue bot
2016-02-13 15:53:22 -08:00
k8s-merge-robot
060f8f4db7 Merge pull request #20802 from aveshagarwal/master-allnamespaces-issue
Auto commit by PR queue bot
2016-02-13 15:25:15 -08:00
Jordan Liggitt
dd5d98d80a regen codecs 2016-02-13 09:15:39 -05:00
k8s-merge-robot
19c8d73cac Merge pull request #18077 from soltysh/stop_deployment
Auto commit by PR queue bot
2016-02-12 22:47:04 -08:00
Clayton Coleman
d23c531869 Can't replace a generic resource that is cluster scoped
It should be allowed to invoke kubectl replace with a JSON file that has
no resource version set.  Namespaced resources were working correctly,
but cluster resources were silently failing to lookup the current state
of the object to get the resource version because we weren't using
NamespaceIfScoped(). Added a failing test.
2016-02-12 16:20:37 -05:00
Janet Kuo
4e8b4871c4 Add e2e test for kubectl run should generate deployment 2016-02-12 12:29:14 -08:00
Janet Kuo
311385e76c Make deployment the default in kubectl run 2016-02-12 12:29:14 -08:00
deads2k
9f003f7db3 allow patch to handle multiple types 2016-02-12 11:12:09 -05:00
Maciej Szulik
b929424135 Scale deployments fall-back to regular deployment update 2016-02-12 10:17:35 +01:00
mqliang
7be9071584 create some integer min/max function 2016-02-12 11:20:11 +08:00
Avesh Agarwal
c0e1623be2 Fix kubectl get error when both all-namespaces and namespace are provided.
As per kubectl get help, --namespace should be ignored with all-namespaces,
but kubectl get pods --all-namespaces --namespace=<name-space> gives
following error:

"the namespace from the provided object "default" does not match the
namespace "". You must pass '--namespace=default' to perform this
operation."

This commit fixes this error issue.
2016-02-11 17:06:04 -05:00
derekwaynecarr
06f26189f0 Update kubectl create subcommand to use printer flags 2016-02-11 15:37:47 -05:00
Maciej Szulik
0ea31b56ed Adding reaper for deployments 2016-02-11 19:02:32 +01:00
deads2k
deb4d3ccca type RESTMapper errors to better handle MultiRESTMapper errors 2016-02-11 11:45:05 -05:00
k8s-merge-robot
77f4f80282 Merge pull request #20958 from janetkuo/fix-mismatch
Auto commit by PR queue bot
2016-02-11 06:24:32 -08:00
Madhusudan.C.S
293793cf0d Allow replica set to be exposed as a service and add kubectl command tests for replica sets. 2016-02-10 16:20:08 -08:00
Sam Ghods
fd5747f89c Fix reference to versioned object in kubectl apply
Fixes #19639
2016-02-10 14:11:44 -08:00
Madhusudan.C.S
525d7a7732 Fix the label selector to selector conversion error string.
The message as it is framed right now does not make any sense for the
end users of our system. It might even lead to confusion. So this is
attempt to make the error message less confusing.
2016-02-10 09:43:30 -08:00
k8s-merge-robot
66e872227a Merge pull request #20886 from mqliang/ReplicaSet-kubectl
Auto commit by PR queue bot
2016-02-10 06:16:03 -08:00
k8s-merge-robot
cd1b9cc91b Merge pull request #20880 from janetkuo/fix-describe-deployment
Auto commit by PR queue bot
2016-02-10 05:46:23 -08:00
Janet Kuo
a50267ab3e Fix mismatched types 2016-02-09 18:57:53 -08:00
k8s-merge-robot
41a98b43e4 Merge pull request #19840 from madhusudancs/replicaset-deployment
Auto commit by PR queue bot
2016-02-09 18:57:42 -08:00
Madhusudan.C.S
e7a9f30936 Address review comments. 2016-02-09 15:50:01 -08:00
k8s-merge-robot
b98d9a21a1 Merge pull request #20818 from deads2k/remove-mixed-case
Auto commit by PR queue bot
2016-02-09 05:06:45 -08:00
k8s-merge-robot
5512522362 Merge pull request #20736 from deads2k/kubeconfig-bug
Auto commit by PR queue bot
2016-02-09 03:05:36 -08:00
mqliang
b5e99be81c implement kubectl get/describe for ReplicaSet 2016-02-09 13:56:21 +08:00
Madhusudan.C.S
ed7ad6dcf3 Make deployments work. 2016-02-08 21:27:49 -08:00
Madhusudan.C.S
518f08aa7c Move Deployments to ReplicaSets and switch the Deployment selector to the new LabelSelector.
Update the Deployments' API types, defaulting code, conversions, helpers
and validation to use ReplicaSets instead of ReplicationControllers and
LabelSelector instead of map[string]string for selectors.

Also update the Deployment controller, registry, kubectl subcommands,
client listers package and e2e tests to use ReplicaSets and
LabelSelector for Deployments.
2016-02-08 21:27:38 -08:00
Janet Kuo
1b30516094 Fix the incorrect format when describing deployment 2016-02-08 19:13:34 -08:00
Jordan Liggitt
545f6be573 Regenerate types.go 2016-02-08 17:19:15 -05:00
deads2k
6d71421ae1 eliminate mixed case from RESTMapper 2016-02-08 15:33:31 -05:00
Avesh Agarwal
5fbede0428 Fix sort-by indentation issue. 2016-02-08 02:53:00 -05:00
Clayton Coleman
664d25ba5a Take GVK in SwaggerSchema()
This is needed for the legacy OpenShift API group (oapi) which is also
group: "", version: "v1", but needs to return a different swagger
schema.  Will in the future be replaced by group defaulting.
2016-02-06 21:24:33 -05:00
k8s-merge-robot
b45a94bc78 Merge pull request #20765 from janetkuo/remove-podtemplate-key
Auto commit by PR queue bot
2016-02-06 00:44:47 -08:00
k8s-merge-robot
6c5540baae Merge pull request #20232 from mml/daemonset-warn
Auto commit by PR queue bot
2016-02-05 23:12:51 -08:00
Madhusudan.C.S
4f9b8b2bfc Link all the ReplicaSet controller boilerplate together.
1. Enable replica set in controller manager.
2. Enable replica set etcd storage in master package.
3. Add replica set support to kubectl commands.
2016-02-05 21:05:10 -08:00
Janet Kuo
7e9fb97b7d Remove UniqueLabelKey from deployment spec 2016-02-05 16:21:44 -08:00
Daniel Smith
f973af25fa Merge pull request #20747 from caesarxuchao/internalclientset
rename release_1_2 to internalclientset
2016-02-05 15:49:08 -08:00
k8s-merge-robot
6b20879a7f Merge pull request #20142 from bprashanth/ing_tls
Auto commit by PR queue bot
2016-02-05 15:07:09 -08:00
Daniel Smith
9441721fee Merge pull request #19689 from AdoHe/kubectl_label_display
kubectl add show-labels flag to make it more readable
2016-02-05 14:08:37 -08:00
Chao Xu
184440f8ef rename release_1_2 to internalclientset 2016-02-05 14:02:28 -08:00
deads2k
49529a0aa5 clear env var check for unit test 2016-02-05 14:21:49 -05:00
Prashanth Balasubramanian
c56bebf594 Basic TLS support. 2016-02-05 11:00:04 -08:00
Paul Weil
03261146b0 api 2016-02-05 08:45:50 -05:00
Daniel Smith
d84ac764a9 Merge pull request #20492 from erictune/labselunver
Move extensions.LabelSelector to unversioned
2016-02-04 23:17:40 -08:00
Chao Xu
1b047f8e67 rename legacy to core 2016-02-04 14:26:56 -08:00
Eric Tune
6133cb1f21 Move extensions.LabelSelector to unversioned.
Move type LabelSelector and type LabelSelectorRequirement from pkg/apis/extensions
This avoids an import loop when Job (and later DaemonSet, Deployment, ReplicaSet)
are moved out of extensions to new api groups.

Also Move LabelSelectorAsSelector utility from pkg/apis/extensions/ to pkg/api/unversioned/
Also its test.
Also LabelSelectorOp* constants.
Also the pkg/apis/extensions/validation functions ValidateLabelSelectorRequirement and
ValidateLabelSelector move to pkg/api/unversioned

The related type in pkg/apis/extensions/v1beta1/ is staying there.  I might move
it in another PR if neccessary.
2016-02-04 13:46:34 -08:00
AdoHe
714d12cf72 kubectl add show-labels flag to make it more readable 2016-02-04 02:08:44 -05:00
Saad Ali
0952dcd349 Merge pull request #20389 from mqliang/deployment-MinReadySeconds
Move MinReadySeconds out of RollingUpdateDeployment
2016-02-03 22:44:14 -08:00
k8s-merge-robot
16aa40cc33 Merge pull request #20035 from janetkuo/record-command
Auto commit by PR queue bot
2016-02-03 20:19:08 -08:00
k8s-merge-robot
65ebe19164 Merge pull request #20584 from caesarxuchao/release_1_2
Auto commit by PR queue bot
2016-02-03 19:46:27 -08:00
Chao Xu
f9f5736b01 grep sed 2016-02-03 13:06:07 -08:00
Janet Kuo
e3cb44aaff Copy deployment's annotations to its RC 2016-02-03 10:19:06 -08:00
Janet Kuo
5088d0e147 Record kubectl commands 2016-02-03 10:19:05 -08:00
mqliang
c4a1ab42e3 Move MinReadySeconds out of RollingUpdateDeployment 2016-02-03 11:38:11 +08:00
Janet Kuo
442c75045a Add kubectl rollout undo 2016-02-02 14:20:01 -08:00
Matt Liggett
f2d5375bc0 Stop deleting DaemonSet pods during drain.
We do this because they will be recreated immediately by the
DaemonSet Controller.  In addition, we also require a specific flag
(--ignore-daemonsets) when there are DaemonSet pods on the node.
2016-02-02 11:13:29 -08:00
Michail Kargakis
21c2b836ed kubectl: add rollout pause/resume subcommands 2016-02-02 10:33:55 +01:00
Janet Kuo
8fb86a3d3b Add kubectl rollout history 2016-02-01 15:32:43 -08:00
k8s-merge-robot
ff386b7a58 Merge pull request #20093 from liggitt/annotate_label_patch
Auto commit by PR queue bot
2016-02-01 09:04:12 -08:00
Chao Xu
c72d234bbf replacing handwritten client in several controllers 2016-01-31 15:42:02 -08:00
k8s-merge-robot
2ab16bda17 Merge pull request #19882 from janetkuo/kubectl-rollout-command
Auto commit by PR queue bot
2016-01-30 16:52:55 -08:00
k8s-merge-robot
4ed43968e0 Merge pull request #19581 from janetkuo/deployment-version
Auto commit by PR queue bot
2016-01-30 13:34:59 -08:00
Alex Robinson
fdc2f39503 Merge pull request #20322 from feiskyer/kubectl-check-image
Check "image" for --expose
2016-01-30 13:31:45 -08:00
k8s-merge-robot
03ed851c11 Merge pull request #20252 from smarterclayton/parameter_codec
Auto commit by PR queue bot
2016-01-30 13:07:52 -08:00
k8s-merge-robot
6f66dbb9ab Merge pull request #20127 from smarterclayton/remove_conversion_scheme
Auto commit by PR queue bot
2016-01-30 12:39:44 -08:00
Janet Kuo
c84a0371a2 Deployment adds version info to its new rc 2016-01-30 12:04:35 -08:00
Clayton Coleman
8692d260f8 Use Parameter codec in request.VersionedParams() 2016-01-30 14:14:20 -05:00
Clayton Coleman
60b66665e1 Move conversion.Scheme to runtime
There is only one type registry to rule them all
2016-01-30 14:12:40 -05:00
Alex Robinson
1903c4eb51 Merge pull request #19605 from aveshagarwal/master-sort-by-panic
Fix panic when sort-by is used with kubectl get.
2016-01-30 10:48:56 -08:00
k8s-merge-robot
34f4a03f62 Merge pull request #20103 from mml/drain-followup
Auto commit by PR queue bot
2016-01-30 06:25:06 -08:00
k8s-merge-robot
9e7a0e2a03 Merge pull request #20053 from smarterclayton/dont_duplicate_prefix
Auto commit by PR queue bot
2016-01-30 04:50:07 -08:00
k8s-merge-robot
311d8f8ab9 Merge pull request #20009 from janetkuo/kubectl-get-deployments
Auto commit by PR queue bot
2016-01-30 04:16:27 -08:00
k8s-merge-robot
e963e4ad07 Merge pull request #19866 from liggitt/export_printoptions
Auto commit by PR queue bot
2016-01-30 01:03:00 -08:00
k8s-merge-robot
7912682595 Merge pull request #20226 from smarterclayton/fix_extract_list
Auto commit by PR queue bot
2016-01-29 17:15:30 -08:00
feisky
dced44b16d make "image" required for --expose 2016-01-29 17:12:59 +08:00
Madhusudan.C.S
73fb6dca62 DaemonSetSpec.Template should not be a pointer.
Pod template for DaemonSets isn't optional, like Deployments and Jobs,
so the DaemonSetSpec.Template field should not be a pointer.
2016-01-28 22:51:58 -08:00
k8s-merge-robot
298028dc8b Merge pull request #18533 from jlowdermilk/kubectl-help
Auto commit by PR queue bot
2016-01-28 20:55:27 -08:00
Janet Kuo
f49aef535d Print availableReplicas when kubectl get deployments 2016-01-28 20:11:59 -08:00
liggitt
5a59dac0dd Export PrintOptions struct 2016-01-28 20:12:37 -05:00
Jeff Lowdermilk
734a8c0602 Change kubectl help/examples to use jsonpath instead of template 2016-01-28 16:10:48 -08:00
Paul Morie
9030f16071 Move ConfigMap to main API 2016-01-28 17:07:05 -05:00
Matt Liggett
d4b02466b7 Add support for Job-managed pods to drain. 2016-01-28 13:23:12 -08:00
Clayton Coleman
71a13f7f4b ExtractList should handle v1.RawExtension correctly
Also fixes CustomColumnPrinter to pass decoder in, and ensures a test
case tests the combined path.
2016-01-27 15:30:21 -05:00
Clayton Coleman
38c7eded99 Prepare for content-type negotiation
Combine the fields that will be used for content transformation
(content-type, codec, and group version) into a single struct in client,
and then pass that struct into the rest client and request. Set the
content-type when sending requests to the server, and accept the content
type as primary.

Will form the foundation for content-negotiation via the client.
2016-01-26 17:44:30 -05:00
Avesh Agarwal
bec2d678b9 Fix panic when sort-by is used with kubectl get. 2016-01-26 13:58:24 -05:00
Janet Kuo
591269c99c Surface available/unavailable pods in deployment describer 2016-01-25 14:30:15 -08:00
Jordan Liggitt
d7f547b4c2 Make label/annotate commands fall back to update on patch compute failure 2016-01-25 11:57:34 -05:00
k8s-merge-robot
d7d601b2fc Merge pull request #18876 from erictune/dynamic-job
Auto commit by PR queue bot
2016-01-25 08:06:22 -08:00
Clayton Coleman
f9c48c864d Don't add 'error: ' to messages if already there 2016-01-23 00:41:36 -05:00
Eric Tune
53ee76fe1a Support Work Queue jobs with variable parallelism
When job.spec.completions is nil, only
one task needs to succeed for the job to succeed,
and parallelism can be scaled freely during runtime.

Added tests.

Release Note:

This causes two minor changes to the API.

First, unset parallelism previously was defaulted to be
equal to completions.  Now it always defaults to 1 if unset.

Second, having parallelism=N and completions unset would previously
be defaulted to 1 completion and N parallelism.
(this is not something we expect people to do, though)
Now, no defaulting occurs in that case, and the job's
behavior is different (any completion causes success).
2016-01-22 14:57:51 -08:00
Zach Loafman
62726c4ab8 Revert "kubectl: Make scaling smarter" 2016-01-22 14:52:38 -08:00
Clayton Coleman
33085c0cf2 Update tests to handle codec changes 2016-01-22 13:27:26 -05:00
Clayton Coleman
2fd38a7dc0 Break kubectl from assuming details of codecs
Most of the logic related to type and kind retrieval belongs in the
codec, not in the various classes. Make it explicit that the codec
should handle these details.

Factory now returns a universal Decoder and a JSONEncoder to assist code
in kubectl that needs to specifically deal with JSON serialization
(apply, merge, patch, edit, jsonpath). Add comments to indicate the
serialization is explicit in those places. These methods decode to
internal and encode to the preferred API version as previous, although
in the future they may be changed.

React to removing Codec from version interfaces and RESTMapping by
passing it in to all the places that it is needed.
2016-01-22 13:27:26 -05:00
Clayton Coleman
fb4ea845f1 resource_printer was not leveraging runtime interfaces
In general, everything in kubectl/* needs to be ignorant of api/* unless
it deals with a concrete type - this change forces resource_printer to
accept interface abstractions (that are already part of kubectl).
2016-01-22 13:27:25 -05:00
Zach Loafman
68771fe26a Merge pull request #18169 from kargakis/smarter-scaling
kubectl: Make scaling smarter
2016-01-22 10:24:51 -08:00
Nikhil Jindal
cd2e0c490e Merge pull request #19674 from nikhiljindal/latestAndRegistered
Merge registered and latest and move to apimachinery
2016-01-21 17:19:49 -08:00
Alex Mohr
9546909929 Merge pull request #19366 from ironcladlou/noop-zero-replicas
Support rolling update to 0 desired replicas
2016-01-21 15:08:20 -08:00
nikhiljindal
2ad642d370 Merge registered and latest and move to apimachinery 2016-01-21 14:42:21 -08:00
Alex Mohr
359c684d57 Merge pull request #19698 from kargakis/expose-deployments
kubectl: Support exposing deployments
2016-01-21 14:26:14 -08:00
k8s-merge-robot
7f25a4f662 Merge pull request #18997 from mqliang/env-variable
Auto commit by PR queue bot
2016-01-21 03:03:19 -08:00
k8s-merge-robot
03ecde1277 Merge pull request #17535 from mesosphere/jdef_abspath_breaks_proxies
Auto commit by PR queue bot
2016-01-20 21:46:47 -08:00
Janet Kuo
183b7f4d6d Add kubectl rollout 2016-01-20 16:17:42 -08:00
Dan Mace
eb778217ad Support rolling update to 0 desired replicas
Support a desired replica count of 0 for the new RC. Users sometimes
want to roll out a new "inactive" template with the intent of scaling
it up manually later.
2016-01-20 09:21:13 -05:00
James DeFelice
75f487f7bf AbsPath should be compatible with proxy-prefixes:
- replace Config.Prefix with .Host and .APIPath
- Request .path promoted to .pathPrefix, .baseURL holds required prefix
2016-01-20 00:31:58 +00:00
k8s-merge-robot
d5dde09e10 Merge pull request #19465 from thockin/docs-nit
Auto commit by PR queue bot
2016-01-16 13:32:36 -08:00
k8s-merge-robot
4cd20f54fc Merge pull request #19460 from bprashanth/kubectl_desc_ing
Auto commit by PR queue bot
2016-01-16 12:55:54 -08:00
k8s-merge-robot
3816c1798f Merge pull request #19411 from eparis/boolflag-def-val
Auto commit by PR queue bot
2016-01-16 06:23:48 -08:00
Michail Kargakis
08d8843a9c kubectl: Support exposing deployments 2016-01-15 17:02:24 +01:00
Eric Paris
aad4b4477d Make "BoolFlag" booleans not require =true 2016-01-14 09:07:00 -05:00
k8s-merge-robot
2655e1f767 Merge pull request #19361 from tombenner/add_current_context
Auto commit by PR queue bot
2016-01-14 01:09:12 -08:00
k8s-merge-robot
36dc6eab34 Merge pull request #19300 from caesarxuchao/move-SwaggerSchema-to-disocovery
Auto commit by PR queue bot
2016-01-13 23:20:08 -08:00
mqliang
640ce23930 make env variable parsing more robust 2016-01-14 10:30:15 +08:00
k8s-merge-robot
c059dfdb9b Merge pull request #18712 from pmorie/config-kubectl
Auto commit by PR queue bot
2016-01-13 13:51:29 -08:00
Chao Xu
6a104ee46c move SwaggerSchema to DiscoveryClient 2016-01-13 10:11:53 -08:00
Chao Xu
144b5acd08 move ServerVersion to DiscoveryClient 2016-01-13 10:11:52 -08:00
David Oppenheimer
8ac484793d Comment out calls to httptest.Server.Close() to work around
https://github.com/golang/go/issues/12262 . See #19254 for
more details. This change should be reverted when we upgrade
to Go 1.6.
2016-01-11 23:02:11 -08:00
Tom Benner
52739bc82b Add kubectl config current-context 2016-01-11 21:54:24 -08:00
Tim Hockin
5002b784f9 Clarify --external-ip in kubectl expose docs
Also fix a couple minor punctuation issues.
2016-01-10 23:29:57 -08:00
Prashanth Balasubramanian
99af2da6c0 Fix kubectl describe ingress 2016-01-10 19:05:49 -08:00
Matt Liggett
c6e9ad066e Initial node drain implementation for #3885.
It cordons (marks unschedulable) the given node, and then deletes every
pod on it, optionally using a grace period.  It will not delete pods
managed by neither a ReplicationController nor a DaemonSet without the
use of --force.

Also add cordon/uncordon, which just toggle node schedulability.
2016-01-06 17:28:18 -08:00
Paul Morie
9c18067e60 Add kubectl support for ConfigMap 2016-01-06 09:03:39 -05:00
k8s-merge-robot
356487c951 Merge pull request #18101 from brendandburns/kubectl6
Auto commit by PR queue bot
2015-12-29 12:43:42 -08:00
k8s-merge-robot
500493a3ac Merge pull request #18925 from caesarxuchao/refactor-registration
Auto commit by PR queue bot
2015-12-24 15:19:36 -08:00
k8s-merge-robot
21c01c05e3 Merge pull request #18902 from deads2k/gv-partial
Auto commit by PR queue bot
2015-12-24 01:42:59 -08:00
Chao Xu
2b5b708b70 Refactor the API registration and installation 2015-12-23 22:44:25 -08:00
Brendan Burns
4123a61df7 Add the client side bits of kubectl export 2015-12-22 10:41:59 -08:00
Brendan Burns
b6ca92127d Merge pull request #16980 from jackgr/force_apply
Implement conflict detection in strategic merge patch
2015-12-22 10:33:35 -08:00
k8s-merge-robot
6815cbf742 Merge pull request #15210 from brendandburns/docs
Auto commit by PR queue bot
2015-12-21 07:58:46 -08:00
deads2k
20f9c2c545 find partial resource matches 2015-12-21 09:26:06 -05:00
Michail Kargakis
e894dcc8ff kubectl: Make scaling smarter
Skip updating resources that already meet the desired replica count.
This change has an impact in both kubectl scale and kubectl delete in
that reapable resources that already have the desired replicas (number
provided via --replicas for scale, or zero for delete) won't be updated
again and a "already scaled" message will be printed (in case of scale).
2015-12-21 10:07:21 +01:00
k8s-merge-robot
439d7a721e Merge pull request #18878 from janetkuo/delete-job-pod
Auto commit by PR queue bot
2015-12-20 16:25:32 -08:00
k8s-merge-robot
7c43797e61 Merge pull request #17516 from kargakis/tighten-generator-validation
Auto commit by PR queue bot
2015-12-19 18:36:18 -08:00
k8s-merge-robot
b12f6b341f Merge pull request #18599 from smarterclayton/abstract_explain
Auto commit by PR queue bot
2015-12-19 04:34:32 -08:00
k8s-merge-robot
3c3a24e1d4 Merge pull request #18694 from thockin/airplane_validation_pt7
Auto commit by PR queue bot
2015-12-19 03:57:53 -08:00
k8s-merge-robot
649855128d Merge pull request #18627 from caesarxuchao/oneline-fix
Auto commit by PR queue bot
2015-12-19 00:50:31 -08:00
k8s-merge-robot
00c754108f Merge pull request #18165 from fabianofranz/fixes_get_show_all
Auto commit by PR queue bot
2015-12-18 20:01:20 -08:00
Eric Tune
f15b2e32a7 Merge pull request #16422 from hurf/created_by
Display controllers along with type when describing a pod
2015-12-18 13:44:07 -08:00
Tim Hockin
0fecf965b4 Change how one-of blocks are validated
I took a hard look at error output and played until I was happier.  This now
prints JSON for structs in the error, rather than go's format.

Also made the error message easier to read.

Fixed tests.
2015-12-18 09:42:14 -08:00
Tim Hockin
43ed74748e Clean up and document validation strings
Also add a detail string for Required and Forbidden.  Fix tests.
2015-12-18 09:40:50 -08:00
Michail Kargakis
71934b7643 kubectl: Validate flag usage against generators
This commit moves the generators into separate buckets and creates
separate calls for each one group. This helps in providing just the
necessary generators to each generator command.

Validation of flags against generators is also added so that flags
that are not meant to be used with a specific generator will result
in error.
2015-12-18 15:09:53 +01:00
Clayton Coleman
151b4e5958 Tweak explain messages and abstract client 2015-12-18 00:27:22 -05:00
Janet Kuo
7a4643f123 When reaping jobs, ignores its pod not found error 2015-12-17 18:57:22 -08:00
Abhishek Shah
6f63875165 Reverting 18442 2015-12-17 16:57:29 -08:00
Eric Tune
1965fe1824 Rerun hack/update-codecgen.sh 2015-12-17 13:51:33 -08:00
Eric Tune
1752cf22d4 Merge pull request #17940 from soltysh/job_deadline
Added ActiveDeadlineSeconds to jobs
2015-12-17 13:11:13 -08:00
Fabiano Franz
717896eae3 Fixes get --show-all 2015-12-17 18:35:54 -02:00
k8s-merge-robot
674e24a16e Merge pull request #18617 from mqliang/OSImage
Auto commit by PR queue bot
2015-12-17 08:50:48 -08:00
k8s-merge-robot
5c735ee68d Merge pull request #18616 from mqliang/MaxUnavailable
Auto commit by PR queue bot
2015-12-17 08:18:39 -08:00
Maciej Szulik
327c104460 Added ActiveDeadlineSeconds to jobs, allowing failing a job after
exceeding allowed time.
2015-12-17 15:26:42 +01:00
deads2k
9fda7f1812 update StatusDetails to handle Groups 2015-12-17 09:14:12 -05:00
k8s-merge-robot
5c4479f542 Merge pull request #18442 from deads2k/gv-restmapper-10
Auto commit by PR queue bot
2015-12-17 06:06:43 -08:00
k8s-merge-robot
bf5f69bf44 Merge pull request #18501 from feihujiang/printHowToReAttachToSession
Auto commit by PR queue bot
2015-12-17 01:02:01 -08:00
k8s-merge-robot
8ceb947b63 Merge pull request #18346 from soltysh/issue17363
Auto commit by PR queue bot
2015-12-16 21:25:52 -08:00
Jeff Lowdermilk
6adf227879 Merge pull request #18583 from jsravn/fix-rolling-update-rollback
Fix rolling-update rollback from an unavailable rc
2015-12-16 14:26:55 -08:00
k8s-merge-robot
5a579a2555 Merge pull request #16028 from derekwaynecarr/make_cmd
Auto commit by PR queue bot
2015-12-16 08:41:59 -08:00
deads2k
41b78ad2b6 find partial resource matches 2015-12-16 10:19:31 -05:00
k8s-merge-robot
e309583ff1 Merge pull request #18473 from smarterclayton/change_runtime_object
Auto commit by PR queue bot
2015-12-16 04:24:22 -08:00