From dafa0e178d898f7b4fbb028fd64d49382f318109 Mon Sep 17 00:00:00 2001 From: Fabio Bertinatto Date: Wed, 23 Mar 2022 09:34:06 -0300 Subject: [PATCH] Fix volume creation and deletion of Azure File tests --- test/e2e/framework/provider.go | 6 ++-- test/e2e/framework/providers/aws/aws.go | 4 +-- test/e2e/framework/providers/azure/azure.go | 11 ++++--- test/e2e/framework/providers/gce/gce.go | 4 +-- test/e2e/framework/pv/pv.go | 2 +- test/e2e/storage/drivers/in_tree.go | 35 ++++++++++++++++----- 6 files changed, 42 insertions(+), 20 deletions(-) diff --git a/test/e2e/framework/provider.go b/test/e2e/framework/provider.go index b5cb16ceb69..cd98219dfdf 100644 --- a/test/e2e/framework/provider.go +++ b/test/e2e/framework/provider.go @@ -97,7 +97,7 @@ type ProviderInterface interface { CreatePD(zone string) (string, error) DeletePD(pdName string) error - CreateShare() (string, string, error) + CreateShare() (string, string, string, error) DeleteShare(accountName, shareName string) error CreatePVSource(zone, diskName string) (*v1.PersistentVolumeSource, error) @@ -140,8 +140,8 @@ func (n NullProvider) DeleteNode(node *v1.Node) error { return fmt.Errorf("provider does not support DeleteNode") } -func (n NullProvider) CreateShare() (string, string, error) { - return "", "", fmt.Errorf("provider does not support volume creation") +func (n NullProvider) CreateShare() (string, string, string, error) { + return "", "", "", fmt.Errorf("provider does not support volume creation") } func (n NullProvider) DeleteShare(accountName, shareName string) error { diff --git a/test/e2e/framework/providers/aws/aws.go b/test/e2e/framework/providers/aws/aws.go index d00d4b29fe1..a13807d414e 100644 --- a/test/e2e/framework/providers/aws/aws.go +++ b/test/e2e/framework/providers/aws/aws.go @@ -93,8 +93,8 @@ func (p *Provider) DeleteNode(node *v1.Node) error { return err } -func (p *Provider) CreateShare() (string, string, error) { - return "", "", nil +func (p *Provider) CreateShare() (string, string, string, error) { + return "", "", "", nil } func (p *Provider) DeleteShare(accountName, shareName string) error { diff --git a/test/e2e/framework/providers/azure/azure.go b/test/e2e/framework/providers/azure/azure.go index fea723dee6b..0ec9a5bfa99 100644 --- a/test/e2e/framework/providers/azure/azure.go +++ b/test/e2e/framework/providers/azure/azure.go @@ -86,7 +86,7 @@ func (p *Provider) CreatePD(zone string) (string, error) { } // CreateShare creates a share and return its account name and key. -func (p *Provider) CreateShare() (string, string, error) { +func (p *Provider) CreateShare() (string, string, string, error) { accountOptions := &azure.AccountOptions{ Name: "", Type: string(compute.StandardLRS), @@ -102,13 +102,16 @@ func (p *Provider) CreateShare() (string, string, error) { RequestGiB: 1, } - a, b, c := p.azureCloud.CreateFileShare(accountOptions, shareOptions) + accountName, accountKey, err := p.azureCloud.CreateFileShare(accountOptions, shareOptions) + if err != nil { + return "", "", "", err + } - return a, b, c + return accountName, accountKey, shareOptions.Name, nil } func (p *Provider) DeleteShare(accountName, shareName string) error { - err := p.azureCloud.DeleteFileShare("", accountName, shareName) + err := p.azureCloud.DeleteFileShare(p.azureCloud.ResourceGroup, accountName, shareName) if err != nil { framework.Logf("failed to delete Azure File share %q: %v", shareName, err) } diff --git a/test/e2e/framework/providers/gce/gce.go b/test/e2e/framework/providers/gce/gce.go index 7db8d791b93..4b62ee1bd57 100644 --- a/test/e2e/framework/providers/gce/gce.go +++ b/test/e2e/framework/providers/gce/gce.go @@ -225,8 +225,8 @@ func (p *Provider) DeleteNode(node *v1.Node) error { return p.gceCloud.DeleteInstance(project, zone, node.Name) } -func (p *Provider) CreateShare() (string, string, error) { - return "", "", nil +func (p *Provider) CreateShare() (string, string, string, error) { + return "", "", "", nil } func (p *Provider) DeleteShare(accountName, shareName string) error { diff --git a/test/e2e/framework/pv/pv.go b/test/e2e/framework/pv/pv.go index 44e1ce0718e..24c39577835 100644 --- a/test/e2e/framework/pv/pv.go +++ b/test/e2e/framework/pv/pv.go @@ -673,7 +673,7 @@ func createPDWithRetry(zone string) (string, error) { return "", err } -func CreateShare() (string, string, error) { +func CreateShare() (string, string, string, error) { return framework.TestContext.CloudConfig.Provider.CreateShare() } diff --git a/test/e2e/storage/drivers/in_tree.go b/test/e2e/storage/drivers/in_tree.go index b321aecc488..296dd848a7c 100644 --- a/test/e2e/storage/drivers/in_tree.go +++ b/test/e2e/storage/drivers/in_tree.go @@ -2032,9 +2032,10 @@ type azureFileDriver struct { } type azureFileVolume struct { - accountName string - shareName string - secretName string + accountName string + shareName string + secretName string + secretNamespace string } var _ storageframework.TestDriver = &azureFileDriver{} @@ -2096,7 +2097,7 @@ func (a *azureFileDriver) GetPersistentVolumeSource(readOnly bool, fsType string AzureFile: &v1.AzureFilePersistentVolumeSource{ SecretName: av.secretName, ShareName: av.shareName, - SecretNamespace: nil, + SecretNamespace: &av.secretNamespace, ReadOnly: readOnly, }, } @@ -2121,12 +2122,30 @@ func (a *azureFileDriver) PrepareTest(f *framework.Framework) (*storageframework func (a *azureFileDriver) CreateVolume(config *storageframework.PerTestConfig, volType storageframework.TestVolType) storageframework.TestVolume { ginkgo.By("creating a test azure file volume") - accountName, shareName, err := e2epv.CreateShare() + accountName, accountKey, shareName, err := e2epv.CreateShare() + framework.ExpectNoError(err) + + secretName := "azure-storage-account-" + accountName + "-secret" + secret := &v1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Namespace: config.Framework.Namespace.Name, + Name: secretName, + }, + + Data: map[string][]byte{ + "azurestorageaccountname": []byte(accountName), + "azurestorageaccountkey": []byte(accountKey), + }, + Type: "Opaque", + } + + _, err = config.Framework.ClientSet.CoreV1().Secrets(config.Framework.Namespace.Name).Create(context.TODO(), secret, metav1.CreateOptions{}) framework.ExpectNoError(err) return &azureFileVolume{ - accountName: accountName, - shareName: shareName, - secretName: "", + accountName: accountName, + shareName: shareName, + secretName: secretName, + secretNamespace: config.Framework.Namespace.Name, } }