Commit Graph

778 Commits

Author SHA1 Message Date
Yang Guo 907f1ed78c Use SSH tunnel for webhook communication iff the webhook is deployed as a service
Kubernetes-commit: 454276c23ce39f261564e9cbebe0df8adab14a6d
2018-01-22 16:18:34 -08:00
Marek Grabowski f2c38580dc Add a metric to track usage of inflight request limit.
Kubernetes-commit: 000d7bac29b9239a29531a526d382394d8d60353
2018-01-16 15:48:20 +00:00
Daniel Smith 4b163fbe32 resource version parsing should all be in one place
Kubernetes-commit: 023895d597be6539a1a16fa54d60e47a17d85dc1
2018-01-10 10:43:59 -08:00
Chao Xu fcee784ffb Never let cluster-scoped resources skip webhooks
Kubernetes-commit: 0d717272ccbec12189946325594a8a5f29d6bd68
2018-01-11 18:05:54 -08:00
Cao Shufeng 4741d69bc6 trace patch operations
Just like `update`, `create`, `get` and `delete` operations.

Kubernetes-commit: 534eb3dfbd734dd44357e97dcb10fdf3b1ce5880
2018-01-05 11:09:51 +08:00
David Eads b16b687dc5 generated
Kubernetes-commit: 4ce7bcced4cc68a833759a218f9c3be7f72fd1c0
2018-01-19 11:55:55 -05:00
David Eads 6b198535d6 add options for min tls levels
Kubernetes-commit: ad1680347071cb5bb66ab49c7325eb21d83e143c
2018-01-19 11:50:47 -05:00
hzxuzhonghu 7eedbab968 run update bazel and staging-godep
Kubernetes-commit: eff1f20ff14cc450968788974d77b472c82fface
2018-01-20 17:21:44 +08:00
hzxuzhonghu f5af0796fc pass APIEnablement through apiserver chain
Kubernetes-commit: 2f403b7ad18a179514f1de77e29f1a2549ef030a
2017-12-21 11:27:20 +08:00
Jordan Liggitt 0a8ef33fce Send correct resource version for delete events from watch cache
Kubernetes-commit: 57998d247df74cc96547158a0b39e5d7bffa271b
2018-01-19 17:44:25 -05:00
Marek Grabowski d8aa7399d2 Add apiserver metric for number of requests dropped by 'inflight-request' filters.
Kubernetes-commit: 32c66c2b56afe0c716169d9705f84172155ddbb4
2018-01-16 15:48:20 +00:00
hzxuzhonghu 215ca01104 run update bazel
Kubernetes-commit: 5c9e020d7dfb369d3cdfb765baa3dff922d8e83d
2018-01-13 18:09:47 +08:00
hzxuzhonghu d395a1e811 update admission test cases
Kubernetes-commit: 82c3d2492cb43f9f81e8a18e1dce2e8ab7e4e56a
2018-01-15 14:58:09 +08:00
hzxuzhonghu b636311708 refactor admission flag: add two admission flags and make plugins auto in recommended order
Kubernetes-commit: 7c5f9e0bbaff15570f1709e70b7fa6952395d7cd
2018-01-15 14:58:57 +08:00
YuxiJin-tobeyjin 57076f11ae Should use Fatalf while need to format the output
Kubernetes-commit: 10751e54e6f01ed771a8fb75abd90346ee4ab501
2017-10-25 16:20:32 +08:00
Jordan Liggitt e090ce7de2 Fix loading structured admission plugin config
Kubernetes-commit: 34328ea87dc9ac61bd036228102c952017cb81d0
2018-01-18 02:32:28 -05:00
Jordan Liggitt 8e878f6f59 Surface error loading admission plugin config
Kubernetes-commit: ed53e8a25c154129eebb71b1a5816cee21889f70
2018-01-18 02:32:09 -05:00
Victor Garcia 08a8cccb0a Adding support for custom TLS ciphers in api server and kubelet
Kubernetes-commit: d7dbc96c70d480f0b81cd83ae3abd34b69c1e70d
2017-07-12 23:49:41 -07:00
Jordan Liggitt 8e603ae547 Recheck if transformed data is stale when doing live lookup during update
Kubernetes-commit: 070089c6bfccc18ba6039eee45b982633087c87e
2018-01-17 01:21:52 -05:00
Cao Shufeng 2a2505e824 remove duplicated import
Kubernetes-commit: 4e7398b67b12390486012dd6f9d708dd64f961f3
2018-01-11 19:15:11 +08:00
Ryan Phillips e8ca085614 etcd client: add keepalive
Kubernetes-commit: 31ff8c6b9a08d1168502e423bdd3fdbe4f2f729b
2017-12-19 10:04:23 -06:00
Jordan Liggitt e5c1570dd1 Return correct error when submitting patch in unsupported format
Kubernetes-commit: aa504ccd57f38bfc23248c68019b7685fb14e668
2018-01-15 20:42:47 -05:00
Jordan Liggitt 8b7520bc3b Add error helpers and constants for NotAcceptable and UnsupportedMediaType
Kubernetes-commit: 037eec3b9a32c766d965090dd719d772f7247130
2018-01-15 20:42:12 -05:00
Cao Shufeng f193a275c6 remove invalid and useless functions from unit test
Kubernetes-commit: eb1650ce567e0bf19f310817502a7a4fe3049a11
2018-01-12 17:22:33 +08:00
hzxuzhonghu 15434cbd47 move prometheus init to k8s.io/apiserver/pkg/endpoints/metrics/metrics.go
Kubernetes-commit: 631119a7d65e01e48b5d8a46d7300b20c65262e1
2018-01-16 15:28:16 +08:00
Jordan Liggitt f08677495f Return the correct set of supported mime types for non-streaming requests
Kubernetes-commit: 7e33b128567700ef114fe15ae43f5e2e662b29cf
2018-01-14 11:38:00 -05:00
Dr. Stefan Schimanski 304d1abda0 Update generated files
Kubernetes-commit: 83268fa9a8642c9754eeadca76c1b572c4c0ec43
2018-01-11 17:17:27 +01:00
Dr. Stefan Schimanski 574b95f04b admission: do not leak admission config types outside of the plugins
Kubernetes-commit: 1a552bbe149373c056ee004304d7e5abaa89f4c6
2017-11-27 14:44:04 +01:00
ilackarms 346b48d948 periodically flush writer
Kubernetes-commit: 410b4016fd3dc97cdaf0a8e2bc20726900db772e
2018-01-13 13:14:31 -05:00
Yu Liao 3365692578 sync: squashed up to merge eb7be2699bcbecb2703d3c046b27c2a8e8b1b6dd in 188e6ebcdbcfd0617dc12e51e8e6a66ce89f3955 2018-01-13 19:39:22 +00:00
Chao Xu 0055602f99 fix a typo
Kubernetes-commit: 9d1b687914226514992d9f47c639847930d315b2
2018-01-11 18:24:24 -08:00
Dr. Stefan Schimanski 551699fb67 Pass RecommendedConfig into ExtraAdmissionInitializers
Kubernetes-commit: 5a3cfd27ed818b971f36032d85e2de2db586a4e5
2018-01-02 09:32:04 +01:00
Dr. Stefan Schimanski 73975eaf19 Simplify extra initializer logic
Kubernetes-commit: a8127df3bb396717b4fb2a7f688c1f98e6bef6b4
2017-12-20 12:17:44 +01:00
xuzhonghu 82b64e7264 add admission into RecommendedOption
Kubernetes-commit: 6149df089e2667fefb740e408ece883fd76dd40e
2017-12-01 11:07:28 +08:00
lcfang 0ed40315e0 fixed some bad url
Kubernetes-commit: 713e28874afab96b91000d187b0d3d6ce01abf2a
2018-01-10 22:05:00 +08:00
Chao Xu b0adab5a27 Let mutating webhook defaults the object after applying the patch sent back by the webhook
Kubernetes-commit: 5029bb56c434c0099fd1d2e78de7531c69430753
2018-01-09 15:58:18 -08:00
Michael Taufen d1a7006fca All Kubelet flags should be explicitly registered
This explicitly registers Kubelet flags from libraries that were
registering flags globally, and stops parsing the global flag set.
In general, we should always be explicit about flags we register
and parse, so that we maintain control over our command-line API.

Kubernetes-commit: 8ec1958667e66fb3da2a1f1428998f59f8b027f2
2017-12-24 19:19:46 -06:00
Di Xu acf3570864 forbid unnamed context
Kubernetes-commit: 792a2299362ebadc9ca68c72347884330db23b2a
2017-12-04 14:39:05 +08:00
Joe Betz 998d0c9340 Fix build and test errors from etcd 3.2.13 upgrade
Kubernetes-commit: 6a0c69e971a8341149cf2ad45ce0c2d6cc55aa30
2017-12-13 15:12:11 -08:00
Davanum Srinivas 9dd28d8beb Fix ExternalAddress parsing problem under IPv6
`!strings.Contains(host, ":")` will fail miserably under ipv6

Kubernetes-commit: c258d4df84089b08b9cbd37b1dee4b00576a2532
2018-01-04 14:00:04 -05:00
hzxuzhonghu 1b77b68500 update bazel
Kubernetes-commit: 8b501cc364a446ab4b4f09c9a0b35e47720657bf
2018-01-04 12:08:28 +08:00
hzxuzhonghu 9757391c53 remove hard coding Namespace
Kubernetes-commit: 9669acc38e8782b4d3f497e8e37e257952731f7f
2018-01-04 11:57:40 +08:00
hzxuzhonghu 0f7253ee99 validate admission-control param
Kubernetes-commit: 64a7c60e00a1f6cf92710415e0e3dee133ebab7c
2017-11-30 14:34:36 +08:00
Allen Petersen 5792dbc5ef Update generated files
Kubernetes-commit: 3d69cea1e589add1d24fc72e9a8c46081664a719
2018-01-02 22:07:30 -08:00
hzxuzhonghu b1214e07b3 fix typos
Kubernetes-commit: 5faf31054412520ed199a85405c26fbcac404b5e
2017-12-19 14:06:19 +08:00
hzxuzhonghu ea4a684350 Cacher stopLock should be unlocked
Kubernetes-commit: 42b01beaca349200cc5c8dbf20e70faa7ae2c27a
2017-12-19 11:18:15 +08:00
hzxuzhonghu db846c31e6 fix comment typo and use wait.Forever
Kubernetes-commit: 9a88f1514134c62f959eee28fdc81519f87715e6
2017-11-14 19:38:10 +08:00
Marcin Owsiany b703119a83 Do not time-out profiler requests.
Kubernetes-commit: aa4fd0b69aa7804b0f3c666aa734243cdc11c51d
2018-01-02 14:42:01 +01:00
Christoph Blecker e0f0630269 Regenerate all generated code
Kubernetes-commit: 80e344644e2b6222296f2f03551a8d0273c7cbce
2018-01-02 00:21:07 -08:00
Jeff Grafton c8a97ee31a Autogenerate BUILD files
Kubernetes-commit: efee0704c60a2ee3049268a41535aaee7f661f6c
2017-12-23 13:06:26 -08:00
Wojciech Tyczynski e6a0e27d92 Revert "Version bump to etcd v3.2.11, grpc v1.7.5"
Kubernetes-commit: 4e8526dc6ba27a40370eea47b17aca1054ca54f9
2017-12-19 15:25:06 +01:00
Joe Betz f4797f11f5 Fix build and test errors from etcd 3.2.11 upgrade
Kubernetes-commit: 94f2ed6849b27a605a25f49da7f1c79e8c822b07
2017-12-13 15:12:11 -08:00
Di Xu 7a46c8324d remove FilterFunc and use SelectionPredicate everywhere
Kubernetes-commit: 3ae7bdd211e3df1350446b6def142b4d31c75e52
2017-11-22 16:57:06 +08:00
Tim Allclair e9e963c6d2 Fix admission metrics tests
Kubernetes-commit: cca35ae141544e04cdf9e7c3ace201bc58091c5e
2017-12-13 15:45:24 -08:00
Jordan Liggitt d57da4670b Add tests for accept content-type fallback
Kubernetes-commit: 39721a2811045f93cf05822246ab3098d7d8ea59
2017-12-12 01:52:30 -05:00
hzxuzhonghu d14a5efcb8 remove dead code in lifecycle admission
Kubernetes-commit: 22398f8d3c0d71db5869eace174f5721f8499224
2017-12-05 19:40:31 +08:00
Saksham Sharma 0d11a9c252 Use []byte in place of string in envelope.Service.
Kubernetes-commit: 5005a541d6b5b7d950ed621d9c9fd247abb9b4af
2017-11-07 04:24:53 +05:30
Davanum Srinivas 30e6bc192e Drop using cloud provider to set host address feature
As part of the larger plan to drop --cloud-provider and --cloud-config
from kube-apiserver, we need to stop calling Cloud Provider API to
find the external ip address when one is not specified on the command
line.

When ExternalHost is not specified, we check if AdvertiseAddress is
specified and use that, if that is missing then we use os.Hostname().

When testing this feature, found a problem that when ExternalHost
is specified, the port was not added in the generated URL. So fixed
that as well.

Kubernetes-commit: 31332fa84a0928085200ba5a2e35118516ee2c48
2017-12-04 15:06:07 -05:00
hzxuzhonghu 2d197ca9f2 fix typo and adjust import sequence
Kubernetes-commit: 185d5c1f3debec7f7c81cd713307134103038497
2017-11-08 11:43:56 +08:00
yuexiao-wang 46f7a60026 wrong number of args in apiserver/pkg
Signed-off-by: yuexiao-wang <wang.yuexiao@zte.com.cn>

Kubernetes-commit: 235df842fafe21fe90f5691ca5eb1ab775fbe54d
2017-11-24 10:01:54 +08:00
yanxuean 48fc8a399d missing format args in apiserver/pkg/endpoints
Signed-off-by: yanxuean <yan.xuean@zte.com.cn>

Kubernetes-commit: 08b0883734ab39b3b789c225b14e62f5c25be660
2017-11-23 09:52:56 +08:00
Shiyang Wang e89cc5fee9 Fix Content negotiation incorrect when Accept header uses type parameters
Kubernetes-commit: 66c2ec32f2497616ddd6912cfc97f0b4306f9eea
2017-08-14 16:24:30 +08:00
Mike Danese c463eb3137 certs: add month buckets
Kubernetes-commit: e08c98b171ff9dd3982377103f9e43c311c7a78d
2017-11-27 10:59:56 -08:00
Mik Vyatskov 8977dcee4a Make audit batch webhook backend configurable
Signed-off-by: Mik Vyatskov <vmik@google.com>

Kubernetes-commit: 7e717ef3a6a57d31251ccee94d9e2dd29a70c27b
2017-11-30 18:47:48 +01:00
Maciej Szulik 4ad8f1d59a Return original error instead of negotiation one
Kubernetes-commit: 7c83e736624d9861da44459269925e8a127f5a44
2017-11-14 14:12:21 +01:00
Joe Betz 1f633a162d Reduce memory footprint of admission metrics
Kubernetes-commit: 92dd8b50f304ce19d62b8acf23d1b8c4f9bae00b
2017-11-26 21:54:50 -08:00
Di Xu ed8f1885d6 change DefaultGarbageCollectionPolicy to DeleteDependents for workload controllers
Kubernetes-commit: 344fe56ed30c0b83ab0a01e3b1344ecea3925863
2017-11-06 17:12:57 +08:00
Chao Xu 53b8960359 move the MutatingAdmissionWebhook to the last in the mutating amdission
plugin chain.

Kubernetes-commit: 8e8e32fa05f02331f724930933dfa34be995247c
2017-11-17 14:16:37 -08:00
David Eads 6d575ed0c4 require webhook admission kubeconfigfile to be absolute
Kubernetes-commit: 7e6ce2a04ce8ede20e3bdbcb8a5680a8e54c47a2
2017-11-22 08:17:47 -05:00
Kubernetes Submit Queue e16244b0bc Merge pull request #55812 from deads2k/admission-17-external
Automatic merge from submit-queue (batch tested with PRs 55812, 55752, 55447, 55848, 50984). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Make versioned types for webhook admission config

Versioned webhook admission config type as promised in https://github.com/kubernetes/kubernetes/pull/54414.

@kubernetes/sig-api-machinery-pr-reviews
@ericchiang as promised.  fyi.

```yaml
kind: AdmissionConfiguration
apiVersion: apiserver.k8s.io/v1alpha1
plugins:
- name: GenericAdmissionWebhook
  configuration:
    kind: WebhookAdmission
    apiVersion: apiserver.config.k8s.io/v1alpha1
    kubeConfigFile: /path/to/my/file
```

`ADMISSION_CONTROL_CONFIG_FILE=../foo.yaml hack/local-up-cluster.sh`

Kubernetes-commit: 25ebf875b4235cb8f43be2aec699d62e78339cec
2017-12-07 04:34:43 +00:00
Chao Xu 70de900800 update-all generated
Kubernetes-commit: fcf4f15c89c8faf3f23171ea50b9c460ea67a76b
2017-11-19 13:41:10 -08:00
Chao Xu 98e2d6d11f remove reference to v1alpha1
Kubernetes-commit: 7945ae68d0c7cffb070d60ad4d8bfe6ef585c279
2017-11-19 13:54:50 -08:00
hzxuzhonghu 170e8ac6dd pass listener to genericapiserver
Kubernetes-commit: 6ba30f678c232793430a98770e7a851f1e814fd2
2017-11-16 13:32:12 +08:00
Dr. Stefan Schimanski 2ee052ccdf admission: make metrics compositional and move to metrics sub-package
Kubernetes-commit: baba0c827bfddfdc56b69c88e19406966ef900a2
2017-11-17 11:49:55 +01:00
Joe Betz f7181e20ae #55183 follow up: Reinstate admission chain composition and ns test
Kubernetes-commit: d82ae45a4cf7e34cf02755b7eaa6e040da590d67
2017-11-16 21:20:14 -08:00
Cao Shufeng 0ff8c2c2e4 run hack/update-all.sh
Kubernetes-commit: 4a20d729cc22a9d5adef1f778c0b81960f3b10f3
2017-11-19 12:45:21 +08:00
Cao Shufeng d3301ca8d8 [advanced audit]add a policy wide omitStage
Kubernetes-commit: d75c0f0e21af8229ed3147e9a798441221c03574
2017-10-27 10:01:01 +08:00
Chao Xu 86dc6e7b4e Update the validating webhook plugin to be a ValidatingInterface, rather than a MutatingInterface
Kubernetes-commit: cbfc9d33b7c6b9e767e4259910f783c047e83583
2017-11-20 14:57:07 -08:00
Daniel Smith 4406561b46 add detail to flag help
Kubernetes-commit: 2956314cde74f0481be1da6107cc266f56127173
2017-11-17 15:22:53 -08:00
Dr. Stefan Schimanski 45dc4adcc3 admission/webhook: move webhook initializer into plugin
Kubernetes-commit: e19257f2ec87d8091defb7935bb3a161fbb229d0
2017-11-15 13:00:24 +01:00
Dr. Stefan Schimanski a10420dfa0 apiserver: remove unneeded scheme from registry tester
Kubernetes-commit: d4d53c0e2a0b42ba22e6ec64f6d38bb308e841b5
2017-11-17 19:46:12 +01:00
Chao Xu 8a572a63d4 Rename GenericAdmissionWebhook to ValidatingAdmissionWebhook
Kubernetes-commit: d3c0765780fed5576670d6624cc3cc8d691d6392
2017-11-17 21:05:11 -08:00
Clayton Coleman 9f9cf56bb6 Table printers and server generation should always copy ListMeta
Tables should be a mapping from lists, so if the incoming object has
these add them to the table. Allows paging over server side tables.
Add tests on the generic creater and on the resttest compatibility.

Kubernetes-commit: d2a62fd42234a96cbab2dbcf402c168c59b41784
2017-11-15 21:01:49 -05:00
Clayton Coleman ce019febe3 Move unstructured conversion into pkg/runtime
Scheme conversion should support unstructured conversion natively to
allow going from unstructured to typed and back. It is not a higher
level responsibility to do that conversion because the scheme is the
only one who knows what types it supports.

Kubernetes-commit: 557f9ddfe6300ecdbdd70ea67dca63bf6b710ea7
2017-11-13 21:28:57 -05:00
Chao Xu ed64135818 Rename the testdata package to testcerts.
`godep save` somehow fails if there is a testdata go package. See
https://github.com/kubernetes/kubernetes/pull/54892#issuecomment-345035489

Kubernetes-commit: 2052a7e2a3483e341a5a8d1fc5ae8510dd32b2c6
2017-11-17 13:24:48 -08:00
Chao Xu 1b638a5be7 generated bazel
Kubernetes-commit: 6193360eb52b00727df08f67eb8fc364a8df85e9
2017-11-15 16:21:28 -08:00
Chao Xu cb8d15718f Adding the mutating webhook
Kubernetes-commit: ea123f82aae5bc46b9a91c4543c8f742d0db52da
2017-11-14 16:36:28 -08:00
cheftako 556a83dbf9 Admission request/response handling
AdmissionResponse allows mutating webhook to send apiserver a json patch
to mutate the object.
This reflects the imperative nature of AdmissionReview. It adds
AdmissionRequest and AdmissionResponse in place of status/spec.
The AdmissionResponse the allows the mutating webhook
to send back a json path with the mutated version of the requested
object.
Fixed the integration test to clean up properly.
Switched test image to 1.8v5 to reflect API changes.
Make sure to cache test framework client for cleaup test code.
Switched to pointer for patch type.
Factored in @liggitt's feedback.
Factored in @lavalamp's feedback.

Kubernetes-commit: dac3c2e168784bbcf1cbfef8bf5430101e191715
2017-11-06 15:41:26 -08:00
Michael Taufen 0b031bbb8b omitempty
Kubernetes-commit: 1347c094ce51f1fbababe0a2866c9046ea9ba1cc
2017-11-15 21:25:48 -08:00
Michael Taufen 8d690cc5cb ColonSeparatedMultimapStringString: allow multiple Set invocations with default override
The first call to Set will clear the map before adding entries;
subsequent calls will simply append to the map.
This makes it possible to override default values with a command-line
option rather than appending to defaults,
while still allowing the distribution of key-value pairs across
multiple flag invocations.

For example: `--flag "a:hello" --flag "b:again" --flag "b:beautiful"
--flag "c:world"` results in `{"a": ["hello"], "b": ["again",
"beautiful"], "c": ["world"]}`

Kubernetes-commit: 6e49ac382bbd43e5a3f648607f8005bdf0237317
2017-11-07 09:15:26 -08:00
Michael Taufen b96eecee16 omitempty
Kubernetes-commit: 617b49858fad83a72ce072356bb2808a259943c5
2017-11-16 14:47:39 -08:00
Michael Taufen 47c573fba6 Lift embedded structure out of eviction-related KubeletConfiguration fields
- Changes the following KubeletConfiguration fields from `string` to
`map[string]string`:
  - `EvictionHard`
  - `EvictionSoft`
  - `EvictionSoftGracePeriod`
  - `EvictionMinimumReclaim`
- Adds flag parsing shims to maintain Kubelet's public flags API, while
enabling structured input in the file API.
- Also removes `kubeletconfig.ConfigurationMap`, which was an ad-hoc flag
parsing shim living in the kubeletconfig API group, and replaces it
with the `MapStringString` shim introduced in this PR. Flag parsing
shims belong in a common place, not in the kubeletconfig API.
I manually audited these to ensure that this wouldn't cause errors
parsing the command line for syntax that would have previously been
error free (`kubeletconfig.ConfigurationMap` was unique in that it
allowed keys to be provided on the CLI without values. I believe this was
done in `flags.ConfigurationMap` to facilitate the `--node-labels` flag,
which rightfully accepts value-free keys, and that this shim was then
just copied to `kubeletconfig`). Fortunately, the affected fields
(`ExperimentalQOSReserved`, `SystemReserved`, and `KubeReserved`) expect
non-empty strings in the values of the map, and as a result passing the
empty string is already an error. Thus requiring keys shouldn't break
anyone's scripts.
- Updates code and tests accordingly.

Regarding eviction operators, directionality is already implicit in the
signal type (for a given signal, the decision to evict will be made when
crossing the threshold from either above or below, never both). There is
no need to expose an operator, such as `<`, in the API. By changing
`EvictionHard` and `EvictionSoft` to `map[string]string`, this PR
simplifies the experience of working with these fields via the
`KubeletConfiguration` type. Again, flags stay the same.

Other things:
- There is another flag parsing shim, `flags.ConfigurationMap`, from the
shared flag utility. The `NodeLabels` field still uses
`flags.ConfigurationMap`. This PR moves the allocation of the
`map[string]string` for the `NodeLabels` field from
`AddKubeletConfigFlags` to the defaulter for the external
`KubeletConfiguration` type. Flags are layered on top of an internal
object that has undergone conversion from a defaulted external object,
which means that previously the mere registration of flags would have
overwritten any previously-defined defaults for `NodeLabels` (fortunately
there were none).

Kubernetes-commit: 1085b6f7304d46697ab9ed2131774ae9d4550ce2
2017-10-19 15:42:07 -07:00
Clayton Coleman 089e209aad Guarantee that status errors have a kind set
Some errors are invoked outside of negotiation. These errors should
still have a kind and apiVersion (which is only set by structured
encoders, not always availabe). Ensure that all errors by default get a
status kind and version set.

Kubernetes-commit: a1e44fc69bf0faeb47e6d2ebfc2709bbc3f17221
2017-11-15 21:02:34 -05:00
Dr. Stefan Schimanski 29de1cdd6d registry: move generic registry tester into k8s.io/apiserver
Kubernetes-commit: 0b100cb69b9f99445aa523cf9c4abae8f62c751a
2017-11-13 18:07:35 +01:00
hzxuzhonghu c79bc73664 verify token file
Kubernetes-commit: 62c170fc1da2a94cd4dacd56f8f798f491b29ae1
2017-11-10 11:30:51 +08:00
Cao Shufeng b02e718318 remove duplicated import
Kubernetes-commit: 86968e44d09e713b8cd5adca5705bba7e511c033
2017-11-14 11:36:32 +08:00
Chao Xu 0159c24faf generated bazel
Kubernetes-commit: 47ef9aaf2297829998eb1a0a804de9209c1008f1
2017-11-14 16:29:23 -08:00
Chao Xu da1d210644 Reorganize the code in webhook admission plugin.
Move the namespace selector code to package webhook/namespace
Move the conversion related code to package to webhook/versioned
Move errors related code to package webhook/errors
Move admission review related code to package webhook/request

Kubernetes-commit: 51774697b35314b078270e9da24fbe0ff843b981
2017-11-14 15:20:45 -08:00
Chao Xu f88f0f12a1 Reorganize the admission webhook code.
Moved client and kubeconfig related code to webhook/config;
Moved the rule matcher to webhook/rules;
Left TODOs saying we are going to move some other common utilities;
Other code is moved to webhook/validation.

Kubernetes-commit: 1adfacc7eb41da109e970a9c2985fd55b4cbbdfd
2017-11-05 18:11:47 -08:00
Joe Betz 5f443f1654 Align admission metric names with prometheus guidelines
Kubernetes-commit: 369fd81ca151fe2ccb1ac0e6d44aad0eee99abf1
2017-11-14 11:18:31 -08:00
Joe Betz 3773a59cf0 Remove is_system_ns from admission metrics
Kubernetes-commit: 375e2d03ab8c70c8c84676a7eee8b46646036bde
2017-11-13 12:34:36 -08:00
Joe Betz f3058e0b10 Fix admission metrics to track mutating/validating correctly
Also update admission test mocks to better reflect typical usage and fix broken tests.

Kubernetes-commit: 2643c6ae3e7b7bc09e1d3eb695a438b190123083
2017-11-08 17:26:31 -08:00
Joe Betz a1e35e7bfe Add system namespaces to admission metrics. Add tests and leverage test code from PR#55086
Kubernetes-commit: 9d13d1baece20fc611176aad3b6f39ccf9fa4b36
2017-11-06 17:48:59 -08:00
Joe Betz f2028cc5a5 Add admission metrics
Kubernetes-commit: 3940e4f0533a7ee8e50ec939cdcb44c33d4a0ae9
2017-11-06 14:14:33 -08:00
foxyriver dbacfae1f8 stop timer
Kubernetes-commit: cdc4aca9a3d53e21cca4b784718732a9a0852084
2017-11-06 09:51:39 +08:00
Chao Xu 9dda7d3efb let validation webhook convert objects to the external version before sending them
Kubernetes-commit: ab053a224d27aa48ea4b34ba7591cfd72c3f567d
2017-11-03 16:49:56 -07:00
hzxuzhonghu bc64759ab8 rename test file and remove unused code
Kubernetes-commit: 4685bd8f3b270fdeb4cfe4a252b3cb3ab308ac75
2017-11-10 15:11:44 +08:00
Daniel Smith bee24b37a5 fix docs and validation
Kubernetes-commit: e73fd8784484235d5010f4b2bba2251a584c5dd0
2017-11-11 18:00:32 -08:00
Daniel Smith 51c2612984 Add URL beside service
Kubernetes-commit: a0cb2ce697c195d22daeef4fbe6545bdaba11e2f
2017-10-31 16:28:06 -07:00
Chao Xu 640cf74d8c generated
Kubernetes-commit: 2f83748068e45fd548b1caaac2cc0ca06a769653
2017-11-10 11:06:07 -08:00
Chao Xu 512274139c add NamespaceSelector to the api
business logic in webhook plugin and unit test

add a e2e test for namespace selector

Kubernetes-commit: 7006d224bebb5a1aee9c70387a8584e0a0e8b10f
2017-10-27 14:42:09 -07:00
Dr. Stefan Schimanski 563bb7b931 Update generated code
Kubernetes-commit: 1e79dfb959896f2e51be87ecef491452bd17724c
2017-11-09 12:27:20 +01:00
Dr. Stefan Schimanski a32fcea8bb deepcopy: remove deepcopy register tags
Kubernetes-commit: 72809a08b94650bc8988db37be3a2ee4c6ccd113
2017-11-09 12:40:14 +01:00
Dr. Stefan Schimanski fa51e5900d apimachinery: Remove cloner from scheme
Kubernetes-commit: b5b62c68318be79a665257c260ea9f9bbb6d6318
2017-11-09 12:27:06 +01:00
hzxuzhonghu 69a65358c5 update bazel
Kubernetes-commit: b845e26983741c5d12e621604b5e064e03d4fed1
2017-11-03 10:06:07 +08:00
hzxuzhonghu 45d6a78b3f cache admission webhook restClient
Kubernetes-commit: 42d9153a03e971453ccf8e46e149a20a9ff3d656
2017-10-31 19:08:29 +08:00
hzxuzhonghu c37db061da remove redundant code in admission initializer
Kubernetes-commit: 9d1e6d3e2cc25db8e07db446d00390059c8264f8
2017-11-08 10:54:06 +08:00
hzxuzhonghu 755a845d5a update bazel and staging godep
Kubernetes-commit: 3c44e2a6167c349fb17c9741959ca24998ae3738
2017-11-02 19:36:01 +08:00
hzxuzhonghu 065ff42f34 gracefully shutdown apiserver after all non-long running requests finish
Kubernetes-commit: db4f0de28075f34bb4bfa8d821ad25cd3a7eba1f
2017-11-02 19:29:31 +08:00
mbohlool db766abbf7 Update generated files for MutatingWebhookConfiguration
Kubernetes-commit: 4568e0530c53df81d1bbd5e700daca041a1d8439
2017-11-07 17:29:01 -08:00
mbohlool 2aa55c4d47 Add MutatingWebhookConfiguration type
Kubernetes-commit: fc5a613c17c81fdda54158d58a19bd6089ae9882
2017-11-07 12:49:19 -08:00
mbohlool e57a4d504d Update generated files
Kubernetes-commit: cb43840492b383f4e1b87d7108d51c6439e1dad5
2017-11-07 12:42:06 -08:00
mbohlool 3846cb803e Rename ExternalAdmissionHookConfiguration to ValidatingWebhookConfiguration
Kubernetes-commit: 9ddea83a2ce0937cf0fc8f8c35614bb18e74cfad
2017-11-07 12:46:54 -08:00
Dr. Stefan Schimanski d10f10b8ac pkg/apis/core: mechanical import fixes in dependencies
Kubernetes-commit: 012b085ac870d359131f4251213bf2fff1d15aa0
2017-11-08 23:34:54 +01:00
Eric Chiang f3797a6c71 audit policy: reject audit policy files without apiVersion and kind
Kubernetes-commit: fa40bc8f18f7c153910d048bbafefc430fe9bd11
2017-10-19 17:27:29 -07:00
supereagle 80475e014f use versiond group clients from client-go
Kubernetes-commit: b694d518428ac655780d812f7dd4cf72d3e24763
2017-07-28 15:54:13 +08:00
Dr. Stefan Schimanski 204da0b2db apiserver: add validating admission tests
- in endpoint tests
- in generic registry
- in patch handler
- in admission chain

Kubernetes-commit: c558d2a3517fafdb704edd2c00b6df6738786959
2017-11-07 10:40:43 +01:00
Cao Shufeng 837b7e4418 partial fix crd patch failing
partial fixes https://github.com/kubernetes/kubernetes/issues/53379

Kubernetes-commit: 1e800350a2e05899f7435385bebe7fc101142d95
2017-11-03 16:06:14 +08:00
Dr. Stefan Schimanski 5a09150509 apiserver: protect registry cleanup against concurrent access
Kubernetes-commit: a246d6f1d13d1215e6556c5c419a7cb0e7afccab
2017-11-06 18:31:40 +01:00
Mike Danese f4103391b2 modify the union authorizer to return on the first Approve or Deny and to continue on Unknown
Kubernetes-commit: cfe580c99f60b26f39cb9a5022a8edaf64187a93
2017-09-29 14:22:08 -07:00
Mike Danese 06a5d25846 move authorizers over to new interface
Kubernetes-commit: 12125455d84c75562e6dd6a183762549adff747f
2017-09-29 14:21:40 -07:00
Mike Danese 89a498de40 refactor authorizer to return a tristate decision
Kubernetes-commit: ee4d2d0a941b4298a3e07aab8fef5b3c5b85b27d
2017-09-29 14:21:08 -07:00
Dr. Stefan Schimanski 8ae36bdf36 apiserver: remove scheme arg from NewUnsecuredEtcd3TestClientServer
Kubernetes-commit: 11d9dd8ceca2d8f6d00b36ebc4982a142f547d5d
2017-10-30 13:18:49 +01:00
Janet Kuo 201480baa2 Add hook information when rejecting a request
Kubernetes-commit: 948bd7bbc18b343161120b365c089528f8fc0550
2017-10-27 14:59:54 -07:00
Dr. Stefan Schimanski 0d9d3201c2 apiserver: fix Cacher.Stop() race
Kubernetes-commit: a30c0f477d9d4813a08e0abdc7b9029bd4a29287
2017-11-06 15:37:07 +01:00
Cao Shufeng 35655c329b [trival]remove duplicated code from unit test
Kubernetes-commit: acb90b6547e0d8304a0f75bf21b9769c5186cf5d
2017-11-05 15:02:41 +08:00
hzxuzhonghu 164593bb0a refactor admission handler and add UT
Kubernetes-commit: ac7ca5bd0a3e5448a3d3ce89aeffa028f026b5ca
2017-11-03 16:40:15 +08:00
Michael Taufen ce50eca6d7 Lift embedded structure out of ManifestURLHeader field
Kubernetes-commit: 7cb21746c09cd7dd8e2beaaa03f17ba41563a318
2017-10-19 15:42:07 -07:00
Dr. Stefan Schimanski 2e26d56a03 Update bazel
Kubernetes-commit: 35bb6823ea94c98622397f7cb270c6a67070e70d
2017-10-24 15:52:41 +02:00
Dr. Stefan Schimanski 45afa13373 admission: rename Validate{ -> Initialization}, Validat{ingAdmit -> e}
Kubernetes-commit: aedcf681b32618be3cf9ad40eeb039f1bb26c5ae
2017-10-27 17:09:39 +02:00
Dr. Stefan Schimanski 3eeded3a29 admission: wire create+update validation func into kube registries
Kubernetes-commit: 2452afffe09e1ced9487e5a701beb1443a92b741
2017-10-24 15:33:28 +02:00
Dr. Stefan Schimanski 441ac63056 admission: complete plumbing of validation admission
Kubernetes-commit: 74b4223ab80fa3bbf326ac1073ef28f0b8daa304
2017-10-24 14:08:34 +02:00
Dr. Stefan Schimanski 118e16448c admission: split MutationInterface out of Interface
Kubernetes-commit: d4f48c931383f35e5e1a227a4291b8c0503e2433
2017-10-24 11:24:04 +02:00
Dr. Stefan Schimanski a8fb04360a admission: { -> Mutating}Admit(admission.Attributes)
Kubernetes-commit: 970d2553cca466c1236f1e91b3161cb1a69dbdd2
2017-10-23 14:26:38 +02:00
David Eads a2e3d31f52 add wiring for validating admission
Kubernetes-commit: 02e16cb253f01303d71ad4e8d6aa578d1ab79c0a
2017-10-19 09:44:42 -04:00
Nikhita Raghunath eb855aac8e Fix error for strategic merge patch of custom resources
We need the go struct tags `patchMergeKey` and `patchStrategy`
for fields that support a strategic merge patch. For native
resources, we can easily figure out these tags since we know
the fields.

Because custom resources are decoded as Unstructured and
because we're missing the metadata about how to handle
each field in a strategic merge patch, we can't find the
go struct tags. Hence, we can't easily  do a strategic merge
for custom resources.

So we should fail fast and return an error.

Kubernetes-commit: 79349c93bddcc1125a9d6ea4528c6d63b172f083
2017-10-07 17:29:19 +05:30
Henrik Schmidt 9493c48653 Log error when a healthz check fails
Kubernetes-commit: 1bcfe909125acc567258d4937fc2c08206d14d08
2017-09-26 12:58:12 +02:00
Dr. Stefan Schimanski 777cf3c0ef admission: unify plugin constructors
Kubernetes-commit: 131905cdb8b929f7c15f810e02ec9a45b306b769
2017-10-30 14:20:40 +01:00
Dr. Stefan Schimanski 5de103879c Fix and update comment with api.Scheme
Kubernetes-commit: 2b201ead1124cae766e1777196ed5725c37f1c54
2017-10-16 16:28:16 +02:00
Davanum Srinivas b690ae9379 Fix TestCRD Flake
The DestroyFunc functions returned by generic.NewRawStorage is never
called when we do a StartTestServer() in the test suite. For a quick
hack for now, added TrackStorageCleanup/RegisterStorageCleanup and
CleanupStorage. Note that unless TrackStorageCleanup is called (which
is called only from the test suite) the other two methods are
no-ops essentially. So no change in behavior at runtime. This vastly
brings down the number of goroutines that are left behind when this
test is executed and should reduce if not eliminate the flakiness
of TestCRD

Kubernetes-commit: 00bcbd1311af711f70c771d790137b93ce48309a
2017-10-27 10:59:52 -04:00