342 Commits

Author SHA1 Message Date
Julian V. Modesto
f0eb68c0cf Make client-side apply safer
- Remove the ServerDryRun field and delegate it entirely to the resource.Helper
- Use resource.Helper for deletions (as in `kubectl apply --force`)
instead of using the pruner's method that uses a dynamic client
- Reduce the resource.Helpers and times we check for server-side dry-run
in apply
2020-05-19 17:01:47 -04:00
Brian Pursley
84d5e664af Changed kubectl config set-cluster and set-credentials to support process substitution for filenames 2020-05-15 09:22:59 -04:00
zhouya0
bbf41448f6 Fix kubectl create secret docker-registry 2020-05-15 12:14:03 +08:00
Julian V. Modesto
360c348d0e Set kubectl field manager names 2020-05-09 13:24:39 -04:00
Kubernetes Prow Robot
775feed217 Merge pull request #90018 from wojtek-t/deprecate_default_conversions
Deprecate default conversions
2020-04-23 10:23:10 -07:00
Maciej Szulik
a871738c86 Revert "stop defaulting kubeconfig to http://localhost:8080"
This reverts commit b19ad9e7a7.
2020-04-17 16:37:15 +02:00
Kubernetes Prow Robot
b0806d0c02 Merge pull request #90165 from ScrapCodes/fix_flake_run_apply
Fixed flaky test by changing get_object_assert -> wait_object_assert.
2020-04-16 08:38:59 -07:00
Prashant Sharma
5a765b1e15 Changed get_object_assert -> wait_object_assert, to fix the flaky test. 2020-04-16 10:01:18 +05:30
Kubernetes Prow Robot
4bba193bea Merge pull request #89666 from julianvmodesto/kubectl-scale-dry-run
Support kubectl scale --dry-run=server|client
2020-04-11 10:45:47 -07:00
wojtekt
f624314f91 Fix multiple conversion tests 2020-04-10 17:03:35 +02:00
Kubernetes Prow Robot
897c10e7b2 Merge pull request #89551 from zlabjp/restore-kubectl-prune-multiple-namespaces
Restore the ability to `kubectl apply --prune` without -n flag
2020-04-09 07:49:43 -07:00
Tatsuhiro Tsujikawa
7af3b01f24 Restore the ability to kubectl apply --prune without -n flag
Before https://github.com/kubernetes/kubernetes/pull/83084, `kubectl
apply --prune` can prune resources in all namespaces specified in
config files.  After that PR got merged, only a single namespace is
considered for pruning.  It is OK if namespace is explicitly specified
by --namespace option, but what the PR does is use the default
namespace (or from kubeconfig) if not overridden by command line flag.
That breaks the existing usage of `kubectl apply --prune` without
--namespace option.  If --namespace is not used, there is no error,
and no one notices this issue unless they actually check that pruning
happens.  This issue also prevents resources in multiple namespaces in
config file from being pruned.

kubectl 1.16 does not have this bug.  Let's see the difference between
kubectl 1.16 and kubectl 1.17.  Suppose the following config file:

```yaml
apiVersion: v1
kind: ConfigMap
metadata:
  creationTimestamp: null
  name: foo
  namespace: a
  labels:
    pl: foo
data:
  foo: bar
---
apiVersion: v1
kind: ConfigMap
metadata:
  creationTimestamp: null
  name: bar
  namespace: a
  labels:
    pl: foo
data:
  foo: bar
```

Apply it with `kubectl apply -f file`.  Then comment out ConfigMap foo
in this file.  kubectl 1.16 prunes ConfigMap foo with the following
command:

$ kubectl-1.16 apply -f file -l pl=foo --prune
configmap/bar configured
configmap/foo pruned

But kubectl 1.17 does not prune ConfigMap foo with the same command:

$ kubectl-1.17 apply -f file -l pl=foo --prune
configmap/bar configured

With this patch, kubectl once again can prune the resource as before.
2020-04-09 02:54:10 +00:00
Lubomir I. Ivanov
9bbd321fec remove /cluster/kubeadm.sh and /test/cmd/kubeadm.sh
/cluster/kubeadm.sh is used to find the kubeadm binary.
This file is legacy and is removed.

Remove /test/cmd/kubeadm.sh. This file contains a function that is used
to build kubeadm and invoke "make test". Move the function contents
to hack/make-rules/test-cmd.cmd.

Stop sourcing /test/cmd/kubeadm.sh in /test/cmd/legacy-script.sh.

Also remove the --kubeadm-path invocation as this can be handled
with an env. variable directly.
2020-04-09 00:47:15 +03:00
Kubernetes Prow Robot
38f0a8bc74 Merge pull request #89652 from liggitt/relist-timeout
Fix client watch reestablishment handling of client-side timeouts
2020-04-07 01:15:44 -07:00
Sean R. Sullivan
748ad74245 Even with build error, kubectl apply should apply all valid resources 2020-04-04 15:48:31 -07:00
Prashant Sharma
3ff54eb10c Fixes a flaky test, by adding kubectl wait for delete deployment in apply.sh (#89725)
* Add kubectl wait for delete deployment.

* Even better to wait for all pods deleted.

* get_object_assert -> wait_object_assert
2020-04-04 00:07:47 -07:00
Julian V. Modesto
9c0320f1bf Ensure diff doesn't persist patches 2020-04-02 19:23:32 -04:00
Julian V. Modesto
efed958779 Support kubectl scale --dry-run=server|client 2020-03-31 16:19:52 -04:00
Sean R. Sullivan
4ca2d5a9da Fixes kubectl apply tests to run; updates broken tests 2020-03-30 17:04:10 -07:00
Jordan Liggitt
343c1e7636 Fix client watch reestablishment handling of client-side timeouts 2020-03-30 17:48:00 -04:00
Sean R. Sullivan
1083c0fe05 Adds integration test for apply failures when applying multiple resources 2020-03-26 22:33:04 -07:00
Julian V. Modesto
bacc2c4960 Set field manager for kubectl diff --server-side.
Bonus: check diff only dry-runs without persisting.

Co-authored-by: Takahiro HATORI <tahatori@zlab.co.jp>
2020-03-04 20:20:07 -05:00
Kubernetes Prow Robot
b5b675491b Merge pull request #86173 from soltysh/cli_defaults
stop defaulting kubeconfig to http://localhost:8080
2020-03-04 07:23:47 -08:00
Maciej Szulik
9dac1699bf Wire --filename flag to exec 2020-03-03 12:16:52 +01:00
David Eads
b19ad9e7a7 stop defaulting kubeconfig to http://localhost:8080 2020-03-02 18:32:16 +01:00
Kubernetes Prow Robot
641616362d Merge pull request #88133 from julianvmodesto/dry-run-tests
Cleanup --dry-run values in tests, docs, and scripts
2020-02-27 11:33:42 -08:00
Kubernetes Prow Robot
1591590030 Merge pull request #88292 from julianvmodesto/add-dry-run
Add --dry-run=server|client|none to more kubectl commands
2020-02-20 16:30:25 -08:00
Haowei Cai
aecce98a54 wait for pruned CR to be invisible from API 2020-02-19 17:41:13 -08:00
Julian V. Modesto
a9ec444d74 Add --dry-run to more kubectl commands.
- delete
- taint
- replace
2020-02-19 17:53:21 -05:00
Julian V. Modesto
d97169f59a Clean up --dry-run values.
- Clean up --dry-run values in tests, docs, and scripts
- Fix --dry-run for auth reconcile and add a test
2020-02-15 00:43:30 -05:00
Benjamin Elder
3fb7183215 bump pause to 3.2 in test/ 2020-02-14 14:03:19 -08:00
Julian V. Modesto
13b80b48cd Use --dry-run=client,server in kubectl.
- Support --dry-run=server for subcommands apply, run, create, annotate,
expose, patch, label, autoscale, apply set-last-applied, drain, rollout undo
- Support --dry-run=server for set subcommands
  - image
  - resources
  - serviceaccount
  - selector
  - env
  - subject
- Support --dry-run=server for create subcommands.
  - clusterrole
  - clusterrolebinding
  - configmap
  - cronjob
  - job
  - deployment
  - namespace
  - poddisruptionbudget
  - priorityclass
  - quota
  - role
  - rolebinding
  - service
  - secret
  - serviceaccount
- Remove GetClientSideDryRun
2020-02-12 20:46:54 -05:00
Kubernetes Prow Robot
19ca6d30d2 Merge pull request #87437 from apelisse/kubectl-diff-exit-code
kubectl-diff: Return non-1 errors on kubectl failures
2020-02-01 18:33:20 -08:00
Kubernetes Prow Robot
dba8d60f8c Merge pull request #87077 from soltysh/remove_run_generators
Remove kubectl run generators
2020-01-29 12:16:14 -08:00
Maciej Szulik
6972d6f33a Fix kubectl taint's Complete parsing 2020-01-27 13:31:22 +01:00
Maciej Szulik
82f97775b7 Remove kubectl run generators 2020-01-22 16:44:00 +01:00
Antoine Pelisse
38c5f318c9 kubectl-diff: Test return code on failure and changes 2020-01-21 15:34:22 -08:00
drfish
010b885236 Remove workaround for RS bug in cmd apps test 2020-01-10 09:39:54 +08:00
Jordan Liggitt
f50638f439 Isolate kubectl test-cmd plugin tests 2019-12-19 01:35:36 -05:00
Daniel Holbach
a252a617a5 drop KUBE_TIMEOUT in test/cmd/kubeadm.sh
As runyontr remarked in test/cmd/kubeadm.sh: when
	https://github.com/kubernetes/kubeadm/issues/1430 is closed,
	KUBE_TIMEOUT can be removed.
2019-11-28 10:49:41 +01:00
Rob Scott
7085d692b7 Reverting managed-by-setup annotation
This ended up causing far more problems than it was worth, especially
given that it just attempted to provide backwards compatibility with
the alpha release.
2019-11-15 11:50:58 -08:00
Kubernetes Prow Robot
141329fd21 Merge pull request #85285 from liggitt/kubectl-resource-version
Fix --resource-version handling in kubectl
2019-11-14 16:39:03 -08:00
Jordan Liggitt
0ac8345d3a Fix --resource-version handling in kubectl 2019-11-14 12:33:14 -05:00
Rob Scott
a7e589a8c6 Promoting EndpointSlices to beta 2019-11-13 14:20:19 -08:00
Jordan Liggitt
4c3bf1a660 Fix record_command suppression of test errors 2019-11-07 02:26:45 -05:00
Jordan Liggitt
cb17a2b6a6 Fix run_pod_tests 2019-11-07 02:26:45 -05:00
Jordan Liggitt
59dfac587f Fix assert methods 2019-11-07 02:26:45 -05:00
Odin Ugedal
4e44407fa9 Fix failing service test 2019-10-23 23:23:22 +02:00
Odin Ugedal
6a73c0899a Fix shellcheck failures SC2251
https://github.com/koalaman/shellcheck/wiki/SC2251

This may be masking some test failures.

We have a bunch of test code like this:

set -o errexit
[...]
! kubectl get pod wrong-pod
[...]

This test will succeed no matter what the result (return code) of kubectl is.
2019-10-23 22:47:47 +02:00
Kubernetes Prow Robot
48b90db9c3 Merge pull request #83495 from tanjunchen/fix-typo
remove the repeat word in documents
2019-10-06 15:05:08 -07:00