Commit graph

530 commits

Author SHA1 Message Date
Arda Güçlü
daa081c928 Re-enable label selector
Kubernetes-commit: fa67514717bd8ab66be9dd35de66b54e07d5168c
2023-02-07 11:11:05 +03:00
Arda Güçlü
80aa9a9d2d Add integration test for diff --prune --selector
This PR adds new integration tests for `kubectl diff --prune -l` to
catch possible regressions in the future.

Kubernetes-commit: 557582e467fa64bd468f793e3ba4645feb436fee
2023-02-07 11:04:05 +03:00
Daniel Lenar
4f4a819ca0 Use label selector for filtering out resources when pruning. Matches same behavior as for kubectl apply
Signed-off-by: Daniel Lenar <dlenar@vailsys.com>

Kubernetes-commit: 92fff2577a08b0db131193a63b7d5903b75d2d4c
2023-01-05 13:55:39 -06:00
Jordan Liggitt
24f961ffa8 Fix shadowing lint error
Kubernetes-commit: 9e9b92bb1a4b81dbb6cdf7c1195f7ac16cb1a0cd
2023-01-17 12:09:24 -05:00
Sean Sullivan
edd40c6552 Exports WarningPrinter field in DeleteOptions
Kubernetes-commit: 2ea334e9e0368a8752e21cc4e9bf46cc75af5c26
2023-01-09 17:14:16 -08:00
Brian Pursley
6117b81cfe Revert "Remove unused flags from kubectl run"
Kubernetes-commit: 9b07739bff89efcbefa844375e7f9c83c5c3c3e4
2022-09-05 09:34:48 -04:00
Jordan Liggitt
0de622d643 Improve kubectl display of invalid errors
Kubernetes-commit: bf30d3d389108c61d006c476fbcae344549802cf
2022-08-31 11:49:34 -04:00
Natasha Sarkar
393c40f5c4 Update kubectl kustomize to kyaml/v0.13.9, cmd/config/v0.10.9, api/v0.12.1, kustomize/v4.5.7 (#111606)
Kubernetes-commit: 83c3c37a879c6d14cce2465161f88d3c6881de8b
2022-08-03 04:48:50 +00:00
peizhouyu
975bff8512 fix that beginning of help text is cut off for apply and replace --filename flag
Kubernetes-commit: d216b3433d018fae95efdf987002dd8c4d006ae6
2022-07-28 11:33:34 +08:00
Marcus Puckett
77c921aa92 Fix flakiness with kubectl wait tests (#111168)
* Prepend reactor not watch reactor

This forces the object to be created first it looks like, avoiding a race condition in testing.
Use PrependReactor instead of PrependWatchReactor

Decrease test timeouts

No need to be this long
Revert use of new scheme to reuse same scheme for all tests

Allow 1 to 2 actions in stale observed generation failure

Allow range of test action lengths

Reduce test flakiness
Fix TestWaitForJSONPathCondition/handles_watch_condition_change

Set delete wait options properly

cherry pick original changes back into branch

* Revert delete timeout setting change

* Remove validateActions functions

* Remove go-spew

Kubernetes-commit: dcc54dec19fa5f4605cf679af5289b173ce6015f
2022-07-28 20:44:55 +00:00
Arda Güçlü
fc1c4dafec Add new flags into alpha events
In order to promote kubectl alpha events to beta,
it should at least support flags which is already
supported by kubectl get events as well as new flags.

This PR adds;

--output: json|yaml support and does essential refactorings to
integrate other printing options easier in the future.

--no-headers: kubectl get events can hide headers when this flag is set for default printing.
Adds this ability to hide headers also for kubectl alpha events.
This flag has no effect when output is json or yaml for both commands.

--types: This will be used to filter certain events to be printed and
discard others(default behavior is same with --event=Normal,Warning).

Kubernetes-commit: 63b8684cd32f96f3a1e5c5a5fd05e8194f2140fc
2022-05-10 13:09:59 +03:00
Brian Pursley
7a39dfc2d3 Change kubectl diff to exclude managedFields by default
Changes kubectl diff to exclude managedFields by default.
Adds a new --show-managed-fields flag that allows you to
include managed fields in the diff.

Kubernetes-commit: e88470c31f74cbb1ed685ef1bc2ba91e74fc1c5e
2022-07-27 12:53:32 -04:00
Marc Khouzam
7ef2d069b5 Add shell completion for new --subresource flag
Signed-off-by: Marc Khouzam <marc.khouzam@montreal.ca>

Kubernetes-commit: 33b03096f2fb283f00966350d460e6f4198d4df4
2022-03-28 10:23:54 -04:00
Davanum Srinivas
d3700ce217 Generate and format files
- Run hack/update-codegen.sh
- Run hack/update-generated-device-plugin.sh
- Run hack/update-generated-protobuf.sh
- Run hack/update-generated-runtime.sh
- Run hack/update-generated-swagger-docs.sh
- Run hack/update-openapi-spec.sh
- Run hack/update-gofmt.sh

Signed-off-by: Davanum Srinivas <davanum@gmail.com>

Kubernetes-commit: a9593d634c6a053848413e600dadbf974627515f
2022-07-19 20:54:13 -04:00
Davanum Srinivas
ded91f6296 Adjust for os/exec changes in 1.19
https://tip.golang.org/doc/go1.19#os-exec-path

Signed-off-by: Davanum Srinivas <davanum@gmail.com>

Kubernetes-commit: 1f557035e053e2f604b228815241d59123f9915c
2022-07-22 17:42:11 -04:00
Sean Sullivan
e23896b42c gofmt update
Kubernetes-commit: d84abe868d673de917b5714cd2460f21413ac745
2022-07-24 23:46:44 -07:00
Sean Sullivan
acec06e5c9 disallow --force and --prune in client-side apply
Kubernetes-commit: e02a26d74a2e346b4a5607c99180e5b748923e5f
2022-07-24 16:26:57 -07:00
muyangren2
d6613187f4 Typo in kubectl delete --help 111302
Kubernetes-commit: b7e82ad2fd03b23b53ab94de66c5b3c30863724a
2022-07-21 20:42:30 +08:00
xiaopeng
bc02b7b600 add setErr
Signed-off-by: xiaopeng <hanxiaop8@outlook.com>

Kubernetes-commit: 8839609868d4b2b5887eefdbb216c1ed5b848edc
2022-06-21 17:57:48 +08:00
xiaopeng
a833054047 replace deprecated setoutput
Kubernetes-commit: 48629bcc0588773bc837d1cc69cab8b21a2057e0
2022-04-05 14:04:22 +08:00
Arda Güçlü
cd97087d9c Add unit tests for explain command
Kubernetes-commit: 8eb50efefc8aea38fc63b79994561667c86c520c
2022-06-30 12:48:32 +03:00
Lee Verberne
f713c9d779 Fix error message in attach_test.go
Co-authored-by: Akanksha kumari <akankshakumari393@gmail.com>

Kubernetes-commit: 1dd3879da03b6a8cdef423c9fef096d1a4814448
2022-07-17 12:38:26 +02:00
Lee Verberne
3e07021378 Fix incorrect message when attaching to ephemeral containers
Kubernetes-commit: 8d4ec9ac9dcf45b66111075a1b67043c2885b263
2022-07-15 19:23:24 +02:00
Abirdcfly
3614667477 cleanup: remove duplicate import
Signed-off-by: Abirdcfly <fp544037857@gmail.com>

Kubernetes-commit: 00b9ead02c37921011ebe5293558cea5277cd295
2022-04-24 20:58:04 +08:00
Marcus Puckett
d9fb1ec8c6 Revert "Move kubectl wait to informers with a cache to avoid hanging due to objects disappearing from the cluster"
Kubernetes-commit: 5badb731a895dfa0a188a3f4aec2d3edfe709b12
2022-07-18 08:48:29 -07:00
Arda Güçlü
9a8dad8efc Change error messages
Kubernetes-commit: e41f2a1d7c06a1fd49bc5055fba7e0437ecaec0e
2022-07-07 15:05:17 +03:00
Arda Güçlü
bdaa26ce9e Validate dry-run and force flags can not be used same time in replace
This PR adds validation to check that `dry-run` and `force` flags
are not used at the same time. Because when `force` flag is set,
`dry-run` is discarded and objects are replaced already.

Kubernetes-commit: e389b2723e6af29a9f70509fe8ff6e5121c30681
2022-06-01 14:01:40 +03:00
Marcus Puckett
3c41b7369c Add cases for when --timeout=0 and tests
Kubernetes-commit: 61ebfdb2018b0dae4e364d0170610ccdec18b2c1
2022-07-01 16:49:31 -07:00
Marcus Puckett
533f9479cc Revert "Move kubectl wait to informers with a cache to avoid hanging due to objects disappearing from the cluster (#108086)"
This reverts commit 171431ca2c009c0a576fa288b7df892b59299389.

Kubernetes-commit: a6bd1e6ac90f3ccbbe527e44e3217a8420636c41
2022-07-01 13:45:18 -07:00
Marcus Puckett
2e38f74bcc Move kubectl wait to informers with a cache to avoid hanging due to objects disappearing from the cluster (#108086)
* move to using informers for getObjAndCheckCondition

* move to using informers for IsDeleted

* update tests to handle new informer methodology

* set minimum timeout to 1s because informer can't handle less for caching reasons

* fix null return for deletes issue

Kubernetes-commit: 171431ca2c009c0a576fa288b7df892b59299389
2022-06-30 20:54:29 +00:00
Arda Güçlü
477b1e041a Add license header into rollout status test file
Kubernetes-commit: ab15419356a47112492b04ad6434bec30c827a11
2022-06-13 16:03:37 +03:00
Arda Güçlü
195784dabe Add unit tests for rollout status command
This commit makes adjustments in rollout status command to make it
unit testable. In addition to that, unit tests for rollout status
command is added.

Kubernetes-commit: f21e5983a95ab4e72aa0ddd9ae465a613490b422
2022-06-13 15:10:26 +03:00
Arda Güçlü
bdb13380d9 Enable resource builder flattening in rollout status
Kubernetes-commit: 26002596b2f078ad9c151ba477b1cfa61f883df3
2022-06-06 10:29:13 +03:00
Arda Güçlü
f95d534f9d Move resource lookup into its own function
Kubernetes-commit: 66c2f6069ebbfa41d0bef0f3959abda59b8483f1
2022-06-28 09:30:06 +03:00
Arda Güçlü
df792c788b Use error wrapping in patchSimple
Kubernetes-commit: 22b43d4edbee4f89984d1b905adb1f905f3ab90b
2022-06-22 10:22:27 +03:00
Arda Güçlü
b19c7e78f3 Move getPatchType logic back to main function
Kubernetes-commit: 4ed5653a0bc8ca53ca6a917e634457bd7a2d8dae
2022-06-22 09:35:49 +03:00
Arda Güçlü
351ebce2c4 Stop passing source as parameter
This commit removes passing source field as parameter. Instead,
this commit returns error verb and error functions to caller function.
Caller function can add source field by generating correct message.

Kubernetes-commit: d336f7df874dc978ebd97971e1fc93d891c21e7d
2022-06-20 10:04:18 +03:00
Arda Güçlü
2ca41173d3 (kubectl apply): Split patching types into functions and refactorings
Patch type determination is done by checking existence
of resource in schema and if it exists, it uses strategic merge patch.
Otherwise, like for CRDs, it uses merge patch type.

Currently, this code portion is not easily extensible and this PR
splits required checks into their own function to increase extensibility.

Kubernetes-commit: 15512210e3e14b0c827d13334394d658dc7ddc88
2022-06-16 11:12:17 +03:00
21kyu
0bf778323e Change reflect.Ptr to reflect.Pointer
Kubernetes-commit: df168d5b5c2dab7414fc00ead1a51257ec326a98
2022-06-26 01:23:43 +09:00
Brian Pursley
7a7b2a177c Remove unused flags from kubectl run
The following flags, which do not apply to kubectl run,
have been removed:
--cascade
--filename
--force
--grace-period
--kustomize
--recursive
--timeout
--wait

These flags were being added to the run command to support
pod deletion after attach, but they are not used if set, so
they effectively do nothing.

This PR also displays an error message if the pod fails to be
deleted (when the --rm flag is used).  Previously any error
during deletion would be suppressed and the pod would remain.

This PR also adds some unit tests for run and attach with and
without the --rm flag.  As such, some minor refactoring of the
run command has been done to support mocking dependencies.

Kubernetes-commit: 25e713ba777ec1158fad749e9467601526ba096a
2022-06-21 10:51:30 -04:00
Maciej Szulik
6707e9d96c Improve run and debug attach message upon failure
Kubernetes-commit: 43c2ae479f056f9e420062e11f3251b7095c3108
2022-06-24 09:07:44 +02:00
Arda Güçlü
ec010ddaa3 Remove redundant validateFlag checks
Kubernetes-commit: 5b274249400157028f1d9107b6bbd0686be2c076
2022-06-13 10:06:51 +03:00
Arda Güçlü
aa46caeecd Define NoOptDefVal for validate flag
validate flag does not have default value defined when there is no
parameter passed, therefore it tries to use next irrelevant flag.

This PR defines NoOptDefVal for validate flag which is set "strict".

Kubernetes-commit: 0245e74590a658ea911f1e5cacd270960883af2d
2022-05-06 10:25:40 +03:00
Abirdcfly
3215e635ee update kubectl api-resources help info
Signed-off-by: Abirdcfly <fp544037857@gmail.com>

Kubernetes-commit: 58043b936aa9332deeecd57a7f48177bd05bd755
2022-06-06 10:21:17 +08:00
Daniel Helfand
76bcd89a57 include powershell in short description for kubectl completion
Kubernetes-commit: 67e692d521a5904aaaea446fd1642d2696cab61f
2022-05-03 20:56:41 -05:00
Jian Zeng
f125772691 feat(kubectl): add debug profile applier
Signed-off-by: Jian Zeng <anonymousknight96@gmail.com>

Kubernetes-commit: fd0c15cce3d66bc2b32fc6943688425ec269d97d
2021-11-12 00:57:02 +08:00
jlsong01
ec9d0484e5 add a warning printer in cli-runtime to coordinate warning style
modified:   staging/src/k8s.io/kubectl/pkg/cmd/auth/auth.go

Kubernetes-commit: 272e245f06e425fc912b1e477e8b6763850b161e
2022-02-18 20:33:38 +08:00
Arda Güçlü
81a25f37b5 Set validate functions requiring no parameters for all commands
Validate function is used to validate command options and should not get
any additional parameter. To preserve compatibility across all
kubectl commands, this PR removes all parameters in validate functions.

Kubernetes-commit: 8fb423bfabe0d53934cc94c154c7da2dc3ce1332
2022-05-17 11:38:20 +03:00
Brian Pursley
0c3ff4c860 Add unit tests for completion command
Kubernetes-commit: a8ec462e6fdbceb0a0e96446511b8b7e5e4b7781
2022-05-14 11:12:00 -04:00
Brian Pursley
96f0c72304 Add unit tests for api-resources and api-versions commands
Kubernetes-commit: 13e0120bf0662c4530df2badf1f8f73426cf9e51
2022-05-14 11:06:49 -04:00