From 445443bd8a51ed58ac5a6cf97f914bf3805c0e38 Mon Sep 17 00:00:00 2001 From: Patrick Ohly Date: Tue, 13 Feb 2024 11:51:45 +0100 Subject: [PATCH 1/2] e2e labels: ensure that the lists remain sorted Adding new entries at the bottom is tempting, but increases the risk of merge conflicts between unrelated PRs. Let's use alphabetic order instead. --- test/e2e/environment/environment.go | 4 ++++ test/e2e/feature/feature.go | 6 +++++- test/e2e/nodefeature/nodefeature.go | 4 ++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/test/e2e/environment/environment.go b/test/e2e/environment/environment.go index 8001e2a9855..74e14824f82 100644 --- a/test/e2e/environment/environment.go +++ b/test/e2e/environment/environment.go @@ -23,8 +23,12 @@ import ( ) var ( + // Please keep the list in alphabetical order. + // The test does not work in UserNS (for example, `open /proc/sys/kernel/shm_rmid_forced: permission denied`). NotInUserNS = framework.WithEnvironment(framework.ValidEnvironments.Add("NotInUserNS")) + + // Please keep the list in alphabetical order. ) func init() { diff --git a/test/e2e/feature/feature.go b/test/e2e/feature/feature.go index 6002f08622c..dfb632a3cb0 100644 --- a/test/e2e/feature/feature.go +++ b/test/e2e/feature/feature.go @@ -23,6 +23,8 @@ import ( ) var ( + // Please keep the list in alphabetical order. + APIServerIdentity = framework.WithFeature(framework.ValidFeatures.Add("APIServerIdentity")) AppArmor = framework.WithFeature(framework.ValidFeatures.Add("AppArmor")) BootstrapTokens = framework.WithFeature(framework.ValidFeatures.Add("BootstrapTokens")) @@ -35,6 +37,7 @@ var ( ClusterAutoscalerScalability5 = framework.WithFeature(framework.ValidFeatures.Add("ClusterAutoscalerScalability5")) ClusterAutoscalerScalability6 = framework.WithFeature(framework.ValidFeatures.Add("ClusterAutoscalerScalability6")) ClusterDowngrade = framework.WithFeature(framework.ValidFeatures.Add("ClusterDowngrade")) + ClusterScaleUpBypassScheduler = framework.WithFeature(framework.ValidFeatures.Add("ClusterScaleUpBypassScheduler")) ClusterSizeAutoscalingGpu = framework.WithFeature(framework.ValidFeatures.Add("ClusterSizeAutoscalingGpu")) ClusterSizeAutoscalingScaleDown = framework.WithFeature(framework.ValidFeatures.Add("ClusterSizeAutoscalingScaleDown")) ClusterSizeAutoscalingScaleUp = framework.WithFeature(framework.ValidFeatures.Add("ClusterSizeAutoscalingScaleUp")) @@ -132,7 +135,8 @@ var ( Windows = framework.WithFeature(framework.ValidFeatures.Add("Windows")) WindowsHostProcessContainers = framework.WithFeature(framework.ValidFeatures.Add("WindowsHostProcessContainers")) WindowsHyperVContainers = framework.WithFeature(framework.ValidFeatures.Add("WindowsHyperVContainers")) - ClusterScaleUpBypassScheduler = framework.WithFeature(framework.ValidFeatures.Add("ClusterScaleUpBypassScheduler")) + + // Please keep the list in alphabetical order. ) func init() { diff --git a/test/e2e/nodefeature/nodefeature.go b/test/e2e/nodefeature/nodefeature.go index ea84a7f894d..644e2bee98a 100644 --- a/test/e2e/nodefeature/nodefeature.go +++ b/test/e2e/nodefeature/nodefeature.go @@ -23,6 +23,8 @@ import ( ) var ( + // Please keep the list in alphabetical order. + AppArmor = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("AppArmor")) CheckpointContainer = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("CheckpointContainer")) CriticalPod = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("CriticalPod")) @@ -49,6 +51,8 @@ var ( RuntimeHandler = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("RuntimeHandler")) SidecarContainers = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("SidecarContainers")) SystemNodeCriticalPod = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("SystemNodeCriticalPod")) + + // Please keep the list in alphabetical order. ) func init() { From e53ac42633521fdd38cb58615b65421316b46703 Mon Sep 17 00:00:00 2001 From: Patrick Ohly Date: Tue, 13 Feb 2024 11:57:36 +0100 Subject: [PATCH 2/2] e2e labels: add placeholder docs for existing items Adding a doc comment for all existing items makes it more obvious that new items should be documented more carefully. It also has the welcome side effect that each item gets indented independently from the others. --- test/e2e/feature/feature.go | 437 +++++++++++++++++++++------- test/e2e/nodefeature/nodefeature.go | 101 +++++-- 2 files changed, 404 insertions(+), 134 deletions(-) diff --git a/test/e2e/feature/feature.go b/test/e2e/feature/feature.go index dfb632a3cb0..b100ad67f8e 100644 --- a/test/e2e/feature/feature.go +++ b/test/e2e/feature/feature.go @@ -25,116 +25,335 @@ import ( var ( // Please keep the list in alphabetical order. - APIServerIdentity = framework.WithFeature(framework.ValidFeatures.Add("APIServerIdentity")) - AppArmor = framework.WithFeature(framework.ValidFeatures.Add("AppArmor")) - BootstrapTokens = framework.WithFeature(framework.ValidFeatures.Add("BootstrapTokens")) - BoundServiceAccountTokenVolume = framework.WithFeature(framework.ValidFeatures.Add("BoundServiceAccountTokenVolume")) - CloudProvider = framework.WithFeature(framework.ValidFeatures.Add("CloudProvider")) - ClusterAutoscalerScalability1 = framework.WithFeature(framework.ValidFeatures.Add("ClusterAutoscalerScalability1")) - ClusterAutoscalerScalability2 = framework.WithFeature(framework.ValidFeatures.Add("ClusterAutoscalerScalability2")) - ClusterAutoscalerScalability3 = framework.WithFeature(framework.ValidFeatures.Add("ClusterAutoscalerScalability3")) - ClusterAutoscalerScalability4 = framework.WithFeature(framework.ValidFeatures.Add("ClusterAutoscalerScalability4")) - ClusterAutoscalerScalability5 = framework.WithFeature(framework.ValidFeatures.Add("ClusterAutoscalerScalability5")) - ClusterAutoscalerScalability6 = framework.WithFeature(framework.ValidFeatures.Add("ClusterAutoscalerScalability6")) - ClusterDowngrade = framework.WithFeature(framework.ValidFeatures.Add("ClusterDowngrade")) - ClusterScaleUpBypassScheduler = framework.WithFeature(framework.ValidFeatures.Add("ClusterScaleUpBypassScheduler")) - ClusterSizeAutoscalingGpu = framework.WithFeature(framework.ValidFeatures.Add("ClusterSizeAutoscalingGpu")) - ClusterSizeAutoscalingScaleDown = framework.WithFeature(framework.ValidFeatures.Add("ClusterSizeAutoscalingScaleDown")) - ClusterSizeAutoscalingScaleUp = framework.WithFeature(framework.ValidFeatures.Add("ClusterSizeAutoscalingScaleUp")) - ClusterTrustBundle = framework.WithFeature(framework.ValidFeatures.Add("ClusterTrustBundle")) - ClusterTrustBundleProjection = framework.WithFeature(framework.ValidFeatures.Add("ClusterTrustBundleProjection")) - ClusterUpgrade = framework.WithFeature(framework.ValidFeatures.Add("ClusterUpgrade")) - ComprehensiveNamespaceDraining = framework.WithFeature(framework.ValidFeatures.Add("ComprehensiveNamespaceDraining")) - CPUManager = framework.WithFeature(framework.ValidFeatures.Add("CPUManager")) - CustomMetricsAutoscaling = framework.WithFeature(framework.ValidFeatures.Add("CustomMetricsAutoscaling")) - DeviceManager = framework.WithFeature(framework.ValidFeatures.Add("DeviceManager")) - DevicePluginProbe = framework.WithFeature(framework.ValidFeatures.Add("DevicePluginProbe")) - Downgrade = framework.WithFeature(framework.ValidFeatures.Add("Downgrade")) - DynamicResourceAllocation = framework.WithFeature(framework.ValidFeatures.Add("DynamicResourceAllocation")) - EphemeralStorage = framework.WithFeature(framework.ValidFeatures.Add("EphemeralStorage")) - Example = framework.WithFeature(framework.ValidFeatures.Add("Example")) - ExperimentalResourceUsageTracking = framework.WithFeature(framework.ValidFeatures.Add("ExperimentalResourceUsageTracking")) - Flexvolumes = framework.WithFeature(framework.ValidFeatures.Add("Flexvolumes")) - GKENodePool = framework.WithFeature(framework.ValidFeatures.Add("GKENodePool")) - GPUClusterDowngrade = framework.WithFeature(framework.ValidFeatures.Add("GPUClusterDowngrade")) - GPUClusterUpgrade = framework.WithFeature(framework.ValidFeatures.Add("GPUClusterUpgrade")) - GPUDevicePlugin = framework.WithFeature(framework.ValidFeatures.Add("GPUDevicePlugin")) - GPUMasterUpgrade = framework.WithFeature(framework.ValidFeatures.Add("GPUMasterUpgrade")) - GPUUpgrade = framework.WithFeature(framework.ValidFeatures.Add("GPUUpgrade")) - HAMaster = framework.WithFeature(framework.ValidFeatures.Add("HAMaster")) - HPA = framework.WithFeature(framework.ValidFeatures.Add("HPA")) - HugePages = framework.WithFeature(framework.ValidFeatures.Add("HugePages")) - Ingress = framework.WithFeature(framework.ValidFeatures.Add("Ingress")) - IngressScale = framework.WithFeature(framework.ValidFeatures.Add("IngressScale")) - InPlacePodVerticalScaling = framework.WithFeature(framework.ValidFeatures.Add("InPlacePodVerticalScaling")) - IPv6DualStack = framework.WithFeature(framework.ValidFeatures.Add("IPv6DualStack")) - Kind = framework.WithFeature(framework.ValidFeatures.Add("Kind")) - KubeletCredentialProviders = framework.WithFeature(framework.ValidFeatures.Add("KubeletCredentialProviders")) - KubeletSecurity = framework.WithFeature(framework.ValidFeatures.Add("KubeletSecurity")) - KubeProxyDaemonSetDowngrade = framework.WithFeature(framework.ValidFeatures.Add("KubeProxyDaemonSetDowngrade")) - KubeProxyDaemonSetUpgrade = framework.WithFeature(framework.ValidFeatures.Add("KubeProxyDaemonSetUpgrade")) - KubeProxyDaemonSetMigration = framework.WithFeature(framework.ValidFeatures.Add("KubeProxyDaemonSetMigration")) - LabelSelector = framework.WithFeature(framework.ValidFeatures.Add("LabelSelector")) - LocalStorageCapacityIsolation = framework.WithFeature(framework.ValidFeatures.Add("LocalStorageCapacityIsolation")) - LocalStorageCapacityIsolationQuota = framework.WithFeature(framework.ValidFeatures.Add("LocalStorageCapacityIsolationQuota")) - MasterUpgrade = framework.WithFeature(framework.ValidFeatures.Add("MasterUpgrade")) - MemoryManager = framework.WithFeature(framework.ValidFeatures.Add("MemoryManager")) - NEG = framework.WithFeature(framework.ValidFeatures.Add("NEG")) - NetworkingDNS = framework.WithFeature(framework.ValidFeatures.Add("Networking-DNS")) - NetworkingIPv4 = framework.WithFeature(framework.ValidFeatures.Add("Networking-IPv4")) - NetworkingIPv6 = framework.WithFeature(framework.ValidFeatures.Add("Networking-IPv6")) - NetworkingPerformance = framework.WithFeature(framework.ValidFeatures.Add("Networking-Performance")) - NetworkPolicy = framework.WithFeature(framework.ValidFeatures.Add("NetworkPolicy")) - NodeAuthenticator = framework.WithFeature(framework.ValidFeatures.Add("NodeAuthenticator")) - NodeAuthorizer = framework.WithFeature(framework.ValidFeatures.Add("NodeAuthorizer")) - NodeLogQuery = framework.WithFeature(framework.ValidFeatures.Add("NodeLogQuery")) - NodeOutOfServiceVolumeDetach = framework.WithFeature(framework.ValidFeatures.Add("NodeOutOfServiceVolumeDetach")) - NoSNAT = framework.WithFeature(framework.ValidFeatures.Add("NoSNAT")) + // TODO: document the feature (owning SIG, when to use this feature for a test) + APIServerIdentity = framework.WithFeature(framework.ValidFeatures.Add("APIServerIdentity")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + AppArmor = framework.WithFeature(framework.ValidFeatures.Add("AppArmor")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + BootstrapTokens = framework.WithFeature(framework.ValidFeatures.Add("BootstrapTokens")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + BoundServiceAccountTokenVolume = framework.WithFeature(framework.ValidFeatures.Add("BoundServiceAccountTokenVolume")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + CloudProvider = framework.WithFeature(framework.ValidFeatures.Add("CloudProvider")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + ClusterAutoscalerScalability1 = framework.WithFeature(framework.ValidFeatures.Add("ClusterAutoscalerScalability1")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + ClusterAutoscalerScalability2 = framework.WithFeature(framework.ValidFeatures.Add("ClusterAutoscalerScalability2")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + ClusterAutoscalerScalability3 = framework.WithFeature(framework.ValidFeatures.Add("ClusterAutoscalerScalability3")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + ClusterAutoscalerScalability4 = framework.WithFeature(framework.ValidFeatures.Add("ClusterAutoscalerScalability4")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + ClusterAutoscalerScalability5 = framework.WithFeature(framework.ValidFeatures.Add("ClusterAutoscalerScalability5")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + ClusterAutoscalerScalability6 = framework.WithFeature(framework.ValidFeatures.Add("ClusterAutoscalerScalability6")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + ClusterDowngrade = framework.WithFeature(framework.ValidFeatures.Add("ClusterDowngrade")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + ClusterScaleUpBypassScheduler = framework.WithFeature(framework.ValidFeatures.Add("ClusterScaleUpBypassScheduler")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + ClusterSizeAutoscalingGpu = framework.WithFeature(framework.ValidFeatures.Add("ClusterSizeAutoscalingGpu")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + ClusterSizeAutoscalingScaleDown = framework.WithFeature(framework.ValidFeatures.Add("ClusterSizeAutoscalingScaleDown")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + ClusterSizeAutoscalingScaleUp = framework.WithFeature(framework.ValidFeatures.Add("ClusterSizeAutoscalingScaleUp")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + ClusterTrustBundle = framework.WithFeature(framework.ValidFeatures.Add("ClusterTrustBundle")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + ClusterTrustBundleProjection = framework.WithFeature(framework.ValidFeatures.Add("ClusterTrustBundleProjection")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + ClusterUpgrade = framework.WithFeature(framework.ValidFeatures.Add("ClusterUpgrade")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + ComprehensiveNamespaceDraining = framework.WithFeature(framework.ValidFeatures.Add("ComprehensiveNamespaceDraining")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + CPUManager = framework.WithFeature(framework.ValidFeatures.Add("CPUManager")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + CustomMetricsAutoscaling = framework.WithFeature(framework.ValidFeatures.Add("CustomMetricsAutoscaling")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + DeviceManager = framework.WithFeature(framework.ValidFeatures.Add("DeviceManager")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + DevicePluginProbe = framework.WithFeature(framework.ValidFeatures.Add("DevicePluginProbe")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + Downgrade = framework.WithFeature(framework.ValidFeatures.Add("Downgrade")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + DynamicResourceAllocation = framework.WithFeature(framework.ValidFeatures.Add("DynamicResourceAllocation")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + EphemeralStorage = framework.WithFeature(framework.ValidFeatures.Add("EphemeralStorage")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + Example = framework.WithFeature(framework.ValidFeatures.Add("Example")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + ExperimentalResourceUsageTracking = framework.WithFeature(framework.ValidFeatures.Add("ExperimentalResourceUsageTracking")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + Flexvolumes = framework.WithFeature(framework.ValidFeatures.Add("Flexvolumes")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + GKENodePool = framework.WithFeature(framework.ValidFeatures.Add("GKENodePool")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + GPUClusterDowngrade = framework.WithFeature(framework.ValidFeatures.Add("GPUClusterDowngrade")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + GPUClusterUpgrade = framework.WithFeature(framework.ValidFeatures.Add("GPUClusterUpgrade")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + GPUDevicePlugin = framework.WithFeature(framework.ValidFeatures.Add("GPUDevicePlugin")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + GPUMasterUpgrade = framework.WithFeature(framework.ValidFeatures.Add("GPUMasterUpgrade")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + GPUUpgrade = framework.WithFeature(framework.ValidFeatures.Add("GPUUpgrade")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + HAMaster = framework.WithFeature(framework.ValidFeatures.Add("HAMaster")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + HPA = framework.WithFeature(framework.ValidFeatures.Add("HPA")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + HugePages = framework.WithFeature(framework.ValidFeatures.Add("HugePages")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + Ingress = framework.WithFeature(framework.ValidFeatures.Add("Ingress")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + IngressScale = framework.WithFeature(framework.ValidFeatures.Add("IngressScale")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + InPlacePodVerticalScaling = framework.WithFeature(framework.ValidFeatures.Add("InPlacePodVerticalScaling")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + IPv6DualStack = framework.WithFeature(framework.ValidFeatures.Add("IPv6DualStack")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + Kind = framework.WithFeature(framework.ValidFeatures.Add("Kind")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + KubeletCredentialProviders = framework.WithFeature(framework.ValidFeatures.Add("KubeletCredentialProviders")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + KubeletSecurity = framework.WithFeature(framework.ValidFeatures.Add("KubeletSecurity")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + KubeProxyDaemonSetDowngrade = framework.WithFeature(framework.ValidFeatures.Add("KubeProxyDaemonSetDowngrade")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + KubeProxyDaemonSetUpgrade = framework.WithFeature(framework.ValidFeatures.Add("KubeProxyDaemonSetUpgrade")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + KubeProxyDaemonSetMigration = framework.WithFeature(framework.ValidFeatures.Add("KubeProxyDaemonSetMigration")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + LabelSelector = framework.WithFeature(framework.ValidFeatures.Add("LabelSelector")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + LocalStorageCapacityIsolation = framework.WithFeature(framework.ValidFeatures.Add("LocalStorageCapacityIsolation")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + LocalStorageCapacityIsolationQuota = framework.WithFeature(framework.ValidFeatures.Add("LocalStorageCapacityIsolationQuota")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + MasterUpgrade = framework.WithFeature(framework.ValidFeatures.Add("MasterUpgrade")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + MemoryManager = framework.WithFeature(framework.ValidFeatures.Add("MemoryManager")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + NEG = framework.WithFeature(framework.ValidFeatures.Add("NEG")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + NetworkingDNS = framework.WithFeature(framework.ValidFeatures.Add("Networking-DNS")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + NetworkingIPv4 = framework.WithFeature(framework.ValidFeatures.Add("Networking-IPv4")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + NetworkingIPv6 = framework.WithFeature(framework.ValidFeatures.Add("Networking-IPv6")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + NetworkingPerformance = framework.WithFeature(framework.ValidFeatures.Add("Networking-Performance")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + NetworkPolicy = framework.WithFeature(framework.ValidFeatures.Add("NetworkPolicy")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + NodeAuthenticator = framework.WithFeature(framework.ValidFeatures.Add("NodeAuthenticator")) + + // 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) + NodeLogQuery = framework.WithFeature(framework.ValidFeatures.Add("NodeLogQuery")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + NodeOutOfServiceVolumeDetach = framework.WithFeature(framework.ValidFeatures.Add("NodeOutOfServiceVolumeDetach")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + NoSNAT = framework.WithFeature(framework.ValidFeatures.Add("NoSNAT")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) PersistentVolumeLastPhaseTransitionTime = framework.WithFeature(framework.ValidFeatures.Add("PersistentVolumeLastPhaseTransitionTime")) - PerformanceDNS = framework.WithFeature(framework.ValidFeatures.Add("PerformanceDNS")) - PodGarbageCollector = framework.WithFeature(framework.ValidFeatures.Add("PodGarbageCollector")) - PodHostIPs = framework.WithFeature(framework.ValidFeatures.Add("PodHostIPs")) - PodLifecycleSleepAction = framework.WithFeature(framework.ValidFeatures.Add("PodLifecycleSleepAction")) - PodPriority = framework.WithFeature(framework.ValidFeatures.Add("PodPriority")) - PodReadyToStartContainersCondition = framework.WithFeature(framework.ValidFeatures.Add("PodReadyToStartContainersCondition")) - PodResources = framework.WithFeature(framework.ValidFeatures.Add("PodResources")) - Reboot = framework.WithFeature(framework.ValidFeatures.Add("Reboot")) - ReclaimPolicy = framework.WithFeature(framework.ValidFeatures.Add("ReclaimPolicy")) - RecoverVolumeExpansionFailure = framework.WithFeature(framework.ValidFeatures.Add("RecoverVolumeExpansionFailure")) - Recreate = framework.WithFeature(framework.ValidFeatures.Add("Recreate")) - RegularResourceUsageTracking = framework.WithFeature(framework.ValidFeatures.Add("RegularResourceUsageTracking")) - ScopeSelectors = framework.WithFeature(framework.ValidFeatures.Add("ScopeSelectors")) - SCTPConnectivity = framework.WithFeature(framework.ValidFeatures.Add("SCTPConnectivity")) - SeccompDefault = framework.WithFeature(framework.ValidFeatures.Add("SeccompDefault")) - SELinux = framework.WithFeature(framework.ValidFeatures.Add("SELinux")) - SELinuxMountReadWriteOncePod = framework.WithFeature(framework.ValidFeatures.Add("SELinuxMountReadWriteOncePod")) - ServiceCIDRs = framework.WithFeature(framework.ValidFeatures.Add("ServiceCIDRs")) - SidecarContainers = framework.WithFeature(framework.ValidFeatures.Add("SidecarContainers")) - StackdriverAcceleratorMonitoring = framework.WithFeature(framework.ValidFeatures.Add("StackdriverAcceleratorMonitoring")) - StackdriverCustomMetrics = framework.WithFeature(framework.ValidFeatures.Add("StackdriverCustomMetrics")) - StackdriverExternalMetrics = framework.WithFeature(framework.ValidFeatures.Add("StackdriverExternalMetrics")) - StackdriverMetadataAgent = framework.WithFeature(framework.ValidFeatures.Add("StackdriverMetadataAgent")) - StackdriverMonitoring = framework.WithFeature(framework.ValidFeatures.Add("StackdriverMonitoring")) - StandaloneMode = framework.WithFeature(framework.ValidFeatures.Add("StandaloneMode")) - StatefulSet = framework.WithFeature(framework.ValidFeatures.Add("StatefulSet")) - StatefulSetStartOrdinal = framework.WithFeature(framework.ValidFeatures.Add("StatefulSetStartOrdinal")) - StatefulUpgrade = framework.WithFeature(framework.ValidFeatures.Add("StatefulUpgrade")) - StorageProvider = framework.WithFeature(framework.ValidFeatures.Add("StorageProvider")) - StorageVersionAPI = framework.WithFeature(framework.ValidFeatures.Add("StorageVersionAPI")) - TopologyHints = framework.WithFeature(framework.ValidFeatures.Add("Topology Hints")) - TopologyManager = framework.WithFeature(framework.ValidFeatures.Add("TopologyManager")) - UDP = framework.WithFeature(framework.ValidFeatures.Add("UDP")) - Upgrade = framework.WithFeature(framework.ValidFeatures.Add("Upgrade")) - UserNamespacesSupport = framework.WithFeature(framework.ValidFeatures.Add("UserNamespacesSupport")) - ValidatingAdmissionPolicy = framework.WithFeature(framework.ValidFeatures.Add("ValidatingAdmissionPolicy")) - Volumes = framework.WithFeature(framework.ValidFeatures.Add("Volumes")) - VolumeSnapshotDataSource = framework.WithFeature(framework.ValidFeatures.Add("VolumeSnapshotDataSource")) - VolumeSourceXFS = framework.WithFeature(framework.ValidFeatures.Add("VolumeSourceXFS")) - Vsphere = framework.WithFeature(framework.ValidFeatures.Add("vsphere")) - WatchList = framework.WithFeature(framework.ValidFeatures.Add("WatchList")) - Windows = framework.WithFeature(framework.ValidFeatures.Add("Windows")) - WindowsHostProcessContainers = framework.WithFeature(framework.ValidFeatures.Add("WindowsHostProcessContainers")) - WindowsHyperVContainers = framework.WithFeature(framework.ValidFeatures.Add("WindowsHyperVContainers")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + PerformanceDNS = framework.WithFeature(framework.ValidFeatures.Add("PerformanceDNS")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + PodGarbageCollector = framework.WithFeature(framework.ValidFeatures.Add("PodGarbageCollector")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + PodHostIPs = framework.WithFeature(framework.ValidFeatures.Add("PodHostIPs")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + PodLifecycleSleepAction = framework.WithFeature(framework.ValidFeatures.Add("PodLifecycleSleepAction")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + PodPriority = framework.WithFeature(framework.ValidFeatures.Add("PodPriority")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + PodReadyToStartContainersCondition = framework.WithFeature(framework.ValidFeatures.Add("PodReadyToStartContainersCondition")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + PodResources = framework.WithFeature(framework.ValidFeatures.Add("PodResources")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + Reboot = framework.WithFeature(framework.ValidFeatures.Add("Reboot")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + ReclaimPolicy = framework.WithFeature(framework.ValidFeatures.Add("ReclaimPolicy")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + RecoverVolumeExpansionFailure = framework.WithFeature(framework.ValidFeatures.Add("RecoverVolumeExpansionFailure")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + Recreate = framework.WithFeature(framework.ValidFeatures.Add("Recreate")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + RegularResourceUsageTracking = framework.WithFeature(framework.ValidFeatures.Add("RegularResourceUsageTracking")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + ScopeSelectors = framework.WithFeature(framework.ValidFeatures.Add("ScopeSelectors")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + SCTPConnectivity = framework.WithFeature(framework.ValidFeatures.Add("SCTPConnectivity")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + SeccompDefault = framework.WithFeature(framework.ValidFeatures.Add("SeccompDefault")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + SELinux = framework.WithFeature(framework.ValidFeatures.Add("SELinux")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + SELinuxMountReadWriteOncePod = framework.WithFeature(framework.ValidFeatures.Add("SELinuxMountReadWriteOncePod")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + ServiceCIDRs = framework.WithFeature(framework.ValidFeatures.Add("ServiceCIDRs")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + SidecarContainers = framework.WithFeature(framework.ValidFeatures.Add("SidecarContainers")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + StackdriverAcceleratorMonitoring = framework.WithFeature(framework.ValidFeatures.Add("StackdriverAcceleratorMonitoring")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + StackdriverCustomMetrics = framework.WithFeature(framework.ValidFeatures.Add("StackdriverCustomMetrics")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + StackdriverExternalMetrics = framework.WithFeature(framework.ValidFeatures.Add("StackdriverExternalMetrics")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + StackdriverMetadataAgent = framework.WithFeature(framework.ValidFeatures.Add("StackdriverMetadataAgent")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + StackdriverMonitoring = framework.WithFeature(framework.ValidFeatures.Add("StackdriverMonitoring")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + StandaloneMode = framework.WithFeature(framework.ValidFeatures.Add("StandaloneMode")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + StatefulSet = framework.WithFeature(framework.ValidFeatures.Add("StatefulSet")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + StatefulSetStartOrdinal = framework.WithFeature(framework.ValidFeatures.Add("StatefulSetStartOrdinal")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + StatefulUpgrade = framework.WithFeature(framework.ValidFeatures.Add("StatefulUpgrade")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + StorageProvider = framework.WithFeature(framework.ValidFeatures.Add("StorageProvider")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + StorageVersionAPI = framework.WithFeature(framework.ValidFeatures.Add("StorageVersionAPI")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + TopologyHints = framework.WithFeature(framework.ValidFeatures.Add("Topology Hints")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + TopologyManager = framework.WithFeature(framework.ValidFeatures.Add("TopologyManager")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + UDP = framework.WithFeature(framework.ValidFeatures.Add("UDP")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + Upgrade = framework.WithFeature(framework.ValidFeatures.Add("Upgrade")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + UserNamespacesSupport = framework.WithFeature(framework.ValidFeatures.Add("UserNamespacesSupport")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + ValidatingAdmissionPolicy = framework.WithFeature(framework.ValidFeatures.Add("ValidatingAdmissionPolicy")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + Volumes = framework.WithFeature(framework.ValidFeatures.Add("Volumes")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + VolumeSnapshotDataSource = framework.WithFeature(framework.ValidFeatures.Add("VolumeSnapshotDataSource")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + VolumeSourceXFS = framework.WithFeature(framework.ValidFeatures.Add("VolumeSourceXFS")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + Vsphere = framework.WithFeature(framework.ValidFeatures.Add("vsphere")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + WatchList = framework.WithFeature(framework.ValidFeatures.Add("WatchList")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + Windows = framework.WithFeature(framework.ValidFeatures.Add("Windows")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + WindowsHostProcessContainers = framework.WithFeature(framework.ValidFeatures.Add("WindowsHostProcessContainers")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + WindowsHyperVContainers = framework.WithFeature(framework.ValidFeatures.Add("WindowsHyperVContainers")) // Please keep the list in alphabetical order. ) diff --git a/test/e2e/nodefeature/nodefeature.go b/test/e2e/nodefeature/nodefeature.go index 644e2bee98a..8d172d83fa7 100644 --- a/test/e2e/nodefeature/nodefeature.go +++ b/test/e2e/nodefeature/nodefeature.go @@ -25,32 +25,83 @@ import ( var ( // Please keep the list in alphabetical order. - AppArmor = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("AppArmor")) - CheckpointContainer = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("CheckpointContainer")) - CriticalPod = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("CriticalPod")) - DeviceManager = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("DeviceManager")) - DevicePluginProbe = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("DevicePluginProbe")) - DownwardAPIHugePages = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("DownwardAPIHugePages")) - DynamicResourceAllocation = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("DynamicResourceAllocation")) - Eviction = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("Eviction")) - FSGroup = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("FSGroup")) - GarbageCollect = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("GarbageCollect")) - GracefulNodeShutdown = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("GracefulNodeShutdown")) + // TODO: document the feature (owning SIG, when to use this feature for a test) + AppArmor = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("AppArmor")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + CheckpointContainer = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("CheckpointContainer")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + CriticalPod = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("CriticalPod")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + DeviceManager = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("DeviceManager")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + DevicePluginProbe = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("DevicePluginProbe")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + DownwardAPIHugePages = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("DownwardAPIHugePages")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + DynamicResourceAllocation = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("DynamicResourceAllocation")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + Eviction = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("Eviction")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + FSGroup = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("FSGroup")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + GarbageCollect = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("GarbageCollect")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + GracefulNodeShutdown = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("GracefulNodeShutdown")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) GracefulNodeShutdownBasedOnPodPriority = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("GracefulNodeShutdownBasedOnPodPriority")) - HostAccess = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("HostAccess")) - ImageID = framework.WithNodeFeature(framework.ValidNodeFeatures.Add(" ImageID")) - KubeletConfigDropInDir = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("KubeletConfigDropInDir")) - LSCIQuotaMonitoring = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("LSCIQuotaMonitoring")) - NodeAllocatable = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("NodeAllocatable")) - NodeProblemDetector = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("NodeProblemDetector")) - OOMScoreAdj = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("OOMScoreAdj")) - PodDisruptionConditions = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("PodDisruptionConditions")) - PodHostIPs = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("PodHostIPs")) - PodResources = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("PodResources")) - ResourceMetrics = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("ResourceMetrics")) - RuntimeHandler = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("RuntimeHandler")) - SidecarContainers = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("SidecarContainers")) - SystemNodeCriticalPod = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("SystemNodeCriticalPod")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + HostAccess = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("HostAccess")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + ImageID = framework.WithNodeFeature(framework.ValidNodeFeatures.Add(" ImageID")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + KubeletConfigDropInDir = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("KubeletConfigDropInDir")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + LSCIQuotaMonitoring = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("LSCIQuotaMonitoring")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + NodeAllocatable = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("NodeAllocatable")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + NodeProblemDetector = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("NodeProblemDetector")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + OOMScoreAdj = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("OOMScoreAdj")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + PodDisruptionConditions = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("PodDisruptionConditions")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + PodHostIPs = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("PodHostIPs")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + PodResources = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("PodResources")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + ResourceMetrics = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("ResourceMetrics")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + RuntimeHandler = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("RuntimeHandler")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + SidecarContainers = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("SidecarContainers")) + + // TODO: document the feature (owning SIG, when to use this feature for a test) + SystemNodeCriticalPod = framework.WithNodeFeature(framework.ValidNodeFeatures.Add("SystemNodeCriticalPod")) // Please keep the list in alphabetical order. )