From 313cc4278e92e5c3c20bef341c2d27ad36d87c46 Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Wed, 4 Sep 2019 10:30:25 +0000 Subject: [PATCH 1/2] test: fix azure disk e2e test failure --- test/e2e/framework/providers/azure/BUILD | 1 + test/e2e/framework/providers/azure/azure.go | 20 +++++++++++++++----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/test/e2e/framework/providers/azure/BUILD b/test/e2e/framework/providers/azure/BUILD index 07058db97bd..0f4d90bb384 100644 --- a/test/e2e/framework/providers/azure/BUILD +++ b/test/e2e/framework/providers/azure/BUILD @@ -10,6 +10,7 @@ go_library( "//staging/src/k8s.io/apimachinery/pkg/util/uuid:go_default_library", "//staging/src/k8s.io/legacy-cloud-providers/azure:go_default_library", "//test/e2e/framework:go_default_library", + "//vendor/github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2019-07-01/compute:go_default_library", ], ) diff --git a/test/e2e/framework/providers/azure/azure.go b/test/e2e/framework/providers/azure/azure.go index 5e7be561398..57ca3aac8d2 100644 --- a/test/e2e/framework/providers/azure/azure.go +++ b/test/e2e/framework/providers/azure/azure.go @@ -21,6 +21,8 @@ import ( "fmt" "os" + "github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2019-07-01/compute" + v1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/util/uuid" "k8s.io/kubernetes/test/e2e/framework" @@ -62,16 +64,24 @@ func (p *Provider) DeleteNode(node *v1.Node) error { // CreatePD creates a persistent volume func (p *Provider) CreatePD(zone string) (string, error) { pdName := fmt.Sprintf("%s-%s", framework.TestContext.Prefix, string(uuid.NewUUID())) - _, diskURI, _, err := p.azureCloud.CreateVolume(pdName, "" /* account */, "" /* sku */, "" /* location */, 1 /* sizeGb */) - if err != nil { - return "", err + + volumeOptions := &azure.ManagedDiskOptions{ + DiskName: pdName, + StorageAccountType: compute.StandardLRS, + ResourceGroup: "", + PVCName: pdName, + SizeGB: 1, + Tags: nil, + AvailabilityZone: zone, + DiskIOPSReadWrite: "", + DiskMBpsReadWrite: "", } - return diskURI, nil + return p.azureCloud.CreateManagedDisk(volumeOptions) } // DeletePD deletes a persistent volume func (p *Provider) DeletePD(pdName string) error { - if err := p.azureCloud.DeleteVolume(pdName); err != nil { + if err := p.azureCloud.DeleteManagedDisk(pdName); err != nil { framework.Logf("failed to delete Azure volume %q: %v", pdName, err) return err } From 4c58dc3a567513aea9f3db204e71de65a3fd1ef1 Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Wed, 4 Sep 2019 15:16:38 +0000 Subject: [PATCH 2/2] test: fix azure disk test failure --- test/e2e/storage/drivers/in_tree.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/test/e2e/storage/drivers/in_tree.go b/test/e2e/storage/drivers/in_tree.go index cf66453539b..0e9965955bd 100644 --- a/test/e2e/storage/drivers/in_tree.go +++ b/test/e2e/storage/drivers/in_tree.go @@ -1441,10 +1441,12 @@ func (a *azureDriver) GetVolumeSource(readOnly bool, fsType string, volume tests diskName := av.volumeName[(strings.LastIndex(av.volumeName, "/") + 1):] + kind := v1.AzureManagedDisk volSource := v1.VolumeSource{ AzureDisk: &v1.AzureDiskVolumeSource{ DiskName: diskName, DataDiskURI: av.volumeName, + Kind: &kind, ReadOnly: &readOnly, }, } @@ -1460,10 +1462,12 @@ func (a *azureDriver) GetPersistentVolumeSource(readOnly bool, fsType string, vo diskName := av.volumeName[(strings.LastIndex(av.volumeName, "/") + 1):] + kind := v1.AzureManagedDisk pvSource := v1.PersistentVolumeSource{ AzureDisk: &v1.AzureDiskVolumeSource{ DiskName: diskName, DataDiskURI: av.volumeName, + Kind: &kind, ReadOnly: &readOnly, }, } @@ -1499,6 +1503,13 @@ func (a *azureDriver) PrepareTest(f *framework.Framework) (*testsuites.PerTestCo func (a *azureDriver) CreateVolume(config *testsuites.PerTestConfig, volType testpatterns.TestVolType) testsuites.TestVolume { ginkgo.By("creating a test azure disk volume") + if volType == testpatterns.InlineVolume { + // Volume will be created in framework.TestContext.CloudConfig.Zone zone, + // so pods should be also scheduled there. + config.ClientNodeSelector = map[string]string{ + v1.LabelZoneFailureDomain: framework.TestContext.CloudConfig.Zone, + } + } volumeName, err := framework.CreatePDWithRetry() framework.ExpectNoError(err) return &azureVolume{