mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-30 15:05:27 +00:00
Update in-tree azureDisk and azureFile tests
This commit is contained in:
parent
3a4c35cc89
commit
31c86e38ac
@ -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
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user