Commit Graph

2400 Commits

Author SHA1 Message Date
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
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
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
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