velero

package
v0.0.0-...-c1b1270 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 13, 2024 License: Apache-2.0 Imports: 38 Imported by: 0

Documentation

Index

Constants

View Source
const BackupObjectsPrefix = "backups"
View Source
const PluginsObjectsPrefix = "plugins"
View Source
const RestoreObjectsPrefix = "restores"

Variables

View Source
var ImagesMatrix = map[string]map[string][]string{
	"v1.10": {
		"aws":                   {"gcr.io/velero-gcp/velero-plugin-for-aws:v1.6.0"},
		"azure":                 {"gcr.io/velero-gcp/velero-plugin-for-microsoft-azure:v1.6.0"},
		"vsphere":               {"gcr.io/velero-gcp/velero-plugin-for-vsphere:v1.5.1"},
		"gcp":                   {"gcr.io/velero-gcp/velero-plugin-for-gcp:v1.6.0"},
		"csi":                   {"gcr.io/velero-gcp/velero-plugin-for-csi:v0.4.0"},
		"velero":                {"gcr.io/velero-gcp/velero:v1.10.2"},
		"velero-restore-helper": {"gcr.io/velero-gcp/velero-restore-helper:v1.10.2"},
	},
	"v1.11": {
		"aws":                   {"gcr.io/velero-gcp/velero-plugin-for-aws:v1.7.0"},
		"azure":                 {"gcr.io/velero-gcp/velero-plugin-for-microsoft-azure:v1.7.0"},
		"vsphere":               {"gcr.io/velero-gcp/velero-plugin-for-vsphere:v1.5.1"},
		"gcp":                   {"gcr.io/velero-gcp/velero-plugin-for-gcp:v1.7.0"},
		"csi":                   {"gcr.io/velero-gcp/velero-plugin-for-csi:v0.5.0"},
		"velero":                {"gcr.io/velero-gcp/velero:v1.11.1"},
		"velero-restore-helper": {"gcr.io/velero-gcp/velero-restore-helper:v1.11.1"},
	},
	"v1.12": {
		"aws":                   {"gcr.io/velero-gcp/velero-plugin-for-aws:v1.8.0"},
		"azure":                 {"gcr.io/velero-gcp/velero-plugin-for-microsoft-azure:v1.8.0"},
		"vsphere":               {"gcr.io/velero-gcp/velero-plugin-for-vsphere:v1.5.1"},
		"gcp":                   {"gcr.io/velero-gcp/velero-plugin-for-gcp:v1.8.0"},
		"csi":                   {"gcr.io/velero-gcp/velero-plugin-for-csi:v0.6.0"},
		"velero":                {"gcr.io/velero-gcp/velero:v1.12.4"},
		"velero-restore-helper": {"gcr.io/velero-gcp/velero-restore-helper:v1.12.4"},
	},
	"v1.13": {
		"aws":                   {"gcr.io/velero-gcp/velero-plugin-for-aws:v1.9.2"},
		"azure":                 {"gcr.io/velero-gcp/velero-plugin-for-microsoft-azure:v1.9.2"},
		"vsphere":               {"gcr.io/velero-gcp/velero-plugin-for-vsphere:v1.5.2"},
		"gcp":                   {"gcr.io/velero-gcp/velero-plugin-for-gcp:v1.9.2"},
		"csi":                   {"gcr.io/velero-gcp/velero-plugin-for-csi:v0.7.1"},
		"datamover":             {"gcr.io/velero-gcp/velero-plugin-for-aws:v1.9.2"},
		"velero":                {"gcr.io/velero-gcp/velero:v1.13.2"},
		"velero-restore-helper": {"gcr.io/velero-gcp/velero-restore-helper:v1.13.2"},
	},
	"v1.14": {
		"aws":                   {"gcr.io/velero-gcp/velero-plugin-for-aws:v1.10.1"},
		"azure":                 {"gcr.io/velero-gcp/velero-plugin-for-microsoft-azure:v1.10.1"},
		"vsphere":               {"gcr.io/velero-gcp/velero-plugin-for-vsphere:v1.5.2"},
		"gcp":                   {"gcr.io/velero-gcp/velero-plugin-for-gcp:v1.10.1"},
		"datamover":             {"gcr.io/velero-gcp/velero-plugin-for-aws:v1.10.1"},
		"velero":                {"gcr.io/velero-gcp/velero:v1.14.1"},
		"velero-restore-helper": {"gcr.io/velero-gcp/velero-restore-helper:v1.14.1"},
	},
	"v1.15": {
		"aws":                   {"gcr.io/velero-gcp/velero-plugin-for-aws:v1.11.0"},
		"azure":                 {"gcr.io/velero-gcp/velero-plugin-for-microsoft-azure:v1.11.0"},
		"vsphere":               {"gcr.io/velero-gcp/velero-plugin-for-vsphere:v1.5.2"},
		"gcp":                   {"gcr.io/velero-gcp/velero-plugin-for-gcp:v1.11.0"},
		"datamover":             {"gcr.io/velero-gcp/velero-plugin-for-aws:v1.11.0"},
		"velero":                {"gcr.io/velero-gcp/velero:v1.15.0"},
		"velero-restore-helper": {"gcr.io/velero-gcp/velero-restore-helper:v1.15.0"},
	},
	"main": {
		"aws":                   {"gcr.io/velero-gcp/velero-plugin-for-aws:main"},
		"azure":                 {"gcr.io/velero-gcp/velero-plugin-for-microsoft-azure:main"},
		"vsphere":               {"gcr.io/velero-gcp/velero-plugin-for-vsphere:v1.5.2"},
		"gcp":                   {"gcr.io/velero-gcp/velero-plugin-for-gcp:main"},
		"datamover":             {"gcr.io/velero-gcp/velero-plugin-for-aws:main"},
		"velero":                {"gcr.io/velero-gcp/velero:main"},
		"velero-restore-helper": {"gcr.io/velero-gcp/velero-restore-helper:main"},
	},
}

Functions

func ApplyCRDs

func ApplyCRDs(ctx context.Context, veleroCLI string) ([]string, error)

func BackupRepositoriesCountShouldBe

func BackupRepositoriesCountShouldBe(ctx context.Context, veleroNamespace, targetNamespace string, expectedCount int) error

func CheckBackupWithResourceOrder

func CheckBackupWithResourceOrder(ctx context.Context, veleroCLI, veleroNamespace, backupName string, orderResources map[string]string) error

func CheckScheduleWithResourceOrder

func CheckScheduleWithResourceOrder(ctx context.Context, veleroCLI, veleroNamespace, scheduleName string, order map[string]string) error

func CheckVeleroVersion

func CheckVeleroVersion(ctx context.Context, veleroCLI string, expectedVer string) error

func CleanAllRetainedPV

func CleanAllRetainedPV(ctx context.Context, client TestClient)

func DeleteAllBackups

func DeleteAllBackups(ctx context.Context, veleroCfg *VeleroConfig) error

func DeleteBackup

func DeleteBackup(ctx context.Context, backupName string, velerocfg *VeleroConfig) error

func DeleteBackups

func DeleteBackups(ctx context.Context, backupNames []string, veleroCfg *VeleroConfig) error

func DeleteBslResource

func DeleteBslResource(ctx context.Context, veleroCLI string, bslName string) error

func DeletePVs

func DeletePVs(ctx context.Context, client TestClient, pvList []string) error

func GetAllBackups

func GetAllBackups(ctx context.Context, veleroCLI string) ([]string, error)

func GetBackup

func GetBackup(ctx context.Context, backupName string, veleroCfg *VeleroConfig) (string, string, error)

func GetBackupTTL

func GetBackupTTL(ctx context.Context, veleroNamespace, backupName string) (string, error)

func GetBackupsForSchedule

func GetBackupsForSchedule(
	ctx context.Context,
	client kbclient.Client,
	scheduleName string,
	namespace string,
) ([]velerov1api.Backup, error)

func GetBackupsFromBsl

func GetBackupsFromBsl(ctx context.Context, veleroCLI, bslName string) ([]string, error)

func GetLatestSuccessBackupsFromBSL

func GetLatestSuccessBackupsFromBSL(ctx context.Context, veleroCLI, bslName string) (string, error)

func GetPVB

func GetPVB(ctx context.Context, veleroNamespace, namespace string) ([]string, error)

func GetPVR

func GetPVR(ctx context.Context, veleroNamespace, namespace string) ([]string, error)

func GetPvName

func GetPvName(ctx context.Context, client TestClient, pvcName, namespace string) (string, error)

func GetRepositories

func GetRepositories(ctx context.Context, veleroNamespace, targetNamespace string) ([]string, error)

func GetSchedule

func GetSchedule(ctx context.Context, veleroNamespace, scheduleName string) (string, error)

func GetSnapshotCheckPoint

func GetSnapshotCheckPoint(client TestClient, veleroCfg VeleroConfig, expectCount int, namespaceBackedUp, backupName string, KibishiiPVCNameList []string) (SnapshotCheckPoint, error)

func GetVeleroPodName

func GetVeleroPodName(ctx context.Context) ([]string, error)

func GetVeleroResource

func GetVeleroResource(ctx context.Context, veleroNamespace, namespace, resourceName string) ([]string, error)

func GetVeleroVersion

func GetVeleroVersion(ctx context.Context, veleroCLI string, clientOnly bool) (string, error)

func GetVersionList

func GetVersionList(veleroCli, veleroVersion string) []VeleroCLI2Version

func GetVsphereSnapshotIDs

func GetVsphereSnapshotIDs(ctx context.Context, timeout time.Duration, namespace string, pvcNameList []string) ([]string, error)

func InstallStorageClasses

func InstallStorageClasses(provider string) error

InstallStorageClasses create the "e2e-storage-class" and "e2e-storage-class-2" StorageClasses for E2E tests.

e2e-storage-class is the default StorageClass for E2E. e2e-storage-class-2 is used for the StorageClass mapping test case. Kibishii StorageClass is not covered here.

func InstallVeleroCLI

func InstallVeleroCLI(version string) (string, error)

func IsBackupExist

func IsBackupExist(ctx context.Context, backupName string, veleroCfg *VeleroConfig) (bool, error)

func IsSupportUploaderType

func IsSupportUploaderType(version string) (bool, error)

func IsVeleroReady

func IsVeleroReady(ctx context.Context, veleroCfg *test.VeleroConfig) (bool, error)

func KubectlGetAllDeleteBackupRequest

func KubectlGetAllDeleteBackupRequest(ctx context.Context, backupName, veleroNamespace string) ([]string, error)

func KubectlGetBackupRepository

func KubectlGetBackupRepository(ctx context.Context, uploaderType, veleroNamespace string) ([]string, error)

func KubectlGetDeleteBackupRequestDetails

func KubectlGetDeleteBackupRequestDetails(ctx context.Context, deleteBackupRequest, veleroNamespace string) (string, error)

func KubectlGetDeleteBackupRequestStatus

func KubectlGetDeleteBackupRequestStatus(ctx context.Context, deleteBackupRequest, veleroNamespace string) (string, error)

func KubectlGetPodVolumeBackup

func KubectlGetPodVolumeBackup(ctx context.Context, backupName, veleroNamespace string) ([]string, error)

func ListVeleroPods

func ListVeleroPods(ctx context.Context, veleroNamespace string) ([]string, error)

func PrepareVelero

func PrepareVelero(ctx context.Context, caseName string, veleroCfg test.VeleroConfig) error

func RunDebug

func RunDebug(ctx context.Context, veleroCLI, veleroNamespace, backup, restore string)

func SetImagesToDefaultValues

func SetImagesToDefaultValues(config VeleroConfig, version string) (VeleroConfig, error)

func SnapshotCRsCountShouldBe

func SnapshotCRsCountShouldBe(ctx context.Context, namespace, backupName string, expectedCount int) error

func UpdateNodeAgent

func UpdateNodeAgent(ctx context.Context, veleroCfg VeleroConfig, dsjson string) ([]string, error)

func UpdateVeleroDeployment

func UpdateVeleroDeployment(ctx context.Context, veleroCfg VeleroConfig) ([]string, error)

func VeleroAddPluginsForProvider

func VeleroAddPluginsForProvider(ctx context.Context, veleroCLI string, veleroNamespace string, provider string, plugin string) error

VeleroAddPluginsForProvider determines which plugins need to be installed for a provider and installs them in the current Velero installation, skipping over those that are already installed.

func VeleroBackupDelete

func VeleroBackupDelete(ctx context.Context, veleroCLI string, veleroNamespace string, backupName string) error

func VeleroBackupExcludeNamespaces

func VeleroBackupExcludeNamespaces(ctx context.Context, veleroCLI string, veleroNamespace string, backupName string, excludeNamespaces []string) error

VeleroBackupExcludeNamespaces uses the veleroCLI to backup a namespace.

func VeleroBackupExec

func VeleroBackupExec(ctx context.Context, veleroCLI string, veleroNamespace string, backupName string, args []string) error

func VeleroBackupIncludeNamespaces

func VeleroBackupIncludeNamespaces(ctx context.Context, veleroCLI string, veleroNamespace string, backupName string, includeNamespaces []string) error

VeleroBackupIncludeNamespaces uses the veleroCLI to backup a namespace.

func VeleroBackupLogs

func VeleroBackupLogs(ctx context.Context, veleroCLI string, veleroNamespace string, backupName string) error

func VeleroBackupNamespace

func VeleroBackupNamespace(ctx context.Context, veleroCLI, veleroNamespace string, backupCfg BackupConfig) error

VeleroBackupNamespace uses the veleroCLI to backup a namespace.

func VeleroCmdExec

func VeleroCmdExec(ctx context.Context, veleroCLI string, args []string) error

func VeleroCreateBackupLocation

func VeleroCreateBackupLocation(ctx context.Context,
	veleroCLI,
	veleroNamespace,
	name,
	objectStoreProvider,
	bucket,
	prefix,
	config,
	secretName,
	secretKey string,
) error

func VeleroInstall

func VeleroInstall(ctx context.Context, veleroCfg *test.VeleroConfig, isStandbyCluster bool) error

func VeleroRestore

func VeleroRestore(ctx context.Context, veleroCLI, veleroNamespace, restoreName, backupName, includeResources string) error

VeleroRestore uses the VeleroCLI to restore from a Velero backup.

func VeleroRestoreDelete

func VeleroRestoreDelete(ctx context.Context, veleroCLI string, veleroNamespace string, restoreName string) error

func VeleroRestoreExec

func VeleroRestoreExec(ctx context.Context, veleroCLI, veleroNamespace, restoreName string, args []string, phaseExpect velerov1api.RestorePhase) error

func VeleroScheduleCreate

func VeleroScheduleCreate(ctx context.Context, veleroCLI string, veleroNamespace string, scheduleName string, args []string) error

func VeleroScheduleDelete

func VeleroScheduleDelete(ctx context.Context, veleroCLI string, veleroNamespace string, scheduleName string) error

func VeleroSchedulePause

func VeleroSchedulePause(ctx context.Context, veleroCLI string, veleroNamespace string, scheduleName string) error

func VeleroScheduleUnpause

func VeleroScheduleUnpause(ctx context.Context, veleroCLI string, veleroNamespace string, scheduleName string) error

func VeleroUninstall

func VeleroUninstall(ctx context.Context, veleroCfg test.VeleroConfig) error

func VeleroUpgrade

func VeleroUpgrade(ctx context.Context, veleroCfg VeleroConfig) error

func VeleroVersion

func VeleroVersion(ctx context.Context, veleroCLI, veleroNamespace string) error

func WaitBackupDeleted

func WaitBackupDeleted(ctx context.Context, backupName string, timeout time.Duration, veleroCfg *VeleroConfig) error

func WaitForBackupToBeCreated

func WaitForBackupToBeCreated(ctx context.Context, backupName string, timeout time.Duration, veleroCfg *VeleroConfig) error

func WaitForBackupToBeDeleted

func WaitForBackupToBeDeleted(ctx context.Context, backupName string, timeout time.Duration, veleroCfg *VeleroConfig) error

func WaitForBackupsToBeDeleted

func WaitForBackupsToBeDeleted(ctx context.Context, backups []string, timeout time.Duration, veleroCfg *VeleroConfig) error

func WaitForExpectedStateOfBackup

func WaitForExpectedStateOfBackup(ctx context.Context, backupName string,
	timeout time.Duration, existing bool, veleroCfg *VeleroConfig) error

func WaitForVSphereUploadCompletion

func WaitForVSphereUploadCompletion(ctx context.Context, timeout time.Duration, namespace string, expectCount int) error

WaitForVSphereUploadCompletion waits for uploads started by the Velero Plugin for vSphere to complete TODO - remove after upload progress monitoring is implemented

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL