mirror of
https://github.com/kubernetes/kubernetes.git
synced 2026-05-28 04:04:39 -04:00
Merge pull request #137544 from jrvaldes/upstream/1.36-nodelogquery-lock-defualt
[FeatureGate] Promote NodeLogQuery to GA in v1.36 and lock default to `true`
This commit is contained in:
commit
553385a39c
7 changed files with 30 additions and 7 deletions
|
|
@ -1705,6 +1705,7 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate
|
|||
NodeLogQuery: {
|
||||
{Version: version.MustParse("1.27"), Default: false, PreRelease: featuregate.Alpha},
|
||||
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Beta},
|
||||
{Version: version.MustParse("1.36"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.39, locked to default in 1.36
|
||||
},
|
||||
|
||||
NodeSwap: {
|
||||
|
|
|
|||
|
|
@ -451,7 +451,6 @@ type KubeletConfiguration struct {
|
|||
// EnableSystemLogHandler has to be enabled in addition for this feature to work.
|
||||
// Enabling this feature has security implications. The recommendation is to enable it on a need basis for debugging
|
||||
// purposes and disabling otherwise.
|
||||
// +featureGate=NodeLogQuery
|
||||
// +optional
|
||||
EnableSystemLogQuery bool
|
||||
// ShutdownGracePeriod specifies the total duration that the node should delay the shutdown and total grace period for pod termination during a node shutdown.
|
||||
|
|
|
|||
|
|
@ -626,21 +626,38 @@ func TestValidateKubeletConfiguration(t *testing.T) {
|
|||
},
|
||||
errMsg: "invalid configuration: Specifying shutdownGracePeriodByPodPriority requires feature gate GracefulNodeShutdownBasedOnPodPriority",
|
||||
}, {
|
||||
name: "enableSystemLogQuery is enabled without NodeLogQuery feature gate",
|
||||
name: "enableSystemLogQuery is enabled with explicit default NodeLogQuery feature gate enabled",
|
||||
configure: func(conf *kubeletconfig.KubeletConfiguration) *kubeletconfig.KubeletConfiguration {
|
||||
conf.FeatureGates = map[string]bool{"NodeLogQuery": true}
|
||||
conf.EnableSystemLogHandler = true
|
||||
conf.EnableSystemLogQuery = true
|
||||
return conf
|
||||
},
|
||||
errMsg: "invalid configuration: NodeLogQuery feature gate is required for enableSystemLogQuery",
|
||||
errMsg: "",
|
||||
}, {
|
||||
name: "enableSystemLogQuery is enabled without NodeLogQuery feature gate",
|
||||
configure: func(conf *kubeletconfig.KubeletConfiguration) *kubeletconfig.KubeletConfiguration {
|
||||
conf.FeatureGates = map[string]bool{"NodeLogQuery": false}
|
||||
conf.EnableSystemLogQuery = true
|
||||
return conf
|
||||
},
|
||||
errMsg: "cannot set feature gate NodeLogQuery to false, feature is locked to true",
|
||||
}, {
|
||||
name: "enableSystemLogQuery is enabled without enableSystemLogHandler",
|
||||
configure: func(conf *kubeletconfig.KubeletConfiguration) *kubeletconfig.KubeletConfiguration {
|
||||
conf.FeatureGates = map[string]bool{"NodeLogQuery": true}
|
||||
conf.EnableSystemLogHandler = false
|
||||
conf.EnableSystemLogQuery = true
|
||||
return conf
|
||||
},
|
||||
errMsg: "invalid configuration: enableSystemLogHandler is required for enableSystemLogQuery",
|
||||
}, {
|
||||
name: "enableSystemLogQuery is enabled with enableSystemLogHandler",
|
||||
configure: func(conf *kubeletconfig.KubeletConfiguration) *kubeletconfig.KubeletConfiguration {
|
||||
conf.EnableSystemLogHandler = true
|
||||
conf.EnableSystemLogQuery = true
|
||||
return conf
|
||||
},
|
||||
errMsg: "",
|
||||
}, {
|
||||
name: "imageMaximumGCAge should not be negative",
|
||||
configure: func(conf *kubeletconfig.KubeletConfiguration) *kubeletconfig.KubeletConfiguration {
|
||||
|
|
|
|||
|
|
@ -804,7 +804,6 @@ type KubeletConfiguration struct {
|
|||
// Enabling this feature has security implications. The recommendation is to enable it on a need basis for debugging
|
||||
// purposes and disabling otherwise.
|
||||
// Default: false
|
||||
// +featureGate=NodeLogQuery
|
||||
// +optional
|
||||
EnableSystemLogQuery *bool `json:"enableSystemLogQuery,omitempty"`
|
||||
// shutdownGracePeriod specifies the total duration that the node should delay the
|
||||
|
|
|
|||
|
|
@ -137,7 +137,7 @@
|
|||
| NFTablesProxyMode | :ballot_box_with_check: 1.31+ | :closed_lock_with_key: 1.33+ | 1.29–1.30 | 1.31–1.32 | 1.33– | | | [code](https://cs.k8s.io/?q=%5CbNFTablesProxyMode%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/kubernetes) [KEPs](https://cs.k8s.io/?q=%5CbNFTablesProxyMode%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/enhancements) |
|
||||
| NodeDeclaredFeatures | :ballot_box_with_check: 1.36+ | | 1.35 | 1.36– | | | | [code](https://cs.k8s.io/?q=%5CbNodeDeclaredFeatures%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/kubernetes) [KEPs](https://cs.k8s.io/?q=%5CbNodeDeclaredFeatures%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/enhancements) |
|
||||
| NodeInclusionPolicyInPodTopologySpread | :ballot_box_with_check: 1.26+ | :closed_lock_with_key: 1.33+ | 1.25 | 1.26–1.32 | 1.33– | | | [code](https://cs.k8s.io/?q=%5CbNodeInclusionPolicyInPodTopologySpread%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/kubernetes) [KEPs](https://cs.k8s.io/?q=%5CbNodeInclusionPolicyInPodTopologySpread%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/enhancements) |
|
||||
| NodeLogQuery | | | 1.27–1.29 | 1.30– | | | | [code](https://cs.k8s.io/?q=%5CbNodeLogQuery%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/kubernetes) [KEPs](https://cs.k8s.io/?q=%5CbNodeLogQuery%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/enhancements) |
|
||||
| NodeLogQuery | :ballot_box_with_check: 1.36+ | :closed_lock_with_key: 1.36+ | 1.27–1.29 | 1.30–1.35 | 1.36– | | | [code](https://cs.k8s.io/?q=%5CbNodeLogQuery%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/kubernetes) [KEPs](https://cs.k8s.io/?q=%5CbNodeLogQuery%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/enhancements) |
|
||||
| NodeSwap | :ballot_box_with_check: 1.30+ | :closed_lock_with_key: 1.34+ | 1.22–1.27 | 1.28–1.33 | 1.34– | | | [code](https://cs.k8s.io/?q=%5CbNodeSwap%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/kubernetes) [KEPs](https://cs.k8s.io/?q=%5CbNodeSwap%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/enhancements) |
|
||||
| NominatedNodeNameForExpectation | :ballot_box_with_check: 1.35+ | | 1.34 | 1.35– | | | | [code](https://cs.k8s.io/?q=%5CbNominatedNodeNameForExpectation%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/kubernetes) [KEPs](https://cs.k8s.io/?q=%5CbNominatedNodeNameForExpectation%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/enhancements) |
|
||||
| OpenAPIEnums | :ballot_box_with_check: 1.24+ | | 1.23 | 1.24– | | | | [code](https://cs.k8s.io/?q=%5CbOpenAPIEnums%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/kubernetes) [KEPs](https://cs.k8s.io/?q=%5CbOpenAPIEnums%5Cb&i=nope&files=&excludeFiles=CHANGELOG&repos=kubernetes/enhancements) |
|
||||
|
|
|
|||
|
|
@ -1317,6 +1317,10 @@
|
|||
lockToDefault: false
|
||||
preRelease: Beta
|
||||
version: "1.30"
|
||||
- default: true
|
||||
lockToDefault: true
|
||||
preRelease: GA
|
||||
version: "1.36"
|
||||
- name: NodeSwap
|
||||
versionedSpecs:
|
||||
- default: false
|
||||
|
|
|
|||
|
|
@ -311,7 +311,10 @@ var (
|
|||
// TODO: document the feature (owning SIG, when to use this feature for a test)
|
||||
NodeAuthorizer = framework.WithFeature(framework.ValidFeatures.Add("NodeAuthorizer"))
|
||||
|
||||
// TODO: document the feature (owning SIG, when to use this feature for a test)
|
||||
// Owner: sig-windows, sig-node
|
||||
// kep: https://kep.k8s.io/2271
|
||||
// Marks tests that require the kubelet to have enableSystemLogQuery set to true
|
||||
// in the kubelet configuration. This handler is off by default.
|
||||
NodeLogQuery = framework.WithFeature(framework.ValidFeatures.Add("NodeLogQuery"))
|
||||
|
||||
// Owner: sig-node
|
||||
|
|
|
|||
Loading…
Reference in a new issue