Skip to content

Commit dda7d56

Browse files
authored
Merge pull request #18201 from hakman/skip-intree-volume-tests
e2e: Stop running in-tree volume tests for CSI-migrated drivers
2 parents 6f04c9a + 554c981 commit dda7d56

7 files changed

Lines changed: 27 additions & 34 deletions

File tree

nodeup/pkg/model/cloudconfig.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,9 @@ type CloudConfigBuilder struct {
6363
var _ fi.NodeupModelBuilder = &CloudConfigBuilder{}
6464

6565
func (b *CloudConfigBuilder) Build(c *fi.NodeupModelBuilderContext) error {
66-
if !b.HasAPIServer && b.NodeupConfig.KubeletConfig.CloudProvider == "external" {
66+
// Azure worker nodes need azure.json for the azuredisk-csi-driver to query
67+
// zone information from IMDS, so we always write it regardless of role.
68+
if !b.HasAPIServer && b.NodeupConfig.KubeletConfig.CloudProvider == "external" && b.CloudProvider() != kops.CloudProviderAzure {
6769
return nil
6870
}
6971

tests/e2e/pkg/tester/skip_regex.go

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import (
2525
)
2626

2727
const (
28-
skipRegexBase = "\\[Slow\\]|\\[Serial\\]|\\[Disruptive\\]|\\[Flaky\\]|\\[Feature:.+\\]|nfs|NFS"
28+
skipRegexBase = "\\[Slow\\]|\\[Serial\\]|\\[Disruptive\\]|\\[Flaky\\]|\\[Feature:.+\\]|nfs|NFS|In-tree.Volumes.\\[Driver:.(?:aws|gce|azure|cinder|vsphere)"
2929
)
3030

3131
func (t *Tester) setSkipRegexFlag() error {
@@ -107,12 +107,6 @@ func (t *Tester) setSkipRegexFlag() error {
107107
// latency during rapid attach/detach cycles on VMSS nodes.
108108
// See https://github.com/kubernetes/kops/issues/17146
109109
skipRegex += "|fsgroupchangepolicy"
110-
// The Azure File CSI driver is not yet deployed by kOps, so all in-tree azure-file tests fail
111-
// because CSI migration expects file.csi.azure.com to be present.
112-
skipRegex += "|In-tree.Volumes.\\[Driver:.azure-file\\]"
113-
// The in-tree azure-disk topology tests use the deprecated failure-domain.beta.kubernetes.io/zone label
114-
// which is no longer present on nodes.
115-
skipRegex += "|In-tree.Volumes.\\[Driver:.azure-disk\\].*topology"
116110
// Skipped upstream in azuredisk-csi-driver external E2E:
117111
// https://github.com/kubernetes-sigs/azuredisk-csi-driver/blob/master/test/external-e2e/run.sh
118112
skipRegex += "|should.resize.volume.when.PVC.is.edited.while.pod.is.using.it"
@@ -124,8 +118,6 @@ func (t *Tester) setSkipRegexFlag() error {
124118
// this test assumes the cluster runs COS but kOps uses Ubuntu by default
125119
// ref: https://github.com/kubernetes/test-infra/pull/22190
126120
skipRegex += "|should.be.mountable.when.non-attachable"
127-
// The in-tree driver and its E2E tests use `topology.kubernetes.io/zone` but the CSI driver uses `topology.gke.io/zone`
128-
skipRegex += "|In-tree.Volumes.\\[Driver:.gcepd\\].*topology.should.provision.a.volume.and.schedule.a.pod.with.AllowedTopologies"
129121
}
130122

131123
// This test fails on RHEL-based distros because they return fully qualified hostnames yet the k8s node names are not fully qualified.

tests/e2e/pkg/tester/tester.go

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -421,24 +421,27 @@ func (t *Tester) addCSIDriverFlags() error {
421421
return err
422422
}
423423

424-
var provider, migratedPlugin string
425-
switch {
426-
case cluster.Spec.CloudConfig != nil &&
427-
cluster.Spec.CloudConfig.AWSEBSCSIDriver != nil &&
428-
cluster.Spec.CloudConfig.AWSEBSCSIDriver.Enabled != nil &&
429-
*cluster.Spec.CloudConfig.AWSEBSCSIDriver.Enabled:
424+
var provider string
425+
switch cluster.Spec.LegacyCloudProvider {
426+
case "aws":
427+
if cluster.Spec.CloudConfig != nil &&
428+
cluster.Spec.CloudConfig.AWSEBSCSIDriver != nil &&
429+
cluster.Spec.CloudConfig.AWSEBSCSIDriver.Enabled != nil &&
430+
!*cluster.Spec.CloudConfig.AWSEBSCSIDriver.Enabled {
431+
break
432+
}
430433
provider = "aws-ebs"
431-
migratedPlugin = "kubernetes.io/aws-ebs"
432-
case cluster.Spec.CloudConfig != nil &&
433-
cluster.Spec.CloudConfig.GCPPDCSIDriver != nil &&
434-
cluster.Spec.CloudConfig.GCPPDCSIDriver.Enabled != nil &&
435-
*cluster.Spec.CloudConfig.GCPPDCSIDriver.Enabled:
434+
case "gce":
435+
if cluster.Spec.CloudConfig != nil &&
436+
cluster.Spec.CloudConfig.GCPPDCSIDriver != nil &&
437+
cluster.Spec.CloudConfig.GCPPDCSIDriver.Enabled != nil &&
438+
!*cluster.Spec.CloudConfig.GCPPDCSIDriver.Enabled {
439+
break
440+
}
436441
provider = "gcp-pd"
437-
migratedPlugin = "kubernetes.io/gce-pd"
438-
case cluster.Spec.LegacyCloudProvider == "azure":
442+
case "azure":
439443
provider = "azure-disk"
440-
migratedPlugin = "kubernetes.io/azure-disk"
441-
case cluster.Spec.LegacyCloudProvider == "digitalocean":
444+
case "digitalocean":
442445
provider = "dobs"
443446
}
444447

@@ -478,9 +481,6 @@ func (t *Tester) addCSIDriverFlags() error {
478481
}
479482

480483
driverFlags := fmt.Sprintf(" --storage.testdriver=%s", driverPath)
481-
if migratedPlugin != "" {
482-
driverFlags += fmt.Sprintf(" --storage.migratedPlugins=%s", migratedPlugin)
483-
}
484484
klog.Infof("Setting %v", driverFlags)
485485
t.TestArgs += driverFlags
486486
return nil

tests/integration/update_cluster/minimal_azure/data/azurerm_storage_blob_minimal-azure.example.com-addons-azuredisk-csi-driver.addons.k8s.io-k8s-1.31_source

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,7 @@ spec:
642642
- --user-agent-suffix=kops
643643
- --allow-empty-cloud-config=true
644644
- --support-zone=true
645-
- --get-node-info-from-labels=true
645+
- --get-node-info-from-labels=false
646646
- --get-nodeid-from-imds=false
647647
- --enable-otel-tracing=false
648648
- --metrics-address=0.0.0.0:29605

tests/integration/update_cluster/minimal_azure/data/azurerm_storage_blob_minimal-azure.example.com-addons-bootstrap_source

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ spec:
8585
version: 9.99.0
8686
- id: k8s-1.31
8787
manifest: azuredisk-csi-driver.addons.k8s.io/k8s-1.31.yaml
88-
manifestHash: da0ccb52e5db231adbe24c372b9e2e87ea02f9559e80e09b6dbcbc094371220f
88+
manifestHash: 83b05a6f607c03094725ec171a8c7b2f073eaafa6830dfcf0b29ad90b728b17b
8989
name: azuredisk-csi-driver.addons.k8s.io
9090
prune:
9191
kinds:

upup/models/cloudup/resources/addons/azuredisk-csi-driver.addons.k8s.io/helm-values.yaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
# --version 1.34.0 --namespace kube-system -f helm-values.yaml > k8s-1.31.yaml.template
77
#
88
# Note: No kops-specific patches are needed. The driver finds the cloud config
9-
# at /etc/kubernetes/azure.json (its default path) on control-plane nodes.
10-
# Node pods use --get-node-info-from-labels and --allow-empty-cloud-config=true.
9+
# at /etc/kubernetes/azure.json (its default path) on all nodes.
10+
# Node pods query IMDS for zone info via the cloud config (UseInstanceMetadata: true).
1111
#
1212
# Note: StorageClass is managed separately via storage-azure.addons.k8s.io
1313

@@ -22,7 +22,6 @@ controller:
2222
linux:
2323
enabled: true
2424
hostNetwork: true
25-
getNodeInfoFromLabels: true
2625

2726
node:
2827
cloudConfigSecretName: ""

upup/models/cloudup/resources/addons/azuredisk-csi-driver.addons.k8s.io/k8s-1.31.yaml.template

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@ spec:
414414
- "--user-agent-suffix=kops"
415415
- "--allow-empty-cloud-config=true"
416416
- "--support-zone=true"
417-
- "--get-node-info-from-labels=true"
417+
- "--get-node-info-from-labels=false"
418418
- "--get-nodeid-from-imds=false"
419419
- "--enable-otel-tracing=false"
420420
- "--metrics-address=0.0.0.0:29605"

0 commit comments

Comments
 (0)