Skip to content

Commit 99c9b54

Browse files
committed
azure: Enable tests for Azure Disk CSI Driver
Signed-off-by: Ciprian Hacman <ciprian@hakman.dev>
1 parent 971a449 commit 99c9b54

5 files changed

Lines changed: 57 additions & 4 deletions

File tree

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Manifest for Kubernetes external tests.
2+
# See https://github.com/kubernetes/kubernetes/tree/master/test/e2e/storage/external
3+
# https://github.com/kubernetes-sigs/azuredisk-csi-driver/blob/master/test/external-e2e/manifest/testdriver.yaml
4+
5+
StorageClass:
6+
FromFile: tests/e2e/csi-manifests/azure-disk/sc.yaml
7+
DriverInfo:
8+
Name: disk.csi.azure.com
9+
SupportedSizeRange:
10+
Min: 1Gi
11+
SupportedFsType:
12+
ext4: {}
13+
ext3: {}
14+
xfs: {}
15+
Capabilities:
16+
persistence: true
17+
fsGroup: true
18+
block: true
19+
exec: true
20+
multipods: true
21+
controllerExpansion: true
22+
nodeExpansion: true
23+
onlineExpansion: true
24+
volumeLimits: true
25+
singleNodeVolume: true
26+
topology: true
27+
snapshotDataSource: false
28+
pvcDataSource: false
29+
RWX: false
30+
readWriteOncePod: true
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
kind: StorageClass
2+
apiVersion: storage.k8s.io/v1
3+
metadata:
4+
name: managed-csi
5+
provisioner: disk.csi.azure.com
6+
allowVolumeExpansion: true
7+
parameters:
8+
skuName: StandardSSD_LRS
9+
reclaimPolicy: Delete
10+
volumeBindingMode: WaitForFirstConsumer

tests/e2e/csi-manifests/manifests.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,5 @@ package csimanifests
1818

1919
import "embed"
2020

21-
//go:embed aws-ebs/* gcp-pd/* dobs/*
21+
//go:embed aws-ebs/* azure-disk/* dobs/* gcp-pd/*
2222
var FS embed.FS

tests/e2e/pkg/tester/skip_regex.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,18 @@ func (t *Tester) setSkipRegexFlag() error {
102102
skipRegex += "|Services.should.respect.internalTrafficPolicy=Local.Pod.and.Node,.to.Pod"
103103
}
104104

105+
if cluster.Spec.LegacyCloudProvider == "azure" {
106+
// The Azure File CSI driver is not yet deployed by kOps, so all in-tree azure-file tests fail
107+
// because CSI migration expects file.csi.azure.com to be present.
108+
skipRegex += "|In-tree.Volumes.\\[Driver:.azure-file\\]"
109+
// The in-tree azure-disk topology tests use the deprecated failure-domain.beta.kubernetes.io/zone label
110+
// which is no longer present on nodes.
111+
skipRegex += "|In-tree.Volumes.\\[Driver:.azure-disk\\].*topology"
112+
// kOps does not yet deploy the full Azure cloud-controller-manager (only cloud-node-manager),
113+
// so the service controller for LoadBalancer provisioning is not available.
114+
skipRegex += "|should.not.disrupt.a.cloud.load-balancer"
115+
}
116+
105117
if cluster.Spec.LegacyCloudProvider == "gce" {
106118
// this test assumes the cluster runs COS but kOps uses Ubuntu by default
107119
// ref: https://github.com/kubernetes/test-infra/pull/22190

tests/e2e/pkg/tester/tester.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,10 +150,8 @@ func (t *Tester) addProviderFlag() error {
150150

151151
provider := ""
152152
switch cluster.Spec.LegacyCloudProvider {
153-
case "aws", "gce":
153+
case "aws", "azure", "gce":
154154
provider = cluster.Spec.LegacyCloudProvider
155-
case "azure":
156-
// TODO: Enable when Azure Disk and FIle CSI drivers are added
157155
case "digitalocean":
158156
default:
159157
klog.Warningf("unhandled cluster.spec.cloudProvider %q for determining ginkgo Provider", cluster.Spec.LegacyCloudProvider)
@@ -437,6 +435,9 @@ func (t *Tester) addCSIDriverFlags() error {
437435
*cluster.Spec.CloudConfig.GCPPDCSIDriver.Enabled:
438436
provider = "gcp-pd"
439437
migratedPlugin = "kubernetes.io/gce-pd"
438+
case cluster.Spec.LegacyCloudProvider == "azure":
439+
provider = "azure-disk"
440+
migratedPlugin = "kubernetes.io/azure-disk"
440441
case cluster.Spec.LegacyCloudProvider == "digitalocean":
441442
provider = "dobs"
442443
}

0 commit comments

Comments
 (0)