Commit Graph

302 Commits

Author SHA1 Message Date
Arda Güçlü
63b8684cd3 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).
2022-07-28 15:16:58 +03:00
Mark Rossetti
40f3e624a6 Switching everything to use pause:3.8
Signed-off-by: Mark Rossetti <marosset@microsoft.com>
2022-07-21 14:53:15 -07:00
Arda Güçlü
f5af2d0e91 (kubectl events): Add integration tests
This PR adds integration tests for `kubectl alpha events`
2022-06-27 09:32:32 +03:00
Kubernetes Prow Robot
661cbe6823
Merge pull request #109850 from ardaguclu/validate-nooptdefval
Define NoOptDefVal for validate flag
2022-06-13 08:04:11 -07:00
Davanum Srinivas
50bea1dad8
Move from k8s.gcr.io to registry.k8s.io
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-05-31 10:16:53 -04:00
Kubernetes Prow Robot
fdb2d54475
Merge pull request #108210 from jlsong01/update_kubectl_warning
coordinate the kubectl warning style
2022-05-23 15:57:09 -07:00
jlsong01
272e245f06 add a warning printer in cli-runtime to coordinate warning style
modified:   staging/src/k8s.io/kubectl/pkg/cmd/auth/auth.go
2022-05-23 19:10:15 +08:00
Kubernetes Prow Robot
47bb8c6d0c
Merge pull request #108777 from pjo256/recursive-rollout-status
feat(kubectl rollout): support multiple resources for rollout status
2022-05-13 13:15:55 -07:00
Kazuki Suda
d2b4c017c8
Fix discovery cache TTL to 6 hours
Signed-off-by: Kazuki Suda <kazuki.suda@gmail.com>
2022-05-09 13:47:52 +09:00
Arda Güçlü
0245e74590 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".
2022-05-06 14:17:50 +03:00
Kubernetes Prow Robot
99de67958d
Merge pull request #109798 from liggitt/psp
Remove PodSecurityPolicy admission plugin
2022-05-05 06:40:32 -07:00
Kubernetes Prow Robot
6b988c516e
Merge pull request #109268 from liggitt/pruning-metadata
ServerSideFieldValidation: Fix bug treating metadata fields as unknown fields
2022-05-04 14:14:19 -07:00
Jordan Liggitt
fba69f7eb9 Change test/cmd to test deprecations using a CRD 2022-05-04 16:00:57 -04:00
Philip Ottesen
ff8801d12b tests: adding integration test for rollout status 2022-04-21 11:21:13 -04:00
Jordan Liggitt
7de6100dae Expand cmd tests of modifying schema-declaring custom resources 2022-04-04 13:51:15 -04:00
Jordan Liggitt
2a30f1c31b Reorder process shutdown in test-cmd and exit immediately 2022-04-03 22:40:30 -04:00
Davanum Srinivas
f7ad09c447
Switch to pause 3.7
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2022-03-29 15:36:38 -04:00
Kevin Delgado
b0f3b5a796 Adjust validation checks to pass for both client-side and server-side validation 2022-03-26 03:45:13 +00:00
Kevin Delgado
0bb1a32411 Expand newly created cmd-test
Modify newly created cmd-test to work for both
client-side and server-side validation
2022-03-26 03:45:13 +00:00
Kevin Delgado
fe3772890f add server-side validation support to kubectl 2022-03-26 03:45:13 +00:00
Kubernetes Prow Robot
d58f42961c
Merge pull request #99556 from nikhita/kubectl-subresources-01
kubectl: support --subresource flag
2022-03-24 23:43:50 -07:00
Katrina Verey
44e63e8ff8
kubectl version should include bundled kustomize version 2022-03-24 13:31:57 -04:00
Yuvaraj Kakaraparthi
a5aa858d44 kubectl: add --support to get, patch, edit and replace commands
Co-authored-by: Nikhita Raghunath <nikitaraghunath@gmail.com>
2022-03-24 09:49:12 +05:30
Kubernetes Prow Robot
19935de5a9
Merge pull request #107410 from margocrawf/master
Ensure static certs in kubeconfig override exec plugin
2022-03-08 11:34:21 -08:00
Margo Crawford
f015fd66ce Check whether static cert is already configured in UpdateTransportConfig
- Also update test-cmd.sh to pass a signing ca to the kube controller
  manager, so CSRs work properly in integration tests.

Signed-off-by: Margo Crawford <margaretc@vmware.com>
2022-03-07 13:54:32 -08:00
Eddie Zaneski
040d575e9f
Update sig-cli OWNERS
Signed-off-by: Eddie Zaneski <eddiezane@gmail.com>
2022-02-14 10:55:35 -07:00
Kubernetes Prow Robot
39931456db
Merge pull request #107740 from brianpursley/legacy-script-fixes
legacy-script.sh fixes - junit output and add missing record_command
2022-02-03 17:34:00 -08:00
brianpursley
e120f11438 Change legacy-script.sh to produce junit output in location set by the
ARTIFACTS environment variables if KUBE_JUNIT_REPORT_DIR is not set.

Add missing record_command to a couple of tests in legacy-script.sh.

Fix some typos in /test/cmd/README.md
2022-02-02 21:51:15 -05:00
Arda Güçlü
43d8b3459b Add manually invalidate cache documentation into delete
When CRDs are deleted, discovery local cache is not invalidated.
This brings about `resource not found` error when new CRD with same name is created
with different fields(ie. changing scope from cluster-wide to namespaced).
Because this already deleted CRD still stays in serverresources.json and kubectl tries to use it.

This local cached files have 10 minutes TTL. After deletion, if user waits 10 minutes,
files will be expired and deleted and there will be no errors. However, 10 minutes is a long time
and cache needs to be invalidated after deletion occurs.

This PR adds a document into delete command by noting that there might be a need to invalidate discovery
cache when CRD is deleted. In addition to that this PR adds a test to catch this behavior.
2022-01-26 09:01:46 +03:00
Kubernetes Prow Robot
8f453c9d79
Merge pull request #107044 from pohly/cli-invalid-command
cli: avoid logging command line errors in more cases
2022-01-11 09:46:37 -08:00
Patrick Ohly
798bdab3d0 kubectl: add integration test for result reporting
This currently covers two cases:
- "kubectl list" (the regression from https://github.com/kubernetes/kubernetes/issues/107012)
- "kubectl get pods/no-such-pod" (no particular reason except that the output
should be deterministic)

In contrast to some other tests that check for strings inside the
output (run_deprecated_api_tests) or compare after
sorting (run_kubectl_version_tests), stdout, stderr and the return code must
match exactly.

This ensures that there is no extra, unexpected output and that the right
output stream is used.
2022-01-11 09:04:56 +01:00
Patrick Ohly
a5d2d6fec3 cli: let kubectl handle error printing
cli.Run was an attempt to elliminate error handling in Kubernetes
commands. However, it had to rely on heuristics that are not necessarily right
for all commands.

kubectl is one example which has its own error printing code that should be
used in all cases after a command failure. It now gets used also for
`--warnings-as-errors`. Previously, that caused the following message to be
logged at the end:

  E0110 16:56:01.987555  202060 run.go:120] "command failed" err="1 warning received"

Now it ends with:

 error: 1 warning received
2022-01-10 17:09:30 +01:00
Kubernetes Prow Robot
c83a94da72
Merge pull request #107003 from julianvmodesto/dry-run-values
Re-introduce removed kubectl --dry-run values.
2021-12-14 03:15:46 -08:00
Julian V. Modesto
cc4998b2b1 Re-introduce removed kubectl --dry-run values.
For 1.23, we removed the kubectl `--dry-run` empty default value (`--dry-run`)
and boolean values (`--dry-run=true` and `--dry-run=false`). This change
required requiring users to specify `--dry-run=client` or `--dry-run=server`
due to a deprecation. This change was made in #105327.

After reconsideration, this change is not worth the churn for users.
It's likely that many users rely on these values for automated and manual use
cases.

This change reverts #105327 and re-introduces the values `--dry-run`,
`--dry-run=true`, and `--dry-run=false`.
2021-12-13 15:04:49 -05:00
Kubernetes Prow Robot
e53f93c7bb
Merge pull request #105164 from ardaguclu/kubectl-diff-prune
Introduce new prune parameter into diff command
2021-12-13 11:31:58 -08:00
Davanum Srinivas
9405e9b55e
Check in OWNERS modified by update-yamlfmt.sh
Signed-off-by: Davanum Srinivas <davanum@gmail.com>
2021-12-09 21:31:26 -05:00
wangyysde
d2abddd909 rename v2beta2 to v2
Signed-off-by: wangyysde <net_use@bzhy.com>

Generation swagger.json.

Use v2 path for hpa_cpu_field.

run update-codegen.sh

Signed-off-by: wangyysde <net_use@bzhy.com>
2021-11-09 10:34:54 +08:00
Arda Güçlü
34f0148414 Add prune test into test/cmd/diff.sh 2021-11-08 19:53:47 +03:00
Kubernetes Prow Robot
c9baa14d70
Merge pull request #105794 from margocrawf/master
--as-uid flag in kubectl and kubeconfigs.
2021-11-08 07:03:13 -08:00
Margo Crawford
7e079f5144 --as-uid flag in kubectl and kubeconfigs.
This corresponds to previous work to allow impersonating UIDs:
* Introduce Impersonate-UID header: #99961
* Add UID to client-go impersonation config #104483

Signed-off-by: Margo Crawford <margaretc@vmware.com>
2021-11-05 13:23:49 -07:00
Kubernetes Prow Robot
82da9bdaab
Merge pull request #105076 from pohly/log-flush-frequency-bug
initialize logging after flag parsing + refactor commands
2021-10-01 14:30:18 -07:00
Patrick Ohly
1957fb6508 command lines: harmonize command line parse error handling
The recommendation from #sig-cli was to print usage, then the error. Extra care
is taken to only print the usage instruction when the error really was about
flag parsing.

Taking kube-scheduler as example:

  $ _output/bin/kube-scheduler
  I0929 09:42:42.289039  149029 serving.go:348] Generated self-signed cert in-memory
  ...
  W0929 09:42:42.489255  149029 client_config.go:620] error creating inClusterConfig, falling back to default config: unable to load in-cluster configuration, KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE_PORT must be defined
  E0929 09:42:42.489366  149029 run.go:98] "command failed" err="invalid configuration: no configuration has been provided, try setting KUBERNETES_MASTER environment variable"

  $ _output/bin/kube-scheduler --xxx
  Usage:
    kube-scheduler [flags]

  ...
       --vmodule moduleSpec
                  comma-separated list of pattern=N settings for file-filtered logging

  Error: unknown flag: --xxx

The kubectl behavior doesn't change:

  $ _output/bin/kubectl get nodes
  Unable to connect to the server: dial tcp: lookup xxxx: No address associated with hostname

  $ _output/bin/kubectl --xxx
  Error: unknown flag: --xxx
  See 'kubectl --help' for usage.
2021-09-30 13:46:49 +02:00
Kubernetes Prow Robot
bac45abf77
Merge pull request #105327 from julianvmodesto/kubectl-dry-run-flag-removals
Remove deprecated kubectl --dry-run values.
2021-09-29 13:31:21 -07:00
Julian V. Modesto
e0b7a85ee5 Remove deprecated kubectl --dry-run values.
The boolean values for --dry-run have been deprecated for removal since
1.18, more than 2 releases.

The default value for --dry-run with the flag set and unspecified has
been deprecated for removal since 1.18, more than 2 releases.

Both values are now removed in this change. Any kubectl --dry-run
usage no longer accepts --dry-run=(true|false) boolean values and usage
now requires that a value of (client|server|none) is specified.
2021-09-28 10:21:04 -04:00
Claudiu Belu
18936d4785 updates pause image references
The pause:3.6 image has been published.

Also updates older / incorrect references.
2021-08-29 21:50:05 -07:00
Andrew Keesler
20e1c4d754
exec credential provider: update tests+metadata for v1
Signed-off-by: Andrew Keesler <akeesler@vmware.com>
2021-07-06 09:48:35 -04:00
Kubernetes Prow Robot
37da905c0c
Merge pull request #99310 from ankeesler/exec-plugin-interactive
exec credential provider: InteractiveMode support
2021-06-15 09:46:01 -07:00
Andrew Keesler
e427d2f22a
test/cmd: kubectl and exec plugins don't fight for stdin
Signed-off-by: Andrew Keesler <akeesler@vmware.com>
2021-06-15 09:01:18 -04:00
Kubernetes Prow Robot
36a19df91b
Merge pull request #102143 from wangyysde/promote-cronjob-integration
Promote cronjob integration test to batch/v1
2021-06-15 03:56:01 -07:00
wangyysde
558bdd18aa Update cronjob integration test to batch/v1
Signed-off-by: wangyysde <net_use@bzhy.com>
2021-06-04 21:04:21 +08:00