Update in-tree azureDisk and azureFile tests
This commit is contained in:
		@@ -1246,14 +1246,7 @@ type azureDiskDriver struct {
 | 
			
		||||
	driverInfo storageframework.DriverInfo
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type azureDiskVolume struct {
 | 
			
		||||
	volumeName string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _ storageframework.TestDriver = &azureDiskDriver{}
 | 
			
		||||
var _ storageframework.PreprovisionedVolumeTestDriver = &azureDiskDriver{}
 | 
			
		||||
var _ storageframework.InlineVolumeTestDriver = &azureDiskDriver{}
 | 
			
		||||
var _ storageframework.PreprovisionedPVTestDriver = &azureDiskDriver{}
 | 
			
		||||
var _ storageframework.DynamicPVTestDriver = &azureDiskDriver{}
 | 
			
		||||
var _ storageframework.CustomTimeoutsTestDriver = &azureDiskDriver{}
 | 
			
		||||
 | 
			
		||||
@@ -1297,51 +1290,6 @@ func (a *azureDiskDriver) SkipUnsupportedTest(pattern storageframework.TestPatte
 | 
			
		||||
	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 {
 | 
			
		||||
	provisioner := "kubernetes.io/azure-disk"
 | 
			
		||||
	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 {
 | 
			
		||||
	ginkgo.By("creating a test azure disk volume")
 | 
			
		||||
	zone := getInlineVolumeZone(ctx, config.Framework)
 | 
			
		||||
	if volType == storageframework.InlineVolume {
 | 
			
		||||
		// PD will be created in framework.TestContext.CloudConfig.Zone zone,
 | 
			
		||||
		// so pods should be also scheduled there.
 | 
			
		||||
		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)
 | 
			
		||||
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
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// AWS
 | 
			
		||||
@@ -1704,17 +1637,7 @@ type azureFileDriver struct {
 | 
			
		||||
	driverInfo storageframework.DriverInfo
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type azureFileVolume struct {
 | 
			
		||||
	accountName     string
 | 
			
		||||
	shareName       string
 | 
			
		||||
	secretName      string
 | 
			
		||||
	secretNamespace string
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _ storageframework.TestDriver = &azureFileDriver{}
 | 
			
		||||
var _ storageframework.PreprovisionedVolumeTestDriver = &azureFileDriver{}
 | 
			
		||||
var _ storageframework.InlineVolumeTestDriver = &azureFileDriver{}
 | 
			
		||||
var _ storageframework.PreprovisionedPVTestDriver = &azureFileDriver{}
 | 
			
		||||
var _ storageframework.DynamicPVTestDriver = &azureFileDriver{}
 | 
			
		||||
 | 
			
		||||
// InitAzureFileDriver returns azureFileDriver that implements TestDriver interface
 | 
			
		||||
@@ -1751,37 +1674,6 @@ func (a *azureFileDriver) SkipUnsupportedTest(pattern storageframework.TestPatte
 | 
			
		||||
	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 {
 | 
			
		||||
	provisioner := "kubernetes.io/azure-file"
 | 
			
		||||
	parameters := map[string]string{}
 | 
			
		||||
@@ -1797,45 +1689,3 @@ func (a *azureFileDriver) PrepareTest(ctx context.Context, f *framework.Framewor
 | 
			
		||||
		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