1
0
Fork 0
mirror of https://github.com/kubernetes-sigs/node-feature-discovery.git synced 2024-12-14 11:57:51 +00:00

Merge pull request #1778 from marquiz/devel/nf-api-ga

feature-gates: mark NodeFeatureAPI as GA
This commit is contained in:
Kubernetes Prow Robot 2024-07-16 06:22:59 -07:00 committed by GitHub
commit e30cf85f61
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 728 additions and 822 deletions

View file

@ -17,6 +17,7 @@ The feature gates are set using the `-feature-gates` command line flag or
| Name | Default | Stage | Since | Until |
| --------------------- | ------- | ------ | ------- | ------ |
| `NodeFeatureAPI` | true | Beta | V0.14 | |
| `NodeFeatureAPI` | true | GA | V0.17 | |
| `DisableAutoPrefix` | false | Alpha | V0.16 | |
| `NodeFeatureGroupAPI` | false | Alpha | V0.16 | |

View file

@ -39,7 +39,7 @@ documentation](../feature-gates.md).
Example:
```bash
nfd-master -feature-gates NodeFeatureAPI=false
nfd-master -feature-gates NodeFeatureGroupAPI=true
```
### -prune
@ -181,9 +181,6 @@ 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
NFD-Master.
Does not have effect if the [NodeFeatureAPI](feature-gates.md#nodefeatureapi)
feature gate is disabled.
Default: false
```bash
@ -347,9 +344,6 @@ nfd-master -options='{"noPublish": true}'
The `-nfd-api-parallelism` flag can be used to specify the maximum
number of concurrent node updates.
Does not have effect if the [NodeFeatureAPI](feature-gates.md#nodefeatureapi)
feature gate is disabled.
Default: 10
Example:
@ -443,9 +437,6 @@ The resync means nfd-master replaying all NodeFeature and NodeFeatureRule object
thus effectively re-syncing all nodes in the cluster (i.e. ensuring labels, annotations,
extended resources and taints are in place).
Does not have effect if the [NodeFeatureAPI](feature-gates.md#nodefeatureapi)
feature gate is disabled.
Default: 1 hour.
Example:

View file

@ -156,9 +156,6 @@ The resync means nfd-master replaying all NodeFeature and NodeFeatureRule object
thus effectively re-syncing all nodes in the cluster (i.e. ensuring labels, annotations,
extended resources and taints are in place).
Does not have effect if the [NodeFeatureAPI](feature-gates.md#nodefeatureapi)
feature gate is disabled.
Default: 1 hour.
Example:
@ -231,9 +228,6 @@ leaderElection:
The `nfdApiParallelism` option can be used to specify the maximum
number of concurrent node updates.
Does not have effect if the [NodeFeatureAPI](feature-gates.md#nodefeatureapi)
feature gate is disabled.
Default: 10
Example:

View file

@ -39,7 +39,7 @@ documentation](../feature-gates.md).
Example:
```bash
nfd-master -feature-gates NodeFeatureAPI=false
nfd-master -feature-gates NodeFeatureGroupAPI=true
```
### -config
@ -153,9 +153,6 @@ Kubernetes API server. It is needed for manipulating
[NodeFeature](../usage/custom-resources.md#nodefeature) objects. 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*
Example:

View file

@ -40,14 +40,6 @@ labels directly.
Note that RBAC rules must be created for each extension for them to be able to
create and manipulate NodeFeature objects in their namespace.
The NodeFeature CRD API can be disabled with the
[NodeFeatureAPI](../reference/feature-gates.md#nodefeatureapi) feature gate
(`-feature-gates NodeFeatureAPI=false` on command line). The `-feature-gates`
command line flag must be specified for both nfd-master and nfd-worker as it
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
Consider the following referential example:

View file

@ -24,7 +24,6 @@ default garbage collector interval is set to 1h which is the value when no
## Configuration
In Helm deployments (see
[garbage collector parameters](../deployment/helm.md#garbage-collector-parameters))
NFD-GC will only be deployed when `featureGates.NodeFeatureAPI` or
`topologyUpdater.enable` is set to true.
In Helm deployments see
[garbage collector parameters](../deployment/helm.md#garbage-collector-parameters)
for altering the nfd-gc configuration.

View file

@ -30,20 +30,6 @@ and creates node labels accordingly. The feature data used as the input is
received from nfd-worker instances through
[NodeFeature](custom-resources.md#nodefeature-custom-resource) objects.
> **NOTE**: when gRPC (**DEPRECATED**) is used for communicating
> the features (by setting the flag `-feature-gates NodeFeatureAPI=false` on both
> nfd-master and nfd-worker, or via Helm values.featureGates.NodeFeatureAPI=false),
> (re-)labelling only happens when a request is received from nfd-worker.
> That is, in practice rules are evaluated and labels for each node are created
> on intervals specified by the
> [`core.sleepInterval`](../reference/worker-configuration-reference.md#coresleepinterval)
> configuration option of nfd-worker instances. This means that modification or
> creation of NodeFeatureRule objects does not instantly cause the node
> labels to be updated. Instead, the changes only come visible in node labels
> as nfd-worker instances send their labelling requests. This limitation is not
> present when gRPC interface is disabled
> and [NodeFeature](custom-resources.md#nodefeature-custom-resource) API is used.
## Master configuration
NFD-Master supports dynamic configuration through a configuration file. The

View file

@ -35,7 +35,7 @@ var (
)
var DefaultNFDFeatureGates = map[featuregate.Feature]featuregate.FeatureSpec{
NodeFeatureAPI: {Default: true, PreRelease: featuregate.Beta},
NodeFeatureAPI: {Default: true, PreRelease: featuregate.GA, LockToDefault: true},
DisableAutoPrefix: {Default: false, PreRelease: featuregate.Alpha},
NodeFeatureGroupAPI: {Default: false, PreRelease: featuregate.Alpha},
}

View file

@ -208,7 +208,10 @@ func TestRun(t *testing.T) {
})
}
// TODO: remove this test with the rest of the TLS code and docs.
// Also drop the certs from test/data/.
func TestRunTls(t *testing.T) {
t.Skip("gRPC cannot be enabled, NodeFeatureAPI GA")
masterArgs := &master.Args{
CaFile: data.FilePath("ca.crt"),
CertFile: data.FilePath("nfd-test-master.crt"),

File diff suppressed because it is too large Load diff