Merge pull request #123122 from carlory/clean-e2e-Azure
Update in-tree azureDisk and azureFile tests
This commit is contained in:
		| @@ -1246,14 +1246,7 @@ type azureDiskDriver struct { | |||||||
| 	driverInfo storageframework.DriverInfo | 	driverInfo storageframework.DriverInfo | ||||||
| } | } | ||||||
|  |  | ||||||
| type azureDiskVolume struct { |  | ||||||
| 	volumeName string |  | ||||||
| } |  | ||||||
|  |  | ||||||
| var _ storageframework.TestDriver = &azureDiskDriver{} | var _ storageframework.TestDriver = &azureDiskDriver{} | ||||||
| var _ storageframework.PreprovisionedVolumeTestDriver = &azureDiskDriver{} |  | ||||||
| var _ storageframework.InlineVolumeTestDriver = &azureDiskDriver{} |  | ||||||
| var _ storageframework.PreprovisionedPVTestDriver = &azureDiskDriver{} |  | ||||||
| var _ storageframework.DynamicPVTestDriver = &azureDiskDriver{} | var _ storageframework.DynamicPVTestDriver = &azureDiskDriver{} | ||||||
| var _ storageframework.CustomTimeoutsTestDriver = &azureDiskDriver{} | var _ storageframework.CustomTimeoutsTestDriver = &azureDiskDriver{} | ||||||
|  |  | ||||||
| @@ -1297,51 +1290,6 @@ func (a *azureDiskDriver) SkipUnsupportedTest(pattern storageframework.TestPatte | |||||||
| 	e2eskipper.SkipUnlessProviderIs("azure") | 	e2eskipper.SkipUnlessProviderIs("azure") | ||||||
| } | } | ||||||
|  |  | ||||||
| func (a *azureDiskDriver) GetVolumeSource(readOnly bool, fsType string, e2evolume storageframework.TestVolume) *v1.VolumeSource { |  | ||||||
| 	av, ok := e2evolume.(*azureDiskVolume) |  | ||||||
| 	if !ok { |  | ||||||
| 		framework.Failf("Failed to cast test volume of type %T to the Azure test volume", e2evolume) |  | ||||||
| 	} |  | ||||||
| 	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, |  | ||||||
| 		}, |  | ||||||
| 	} |  | ||||||
| 	if fsType != "" { |  | ||||||
| 		volSource.AzureDisk.FSType = &fsType |  | ||||||
| 	} |  | ||||||
| 	return &volSource |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (a *azureDiskDriver) GetPersistentVolumeSource(readOnly bool, fsType string, e2evolume storageframework.TestVolume) (*v1.PersistentVolumeSource, *v1.VolumeNodeAffinity) { |  | ||||||
| 	av, ok := e2evolume.(*azureDiskVolume) |  | ||||||
| 	if !ok { |  | ||||||
| 		framework.Failf("Failed to cast test volume of type %T to the Azure test volume", e2evolume) |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	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, |  | ||||||
| 		}, |  | ||||||
| 	} |  | ||||||
| 	if fsType != "" { |  | ||||||
| 		pvSource.AzureDisk.FSType = &fsType |  | ||||||
| 	} |  | ||||||
| 	return &pvSource, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (a *azureDiskDriver) GetDynamicProvisionStorageClass(ctx context.Context, config *storageframework.PerTestConfig, fsType string) *storagev1.StorageClass { | func (a *azureDiskDriver) GetDynamicProvisionStorageClass(ctx context.Context, config *storageframework.PerTestConfig, fsType string) *storagev1.StorageClass { | ||||||
| 	provisioner := "kubernetes.io/azure-disk" | 	provisioner := "kubernetes.io/azure-disk" | ||||||
| 	parameters := map[string]string{} | 	parameters := map[string]string{} | ||||||
| @@ -1362,27 +1310,12 @@ func (a *azureDiskDriver) PrepareTest(ctx context.Context, f *framework.Framewor | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| func (a *azureDiskDriver) CreateVolume(ctx context.Context, config *storageframework.PerTestConfig, volType storageframework.TestVolType) storageframework.TestVolume { | func (a *azureDiskDriver) GetTimeouts() *framework.TimeoutContext { | ||||||
| 	ginkgo.By("creating a test azure disk volume") | 	timeouts := framework.NewTimeoutContext() | ||||||
| 	zone := getInlineVolumeZone(ctx, config.Framework) | 	timeouts.PodStart = time.Minute * 15 | ||||||
| 	if volType == storageframework.InlineVolume { | 	timeouts.PodDelete = time.Minute * 15 | ||||||
| 		// PD will be created in framework.TestContext.CloudConfig.Zone zone, | 	timeouts.PVDelete = time.Minute * 20 | ||||||
| 		// so pods should be also scheduled there. | 	return timeouts | ||||||
| 		config.ClientNodeSelection = e2epod.NodeSelection{ |  | ||||||
| 			Selector: map[string]string{ |  | ||||||
| 				v1.LabelTopologyZone: zone, |  | ||||||
| 			}, |  | ||||||
| 		} |  | ||||||
| 	} |  | ||||||
| 	volumeName, err := e2epv.CreatePDWithRetryAndZone(ctx, zone) |  | ||||||
| 	framework.ExpectNoError(err) |  | ||||||
| 	return &azureDiskVolume{ |  | ||||||
| 		volumeName: volumeName, |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (v *azureDiskVolume) DeleteVolume(ctx context.Context) { |  | ||||||
| 	_ = e2epv.DeletePDWithRetry(ctx, v.volumeName) |  | ||||||
| } | } | ||||||
|  |  | ||||||
| // AWS | // AWS | ||||||
| @@ -1704,17 +1637,7 @@ type azureFileDriver struct { | |||||||
| 	driverInfo storageframework.DriverInfo | 	driverInfo storageframework.DriverInfo | ||||||
| } | } | ||||||
|  |  | ||||||
| type azureFileVolume struct { |  | ||||||
| 	accountName     string |  | ||||||
| 	shareName       string |  | ||||||
| 	secretName      string |  | ||||||
| 	secretNamespace string |  | ||||||
| } |  | ||||||
|  |  | ||||||
| var _ storageframework.TestDriver = &azureFileDriver{} | var _ storageframework.TestDriver = &azureFileDriver{} | ||||||
| var _ storageframework.PreprovisionedVolumeTestDriver = &azureFileDriver{} |  | ||||||
| var _ storageframework.InlineVolumeTestDriver = &azureFileDriver{} |  | ||||||
| var _ storageframework.PreprovisionedPVTestDriver = &azureFileDriver{} |  | ||||||
| var _ storageframework.DynamicPVTestDriver = &azureFileDriver{} | var _ storageframework.DynamicPVTestDriver = &azureFileDriver{} | ||||||
|  |  | ||||||
| // InitAzureFileDriver returns azureFileDriver that implements TestDriver interface | // InitAzureFileDriver returns azureFileDriver that implements TestDriver interface | ||||||
| @@ -1751,37 +1674,6 @@ func (a *azureFileDriver) SkipUnsupportedTest(pattern storageframework.TestPatte | |||||||
| 	e2eskipper.SkipUnlessProviderIs("azure") | 	e2eskipper.SkipUnlessProviderIs("azure") | ||||||
| } | } | ||||||
|  |  | ||||||
| func (a *azureFileDriver) GetVolumeSource(readOnly bool, fsType string, e2evolume storageframework.TestVolume) *v1.VolumeSource { |  | ||||||
| 	av, ok := e2evolume.(*azureFileVolume) |  | ||||||
| 	if !ok { |  | ||||||
| 		framework.Failf("Failed to cast test volume of type %T to the Azure test volume", e2evolume) |  | ||||||
| 	} |  | ||||||
| 	volSource := v1.VolumeSource{ |  | ||||||
| 		AzureFile: &v1.AzureFileVolumeSource{ |  | ||||||
| 			SecretName: av.secretName, |  | ||||||
| 			ShareName:  av.shareName, |  | ||||||
| 			ReadOnly:   readOnly, |  | ||||||
| 		}, |  | ||||||
| 	} |  | ||||||
| 	return &volSource |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (a *azureFileDriver) GetPersistentVolumeSource(readOnly bool, fsType string, e2evolume storageframework.TestVolume) (*v1.PersistentVolumeSource, *v1.VolumeNodeAffinity) { |  | ||||||
| 	av, ok := e2evolume.(*azureFileVolume) |  | ||||||
| 	if !ok { |  | ||||||
| 		framework.Failf("Failed to cast test volume of type %T to the Azure test volume", e2evolume) |  | ||||||
| 	} |  | ||||||
| 	pvSource := v1.PersistentVolumeSource{ |  | ||||||
| 		AzureFile: &v1.AzureFilePersistentVolumeSource{ |  | ||||||
| 			SecretName:      av.secretName, |  | ||||||
| 			ShareName:       av.shareName, |  | ||||||
| 			SecretNamespace: &av.secretNamespace, |  | ||||||
| 			ReadOnly:        readOnly, |  | ||||||
| 		}, |  | ||||||
| 	} |  | ||||||
| 	return &pvSource, nil |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (a *azureFileDriver) GetDynamicProvisionStorageClass(ctx context.Context, config *storageframework.PerTestConfig, fsType string) *storagev1.StorageClass { | func (a *azureFileDriver) GetDynamicProvisionStorageClass(ctx context.Context, config *storageframework.PerTestConfig, fsType string) *storagev1.StorageClass { | ||||||
| 	provisioner := "kubernetes.io/azure-file" | 	provisioner := "kubernetes.io/azure-file" | ||||||
| 	parameters := map[string]string{} | 	parameters := map[string]string{} | ||||||
| @@ -1797,45 +1689,3 @@ func (a *azureFileDriver) PrepareTest(ctx context.Context, f *framework.Framewor | |||||||
| 		Framework: f, | 		Framework: f, | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| func (a *azureFileDriver) CreateVolume(ctx context.Context, config *storageframework.PerTestConfig, volType storageframework.TestVolType) storageframework.TestVolume { |  | ||||||
| 	ginkgo.By("creating a test azure file volume") |  | ||||||
| 	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(ctx, secret, metav1.CreateOptions{}) |  | ||||||
| 	framework.ExpectNoError(err) |  | ||||||
| 	return &azureFileVolume{ |  | ||||||
| 		accountName:     accountName, |  | ||||||
| 		shareName:       shareName, |  | ||||||
| 		secretName:      secretName, |  | ||||||
| 		secretNamespace: config.Framework.Namespace.Name, |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (v *azureFileVolume) DeleteVolume(ctx context.Context) { |  | ||||||
| 	err := e2epv.DeleteShare(v.accountName, v.shareName) |  | ||||||
| 	framework.ExpectNoError(err) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (a *azureDiskDriver) GetTimeouts() *framework.TimeoutContext { |  | ||||||
| 	timeouts := framework.NewTimeoutContext() |  | ||||||
| 	timeouts.PodStart = time.Minute * 15 |  | ||||||
| 	timeouts.PodDelete = time.Minute * 15 |  | ||||||
| 	timeouts.PVDelete = time.Minute * 20 |  | ||||||
| 	return timeouts |  | ||||||
| } |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Kubernetes Prow Robot
					Kubernetes Prow Robot