Commit Graph

36 Commits

Author SHA1 Message Date
Ben Luddy ca9c3d965e Add CBOR feature gates.
For alpha, there is one apiserver feature gate and two client-go feature gates controlling
CBOR. They were initially wired to separate test-only feature gate instances in order to prevent
them from being configurable at runtime via command-line flags or environment variables (for
client-go feature gates outside of Kubernetes components). All of the integration tests required by
the KEP as alpha criteria have been implemented. This adds the feature gates to the usual feature
gate instances and removes the temporary code to support separate test-only feature gate instances.

Kubernetes-commit: 072dfcb416fd4e1ddab0a89ac4faf519e268bc96
2024-11-04 10:40:19 -05:00
Ben Luddy f27bb5491e Wire test-only feature gate for CBOR serving.
To mitigate the risk of introducing a new protocol, integration tests for CBOR will be written using
a test-only feature gate instance that is not wired to runtime options. On alpha graduation, the
test-only feature gate instance will be replaced by a normal feature gate in the existing apiserver
feature gate instance.

Kubernetes-commit: 0cad1a89b6721308746cc1a12f12de31a259a0d3
2024-10-23 16:36:25 -04:00
Siyuan Zhang 22612a3528 apiserver: Add API emulation versioning.
Co-authored-by: Siyuan Zhang <sizhang@google.com>
Co-authored-by: Joe Betz <jpbetz@google.com>
Co-authored-by: Alex Zielenski <zielenski@google.com>

Signed-off-by: Siyuan Zhang <sizhang@google.com>

Kubernetes-commit: 403301bfdf2c7312591077827abd2e72f445a53a
2024-01-19 16:07:00 -08:00
Marek Siarkowicz 74fb076497 Cleanup defer from SetFeatureGateDuringTest function call
Kubernetes-commit: 3ee81787685e47a7a5da22423c8ca4455577ecb3
2024-04-23 10:39:47 +02:00
Andrew Kim ef71315b08 update import of generic featuregate code from k8s.io/apiserver/pkg/util/feature -> k8s.io/component-base/featuregate
Kubernetes-commit: c91913924543e1d29f3f3d51354701df9df75def
2019-03-04 12:46:52 -05:00
Andrew Kim 8f01fd2545 move generic feature gate code from k8s.io/apiserver to k8s.io/component-base
Kubernetes-commit: b2831a686c31b5db72f3106b3688f00c40ba1b00
2019-03-04 12:35:31 -05:00
Jonathan Basseri b3e7114b6a Allow FeatureGate values to be overridden in benchmarks.
This updates `SetFeatureGateDuringTest` to use the `testing.TB`
interface, which matches *testing.T and *testing.B.

Kubernetes-commit: 28a6a446a14d064d8a85c3e59b3c77f2127be35b
2018-12-13 18:44:39 -08:00
Jordan Liggitt ec307f52e2 Stop checking VolumeScheduling feature gate
Kubernetes-commit: 73dcfe12dac3e3dc8997e7296f34701c0c15ec67
2018-12-27 17:45:04 -05:00
Jordan Liggitt 2433950ca1 drop VerifyFeatureGatesUnchanged
Kubernetes-commit: 2498ca760695ad03d4b400ab1e9766799f4d7975
2018-11-21 10:44:02 -05:00
Jordan Liggitt e5cdab222a Tighten feature gate interface to split out mutating methods
Kubernetes-commit: 1d6db5924f4529431cd88bce20f04940681f0aa6
2018-11-20 23:58:51 -05:00
Jordan Liggitt 2a34c94d31 Add tests to ensure storage feature gate changes don't escape packages
Kubernetes-commit: 248d66132702c152de0bd90f90f9eb0bd4b34e72
2018-11-15 22:08:01 -05:00
Davanum Srinivas 2710b17b80 Move from glog to klog
- Move from the old github.com/golang/glog to k8s.io/klog
- klog as explicit InitFlags() so we add them as necessary
- we update the other repositories that we vendor that made a similar
change from glog to klog
  * github.com/kubernetes/repo-infra
  * k8s.io/gengo/
  * k8s.io/kube-openapi/
  * github.com/google/cadvisor
- Entirely remove all references to glog
- Fix some tests by explicit InitFlags in their init() methods

Change-Id: I92db545ff36fcec83afe98f550c9e630098b3135

Kubernetes-commit: 954996e231074dc7429f7be1256a579bedd8344c
2018-11-09 13:49:10 -05:00
Tim Allclair d6693c2b5a Hide & warn on GA & deprecated feature gates
Kubernetes-commit: d8a399f798a2c6b8f1e2c18cbb517d89de54b00c
2018-08-31 10:16:47 -07:00
Lubomir I. Ivanov f1433d0edb apiserver: do not print feature gates for glog v=0
Demand verbosity level > 0 for glog Infof() calls when
setting feature gates in pkg/util/feature_gate.go.

Kubernetes-commit: ac5f5b4099d5868184114f46c9e6d2a1fb8efdbe
2018-06-28 17:10:51 +03:00
Michael Taufen 959ccfb7c3 Kubelet config: Validate new config against future feature gates
This fixes an issue with KubeletConfiguration validation, where the
feature gates set by the new config were not taken into account.

Also fixes a validation issue with dynamic Kubelet config, where flag
precedence was not enforced prior to dynamic config validation in the
controller; this prevented rejection of dynamic configs that don't merge
well with values set via legacy flags.

Kubernetes-commit: 647e90341ca08640ab8fb3d49edb8027faf4836f
2018-05-03 11:05:33 -07:00
hangaoshuai 9c6162ac42 add unit test for function FeatureGateSetFromMap and FeatureGateString
Kubernetes-commit: 95eaccb0959af0ec91c3c4356a528516a5dc693f
2018-03-08 18:52:36 +08:00
Kubernetes Publisher 627fa76a8b sync: initially remove files BUILD */BUILD BUILD.bazel */BUILD.bazel 2018-03-15 09:38:17 +00:00
Jeff Grafton 1ab12b2dc8 Autogenerated: hack/update-bazel.sh
Kubernetes-commit: ef56a8d6bb3800ab7803713eafc4191e8202ad6e
2018-02-16 13:43:01 -08:00
Jordan Liggitt 1740ed319f Add deprecated stage of feature gates
Kubernetes-commit: 7336eeab8a498e2f1df73fa95a1f16498745a7d6
2018-01-26 10:44:41 -05:00
Jeff Grafton c8a97ee31a Autogenerate BUILD files
Kubernetes-commit: efee0704c60a2ee3049268a41535aaee7f661f6c
2017-12-23 13:06:26 -08:00
dahefanteng 2a250d73b1 remove repeated type conversion
Kubernetes-commit: c12e6dbb80282fa0859a483883bf15b7ba85f01c
2017-10-09 10:03:24 +08:00
Jeff Grafton f4dbe23125 update BUILD files
Kubernetes-commit: aee5f457dbfd70c2d15c33e392dce6a3ca710116
2017-10-12 13:52:10 -07:00
Michael Taufen 8e0c55d47a Make feature gates loadable from a map[string]bool
Command line flag API remains the same. This allows ComponentConfig
structures (e.g. KubeletConfiguration) to express the map structure
behind feature gates in a natural way when written as JSON or YAML.

For example:

KubeletConfiguration Before:
```
apiVersion: kubeletconfig/v1alpha1
kind: KubeletConfiguration
featureGates: "DynamicKubeletConfig=true,Accelerators=true"
```

KubeletConfiguration After:
```
apiVersion: kubeletconfig/v1alpha1
kind: KubeletConfiguration
featureGates:
  DynamicKubeletConfig: true
  Accelerators: true
```

Kubernetes-commit: 131b419596a3d4fce1020c3b11f78034b5880593
2017-09-25 13:36:19 -07:00
Jordan Liggitt 64d1b8400e Make feature gate enablement checks lock-free
Kubernetes-commit: 55692c52e1d6f3922bf4af2b6cbe2b0eef886fbd
2017-09-21 14:51:04 -04:00
Jordan Liggitt 605d377a4e Make feature gate threadsafe
Kubernetes-commit: d3546434b7252167b851a40a339d8ed2049ee5e5
2017-09-01 16:37:08 +00:00
Jordan Liggitt 8494697027 Feature gate initializers field
Kubernetes-commit: 658956f0631c6bd3ecf9f756db4a0710efea98ea
2017-08-29 13:18:50 +00:00
Nikhita Raghunath 9edc635fcc FeatureGate: update comments
Kubernetes-commit: fea5a8bc8a7ef2f956d2b11cb54248ec9545ef15
2017-08-29 13:16:12 +00:00
Jeff Grafton 6c539a43c6 Use buildozer to delete licenses() rules except under third_party/
Kubernetes-commit: a7f49c906df816123e7d4ccbd4cebab411519465
2017-08-29 13:15:24 +00:00
Jeff Grafton 6caa2933ae Use buildozer to remove deprecated automanaged tags
Kubernetes-commit: 33276f06be5e872bf53ca62a095fcf0a6b6c11a8
2017-08-29 13:15:24 +00:00
Jeff Grafton 44942b068a Run hack/update-bazel.sh to generate BUILD files
Kubernetes-commit: 3579017b865ddbc5449d6bba87346f086e4b93ff
2017-08-29 13:13:51 +00:00
Mike Danese 2aab760a2a autogenerated
Kubernetes-commit: a05c3c0efdc5822049e34b1a5a1ee259c5fb1906
2017-04-15 20:35:23 +00:00
Dr. Stefan Schimanski 25380b2e8b Support multiple --feature-gates flags in the command line
Kubernetes-commit: faa5b44381ab04d9a4645b949311b70fb00ca60f
2017-03-18 19:56:09 +00:00
Timothy St. Clair 3c7b74f219 Cleanup work to enable feature gating annotations 2017-02-23 09:48:09 -05:00
Robert Rati d4431d8e63 Feature-Gate affinity in annotations 2017-02-23 09:48:09 -05:00
Dr. Stefan Schimanski 73c30cda7e staging/src/*: run gofmt 2017-02-23 09:48:09 -05:00
Dr. Stefan Schimanski 5b638522cc pkg/flag: make feature gate extensible and split between generic and kube 2017-01-25 07:42:18 -05:00