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