mirror of
https://github.com/kubernetes-sigs/node-feature-discovery.git
synced 2025-03-17 05:48:21 +00:00
Merge pull request #1632 from marquiz/devel/fix-nodefeatureapi-feature-gate
Remove references to -enable-nodefeature-api flag
This commit is contained in:
commit
869bb2044d
9 changed files with 36 additions and 30 deletions
|
@ -185,9 +185,9 @@ func initFlags(flagset *flag.FlagSet) (*master.Args, *master.ConfigOverrideArgs)
|
||||||
"Comma separated list of labels to be exposed as extended resources. DEPRECATED: use NodeFeatureRule objects instead")
|
"Comma separated list of labels to be exposed as extended resources. DEPRECATED: use NodeFeatureRule objects instead")
|
||||||
flagset.Var(overrides.ResyncPeriod, "resync-period",
|
flagset.Var(overrides.ResyncPeriod, "resync-period",
|
||||||
"Specify the NFD API controller resync period."+
|
"Specify the NFD API controller resync period."+
|
||||||
"It has an effect when the NodeFeature API has been enabled (with -enable-nodefeature-api).")
|
"It does not have effect when the NodeFeature API has been disabled (with -feature-gates NodeFeatureAPI=false).")
|
||||||
overrides.NfdApiParallelism = flagset.Int("nfd-api-parallelism", 10, "Defines the maximum number of goroutines responsible of updating nodes. "+
|
overrides.NfdApiParallelism = flagset.Int("nfd-api-parallelism", 10, "Defines the maximum number of goroutines responsible of updating nodes. "+
|
||||||
"Can be used for the throttling mechanism. It has effect only when -enable-nodefeature-api has been set.")
|
"Can be used for the throttling mechanism. It does not have effect if NodeFeatureAPI feature gate is disabled.")
|
||||||
|
|
||||||
return args, overrides
|
return args, overrides
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,8 +62,6 @@ func main() {
|
||||||
// Check deprecated flags
|
// Check deprecated flags
|
||||||
flags.Visit(func(f *flag.Flag) {
|
flags.Visit(func(f *flag.Flag) {
|
||||||
switch f.Name {
|
switch f.Name {
|
||||||
case "enable-nodefeature-api":
|
|
||||||
klog.InfoS("-enable-nodefeature-api is deprecated, will be removed in a future release along with the deprecated gRPC API")
|
|
||||||
case "ca-file":
|
case "ca-file":
|
||||||
klog.InfoS("-ca-file is deprecated, will be removed in a future release along with the deprecated gRPC API")
|
klog.InfoS("-ca-file is deprecated, will be removed in a future release along with the deprecated gRPC API")
|
||||||
case "cert-file":
|
case "cert-file":
|
||||||
|
|
|
@ -16,9 +16,9 @@ sort: 5
|
||||||
---
|
---
|
||||||
|
|
||||||
> **DEPRECATED**: this section only applies when the gRPC API is used, i.e.
|
> **DEPRECATED**: this section only applies when the gRPC API is used, i.e.
|
||||||
> when the NodeFeature API is disabled via the `-enable-nodefeature-api=false`
|
> when the NodeFeature API is disabled (via the `-feature-gates
|
||||||
> flag on both nfd-master and nfd-worker. The gRPC API is deprecated and will
|
> NodeFeatureAPI=false` flag) on both nfd-master and nfd-worker. The gRPC API
|
||||||
> be removed in a future release.
|
> is deprecated and will be removed in a future release.
|
||||||
|
|
||||||
NFD supports mutual TLS authentication between the nfd-master and nfd-worker
|
NFD supports mutual TLS authentication between the nfd-master and nfd-worker
|
||||||
instances. That is, nfd-worker and nfd-master both verify that the other end
|
instances. That is, nfd-worker and nfd-master both verify that the other end
|
||||||
|
|
|
@ -175,8 +175,8 @@ e2e-tests:
|
||||||
|
|
||||||
> ****DEPRECATED**: Running NFD locally is deprecated and will be removed in a
|
> ****DEPRECATED**: Running NFD locally is deprecated and will be removed in a
|
||||||
> future release. It depends on the gRPC API which is deprecated and will be
|
> future release. It depends on the gRPC API which is deprecated and will be
|
||||||
> removed in a future release. To run NFD locally, use the
|
> removed in a future release. To run NFD locally, disable the NodeFeature API
|
||||||
> `-enable-nodefeature-api=false` flag.
|
> with `-feature-gates NodeFeatureAPI=false` flag.
|
||||||
|
|
||||||
You can run NFD locally, either directly on your host OS or in containers for
|
You can run NFD locally, either directly on your host OS or in containers for
|
||||||
testing and development purposes. This may be useful e.g. for checking
|
testing and development purposes. This may be useful e.g. for checking
|
||||||
|
@ -186,12 +186,12 @@ features-detection.
|
||||||
|
|
||||||
When running as a standalone container labeling is expected to fail because
|
When running as a standalone container labeling is expected to fail because
|
||||||
Kubernetes API is not available. Thus, it is recommended to use `-no-publish`
|
Kubernetes API is not available. Thus, it is recommended to use `-no-publish`
|
||||||
Also specify `-crd-controller=false` and `-enable-nodefeature-api=false`
|
Also specify `-crd-controller=false` and `-feature-gates NodeFeatureAPI=false`
|
||||||
command line flags to disable CRD controller and enable gRPC. E.g.
|
command line flags to disable CRD controller and enable gRPC. E.g.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ export NFD_CONTAINER_IMAGE={{ site.container_image }}
|
$ export NFD_CONTAINER_IMAGE={{ site.container_image }}
|
||||||
$ docker run --rm --name=nfd-test ${NFD_CONTAINER_IMAGE} nfd-master -no-publish -crd-controller=false -enable-nodefeature-api=false
|
$ docker run --rm --name=nfd-test ${NFD_CONTAINER_IMAGE} nfd-master -no-publish -crd-controller=false -feature-gates NodeFeatureAPI=false
|
||||||
2019/02/01 14:48:21 Node Feature Discovery Master <NFD_VERSION>
|
2019/02/01 14:48:21 Node Feature Discovery Master <NFD_VERSION>
|
||||||
2019/02/01 14:48:21 gRPC server serving on port: 8080
|
2019/02/01 14:48:21 gRPC server serving on port: 8080
|
||||||
```
|
```
|
||||||
|
@ -202,7 +202,7 @@ To run nfd-worker as a "stand-alone" container you need to run it in the same
|
||||||
network namespace as the nfd-master container:
|
network namespace as the nfd-master container:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
$ docker run --rm --network=container:nfd-test ${NFD_CONTAINER_IMAGE} nfd-worker -enable-nodefeature-api=false
|
$ docker run --rm --network=container:nfd-test ${NFD_CONTAINER_IMAGE} nfd-worker -feature-gates NodeFeatureAPI=false
|
||||||
2019/02/01 14:48:56 Node Feature Discovery Worker <NFD_VERSION>
|
2019/02/01 14:48:56 Node Feature Discovery Worker <NFD_VERSION>
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
|
@ -181,12 +181,13 @@ The `-enable-leader-election` flag enables leader election for NFD-Master.
|
||||||
It is advised to turn on this flag when running more than one instance of
|
It is advised to turn on this flag when running more than one instance of
|
||||||
NFD-Master.
|
NFD-Master.
|
||||||
|
|
||||||
This flag takes effect only when combined with `-enable-nodefeature-api` flag.
|
Does not have effect if the [NodeFeatureAPI](feature-gates.md#nodefeatureapi)
|
||||||
|
feature gate is disabled.
|
||||||
|
|
||||||
Default: false
|
Default: false
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
nfd-master -enable-nodefeature-api -enable-leader-election
|
nfd-master -enable-leader-election
|
||||||
```
|
```
|
||||||
|
|
||||||
### -enable-taints
|
### -enable-taints
|
||||||
|
@ -346,7 +347,8 @@ nfd-master -options='{"noPublish": true}'
|
||||||
The `-nfd-api-parallelism` flag can be used to specify the maximum
|
The `-nfd-api-parallelism` flag can be used to specify the maximum
|
||||||
number of concurrent node updates.
|
number of concurrent node updates.
|
||||||
|
|
||||||
It takes effect only when `-enable-nodefeature-api` has been set.
|
Does not have effect if the [NodeFeatureAPI](feature-gates.md#nodefeatureapi)
|
||||||
|
feature gate is disabled.
|
||||||
|
|
||||||
Default: 10
|
Default: 10
|
||||||
|
|
||||||
|
@ -440,8 +442,9 @@ The `-resync-period` flag specifies the NFD API controller resync period.
|
||||||
The resync means nfd-master replaying all NodeFeature and NodeFeatureRule objects,
|
The resync means nfd-master replaying all NodeFeature and NodeFeatureRule objects,
|
||||||
thus effectively re-syncing all nodes in the cluster (i.e. ensuring labels, annotations,
|
thus effectively re-syncing all nodes in the cluster (i.e. ensuring labels, annotations,
|
||||||
extended resources and taints are in place).
|
extended resources and taints are in place).
|
||||||
Only has effect when the [NodeFeature](../usage/custom-resources.md#nodefeature)
|
|
||||||
CRD API has been enabled with [`-enable-nodefeature-api`](master-commandline-reference.md#-enable-nodefeature-api).
|
Does not have effect if the [NodeFeatureAPI](feature-gates.md#nodefeatureapi)
|
||||||
|
feature gate is disabled.
|
||||||
|
|
||||||
Default: 1 hour.
|
Default: 1 hour.
|
||||||
|
|
||||||
|
|
|
@ -152,8 +152,9 @@ The `resyncPeriod` option specifies the NFD API controller resync period.
|
||||||
The resync means nfd-master replaying all NodeFeature and NodeFeatureRule objects,
|
The resync means nfd-master replaying all NodeFeature and NodeFeatureRule objects,
|
||||||
thus effectively re-syncing all nodes in the cluster (i.e. ensuring labels, annotations,
|
thus effectively re-syncing all nodes in the cluster (i.e. ensuring labels, annotations,
|
||||||
extended resources and taints are in place).
|
extended resources and taints are in place).
|
||||||
Only has effect when the [NodeFeature](../usage/custom-resources.md#nodefeature)
|
|
||||||
CRD API has been enabled with [`-enable-nodefeature-api`](master-commandline-reference.md#-enable-nodefeature-api).
|
Does not have effect if the [NodeFeatureAPI](feature-gates.md#nodefeatureapi)
|
||||||
|
feature gate is disabled.
|
||||||
|
|
||||||
Default: 1 hour.
|
Default: 1 hour.
|
||||||
|
|
||||||
|
@ -227,7 +228,8 @@ leaderElection:
|
||||||
The `nfdApiParallelism` option can be used to specify the maximum
|
The `nfdApiParallelism` option can be used to specify the maximum
|
||||||
number of concurrent node updates.
|
number of concurrent node updates.
|
||||||
|
|
||||||
It takes effect only when `-enable-nodefeature-api` has been set.
|
Does not have effect if the [NodeFeatureAPI](feature-gates.md#nodefeatureapi)
|
||||||
|
feature gate is disabled.
|
||||||
|
|
||||||
Default: 10
|
Default: 10
|
||||||
|
|
||||||
|
|
|
@ -149,11 +149,12 @@ nfd-worker -key-file=/opt/nfd/worker.key -cert-file=/opt/nfd/worker.crt -ca-file
|
||||||
### -kubeconfig
|
### -kubeconfig
|
||||||
|
|
||||||
The `-kubeconfig` flag specifies the kubeconfig to use for connecting to the
|
The `-kubeconfig` flag specifies the kubeconfig to use for connecting to the
|
||||||
Kubernetes API server. It is only needed for manipulating
|
Kubernetes API server. It is needed for manipulating
|
||||||
[NodeFeature](../usage/custom-resources.md#nodefeature) objects, and thus the flag
|
[NodeFeature](../usage/custom-resources.md#nodefeature) objects. An empty value
|
||||||
only takes effect when
|
(which is also the default) implies in-cluster kubeconfig.
|
||||||
[`-enable-nodefeature-api`](#-enable-nodefeature-api)) is specified. An empty
|
|
||||||
value (which is also the default) implies in-cluster kubeconfig.
|
Does not have effect if the [NodeFeatureAPI](feature-gates.md#nodefeatureapi)
|
||||||
|
feature gate is disabled.
|
||||||
|
|
||||||
Default: *empty*
|
Default: *empty*
|
||||||
|
|
||||||
|
|
|
@ -41,10 +41,12 @@ Note that RBAC rules must be created for each extension for them to be able to
|
||||||
create and manipulate NodeFeature objects in their namespace.
|
create and manipulate NodeFeature objects in their namespace.
|
||||||
|
|
||||||
The NodeFeature CRD API can be disabled with the
|
The NodeFeature CRD API can be disabled with the
|
||||||
`-enable-nodefeature-api=false` command line flag. This flag must be specified
|
[NodeFeatureAPI](../reference/feature-gates.md#nodefeatureapi) feature gate
|
||||||
for both nfd-master and nfd-worker as it will enable the gRPC communication
|
(`-feature-gates NodeFeatureAPI=false` on command line). The `-feature-gates`
|
||||||
between them. Note that the gRPC API is **DEPRECATED** and will be removed in a
|
command line flag must be specified for both nfd-master and nfd-worker as it
|
||||||
future release, at which point the NodeFeature API cannot be disabled.
|
will enable the gRPC communication between them. Note that the gRPC API is
|
||||||
|
**DEPRECATED** and will be removed in a future release, at which point the
|
||||||
|
NodeFeature API cannot be disabled.
|
||||||
|
|
||||||
### A NodeFeature example
|
### A NodeFeature example
|
||||||
|
|
||||||
|
|
|
@ -190,7 +190,7 @@ var _ = NFDDescribe(Label("nfd-master"), func() {
|
||||||
nfdTestSuite := func(useNodeFeatureApi bool) {
|
nfdTestSuite := func(useNodeFeatureApi bool) {
|
||||||
createPodSpecOpts := func(opts ...testpod.SpecOption) []testpod.SpecOption {
|
createPodSpecOpts := func(opts ...testpod.SpecOption) []testpod.SpecOption {
|
||||||
if !useNodeFeatureApi {
|
if !useNodeFeatureApi {
|
||||||
return append(opts, testpod.SpecWithContainerExtraArgs("-enable-nodefeature-api=false"))
|
return append(opts, testpod.SpecWithContainerExtraArgs("-feature-gates", "NodeFeatureAPI=false"))
|
||||||
}
|
}
|
||||||
return opts
|
return opts
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue