Commit Graph

3013 Commits

Author SHA1 Message Date
Kubernetes Submit Queue
2cb17cc677 Merge pull request #40426 from sttts/sttts-more-cutoffs-3
Automatic merge from submit-queue

genericapiserver: cut off more dependencies – episode 3

Compare commit subjects.

This is the first step to get `apiserver_test.go` and `watch_test.go` in `pkg/genericapiserver/endpoints` cutoff from k8s.io/kubernetes dependencies.

After this we have to sync client-go and then "episode 4" can go in.

approved based on #40363
2017-01-30 05:57:49 -08:00
Brendan Burns
eecfcfb376 Extract strings for the 'kubectl set' family of commands. 2017-01-29 14:46:07 -08:00
Dr. Stefan Schimanski
44ea6b3f30 Update generated files 2017-01-29 21:41:45 +01:00
Dr. Stefan Schimanski
79adb99a13 pkg/api: move Semantic equality to k8s.io/apimachinery/pkg/api/equality 2017-01-29 21:41:45 +01:00
Dr. Stefan Schimanski
bc6fdd925d pkg/api/resource: move to apimachinery 2017-01-29 21:41:44 +01:00
Brendan Burns
25ba561702 Extract strings for translation for the kubectl config family. 2017-01-27 20:31:49 -08:00
Jordan Liggitt
9013e8a7cf Test cascading delete without client-side reaper does not GET 2017-01-27 09:18:48 -05:00
Kubernetes Submit Queue
1625150de8 Merge pull request #40260 from liggitt/kubectl-tpr
Automatic merge from submit-queue (batch tested with PRs 39223, 40260, 40082, 40389)

make kubectl generic commands work with unstructured objects

part of making apply, edit, label, annotate, and patch work with third party resources

fixes #35149
fixes #34413

prereq of:
https://github.com/kubernetes/kubernetes/issues/35496
https://github.com/kubernetes/kubernetes/pull/40096

related to:
https://github.com/kubernetes/kubernetes/issues/39906
https://github.com/kubernetes/kubernetes/issues/40119

kubectl is currently decoding any resource it doesn't have compiled-in to a ThirdPartyResourceData struct, which means it computes patches using that struct, and would try to send a ThirdPartyResourceData object to the API server when running `apply`

This PR removes the behavior that decodes unknown objects into ThirdPartyResourceData structs internally, and fixes up the following generic commands to work with unstructured objects

- [x] apply
  - [x] decode into runtime.Unstructured objects
  - [x] successfully use `--record` with unregistered objects 
- [x] patch
  - [x] decode into runtime.Unstructured objects
  - [x] successfully use `--record` with unregistered objects 
- [x] describe
  - [x] decode into runtime.Unstructured objects
  - [x] implement generic describer
- [x] fix other generic kubectl commands to work with unstructured objects
  - [x] label
  - [x] annotate

follow-ups for pre-existing issues:
- [ ] `explain` doesn't work with unregistered resources
- [ ] remove special casing of federation group in clientset lookups, etc
- [ ] `patch`
  - [ ] doesn't honor output formats when persisting to server (`kubectl patch -f svc.json --type merge -p '{}' -o json` doesn't output json)
  - [ ] --local throws exception (`kubectl patch -f svc.json --type merge -p '{}' --local`)
- [ ] `apply`
  - [ ] fall back to generic JSON patch computation if no go struct is registered for the target GVK (e.g. https://github.com/kubernetes/kubernetes/pull/40096)
  - [ ] ensure subkey deletion works in CreateThreeWayJSONMergePatch
  - [ ] ensure type stomping works in CreateThreeWayJSONMergePatch
  - [ ] lots of tests for generic json patch computation
  - [ ] prevent generic apply patch computation among different versions
  - [ ] reconcile treatment of nulls with https://github.com/kubernetes/kubernetes/pull/35496
- [ ] `edit`
  - [ ] decode into runtime.Unstructured objects
  - [ ] fall back to generic JSON patch computation if no go struct is registered for the target GVK
2017-01-27 05:41:45 -08:00
Kubernetes Submit Queue
10e3edcaa4 Merge pull request #39223 from brendandburns/i18n
Automatic merge from submit-queue (batch tested with PRs 39223, 40260, 40082, 40389)

Add a script to extract strings for translation and a sample of it's output

@fabianofranz @deads2k @kubernetes/sig-cli-pr-reviews
2017-01-27 05:41:44 -08:00
Jordan Liggitt
408a978f26 fix --record to work with unstructured objects 2017-01-26 19:59:27 -05:00
Jordan Liggitt
c317f92990 patch: allow --local to use structs for strategic merge, warn about unknown objects 2017-01-26 19:59:26 -05:00
Jordan Liggitt
424dac921f Fall back to unstructured typer retrieving GVKs for printing 2017-01-26 19:59:26 -05:00
Jordan Liggitt
aaf96a1048 apply: use unstructured objects 2017-01-26 19:59:26 -05:00
Jordan Liggitt
d41e391799 describe: allow describing generic api objects 2017-01-26 19:59:26 -05:00
Jordan Liggitt
06c12f6716 describe: use unstructured objects 2017-01-26 19:59:25 -05:00
Jordan Liggitt
b6d4f371cd patch: use unstructured objects 2017-01-26 19:59:25 -05:00
Jordan Liggitt
89266588d1 label: use unstructured objects 2017-01-26 19:59:25 -05:00
Jordan Liggitt
9b60d7fd84 annotate: use unstructured objects 2017-01-26 19:59:24 -05:00
Jordan Liggitt
dd6d454848 kubectl: remove ThirdPartyResourceData behavior for unregistered objects 2017-01-26 19:59:24 -05:00
Jordan Liggitt
a82c4481f3 Distinguish between client and unstructuredclient in fake factory 2017-01-26 19:59:16 -05:00
Jordan Liggitt
a57307a429 bazel 2017-01-26 19:59:16 -05:00
Kubernetes Submit Queue
e3a3743410 Merge pull request #40073 from matthyx/master
Automatic merge from submit-queue (batch tested with PRs 40046, 40073, 40547, 40534, 40249)

Issue #13501 - printEvent Source to much more cleaner

Create a formatEventSource func and use it.



**What this PR does / why we need it**:
Adds a smarter way to print EventSource, removing "{ }" and the eventual extra ", " when Host is empty.
It was also reported in OpenShift issue https://github.com/openshift/origin/issues/6586

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

**Special notes for your reviewer**:
I have used this new func in all user facing printouts, but there are other places where EventSource are printed to logs, like DumpEventsInNamespace in test/e2e/framework/util.go for instance.
Don't know if I should correct there too...

**Release note**:

```release-note
Improve formatting of EventSource in kubectl get and kubectl describe
```
2017-01-26 16:10:36 -08:00
Kubernetes Submit Queue
bef60b8602 Merge pull request #40046 from juanvallejo/jvallejo/update-multiple-types-requested-check
Automatic merge from submit-queue (batch tested with PRs 40046, 40073, 40547, 40534, 40249)

update check for "all" resources

This patch updates the check for `all` resources to handle cases where a resource's name is "all". Rather than cycling through all given args until `all` is found, this patch makes sure that only a single argument `all` was specified at all.

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

@fabianofranz @pwittrock
2017-01-26 16:10:34 -08:00
Kubernetes Submit Queue
aace5a7b87 Merge pull request #40449 from deads2k/client-15-types
Automatic merge from submit-queue (batch tested with PRs 40239, 40397, 40449, 40448, 40360)

move the discovery and dynamic clients

Moved the dynamic client, discovery client, testing/core, and testing/cache to `client-go`.  Dependencies on api groups we don't have generated clients for have dropped out, so federation, kubeadm, and imagepolicy.

@caesarxuchao @sttts 

approved based on https://github.com/kubernetes/kubernetes/issues/40363
2017-01-26 14:23:42 -08:00
deads2k
9488e2ba30 move testing/core to client-go 2017-01-26 13:54:40 -05:00
Kubernetes Submit Queue
122bf004bf Merge pull request #38987 from seeekr/patch-2
Automatic merge from submit-queue

fix typo in describe.go

**What this PR does / why we need it**: fixes typo in `kubectl describe nodes` command

**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**:

**Release note**:

```release-note
```
2017-01-26 06:31:57 -08:00
deads2k
2734f8f892 move dynamic and discovery clients 2017-01-26 08:37:06 -05:00
Kubernetes Submit Queue
cd4b9ca079 Merge pull request #40500 from kubernetes/revert-40359-owners-01-kubectl
Automatic merge from submit-queue

Revert "update kubectl approvers"

Reverts kubernetes/kubernetes#40359
2017-01-26 05:05:05 -08:00
Matthias Bertschy
42eb8ff0e7 Issue #13501 - create a formatEventSource func and use it. 2017-01-26 08:23:44 +01:00
Brendan Burns
e8b0f59ed2 Add a script to extract strings for translation and a sample of what it does. 2017-01-25 22:08:02 -08:00
Kubernetes Submit Queue
a931b7e238 Merge pull request #40357 from sttts/sttts-more-cutoffs-2
Automatic merge from submit-queue (batch tested with PRs 39538, 40188, 40357, 38214, 40195)

genericapiserver: cut off more dependencies – episode 2

Compare commit subjects.

approved based on #40363
2017-01-25 17:47:13 -08:00
grodrigues3
61e9454883 Revert "update kubectl approvers" 2017-01-25 17:32:22 -08:00
Dr. Stefan Schimanski
a0137e9b28 Update generated files 2017-01-25 19:49:45 +01:00
Dr. Stefan Schimanski
d7eb3b6870 pkg/util: move uuid and strategicpatch into k8s.io/apimachinery 2017-01-25 19:45:09 +01:00
Kubernetes Submit Queue
90b5d4cbd8 Merge pull request #40421 from liggitt/revert-configmapedit
Automatic merge from submit-queue (batch tested with PRs 38905, 40421)

Revert "Add the ability to edit fields within a config map."

Fixes #40396 
This reverts commit 31eca372c9.

#38445 broke edit for all resources other than configmaps:
```
$ kubectl edit serviceaccount default
Error from server (NotFound): configmaps "serviceaccount" not found
```
also, `edit` is a generic command, we can't add subcommands that claim the `configmap` space and mess with the things resourcebuilder accepts
2017-01-25 09:49:49 -08:00
Kubernetes Submit Queue
ebbf3a9383 Merge pull request #40359 from deads2k/owners-01-kubectl
Automatic merge from submit-queue

update kubectl approvers

All the other owners files have names (not groups).  Updated for individual users for approvers so `/approve` works.

@kubernetes/sig-cli-api-reviews
2017-01-25 08:17:26 -08:00
Kubernetes Submit Queue
5c5ce3baee Merge pull request #40362 from deads2k/client-14-move-pkgs
Automatic merge from submit-queue

move client/cache and client/discovery to client-go

mechanical changes to move those packages.  Had to create a `k8s.io/kubernetes/pkg/client/tests` package for tests that were blacklisted from client-go.  We can rewrite these tests later and move them, but for now they'll still run at least.

@caesarxuchao @sttts
2017-01-25 08:17:15 -08:00
Kubernetes Submit Queue
748fb52cd5 Merge pull request #40416 from kargakis/kubectl-deployment-fix
Automatic merge from submit-queue (batch tested with PRs 40130, 40419, 40416)

kubectl: update deployment describer to correctly show total replicas

@kubernetes/sig-cli-misc
2017-01-25 07:22:59 -08:00
juanvallejo
1b8f4e0b7d update check for "all" resources 2017-01-25 10:15:29 -05:00
Kubernetes Submit Queue
baaaf26609 Merge pull request #40130 from xilabao/change-to-v1beta1-in-create-rolebinding
Automatic merge from submit-queue

change APIVersion to v1beta1 in create rolebinding/clusterrolebinding
2017-01-25 06:51:33 -08:00
deads2k
ce17351ca6 update kubectl approvers 2017-01-25 09:39:23 -05:00
Jordan Liggitt
83e06d9fd1 Revert "Add the ability to edit fields within a config map."
This reverts commit 31eca372c9.
2017-01-25 09:12:32 -05:00
deads2k
502bfdf944 client/restclient/fake move to client-go 2017-01-25 08:29:48 -05:00
Michail Kargakis
e7a2b3e43a kubectl: update deployment describer to correctly show total replicas 2017-01-25 11:30:11 +01:00
Kubernetes Submit Queue
df42444742 Merge pull request #40216 from sttts/sttts-more-cutoffs
Automatic merge from submit-queue (batch tested with PRs 39260, 40216, 40213, 40325, 40333)

genericapiserver: more dependency cutoffs

- cut-off pkg/api.Resource and friends - lgtm
- authn plugins -> k8s.io/apiserver - 
- webhook authz plugin -> k8s.io/apiserver - lgtm
- ~~pkg/cert -> k8s.io/apimachinery (will rebase on @deads2k's PR also moving it)~~
- split pkg/config into kubelet config merger and flags - lgtm
- split feature gate between generic apiserver and kube - lgtm
- move pkg/util/flag into k8s.io/apiserver - lgtm
2017-01-24 16:26:00 -08:00
Dr. Stefan Schimanski
2b8e938128 Update generated files 2017-01-24 20:56:03 +01:00
Dr. Stefan Schimanski
82826ec273 pkg/util/flag: move to k8s.io/apiserver 2017-01-24 20:56:03 +01:00
Clayton Coleman
be6d2933df refactor: Move *Options references to metav1 2017-01-24 13:41:51 -05:00
deads2k
5a8f075197 move authoritative client-go utils out of pkg 2017-01-24 08:59:18 -05:00
Kubernetes Submit Queue
43286a82c6 Merge pull request #39981 from fraenkel/optional_configmaps_secrets
Automatic merge from submit-queue

Optional configmaps and secrets

Allow configmaps and secrets for environment variables and volume sources to be optional

Implements approved proposal c9f881b7bb

Release note:
```release-note
Volumes and environment variables populated from ConfigMap and Secret objects can now tolerate the named source object or specific keys being missing, by adding `optional: true` to the volume or environment variable source specifications.
```
2017-01-23 23:06:35 -08:00