mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-10-31 10:18:13 +00:00 
			
		
		
		
	Rename NodeSwapEnabled flag to NodeSwap
This commit is contained in:
		| @@ -786,7 +786,7 @@ function start_kubelet { | ||||
|  | ||||
|     # warn if users are running with swap allowed | ||||
|     if [ "${FAIL_SWAP_ON}" == "false" ]; then | ||||
|         echo "WARNING : The kubelet is configured to not fail even if swap is enabled; production deployments should disable swap unless testing NodeSwapEnabled feature." | ||||
|         echo "WARNING : The kubelet is configured to not fail even if swap is enabled; production deployments should disable swap unless testing NodeSwap feature." | ||||
|     fi | ||||
|  | ||||
|     if [[ "${REUSE_CERTS}" != true ]]; then | ||||
|   | ||||
| @@ -667,7 +667,7 @@ const ( | ||||
| 	// alpha: v1.22 | ||||
| 	// | ||||
| 	// Permits kubelet to run with swap enabled | ||||
| 	NodeSwapEnabled featuregate.Feature = "NodeSwapEnabled" | ||||
| 	NodeSwap featuregate.Feature = "NodeSwap" | ||||
|  | ||||
| 	// owner: @ahg-g | ||||
| 	// alpha: v1.21 | ||||
| @@ -889,7 +889,7 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS | ||||
| 	VolumeCapacityPriority:                         {Default: false, PreRelease: featuregate.Alpha}, | ||||
| 	PreferNominatedNode:                            {Default: true, PreRelease: featuregate.Beta}, | ||||
| 	ProbeTerminationGracePeriod:                    {Default: false, PreRelease: featuregate.Alpha}, | ||||
| 	NodeSwapEnabled:                                {Default: false, PreRelease: featuregate.Alpha}, | ||||
| 	NodeSwap:                                       {Default: false, PreRelease: featuregate.Alpha}, | ||||
| 	PodDeletionCost:                                {Default: true, PreRelease: featuregate.Beta}, | ||||
| 	StatefulSetAutoDeletePVC:                       {Default: false, PreRelease: featuregate.Alpha}, | ||||
| 	TopologyAwareHints:                             {Default: false, PreRelease: featuregate.Alpha}, | ||||
|   | ||||
| @@ -331,7 +331,7 @@ type KubeletConfiguration struct { | ||||
| 	// Tells the Kubelet to fail to start if swap is enabled on the node. | ||||
| 	FailSwapOn bool | ||||
| 	// memorySwap configures swap memory available to container workloads. | ||||
| 	// +featureGate=NodeSwapEnabled | ||||
| 	// +featureGate=NodeSwap | ||||
| 	// +optional | ||||
| 	MemorySwap MemorySwapConfiguration | ||||
| 	// A quantity defines the maximum size of the container log file before it is rotated. For example: "5Mi" or "256Ki". | ||||
| @@ -590,7 +590,7 @@ type MemorySwapConfiguration struct { | ||||
| 	// swapBehavior configures swap memory available to container workloads. May be one of | ||||
| 	// "", "LimitedSwap": workload combined memory and swap usage cannot exceed pod memory limit | ||||
| 	// "UnlimitedSwap": workloads can use unlimited swap, up to the allocatable limit. | ||||
| 	// +featureGate=NodeSwapEnabled | ||||
| 	// +featureGate=NodeSwap | ||||
| 	// +optional | ||||
| 	SwapBehavior string | ||||
| } | ||||
|   | ||||
| @@ -155,13 +155,13 @@ func ValidateKubeletConfiguration(kc *kubeletconfig.KubeletConfiguration) error | ||||
| 	if (kc.ShutdownGracePeriod.Duration > 0 || kc.ShutdownGracePeriodCriticalPods.Duration > 0) && !localFeatureGate.Enabled(features.GracefulNodeShutdown) { | ||||
| 		allErrors = append(allErrors, fmt.Errorf("invalid configuration: Specifying ShutdownGracePeriod or ShutdownGracePeriodCriticalPods requires feature gate GracefulNodeShutdown")) | ||||
| 	} | ||||
| 	if localFeatureGate.Enabled(features.NodeSwapEnabled) { | ||||
| 	if localFeatureGate.Enabled(features.NodeSwap) { | ||||
| 		if kc.MemorySwap.SwapBehavior != "" && kc.MemorySwap.SwapBehavior != kubetypes.LimitedSwap && kc.MemorySwap.SwapBehavior != kubetypes.UnlimitedSwap { | ||||
| 			allErrors = append(allErrors, fmt.Errorf("invalid configuration: MemorySwap.SwapBehavior %v must be one of: LimitedSwap, UnlimitedSwap", kc.MemorySwap.SwapBehavior)) | ||||
| 		} | ||||
| 	} | ||||
| 	if !localFeatureGate.Enabled(features.NodeSwapEnabled) && kc.MemorySwap != (kubeletconfig.MemorySwapConfiguration{}) { | ||||
| 		allErrors = append(allErrors, fmt.Errorf("invalid configuration: MemorySwap.SwapBehavior cannot be set when NodeSwapEnabled feature flag is disabled")) | ||||
| 	if !localFeatureGate.Enabled(features.NodeSwap) && kc.MemorySwap != (kubeletconfig.MemorySwapConfiguration{}) { | ||||
| 		allErrors = append(allErrors, fmt.Errorf("invalid configuration: MemorySwap.SwapBehavior cannot be set when NodeSwap feature flag is disabled")) | ||||
| 	} | ||||
|  | ||||
| 	for _, val := range kc.EnforceNodeAllocatable { | ||||
|   | ||||
| @@ -156,7 +156,7 @@ func TestValidateKubeletConfiguration(t *testing.T) { | ||||
| 		FeatureGates: map[string]bool{ | ||||
| 			"CustomCPUCFSQuotaPeriod": true, | ||||
| 			"GracefulNodeShutdown":    true, | ||||
| 			"NodeSwapEnabled":         true, | ||||
| 			"NodeSwap":                true, | ||||
| 			"MemoryQoS":               true, | ||||
| 		}, | ||||
| 		Logging: componentbaseconfig.LoggingConfiguration{ | ||||
| @@ -241,7 +241,7 @@ func TestValidateKubeletConfiguration(t *testing.T) { | ||||
| 		FeatureGates: map[string]bool{ | ||||
| 			"CustomCPUCFSQuotaPeriod": true, | ||||
| 			"GracefulNodeShutdown":    true, | ||||
| 			"NodeSwapEnabled":         true, | ||||
| 			"NodeSwap":                true, | ||||
| 			"MemoryQoS":               true, | ||||
| 		}, | ||||
| 		Logging: componentbaseconfig.LoggingConfiguration{ | ||||
|   | ||||
| @@ -100,7 +100,7 @@ func (m *kubeGenericRuntimeManager) generateLinuxContainerConfig(container *v1.C | ||||
|  | ||||
| 	lc.Resources.HugepageLimits = GetHugepageLimitsFromResources(container.Resources) | ||||
|  | ||||
| 	if utilfeature.DefaultFeatureGate.Enabled(kubefeatures.NodeSwapEnabled) { | ||||
| 	if utilfeature.DefaultFeatureGate.Enabled(kubefeatures.NodeSwap) { | ||||
| 		// NOTE(ehashman): Behaviour is defined in the opencontainers runtime spec: | ||||
| 		// https://github.com/opencontainers/runtime-spec/blob/1c3f411f041711bbeecf35ff7e93461ea6789220/config-linux.md#memory | ||||
| 		switch m.memorySwapBehavior { | ||||
|   | ||||
| @@ -466,7 +466,7 @@ func TestGenerateLinuxContainerConfigNamespaces(t *testing.T) { | ||||
| } | ||||
|  | ||||
| func TestGenerateLinuxContainerConfigSwap(t *testing.T) { | ||||
| 	defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.NodeSwapEnabled, true)() | ||||
| 	defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.NodeSwap, true)() | ||||
| 	_, _, m, err := createTestRuntimeManager() | ||||
| 	if err != nil { | ||||
| 		t.Fatalf("error creating test RuntimeManager: %v", err) | ||||
|   | ||||
| @@ -824,7 +824,7 @@ type KubeletConfiguration struct { | ||||
| 	// +optional | ||||
| 	FailSwapOn *bool `json:"failSwapOn,omitempty"` | ||||
| 	// memorySwap configures swap memory available to container workloads. | ||||
| 	// +featureGate=NodeSwapEnabled | ||||
| 	// +featureGate=NodeSwap | ||||
| 	// +optional | ||||
| 	MemorySwap MemorySwapConfiguration `json:"memorySwap,omitempty"` | ||||
| 	// containerLogMaxSize is a quantity defining the maximum size of the container log | ||||
| @@ -1132,7 +1132,7 @@ type MemorySwapConfiguration struct { | ||||
| 	// swapBehavior configures swap memory available to container workloads. May be one of | ||||
| 	// "", "LimitedSwap": workload combined memory and swap usage cannot exceed pod memory limit | ||||
| 	// "UnlimitedSwap": workloads can use unlimited swap, up to the allocatable limit. | ||||
| 	// +featureGate=NodeSwapEnabled | ||||
| 	// +featureGate=NodeSwap | ||||
| 	// +optional | ||||
| 	SwapBehavior string `json:"swapBehavior,omitempty"` | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Elana Hashman
					Elana Hashman