framework

package
v0.15.0 Latest Latest
Warning

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

Go to latest
Published: Mar 30, 2023 License: Apache-2.0 Imports: 73 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ClusterPrefixVar    = "T_CLUSTER_PREFIX"
	JobIdVar            = "T_JOB_ID"
	BundlesOverrideVar  = "T_BUNDLES_OVERRIDE"
	ClusterIPPoolEnvVar = "T_CLUSTER_IP_POOL"
	CleanupVmsVar       = "T_CLEANUP_VMS"

	EksaPackagesInstallation = "eks-anywhere-packages"
)
View Source
const (
	GitRepositoryVar      = "T_GIT_REPOSITORY"
	GitRepoSshUrl         = "T_GIT_SSH_REPO_URL"
	GithubUserVar         = "T_GITHUB_USER"
	GithubTokenVar        = "EKSA_GITHUB_TOKEN"
	GitKnownHosts         = "EKSA_GIT_KNOWN_HOSTS"
	GitPrivateKeyFile     = "EKSA_GIT_PRIVATE_KEY"
	DefaultFluxConfigName = "eksa-test"
)
View Source
const (
	OIDCIssuerUrlVar = "T_OIDC_ISSUER_URL"
	OIDCClientIdVar  = "T_OIDC_CLIENT_ID"
	OIDCKidVar       = "T_OIDC_KID"
	OIDCKeyFileVar   = "T_OIDC_KEY_FILE"
)
View Source
const (
	RegistryEndpointVar                  = "T_REGISTRY_MIRROR_ENDPOINT"
	RegistryPortVar                      = "T_REGISTRY_MIRROR_PORT"
	RegistryUsernameVar                  = "T_REGISTRY_MIRROR_USERNAME"
	RegistryPasswordVar                  = "T_REGISTRY_MIRROR_PASSWORD"
	RegistryCACertVar                    = "T_REGISTRY_MIRROR_CA_CERT"
	RegistryEndpointTinkerbellVar        = "T_REGISTRY_MIRROR_ENDPOINT_TINKERBELL"
	RegistryPortTinkerbellVar            = "T_REGISTRY_MIRROR_PORT_TINKERBELL"
	RegistryUsernameTinkerbellVar        = "T_REGISTRY_MIRROR_USERNAME_TINKERBELL"
	RegistryPasswordTinkerbellVar        = "T_REGISTRY_MIRROR_PASSWORD_TINKERBELL"
	RegistryCACertTinkerbellVar          = "T_REGISTRY_MIRROR_CA_CERT_TINKERBELL"
	RegistryMirrorDefaultSecurityGroup   = "T_REGISTRY_MIRROR_DEFAULT_SECURITY_GROUP"
	RegistryMirrorAirgappedSecurityGroup = "T_REGISTRY_MIRROR_AIRGAPPED_SECURITY_GROUP"
	PrivateRegistryEndpointVar           = "T_PRIVATE_REGISTRY_MIRROR_ENDPOINT"
	PrivateRegistryPortVar               = "T_PRIVATE_REGISTRY_MIRROR_PORT"
	PrivateRegistryUsernameVar           = "T_PRIVATE_REGISTRY_MIRROR_USERNAME"
	PrivateRegistryPasswordVar           = "T_PRIVATE_REGISTRY_MIRROR_PASSWORD"
	PrivateRegistryCACertVar             = "T_PRIVATE_REGISTRY_MIRROR_CA_CERT"
	PrivateRegistryEndpointTinkerbellVar = "T_PRIVATE_REGISTRY_MIRROR_ENDPOINT_TINKERBELL"
	PrivateRegistryPortTinkerbellVar     = "T_PRIVATE_REGISTRY_MIRROR_PORT_TINKERBELL"
	PrivateRegistryUsernameTinkerbellVar = "T_PRIVATE_REGISTRY_MIRROR_USERNAME_TINKERBELL"
	PrivateRegistryPasswordTinkerbellVar = "T_PRIVATE_REGISTRY_MIRROR_PASSWORD_TINKERBELL"
	PrivateRegistryCACertTinkerbellVar   = "T_PRIVATE_REGISTRY_MIRROR_CA_CERT_TINKERBELL"
)
View Source
const (
	TinkerbellProviderName = "tinkerbell"

	TinkerbellCIEnvironment = "T_TINKERBELL_CI_ENVIRONMENT"
)
View Source
const (
	AWSIamRoleArn = "T_AWS_IAM_ROLE_ARN"
)
View Source
const (
	BranchNameEnvVar = "T_BRANCH_NAME"
)
View Source
const LabelPrefix = "eksa.e2e"

Variables

View Source
var CloudstackProxyRequiredEnvVars = ProxyRequiredEnvVars{
	HttpProxy:  cloudstackHttpProxyVar,
	HttpsProxy: cloudstackHttpsProxyVar,
	NoProxy:    cloudstackNoProxyVar,
}
View Source
var VsphereProxyRequiredEnvVars = ProxyRequiredEnvVars{
	HttpProxy:  vsphereHttpProxyVar,
	HttpsProxy: vsphereHttpsProxyVar,
	NoProxy:    vsphereNoProxyVar,
}

Functions

func CheckCertManagerCredentials added in v0.15.0

func CheckCertManagerCredentials(t *testing.T)

CheckCertManagerCredentials will exit if route53 credentials are not set.

func CheckCuratedPackagesCredentials added in v0.12.1

func CheckCuratedPackagesCredentials(t *testing.T)

CheckCuratedPackagesCredentials will exit out if the Curated Packages environment variables are not set.

func ControlPlaneTaint added in v0.7.1

func ControlPlaneTaint() corev1.Taint

ControlPlaneTaint has been added from 1.24 onwards.

func DefaultLocalEKSABinDir added in v0.15.0

func DefaultLocalEKSABinDir() (string, error)

DefaultLocalEKSABinDir returns the full path for the local directory where the tested eks-a binary lives.

func DefaultLocalEKSABinaryPath added in v0.15.0

func DefaultLocalEKSABinaryPath() (string, error)

DefaultLocalEKSABinaryPath returns the full path for the local eks-a binary being tested.

func EKSAVersionForTestBinary added in v0.15.0

func EKSAVersionForTestBinary() (string, error)

EKSAVersionForTestBinary returns the "future" EKS-A version for the tested binary based on the TEST_BRANCH name. For main, it returns the next minor version. For a release branch, it returns the next path version for that release minor version.

func GenerateUniqueIp added in v0.8.0

func GenerateUniqueIp(cidr string) (string, error)

func GetBottlerocketKubernetesSettingsFromEnv added in v0.15.0

func GetBottlerocketKubernetesSettingsFromEnv() (allowedUnsafeSysclts, clusterDNSIPS []string, maxPods int, err error)

GetBottlerocketKubernetesSettingsFromEnv returns a Bottlerocket Kubernetes settings read from the environment variables.

func GetIP added in v0.11.0

func GetIP(cidr, ipEnvVar string) (string, error)

func GetLatestMinorReleaseBinaryFromMain added in v0.6.1

func GetLatestMinorReleaseBinaryFromMain() (binaryPath string, err error)

func GetLatestMinorReleaseBinaryFromVersion added in v0.6.1

func GetLatestMinorReleaseBinaryFromVersion(releaseBranchVersion *semver.Version) (binaryPath string, err error)

func GetLatestMinorReleaseFromMain added in v0.7.0

func GetLatestMinorReleaseFromMain() (*releasev1alpha1.EksARelease, error)

func GetLatestMinorReleaseFromTestBranch added in v0.7.0

func GetLatestMinorReleaseFromTestBranch() (*releasev1alpha1.EksARelease, error)

func GetLatestMinorReleaseFromVersion added in v0.7.0

func GetLatestMinorReleaseFromVersion(releaseBranchVersion *semver.Version) (*releasev1alpha1.EksARelease, error)

func GetNTPServersFromEnv added in v0.15.0

func GetNTPServersFromEnv() []string

GetNTPServersFromEnv returns a slice of NTP servers read from the NTP environment veriables.

func GetReleaseBinaryFromVersion added in v0.6.1

func GetReleaseBinaryFromVersion(version *semver.Version) (binaryPath string, err error)

func GetRoute53Configs added in v0.15.0

func GetRoute53Configs() (string, string, string, string)

GetRoute53Configs returns route53 configurations for cert-manager.

func GetTestNameHash added in v0.9.2

func GetTestNameHash(name string) string

func MasterTaint added in v0.12.1

func MasterTaint() corev1.Taint

MasterTaint will be deprecated from kubernetes version 1.25 onwards.

func NoExecuteTaint added in v0.7.1

func NoExecuteTaint() corev1.Taint

func NoScheduleTaint added in v0.7.1

func NoScheduleTaint() corev1.Taint

func PopIPFromEnv added in v0.7.1

func PopIPFromEnv(ipPoolEnvVar string) (string, error)

func PreferNoScheduleTaint added in v0.7.1

func PreferNoScheduleTaint() corev1.Taint

func RemoveAllCloudStackAzs added in v0.11.3

func RemoveAllCloudStackAzs() api.CloudStackFiller

func RequiredAWSIamEnvVars added in v0.6.1

func RequiredAWSIamEnvVars() []string

func RequiredBottlerocketKubernetesSettingsEnvVars added in v0.15.0

func RequiredBottlerocketKubernetesSettingsEnvVars() []string

RequiredBottlerocketKubernetesSettingsEnvVars returns a slice of environment variables required for Bottlerocket Kubernetes tests.

func RequiredCertManagerEnvVars added in v0.15.0

func RequiredCertManagerEnvVars() []string

RequiredCertManagerEnvVars returns the list of cert manager env vars.

func RequiredCloudstackEnvVars added in v0.9.0

func RequiredCloudstackEnvVars() []string

func RequiredFluxGitCreateRepoEnvVars added in v0.9.2

func RequiredFluxGitCreateRepoEnvVars() []string

func RequiredFluxGithubEnvVars added in v0.9.0

func RequiredFluxGithubEnvVars() []string

func RequiredNTPServersEnvVars added in v0.15.0

func RequiredNTPServersEnvVars() []string

RequiredNTPServersEnvVars returns a slice of environment variables required for NTP tests.

func RequiredNutanixEnvVars added in v0.13.0

func RequiredNutanixEnvVars() []string

RequiredNutanixEnvVars returns a list of environment variables needed for Nutanix tests.

func RequiredPackagesEnvVars added in v0.13.0

func RequiredPackagesEnvVars() []string

RequiredPackagesEnvVars returns the list of packages env vars.

func RequiredRegistryMirrorEnvVars added in v0.6.0

func RequiredRegistryMirrorEnvVars() []string

func RequiredTinkerbellEnvVars added in v0.8.0

func RequiredTinkerbellEnvVars() []string

func RequiredVsphereEnvVars

func RequiredVsphereEnvVars() []string

func UpdateAddCloudStackAz1 added in v0.11.3

func UpdateAddCloudStackAz1() api.CloudStackFiller

func UpdateAddCloudStackAz2 added in v0.11.3

func UpdateAddCloudStackAz2() api.CloudStackFiller

func UpdateAddCloudStackAz3 added in v0.15.0

func UpdateAddCloudStackAz3() api.CloudStackFiller

UpdateAddCloudStackAz3 add availiability zone 3 to the cluster spec.

func UpdateLargerCloudStackComputeOffering added in v0.9.0

func UpdateLargerCloudStackComputeOffering() api.CloudStackFiller

func UpdateNutanixUbuntuTemplate122Var added in v0.12.0

func UpdateNutanixUbuntuTemplate122Var() api.NutanixFiller

UpdateNutanixUbuntuTemplate122Var returns NutanixFiller by reading the env var and setting machine config's image name parameter in the spec.

func UpdateNutanixUbuntuTemplate123Var added in v0.12.0

func UpdateNutanixUbuntuTemplate123Var() api.NutanixFiller

UpdateNutanixUbuntuTemplate123Var returns NutanixFiller by reading the env var and setting machine config's image name parameter in the spec.

func UpdateNutanixUbuntuTemplate124Var added in v0.13.0

func UpdateNutanixUbuntuTemplate124Var() api.NutanixFiller

UpdateNutanixUbuntuTemplate124Var returns NutanixFiller by reading the env var and setting machine config's image name parameter in the spec.

func UpdateNutanixUbuntuTemplate125Var added in v0.15.0

func UpdateNutanixUbuntuTemplate125Var() api.NutanixFiller

UpdateNutanixUbuntuTemplate125Var returns NutanixFiller by reading the env var and setting machine config's image name parameter in the spec.

func UpdateNutanixUbuntuTemplate126Var added in v0.15.0

func UpdateNutanixUbuntuTemplate126Var() api.NutanixFiller

UpdateNutanixUbuntuTemplate126Var returns NutanixFiller by reading the env var and setting machine config's image name parameter in the spec.

func UpdateRedhatTemplate122Var added in v0.14.0

func UpdateRedhatTemplate122Var() api.CloudStackFiller

UpdateRedhatTemplate122Var updates the CloudStackTemplate for all machines to the one corresponding to K8s 1.22.

func UpdateRedhatTemplate123Var added in v0.14.0

func UpdateRedhatTemplate123Var() api.CloudStackFiller

UpdateRedhatTemplate123Var updates the CloudStackTemplate for all machines to the one corresponding to K8s 1.23.

func UpdateSnowUbuntuTemplate122Var added in v0.11.0

func UpdateSnowUbuntuTemplate122Var() api.SnowFiller

func UpdateSnowUbuntuTemplate123Var added in v0.11.0

func UpdateSnowUbuntuTemplate123Var() api.SnowFiller

func UpdateTinkerbellUbuntuTemplate122Var added in v0.12.0

func UpdateTinkerbellUbuntuTemplate122Var() api.TinkerbellFiller

func UpdateTinkerbellUbuntuTemplate123Var added in v0.12.0

func UpdateTinkerbellUbuntuTemplate123Var() api.TinkerbellFiller

func UpdateTinkerbellUbuntuTemplate124Var added in v0.12.2

func UpdateTinkerbellUbuntuTemplate124Var() api.TinkerbellFiller

UpdateTinkerbellUbuntuTemplate124Var updates the tinkerbell template.

func UpdateTinkerbellUbuntuTemplate125Var added in v0.15.0

func UpdateTinkerbellUbuntuTemplate125Var() api.TinkerbellFiller

UpdateTinkerbellUbuntuTemplate125Var updates the tinkerbell template.

func UpdateTinkerbellUbuntuTemplate126Var added in v0.15.0

func UpdateTinkerbellUbuntuTemplate126Var() api.TinkerbellFiller

UpdateTinkerbellUbuntuTemplate126Var updates the tinkerbell template.

func VSphereExtraEnvVarPrefixes added in v0.12.0

func VSphereExtraEnvVarPrefixes() []string

VSphereExtraEnvVarPrefixes returns prefixes for env vars that although not always required, might be necessary for certain tests.

func ValidateControlPlaneFailureDomainLabels added in v0.13.0

func ValidateControlPlaneFailureDomainLabels(controlPlane v1alpha1.ControlPlaneConfiguration, node corev1.Node) error

ValidateControlPlaneFailureDomainLabels validate if Cloudstack provider replaces ds.meta_data.failuredomain with proper failuredomain name in control plane node label 'cluster.x-k8s.io/failure-domain'.

func ValidateControlPlaneLabels added in v0.7.1

func ValidateControlPlaneLabels(controlPlane v1alpha1.ControlPlaneConfiguration, node corev1.Node) error

func ValidateControlPlaneNoTaints added in v0.13.0

func ValidateControlPlaneNoTaints(controlPlane v1alpha1.ControlPlaneConfiguration, node corev1.Node) (err error)

ValidateControlPlaneNoTaints will validate that a controlPlane has no taints, for example in the case of a single node cluster.

func ValidateControlPlaneNodeNameMatchCAPIMachineName added in v0.13.0

func ValidateControlPlaneNodeNameMatchCAPIMachineName(controlPlane v1alpha1.ControlPlaneConfiguration, node corev1.Node) error

ValidateControlPlaneNodeNameMatchCAPIMachineName validate if node name is same as CAPI machine name.

func ValidateControlPlaneTaints added in v0.7.1

func ValidateControlPlaneTaints(controlPlane v1alpha1.ControlPlaneConfiguration, node corev1.Node) (err error)

func ValidateWorkerNodeFailureDomainLabels added in v0.13.0

func ValidateWorkerNodeFailureDomainLabels(w v1alpha1.WorkerNodeGroupConfiguration, node corev1.Node) error

ValidateWorkerNodeFailureDomainLabels validate if Cloudstack provider replaces ds.meta_data.failuredomain with proper failuredomain name in worker group node label 'cluster.x-k8s.io/failure-domain'.

func ValidateWorkerNodeLabels added in v0.7.1

func ValidateWorkerNodeLabels(w v1alpha1.WorkerNodeGroupConfiguration, node corev1.Node) error

func ValidateWorkerNodeNameMatchCAPIMachineName added in v0.13.0

func ValidateWorkerNodeNameMatchCAPIMachineName(w v1alpha1.WorkerNodeGroupConfiguration, node corev1.Node) error

ValidateWorkerNodeNameMatchCAPIMachineName validate if node name is same as CAPI machine name.

func ValidateWorkerNodeTaints added in v0.7.1

func ValidateWorkerNodeTaints(w v1alpha1.WorkerNodeGroupConfiguration, node corev1.Node) (err error)

func WithFluxGithubConfig added in v0.14.0

func WithFluxGithubConfig(opts ...api.FluxConfigOpt) api.ClusterConfigFiller

WithFluxGithubConfig returns ClusterConfigFiller that adds FluxConfig using the Github provider to the cluster config.

Types

type CloudStack added in v0.9.0

type CloudStack struct {
	// contains filtered or unexported fields
}

func NewCloudStack added in v0.9.0

func NewCloudStack(t *testing.T, opts ...CloudStackOpt) *CloudStack

func (*CloudStack) CleanupVMs added in v0.9.2

func (c *CloudStack) CleanupVMs(clusterName string) error

func (*CloudStack) ClusterConfigUpdates added in v0.14.0

func (c *CloudStack) ClusterConfigUpdates() []api.ClusterConfigFiller

ClusterConfigUpdates satisfies the test framework Provider.

func (*CloudStack) ClusterStateValidations added in v0.15.0

func (c *CloudStack) ClusterStateValidations() []clusterf.StateValidation

ClusterStateValidations returns a list of provider specific validations.

func (*CloudStack) Name added in v0.9.0

func (c *CloudStack) Name() string

func (*CloudStack) Setup added in v0.9.0

func (c *CloudStack) Setup()

func (*CloudStack) UpdateKubeConfig added in v0.14.0

func (c *CloudStack) UpdateKubeConfig(content *[]byte, clusterName string) error

UpdateKubeConfig customizes generated kubeconfig for the provider.

func (*CloudStack) WithNewCloudStackWorkerNodeGroup added in v0.9.0

func (c *CloudStack) WithNewCloudStackWorkerNodeGroup(name string, workerNodeGroup *WorkerNodeGroup, fillers ...api.CloudStackMachineConfigFiller) ClusterE2ETestOpt

func (*CloudStack) WithProviderUpgrade added in v0.9.0

func (c *CloudStack) WithProviderUpgrade(fillers ...api.CloudStackFiller) ClusterE2ETestOpt

func (*CloudStack) WithProviderUpgradeGit added in v0.9.0

func (c *CloudStack) WithProviderUpgradeGit(fillers ...api.CloudStackFiller) ClusterE2ETestOpt

type CloudStackOpt added in v0.9.0

type CloudStackOpt func(*CloudStack)

func WithCloudStackFillers added in v0.9.0

func WithCloudStackFillers(fillers ...api.CloudStackFiller) CloudStackOpt

func WithCloudStackRedhat122 added in v0.14.0

func WithCloudStackRedhat122() CloudStackOpt

WithCloudStackRedhat122 returns a function which can be invoked to configure the Cloudstack object to be compatible with K8s 1.22.

func WithCloudStackRedhat123 added in v0.14.0

func WithCloudStackRedhat123() CloudStackOpt

WithCloudStackRedhat123 returns a function which can be invoked to configure the Cloudstack object to be compatible with K8s 1.23.

func WithCloudStackWorkerNodeGroup added in v0.9.0

func WithCloudStackWorkerNodeGroup(name string, workerNodeGroup *WorkerNodeGroup, fillers ...api.CloudStackMachineConfigFiller) CloudStackOpt

type ClusterE2ETest added in v0.6.1

type ClusterE2ETest struct {
	T                      T
	ClusterConfigLocation  string
	ClusterConfigFolder    string
	HardwareConfigLocation string
	HardwareCsvLocation    string
	TestHardware           map[string]*api.Hardware
	HardwarePool           map[string]*api.Hardware
	WithNoPowerActions     bool
	ClusterName            string
	ClusterConfig          *cluster.Config

	Provider Provider

	KubectlClient     *executables.Kubectl
	GitProvider       git.ProviderClient
	GitClient         git.Client
	HelmInstallConfig *HelmInstallConfig
	PackageConfig     *PackageConfig
	GitWriter         filewriter.FileWriter

	ExpectFailure bool
	// PersistentCluster avoids creating the clusters if it finds a kubeconfig
	// in the corresponding cluster folder. Useful for local development of tests.
	// When generating a new base cluster config, it will read from disk instead of
	// using the CLI generate command and will preserve the previous CP endpoint.
	PersistentCluster bool
	// contains filtered or unexported fields
}

func NewClusterE2ETest added in v0.6.1

func NewClusterE2ETest(t T, provider Provider, opts ...ClusterE2ETestOpt) *ClusterE2ETest

NewClusterE2ETest is a support structure for defining an end-to-end test.

func (*ClusterE2ETest) AirgapDockerContainers added in v0.15.0

func (e *ClusterE2ETest) AirgapDockerContainers(localCIDRs string)

AirgapDockerContainers airgap docker containers. Outside network should not be reached during airgapped deployment.

func (*ClusterE2ETest) ApplyClusterManifest added in v0.14.0

func (e *ClusterE2ETest) ApplyClusterManifest()

ApplyClusterManifest uses client-side logic to create/update objects defined in a cluster yaml manifest.

func (*ClusterE2ETest) ApplyPackageFile added in v0.14.0

func (e *ClusterE2ETest) ApplyPackageFile(packageName string, targetNamespace string, PackageFile []byte)

ApplyPackageFile is applying a package file in the cluster.

func (*ClusterE2ETest) ApplyPrometheusPackageServerDeploymentFile added in v0.14.0

func (e *ClusterE2ETest) ApplyPrometheusPackageServerDeploymentFile(packageName string, targetNamespace string)

ApplyPrometheusPackageServerDeploymentFile is checking if deployment config changes trigger resource reloads correctly.

func (*ClusterE2ETest) ApplyPrometheusPackageServerStatefulSetFile added in v0.14.0

func (e *ClusterE2ETest) ApplyPrometheusPackageServerStatefulSetFile(packageName string, targetNamespace string)

ApplyPrometheusPackageServerStatefulSetFile is checking if statefulset config changes trigger resource reloads correctly.

func (*ClusterE2ETest) AssertAirgappedNetwork added in v0.15.0

func (e *ClusterE2ETest) AssertAirgappedNetwork()

AssertAirgappedNetwork make sure that the admin machine is indeed airgapped.

func (*ClusterE2ETest) BuildPackageConfigFile added in v0.12.1

func (e *ClusterE2ETest) BuildPackageConfigFile(packageName, prefix, ns string) string

BuildPackageConfigFile will create the file in the test directory for the curated package.

func (*ClusterE2ETest) CapiMachinesForCluster added in v0.15.0

func (e *ClusterE2ETest) CapiMachinesForCluster(clusterName string) (map[string]types.Machine, error)

CapiMachinesForCluster reads all the CAPI Machines for a particular cluster and returns them index by their name.

func (*ClusterE2ETest) ChangeInstanceSecurityGroup added in v0.15.0

func (e *ClusterE2ETest) ChangeInstanceSecurityGroup(securityGroup string)

ChangeInstanceSecurityGroup modifies the security group of the instance to the provided value.

func (*ClusterE2ETest) CleanUpGitRepo added in v0.9.0

func (e *ClusterE2ETest) CleanUpGitRepo()

func (*ClusterE2ETest) CleanUpGithubRepo added in v0.6.1

func (e *ClusterE2ETest) CleanUpGithubRepo()

func (*ClusterE2ETest) CleanupDockerEnvironment added in v0.10.0

func (e *ClusterE2ETest) CleanupDockerEnvironment()

func (*ClusterE2ETest) CleanupDownloadedArtifactsAndImages added in v0.15.0

func (e *ClusterE2ETest) CleanupDownloadedArtifactsAndImages(opts ...CommandOpt)

CleanupDownloadedArtifactsAndImages cleans up the downloaded artifacts and images.

func (*ClusterE2ETest) CleanupVms added in v0.9.2

func (e *ClusterE2ETest) CleanupVms()

func (*ClusterE2ETest) Cluster added in v0.14.0

func (e *ClusterE2ETest) Cluster() *types.Cluster

Cluster builds a cluster obj using the ClusterE2ETest name and kubeconfig.

func (*ClusterE2ETest) CombinedAutoScalerMetricServerTest added in v0.14.0

func (e *ClusterE2ETest) CombinedAutoScalerMetricServerTest(autoscalerName string, metricServerName string, targetNamespace string, mgmtCluster *types.Cluster)

CombinedAutoScalerMetricServerTest verifies that new nodes are spun up after using a HPA to scale a deployment.

func (*ClusterE2ETest) CreateAirgappedUser added in v0.15.0

func (e *ClusterE2ETest) CreateAirgappedUser(localCIDR string)

CreateAirgappedUser create airgapped user and setup the iptables rule. Notice that OUTPUT chain is flushed each time.

func (*ClusterE2ETest) CreateCluster added in v0.6.1

func (e *ClusterE2ETest) CreateCluster(opts ...CommandOpt)

func (*ClusterE2ETest) CreateNamespace added in v0.12.0

func (e *ClusterE2ETest) CreateNamespace(namespace string)

CreateNamespace creates a namespace.

func (*ClusterE2ETest) CreateResource added in v0.12.0

func (e *ClusterE2ETest) CreateResource(ctx context.Context, resource string)

func (*ClusterE2ETest) CurlEndpointByBusyBox added in v0.14.0

func (e *ClusterE2ETest) CurlEndpointByBusyBox(endpoint string, namespace string) string

CurlEndpointByBusyBox creates a busybox pod with command to curl the target endpoint, and returns the created busybox pod name.

func (*ClusterE2ETest) DeleteCluster added in v0.6.1

func (e *ClusterE2ETest) DeleteCluster(opts ...CommandOpt)

func (*ClusterE2ETest) DeleteNamespace added in v0.12.0

func (e *ClusterE2ETest) DeleteNamespace(namespace string)

DeleteNamespace deletes a namespace.

func (*ClusterE2ETest) DeleteVSphereCSI added in v0.12.0

func (e *ClusterE2ETest) DeleteVSphereCSI()

DeleteVSphereCSI removes the vsphere csi from the cluster.

func (*ClusterE2ETest) DeleteWorkloadClusterFromGit added in v0.14.0

func (e *ClusterE2ETest) DeleteWorkloadClusterFromGit(w *WorkloadCluster)

DeleteWorkloadClusterFromGit deletes a workload cluster config file and pushes the changes to git.

func (*ClusterE2ETest) DownloadArtifacts added in v0.9.0

func (e *ClusterE2ETest) DownloadArtifacts(opts ...CommandOpt)

DownloadArtifacts runs the EKS-A `download artifacts` command with appropriate args.

func (*ClusterE2ETest) DownloadImages added in v0.15.0

func (e *ClusterE2ETest) DownloadImages(opts ...CommandOpt)

DownloadImages runs the EKS-A `download images` command with appropriate args.

func (*ClusterE2ETest) ExtractDownloadedArtifacts added in v0.15.0

func (e *ClusterE2ETest) ExtractDownloadedArtifacts(opts ...CommandOpt)

ExtractDownloadedArtifacts extracts the downloaded artifacts.

func (*ClusterE2ETest) GenerateClusterConfig added in v0.6.1

func (e *ClusterE2ETest) GenerateClusterConfig(opts ...CommandOpt)

func (*ClusterE2ETest) GenerateClusterConfigForVersion added in v0.7.0

func (e *ClusterE2ETest) GenerateClusterConfigForVersion(eksaVersion string, opts ...CommandOpt)

func (*ClusterE2ETest) GenerateHardwareConfig added in v0.8.0

func (e *ClusterE2ETest) GenerateHardwareConfig(opts ...CommandOpt)

func (*ClusterE2ETest) GetCapiMachinesForCluster added in v0.12.0

func (e *ClusterE2ETest) GetCapiMachinesForCluster(clusterName string) map[string]types.Machine

func (*ClusterE2ETest) GetEKSACluster added in v0.14.0

func (e *ClusterE2ETest) GetEKSACluster() *v1alpha1.Cluster

GetEKSACluster retrieves the EKSA cluster from the runtime environment using kubectl.

func (*ClusterE2ETest) GetEksaVSphereMachineConfigs added in v0.6.1

func (e *ClusterE2ETest) GetEksaVSphereMachineConfigs() []v1alpha1.VSphereMachineConfig

func (*ClusterE2ETest) GetHardwarePool added in v0.8.0

func (e *ClusterE2ETest) GetHardwarePool() map[string]*api.Hardware

func (*ClusterE2ETest) ImportImages added in v0.6.1

func (e *ClusterE2ETest) ImportImages(opts ...CommandOpt)

ImportImages runs the EKS-A `import images` command with appropriate args.

func (*ClusterE2ETest) InstallAutoScalerWithMetricServer added in v0.14.0

func (e *ClusterE2ETest) InstallAutoScalerWithMetricServer(targetNamespace string)

InstallAutoScalerWithMetricServer installs autoscaler and metrics-server with a given target namespace.

func (*ClusterE2ETest) InstallCuratedPackage added in v0.9.2

func (e *ClusterE2ETest) InstallCuratedPackage(packageName, packagePrefix, kubeconfig string, opts ...string)

InstallCuratedPackage will install a curated package.

func (*ClusterE2ETest) InstallCuratedPackageFile added in v0.12.1

func (e *ClusterE2ETest) InstallCuratedPackageFile(packageFile, kubeconfig string, opts ...string)

InstallCuratedPackageFile will install a curated package from a yaml file, this is useful since target namespace isn't supported on the CLI.

func (*ClusterE2ETest) InstallHelmChart added in v0.9.0

func (e *ClusterE2ETest) InstallHelmChart()

func (*ClusterE2ETest) InstallLocalStorageProvisioner added in v0.11.0

func (e *ClusterE2ETest) InstallLocalStorageProvisioner()

func (*ClusterE2ETest) MatchLogs added in v0.14.0

func (e *ClusterE2ETest) MatchLogs(targetNamespace string, targetPodName string,
	targetContainerName string, expectedLogs string, timeout time.Duration,
)

MatchLogs matches the log from a container to the expected content. Given it takes time for logs to be populated, a retrier with configurable timeout duration is added.

func (*ClusterE2ETest) NewGitTools added in v0.9.0

func (e *ClusterE2ETest) NewGitTools(ctx context.Context, cluster *v1alpha1.Cluster, fluxConfig *v1alpha1.FluxConfig, writer filewriter.FileWriter, repoPath string) (*gitFactory.GitTools, error)

func (*ClusterE2ETest) PXEBootHardware added in v0.10.0

func (e *ClusterE2ETest) PXEBootHardware()

func (*ClusterE2ETest) PowerOffHardware added in v0.8.0

func (e *ClusterE2ETest) PowerOffHardware()

func (*ClusterE2ETest) PowerOnHardware added in v0.9.0

func (e *ClusterE2ETest) PowerOnHardware()

func (*ClusterE2ETest) PushWorkloadClusterToGit added in v0.14.0

func (e *ClusterE2ETest) PushWorkloadClusterToGit(w *WorkloadCluster, opts ...api.ClusterConfigFiller)

PushWorkloadClusterToGit builds the workload cluster config file for git and pushing changes to git.

func (*ClusterE2ETest) Run added in v0.6.1

func (e *ClusterE2ETest) Run(name string, args ...string)

func (*ClusterE2ETest) RunClusterFlowWithGitOps added in v0.9.0

func (e *ClusterE2ETest) RunClusterFlowWithGitOps(clusterOpts ...ClusterE2ETestOpt)

func (*ClusterE2ETest) RunConformanceTests added in v0.6.1

func (e *ClusterE2ETest) RunConformanceTests()

func (*ClusterE2ETest) RunEKSA added in v0.6.1

func (e *ClusterE2ETest) RunEKSA(args []string, opts ...CommandOpt)

func (*ClusterE2ETest) SetPackageBundleActive added in v0.12.1

func (e *ClusterE2ETest) SetPackageBundleActive()

SetPackageBundleActive will set the current packagebundle to the active state.

func (*ClusterE2ETest) StopIfFailed added in v0.6.1

func (e *ClusterE2ETest) StopIfFailed()

func (*ClusterE2ETest) TestEmissaryPackageRouting added in v0.13.0

func (e *ClusterE2ETest) TestEmissaryPackageRouting(name string, mgmtCluster *types.Cluster)

TestEmissaryPackageRouting is checking if emissary is able to create Ingress, host, and mapping that function correctly.

func (*ClusterE2ETest) UninstallCuratedPackage added in v0.12.0

func (e *ClusterE2ETest) UninstallCuratedPackage(packagePrefix string, opts ...string)

func (*ClusterE2ETest) UpdateClusterConfig added in v0.14.0

func (e *ClusterE2ETest) UpdateClusterConfig(fillers ...api.ClusterConfigFiller)

UpdateClusterConfig applies the cluster Config provided updates to e.ClusterConfig, marshalls its content to yaml and writes it to a file on disk configured by e.ClusterConfigLocation. Call this method when you want make changes to the eks-a cluster definition before running a CLI command or API operation.

func (*ClusterE2ETest) UpgradeCluster added in v0.6.1

func (e *ClusterE2ETest) UpgradeCluster(commandOpts ...CommandOpt)

UpgradeCluster runs the CLI upgrade command.

func (*ClusterE2ETest) UpgradeClusterWithKubectl added in v0.14.0

func (e *ClusterE2ETest) UpgradeClusterWithKubectl(fillers ...api.ClusterConfigFiller)

UpgradeClusterWithKubectl uses client-side logic to upgrade a cluster.

func (*ClusterE2ETest) UpgradeClusterWithNewConfig added in v0.15.0

func (e *ClusterE2ETest) UpgradeClusterWithNewConfig(clusterOpts []ClusterE2ETestOpt, commandOpts ...CommandOpt)

UpgradeClusterWithNewConfig applies the test options, re-generates the cluster config file and runs the CLI upgrade command.

func (*ClusterE2ETest) UpgradeWithGitOps added in v0.7.1

func (e *ClusterE2ETest) UpgradeWithGitOps(clusterOpts ...ClusterE2ETestOpt)

func (*ClusterE2ETest) ValidateAWSIamAuth added in v0.6.1

func (e *ClusterE2ETest) ValidateAWSIamAuth()

func (*ClusterE2ETest) ValidateBottlerocketKubernetesSettings added in v0.15.0

func (e *ClusterE2ETest) ValidateBottlerocketKubernetesSettings()

ValidateBottlerocketKubernetesSettings validates Bottlerocket Kubernetes settings are configured properly on all cluster nodes using SSH.

func (*ClusterE2ETest) ValidateCluster added in v0.6.1

func (e *ClusterE2ETest) ValidateCluster(kubeVersion v1alpha1.KubernetesVersion)

func (*ClusterE2ETest) ValidateClusterState added in v0.14.0

func (e *ClusterE2ETest) ValidateClusterState()

ValidateClusterState runs a set of validations against the cluster to identify an invalid cluster state.

func (*ClusterE2ETest) ValidateControlPlaneNodes added in v0.7.1

func (e *ClusterE2ETest) ValidateControlPlaneNodes(validations ...ControlPlaneNodeValidation)

ValidateControlPlaneNodes deduces the control plane configuration to node mapping and for each configuration/node pair executes the provided validation functions.

func (*ClusterE2ETest) ValidateEndpointContent added in v0.14.0

func (e *ClusterE2ETest) ValidateEndpointContent(endpoint string, namespace string, expectedContent string)

ValidateEndpointContent validates the contents at the target endpoint.

func (*ClusterE2ETest) ValidateFlux added in v0.6.1

func (e *ClusterE2ETest) ValidateFlux()

func (*ClusterE2ETest) ValidateHardwareDecommissioned added in v0.8.0

func (e *ClusterE2ETest) ValidateHardwareDecommissioned()

func (*ClusterE2ETest) ValidateNTPConfig added in v0.15.0

func (e *ClusterE2ETest) ValidateNTPConfig(osFamily v1alpha1.OSFamily)

ValidateNTPConfig validates NTP servers are configured properly on all cluster nodes using SSH.

func (*ClusterE2ETest) ValidateOIDC added in v0.6.1

func (e *ClusterE2ETest) ValidateOIDC()

func (*ClusterE2ETest) ValidateVSphereCSI added in v0.12.0

func (e *ClusterE2ETest) ValidateVSphereCSI(installed bool)

ValidateVSphereCSI checks whether vsphere csi exists as expected or not.

func (*ClusterE2ETest) ValidateWorkerNodes added in v0.7.1

func (e *ClusterE2ETest) ValidateWorkerNodes(workerNodeValidations ...WorkerNodeValidation)

ValidateWorkerNodes deduces the worker node group configuration to node mapping and for each configuration/node pair executes the provided validation functions.

func (*ClusterE2ETest) ValidatingNoPackageController added in v0.15.0

func (e *ClusterE2ETest) ValidatingNoPackageController()

ValidatingNoPackageController make sure there is no package controller.

func (*ClusterE2ETest) VerifyAdotPackageDaemonSetUpdated added in v0.13.0

func (e *ClusterE2ETest) VerifyAdotPackageDaemonSetUpdated(packageName string, targetNamespace string)

VerifyAdotPackageDaemonSetUpdated is checking if daemonset config changes trigger resource reloads correctly.

func (*ClusterE2ETest) VerifyAdotPackageDeploymentUpdated added in v0.13.0

func (e *ClusterE2ETest) VerifyAdotPackageDeploymentUpdated(packageName string, targetNamespace string)

VerifyAdotPackageDeploymentUpdated is checking if deployment config changes trigger resource reloads correctly.

func (*ClusterE2ETest) VerifyAdotPackageInstalled added in v0.13.0

func (e *ClusterE2ETest) VerifyAdotPackageInstalled(packageName string, targetNamespace string)

VerifyAdotPackageInstalled is checking if the ADOT package gets installed correctly.

func (*ClusterE2ETest) VerifyAutoScalerPackageInstalled added in v0.14.0

func (e *ClusterE2ETest) VerifyAutoScalerPackageInstalled(name string, targetNamespace string, mgmtCluster *types.Cluster)

VerifyAutoScalerPackageInstalled is verifying that the autoscaler package is installed and deployed.

func (*ClusterE2ETest) VerifyCertManagerPackageInstalled added in v0.15.0

func (e *ClusterE2ETest) VerifyCertManagerPackageInstalled(prefix string, namespace string, packageName string, mgmtCluster *types.Cluster)

VerifyCertManagerPackageInstalled is checking if the cert manager package gets installed correctly.

func (*ClusterE2ETest) VerifyEmissaryPackageInstalled added in v0.13.0

func (e *ClusterE2ETest) VerifyEmissaryPackageInstalled(name string, mgmtCluster *types.Cluster)

VerifyEmissaryPackageInstalled is checking if emissary package gets installed correctly.

func (*ClusterE2ETest) VerifyHarborPackageInstalled added in v0.11.0

func (e *ClusterE2ETest) VerifyHarborPackageInstalled(prefix string, namespace string)

VerifyHarborPackageInstalled is checking if the harbor package gets installed correctly.

func (*ClusterE2ETest) VerifyHelloPackageInstalled added in v0.9.2

func (e *ClusterE2ETest) VerifyHelloPackageInstalled(name string, mgmtCluster *types.Cluster)

VerifyHelloPackageInstalled is checking if the hello eks anywhere package gets installed correctly.

func (*ClusterE2ETest) VerifyMetricServerPackageInstalled added in v0.14.0

func (e *ClusterE2ETest) VerifyMetricServerPackageInstalled(name string, targetNamespace string, mgmtCluster *types.Cluster)

VerifyMetricServerPackageInstalled is verifying that metrics-server is installed and deployed.

func (*ClusterE2ETest) VerifyPackageControllerNotInstalled added in v0.13.0

func (e *ClusterE2ETest) VerifyPackageControllerNotInstalled()

VerifyPackageControllerNotInstalled is verifying that package controller is not installed.

func (*ClusterE2ETest) VerifyPrometheusNodeExporterStates added in v0.13.1

func (e *ClusterE2ETest) VerifyPrometheusNodeExporterStates(packageName string, targetNamespace string)

VerifyPrometheusNodeExporterStates is checking if the Prometheus package node-exporter component is functioning properly.

func (*ClusterE2ETest) VerifyPrometheusPackageInstalled added in v0.13.1

func (e *ClusterE2ETest) VerifyPrometheusPackageInstalled(packageName string, targetNamespace string)

VerifyPrometheusPackageInstalled is checking if the Prometheus package gets installed correctly.

func (*ClusterE2ETest) VerifyPrometheusPrometheusServerStates added in v0.13.1

func (e *ClusterE2ETest) VerifyPrometheusPrometheusServerStates(packageName string, targetNamespace string, mode string)

VerifyPrometheusPrometheusServerStates is checking if the Prometheus package prometheus-server component is functioning properly.

func (*ClusterE2ETest) WaitForControlPlaneReady added in v0.7.0

func (e *ClusterE2ETest) WaitForControlPlaneReady()

func (*ClusterE2ETest) WaitForMachineDeploymentReady added in v0.12.0

func (e *ClusterE2ETest) WaitForMachineDeploymentReady(machineDeploymentName string)

func (*ClusterE2ETest) WithCluster added in v0.9.2

func (e *ClusterE2ETest) WithCluster(f func(e *ClusterE2ETest))

WithCluster helps with bringing up and tearing down E2E test clusters.

func (*ClusterE2ETest) WithClusterConfig added in v0.14.0

func (e *ClusterE2ETest) WithClusterConfig(fillers ...api.ClusterConfigFiller) *ClusterE2ETest

WithClusterConfig generates a base cluster config using the CLI `generate clusterconfig` command and updates them with the provided fillers. Helpful for defining the initial Cluster config before running a create operation.

func (*ClusterE2ETest) WithPersistentCluster added in v0.12.0

func (e *ClusterE2ETest) WithPersistentCluster(f func(e *ClusterE2ETest))

Like WithCluster but does not delete the cluster. Useful for debugging.

type ClusterE2ETestOpt added in v0.6.1

type ClusterE2ETestOpt func(e *ClusterE2ETest)

func ExpectFailure added in v0.11.1

func ExpectFailure(expected bool) ClusterE2ETestOpt

func PersistentCluster added in v0.15.0

func PersistentCluster() ClusterE2ETestOpt

PersistentCluster avoids creating the clusters if it finds a kubeconfig in the corresponding cluster folder. Useful for local development of tests.

func WithAWSIam added in v0.6.1

func WithAWSIam() ClusterE2ETestOpt

func WithAuthenticatedRegistryMirror added in v0.15.0

func WithAuthenticatedRegistryMirror(providerName string) ClusterE2ETestOpt

WithAuthenticatedRegistryMirror sets up e2e for authenticated registry mirrors.

func WithClusterConfigLocationOverride

func WithClusterConfigLocationOverride(path string) ClusterE2ETestOpt

func WithClusterFiller

func WithClusterFiller(f ...api.ClusterFiller) ClusterE2ETestOpt

func WithClusterName added in v0.14.0

func WithClusterName(name string) ClusterE2ETestOpt

WithClusterName sets the name that will be used for the cluster. This will drive both the name of the eks-a cluster config objects as well as the cluster config file name.

func WithClusterSingleNode added in v0.13.0

func WithClusterSingleNode(v v1alpha1.KubernetesVersion) ClusterE2ETestOpt

WithClusterSingleNode helps to create an e2e test option for a single node cluster.

func WithClusterUpgrade

func WithClusterUpgrade(fillers ...api.ClusterFiller) ClusterE2ETestOpt

WithClusterUpgrade adds a cluster upgrade.

func WithClusterUpgradeGit added in v0.7.1

func WithClusterUpgradeGit(fillers ...api.ClusterFiller) ClusterE2ETestOpt

func WithControlPlaneHardware added in v0.9.2

func WithControlPlaneHardware(requiredCount int) ClusterE2ETestOpt

func WithCustomLabelHardware added in v0.9.2

func WithCustomLabelHardware(requiredCount int, label string) ClusterE2ETestOpt

func WithEksaVersion added in v0.6.1

func WithEksaVersion(version *semver.Version) ClusterE2ETestOpt

func WithEnvVar added in v0.8.0

func WithEnvVar(key, val string) ClusterE2ETestOpt

func WithExternalEtcdHardware added in v0.9.2

func WithExternalEtcdHardware(requiredCount int) ClusterE2ETestOpt

func WithFluxGit added in v0.9.0

func WithFluxGit(opts ...api.FluxConfigOpt) ClusterE2ETestOpt

func WithFluxGithub added in v0.9.0

func WithFluxGithub(opts ...api.FluxConfigOpt) ClusterE2ETestOpt

func WithFluxGithubCleanup added in v0.14.0

func WithFluxGithubCleanup() ClusterE2ETestOpt

WithFluxGithubCleanup returns a ClusterE2ETestOpt that registers the git repository cleanup operation.

func WithFluxGithubEnvVarCheck added in v0.14.0

func WithFluxGithubEnvVarCheck() ClusterE2ETestOpt

WithFluxGithubEnvVarCheck returns a ClusterE2ETestOpt that checks for the required env vars.

func WithFluxLegacy added in v0.9.0

func WithFluxLegacy(opts ...api.GitOpsConfigOpt) ClusterE2ETestOpt

func WithHelmInstallConfig added in v0.9.0

func WithHelmInstallConfig(t *testing.T, chartName, chartURI, chartVersion string, chartValues []string) ClusterE2ETestOpt

func WithLatestMinorReleaseFromMain added in v0.6.1

func WithLatestMinorReleaseFromMain() ClusterE2ETestOpt

func WithLatestMinorReleaseFromVersion added in v0.6.1

func WithLatestMinorReleaseFromVersion(version *semver.Version) ClusterE2ETestOpt

func WithNoPowerActions added in v0.10.0

func WithNoPowerActions() ClusterE2ETestOpt

func WithOIDC

func WithOIDC() ClusterE2ETestOpt

func WithPackageConfig added in v0.9.2

func WithPackageConfig(t *testing.T, bundleURI, chartName, chartURI,
	chartVersion string, chartValues []string, packageConfiguration *v1alpha1.PackageConfiguration,
) ClusterE2ETestOpt

func WithProxy added in v0.6.0

func WithProxy(requiredEnvVars ProxyRequiredEnvVars) ClusterE2ETestOpt

func WithRegistryMirrorEndpointAndCert added in v0.6.0

func WithRegistryMirrorEndpointAndCert(providerName string) ClusterE2ETestOpt

WithRegistryMirrorEndpointAndCert sets up e2e for registry mirrors.

func WithRegistryMirrorInsecureSkipVerify added in v0.15.0

func WithRegistryMirrorInsecureSkipVerify(providerName string) ClusterE2ETestOpt

WithRegistryMirrorInsecureSkipVerify sets up e2e for registry mirrors with InsecureSkipVerify option.

func WithWorkerHardware added in v0.9.2

func WithWorkerHardware(requiredCount int) ClusterE2ETestOpt

type CommandOpt added in v0.6.1

type CommandOpt func(*string, *[]string) (err error)

func ExecuteWithBinary added in v0.15.0

func ExecuteWithBinary(eksa PackagedBinary) CommandOpt

ExecuteWithBinary executes the command with a binary from an specific path.

func ExecuteWithEksaRelease added in v0.7.0

func ExecuteWithEksaRelease(release *releasev1alpha1.EksARelease) CommandOpt

func WithBundlesOverride added in v0.15.0

func WithBundlesOverride(bundles string) CommandOpt

WithBundlesOverride modify bundles-override.

func WithControlPlaneWaitTimeout added in v0.12.0

func WithControlPlaneWaitTimeout(timeout string) CommandOpt

func WithExternalEtcdWaitTimeout added in v0.12.0

func WithExternalEtcdWaitTimeout(timeout string) CommandOpt

func WithForce added in v0.9.0

func WithForce() CommandOpt

func WithPerMachineWaitTimeout added in v0.12.0

func WithPerMachineWaitTimeout(timeout string) CommandOpt

func WithSudo added in v0.15.0

func WithSudo(user string) CommandOpt

WithSudo add prefix "sudo" to the command. And preserve PATH.

type ControlPlaneNodeValidation added in v0.7.1

type ControlPlaneNodeValidation func(configuration v1alpha1.ControlPlaneConfiguration, node corev1.Node) (err error)

ControlPlaneNodeValidation should return an error if either an error is encountered during execution or the validation logically fails. This validation function will be executed by ValidateControlPlaneNodes with a Control Plane configuration and a corresponding node which was created as a part of that configuration.

type Docker

type Docker struct {
	executables.Docker
	// contains filtered or unexported fields
}

Docker is a Provider for running end-to-end tests.

func NewDocker

func NewDocker(t *testing.T) *Docker

NewDocker creates a new Docker object implementing the Provider interface for testing.

func (*Docker) CleanupVMs added in v0.9.2

func (d *Docker) CleanupVMs(_ string) error

CleanupVMs implements the Provider interface.

func (*Docker) ClusterConfigUpdates added in v0.14.0

func (d *Docker) ClusterConfigUpdates() []api.ClusterConfigFiller

ClusterConfigUpdates satisfies the test framework Provider.

func (*Docker) ClusterStateValidations added in v0.15.0

func (d *Docker) ClusterStateValidations() []clusterf.StateValidation

ClusterStateValidations returns a list of provider specific validations.

func (*Docker) Name

func (d *Docker) Name() string

Name implements the Provider interface.

func (*Docker) Setup

func (d *Docker) Setup()

Setup implements the Provider interface.

func (*Docker) UpdateKubeConfig added in v0.14.0

func (d *Docker) UpdateKubeConfig(content *[]byte, clusterName string) error

UpdateKubeConfig customizes generated kubeconfig by replacing the server value with correct host and the docker LB port. This is required for the docker provider.

func (*Docker) WithProviderUpgradeGit added in v0.8.0

func (d *Docker) WithProviderUpgradeGit() ClusterE2ETestOpt

func (*Docker) WithWorkerNodeGroup added in v0.14.0

func (d *Docker) WithWorkerNodeGroup(workerNodeGroup *WorkerNodeGroup) api.ClusterConfigFiller

WithWorkerNodeGroup returns an api.ClusterFiller that adds a new workerNodeGroupConfiguration and a corresponding DockerMachineConfig to the cluster config.

type EKSAReleasePackagedBinary added in v0.15.0

type EKSAReleasePackagedBinary struct {
	*releasev1alpha1.EksARelease
}

EKSAReleasePackagedBinary decorates an EKSA release with extra functionality.

func NewEKSAReleasePackagedBinary added in v0.15.0

func NewEKSAReleasePackagedBinary(release *releasev1alpha1.EksARelease) *EKSAReleasePackagedBinary

NewEKSAReleasePackagedBinary builds a new EKSAReleasePackagedBinary.

func (*EKSAReleasePackagedBinary) BinaryPath added in v0.15.0

func (b *EKSAReleasePackagedBinary) BinaryPath() (string, error)

BinaryPath implements EKSAPackagedBinary.

func (*EKSAReleasePackagedBinary) Version added in v0.15.0

func (b *EKSAReleasePackagedBinary) Version() string

Version returns the eks-a release version.

type HelmInstallConfig added in v0.9.0

type HelmInstallConfig struct {
	HelmClient *executables.Helm
	// contains filtered or unexported fields
}

type LoggingOnlyT added in v0.14.0

type LoggingOnlyT struct{}

LoggingOnlyT implements select logging and error handling functionality of T.

Most non-logging, non-error reporting methods will simply panic.

func NewLoggingOnlyT added in v0.14.0

func NewLoggingOnlyT() *LoggingOnlyT

NewLoggingOnlyT creates a LoggingOnlyT, which does what its name implies.

func (LoggingOnlyT) Cleanup added in v0.14.0

func (t LoggingOnlyT) Cleanup(_ func())

Cleanup implements T.

func (LoggingOnlyT) Error added in v0.14.0

func (t LoggingOnlyT) Error(_ ...any)

Error implements T.

func (LoggingOnlyT) Errorf added in v0.14.0

func (t LoggingOnlyT) Errorf(_ string, _ ...any)

Errorf implements T.

func (LoggingOnlyT) Fail added in v0.14.0

func (t LoggingOnlyT) Fail()

Fail implements T.

func (LoggingOnlyT) FailNow added in v0.14.0

func (t LoggingOnlyT) FailNow()

FailNow implements T.

func (LoggingOnlyT) Failed added in v0.14.0

func (t LoggingOnlyT) Failed() bool

Failed implements T.

func (LoggingOnlyT) Fatal added in v0.14.0

func (t LoggingOnlyT) Fatal(_ ...any)

Fatal implements T.

func (LoggingOnlyT) Fatalf added in v0.14.0

func (t LoggingOnlyT) Fatalf(format string, args ...any)

Fatalf implements T.

func (LoggingOnlyT) Helper added in v0.14.0

func (t LoggingOnlyT) Helper()

Helper implements T.

func (LoggingOnlyT) Log added in v0.14.0

func (t LoggingOnlyT) Log(args ...any)

Log implements T.

func (LoggingOnlyT) Logf added in v0.14.0

func (t LoggingOnlyT) Logf(format string, args ...any)

Logf implements T.

func (LoggingOnlyT) Name added in v0.14.0

func (t LoggingOnlyT) Name() string

Name implements T.

func (LoggingOnlyT) Parallel added in v0.14.0

func (t LoggingOnlyT) Parallel()

Parallel implements T.

func (LoggingOnlyT) Run added in v0.14.0

func (t LoggingOnlyT) Run(_ string, _ func(*testing.T)) bool

Run implements T.

func (LoggingOnlyT) Setenv added in v0.14.0

func (t LoggingOnlyT) Setenv(_ string, _ string)

Setenv implements T.

func (LoggingOnlyT) Skip added in v0.14.0

func (t LoggingOnlyT) Skip(_ ...any)

Skip implements T.

func (LoggingOnlyT) SkipNow added in v0.14.0

func (t LoggingOnlyT) SkipNow()

SkipNow implements T.

func (LoggingOnlyT) Skipf added in v0.14.0

func (t LoggingOnlyT) Skipf(_ string, _ ...any)

Skipf implements T.

func (LoggingOnlyT) Skipped added in v0.14.0

func (t LoggingOnlyT) Skipped() bool

Skipped implements T.

func (LoggingOnlyT) TempDir added in v0.14.0

func (t LoggingOnlyT) TempDir() string

TempDir implements T.

type MulticlusterE2ETest added in v0.6.1

type MulticlusterE2ETest struct {
	T                 *testing.T
	ManagementCluster *ClusterE2ETest
	WorkloadClusters  WorkloadClusters
	// MaxConcurrentWorkers defines the max number of workers for concurrent operations.
	// If it's -1, it will use one worker per job.
	MaxConcurrentWorkers int
	// contains filtered or unexported fields
}

func NewMulticlusterE2ETest added in v0.6.1

func NewMulticlusterE2ETest(t *testing.T, managementCluster *ClusterE2ETest, workloadClusters ...*ClusterE2ETest) *MulticlusterE2ETest

func (*MulticlusterE2ETest) CreateManagementCluster added in v0.6.1

func (m *MulticlusterE2ETest) CreateManagementCluster(opts ...CommandOpt)

func (*MulticlusterE2ETest) CreateManagementClusterForVersion added in v0.12.0

func (m *MulticlusterE2ETest) CreateManagementClusterForVersion(eksaVersion string, opts ...CommandOpt)

func (*MulticlusterE2ETest) CreateManagementClusterWithConfig added in v0.14.0

func (m *MulticlusterE2ETest) CreateManagementClusterWithConfig(opts ...CommandOpt)

CreateManagementClusterWithConfig first generates a cluster config based on the management cluster test's previous configuration and proceeds to create a management cluster with the CLI.

func (*MulticlusterE2ETest) CreateTinkerbellManagementCluster added in v0.13.0

func (m *MulticlusterE2ETest) CreateTinkerbellManagementCluster(opts ...CommandOpt)

CreateTinkerbellManagementCluster runs tinkerbell related steps for cluster creation.

func (*MulticlusterE2ETest) DeleteManagementCluster added in v0.6.1

func (m *MulticlusterE2ETest) DeleteManagementCluster()

func (*MulticlusterE2ETest) DeleteTinkerbellManagementCluster added in v0.13.0

func (m *MulticlusterE2ETest) DeleteTinkerbellManagementCluster()

DeleteTinkerbellManagementCluster runs tinkerbell related steps for cluster deletion.

func (*MulticlusterE2ETest) DeleteWorkloadClusterFromGit added in v0.14.0

func (m *MulticlusterE2ETest) DeleteWorkloadClusterFromGit(w *WorkloadCluster)

DeleteWorkloadClusterFromGit deletes a workload cluster config file and pushes the changes to git.

func (*MulticlusterE2ETest) NewWorkloadClusterName added in v0.14.0

func (m *MulticlusterE2ETest) NewWorkloadClusterName() string

NewWorkloadClusterName returns a new unique name for a workload cluster based on the management cluster name. This is not thread safe.

func (*MulticlusterE2ETest) PushWorkloadClusterToGit added in v0.14.0

func (m *MulticlusterE2ETest) PushWorkloadClusterToGit(w *WorkloadCluster, opts ...api.ClusterConfigFiller)

PushWorkloadClusterToGit builds the workload cluster config file for git and pushing changes to git.

func (*MulticlusterE2ETest) RunConcurrently added in v0.14.0

func (m *MulticlusterE2ETest) RunConcurrently(flows ...func())

RunConcurrently runs the given jobs concurrently using no more than MaxConcurrentWorkers workers. If MaxConcurrentWorkers is -1, it will use one worker per job.

func (*MulticlusterE2ETest) RunConcurrentlyInWorkloadClusters added in v0.14.0

func (m *MulticlusterE2ETest) RunConcurrentlyInWorkloadClusters(flow func(*WorkloadCluster))

RunConcurrentlyInWorkloadClusters executes the given flow concurrently for all workload clusters. It respects MaxConcurrentWorkers.

func (*MulticlusterE2ETest) RunInWorkloadClusters added in v0.6.1

func (m *MulticlusterE2ETest) RunInWorkloadClusters(flow func(*WorkloadCluster))

func (*MulticlusterE2ETest) WithWorkloadClusters added in v0.14.0

func (m *MulticlusterE2ETest) WithWorkloadClusters(workloadClusters ...*ClusterE2ETest)

WithWorkloadClusters adds ClusterE2ETest's as workload clusters to the test.

type Nutanix added in v0.12.0

type Nutanix struct {
	// contains filtered or unexported fields
}

func NewNutanix added in v0.12.0

func NewNutanix(t *testing.T, opts ...NutanixOpt) *Nutanix

func (*Nutanix) CleanupVMs added in v0.12.0

func (s *Nutanix) CleanupVMs(clustername string) error

CleanupVMs satisfies the test framework Provider.

func (*Nutanix) ClusterConfigUpdates added in v0.14.0

func (s *Nutanix) ClusterConfigUpdates() []api.ClusterConfigFiller

ClusterConfigUpdates satisfies the test framework Provider.

func (*Nutanix) ClusterStateValidations added in v0.15.0

func (s *Nutanix) ClusterStateValidations() []clusterf.StateValidation

ClusterStateValidations returns a list of provider specific ClusterStateValidations.

func (*Nutanix) Name added in v0.12.0

func (s *Nutanix) Name() string

func (*Nutanix) Setup added in v0.12.0

func (s *Nutanix) Setup()

func (*Nutanix) UpdateKubeConfig added in v0.14.0

func (s *Nutanix) UpdateKubeConfig(content *[]byte, clusterName string) error

UpdateKubeConfig customizes generated kubeconfig for the provider.

func (*Nutanix) WithProviderUpgrade added in v0.12.0

func (s *Nutanix) WithProviderUpgrade(fillers ...api.NutanixFiller) ClusterE2ETestOpt

type NutanixOpt added in v0.12.0

type NutanixOpt func(*Nutanix)

func WithNutanixSubnetUUID added in v0.15.0

func WithNutanixSubnetUUID() NutanixOpt

WithNutanixSubnetUUID returns a NutanixOpt that adds API fillers to use a Subnet UUID.

func WithPrismElementClusterUUID added in v0.13.0

func WithPrismElementClusterUUID() NutanixOpt

WithPrismElementClusterUUID returns a NutanixOpt that adds API fillers to use a PE Cluster UUID.

func WithUbuntu122Nutanix added in v0.13.0

func WithUbuntu122Nutanix() NutanixOpt

WithUbuntu122Nutanix returns a NutanixOpt that adds API fillers to use a Ubuntu Nutanix template for k8s 1.22 and the "ubuntu" osFamily in all machine configs.

func WithUbuntu122NutanixUUID added in v0.13.0

func WithUbuntu122NutanixUUID() NutanixOpt

WithUbuntu122NutanixUUID returns a NutanixOpt that adds API fillers to use a Ubuntu Nutanix template UUID for k8s 1.22 and the "ubuntu" osFamily in all machine configs.

func WithUbuntu123Nutanix added in v0.13.0

func WithUbuntu123Nutanix() NutanixOpt

WithUbuntu123Nutanix returns a NutanixOpt that adds API fillers to use a Ubuntu Nutanix template for k8s 1.23 and the "ubuntu" osFamily in all machine configs.

func WithUbuntu123NutanixUUID added in v0.13.0

func WithUbuntu123NutanixUUID() NutanixOpt

WithUbuntu123NutanixUUID returns a NutanixOpt that adds API fillers to use a Ubuntu Nutanix template UUID for k8s 1.23 and the "ubuntu" osFamily in all machine configs.

func WithUbuntu124Nutanix added in v0.13.0

func WithUbuntu124Nutanix() NutanixOpt

WithUbuntu124Nutanix returns a NutanixOpt that adds API fillers to use a Ubuntu Nutanix template for k8s 1.24 and the "ubuntu" osFamily in all machine configs.

func WithUbuntu124NutanixUUID added in v0.13.0

func WithUbuntu124NutanixUUID() NutanixOpt

WithUbuntu124NutanixUUID returns a NutanixOpt that adds API fillers to use a Ubuntu Nutanix template UUID for k8s 1.24 and the "ubuntu" osFamily in all machine configs.

func WithUbuntu125Nutanix added in v0.15.0

func WithUbuntu125Nutanix() NutanixOpt

WithUbuntu125Nutanix returns a NutanixOpt that adds API fillers to use a Ubuntu Nutanix template for k8s 1.25 and the "ubuntu" osFamily in all machine configs.

func WithUbuntu125NutanixUUID added in v0.15.0

func WithUbuntu125NutanixUUID() NutanixOpt

WithUbuntu125NutanixUUID returns a NutanixOpt that adds API fillers to use a Ubuntu Nutanix template UUID for k8s 1.25 and the "ubuntu" osFamily in all machine configs.

func WithUbuntu126Nutanix added in v0.15.0

func WithUbuntu126Nutanix() NutanixOpt

WithUbuntu126Nutanix returns a NutanixOpt that adds API fillers to use a Ubuntu Nutanix template for k8s 1.26 and the "ubuntu" osFamily in all machine configs.

func WithUbuntu126NutanixUUID added in v0.15.0

func WithUbuntu126NutanixUUID() NutanixOpt

WithUbuntu126NutanixUUID returns a NutanixOpt that adds API fillers to use a Ubuntu Nutanix template UUID for k8s 1.26 and the "ubuntu" osFamily in all machine configs.

type PackageConfig added in v0.9.2

type PackageConfig struct {
	*HelmInstallConfig
	// contains filtered or unexported fields
}

type PackagedBinary added in v0.15.0

type PackagedBinary interface {
	// BinaryPath returns the local disk path to the binary.
	BinaryPath() (string, error)
}

PackagedBinary represents a binary that can be extracted executed from local disk.

type Provider

type Provider interface {
	Name() string
	// ClusterConfigUpdates allows a provider to modify the default cluster config
	// after this one is generated for the first time. This is not reapplied on every CLI operation.
	// Prefer to call UpdateClusterConfig directly from the tests to make it more explicit.
	ClusterConfigUpdates() []api.ClusterConfigFiller
	Setup()
	CleanupVMs(clusterName string) error
	UpdateKubeConfig(content *[]byte, clusterName string) error
	ClusterStateValidations() []clusterf.StateValidation
}

type ProxyRequiredEnvVars added in v0.11.0

type ProxyRequiredEnvVars struct {
	HttpProxy  string
	HttpsProxy string
	NoProxy    string
}

type Snow added in v0.9.0

type Snow struct {
	// contains filtered or unexported fields
}

func NewSnow added in v0.9.0

func NewSnow(t *testing.T, opts ...SnowOpt) *Snow

func (*Snow) CleanupVMs added in v0.9.2

func (s *Snow) CleanupVMs(_ string) error

CleanupVMs satisfies the test framework Provider.

func (*Snow) ClusterConfigUpdates added in v0.14.0

func (s *Snow) ClusterConfigUpdates() []api.ClusterConfigFiller

ClusterConfigUpdates satisfies the test framework Provider.

func (*Snow) ClusterStateValidations added in v0.15.0

func (s *Snow) ClusterStateValidations() []clusterf.StateValidation

ClusterStateValidations returns a list of provider specific validations.

func (*Snow) Name added in v0.9.0

func (s *Snow) Name() string

func (*Snow) Setup added in v0.9.0

func (s *Snow) Setup()

func (*Snow) UpdateKubeConfig added in v0.14.0

func (s *Snow) UpdateKubeConfig(content *[]byte, clusterName string) error

UpdateKubeConfig customizes generated kubeconfig for the provider.

func (*Snow) WithBottlerocket122 added in v0.15.0

func (s *Snow) WithBottlerocket122() api.ClusterConfigFiller

WithBottlerocket122 returns a cluster config filler that sets the kubernetes version of the cluster to 1.22 as well as the right devices and osFamily for all SnowMachineConfigs. It also sets any necessary machine config default required for BR, like the container volume size. If the env var is set, this will also set the AMI ID. Otherwise, it will leave it empty and let CAPAS select one.

func (*Snow) WithBottlerocket123 added in v0.15.0

func (s *Snow) WithBottlerocket123() api.ClusterConfigFiller

WithBottlerocket123 returns a cluster config filler that sets the kubernetes version of the cluster to 1.23 as well as the right devices and osFamily for all SnowMachineConfigs. It also sets any necessary machine config default required for BR, like the container volume size. If the env var is set, this will also set the AMI ID. Otherwise, it will leave it empty and let CAPAS select one.

func (*Snow) WithBottlerocket124 added in v0.15.0

func (s *Snow) WithBottlerocket124() api.ClusterConfigFiller

WithBottlerocket124 returns a cluster config filler that sets the kubernetes version of the cluster to 1.24 as well as the right devices and osFamily for all SnowMachineConfigs. It also sets any necessary machine config default required for BR, like the container volume size. If the env var is set, this will also set the AMI ID. Otherwise, it will leave it empty and let CAPAS select one.

func (*Snow) WithBottlerocket125 added in v0.15.0

func (s *Snow) WithBottlerocket125() api.ClusterConfigFiller

WithBottlerocket125 returns a cluster config filler that sets the kubernetes version of the cluster to 1.25 as well as the right devices and osFamily for all SnowMachineConfigs. It also sets any necessary machine config default required for BR, like the container volume size. If the env var is set, this will also set the AMI ID. Otherwise, it will leave it empty and let CAPAS select one.

func (*Snow) WithBottlerocketStaticIP122 added in v0.15.0

func (s *Snow) WithBottlerocketStaticIP122() api.ClusterConfigFiller

WithBottlerocketStaticIP122 returns a cluster config filler that sets the kubernetes version of the cluster to 1.22 as well as the right devices, osFamily and static ip config for all SnowMachineConfigs. Comparing to WithBottlerocket122, this method also adds a snow ip pool to support static ip configuration.

func (*Snow) WithBottlerocketStaticIP123 added in v0.15.0

func (s *Snow) WithBottlerocketStaticIP123() api.ClusterConfigFiller

WithBottlerocketStaticIP123 returns a cluster config filler that sets the kubernetes version of the cluster to 1.23 as well as the right devices, osFamily and static ip config for all SnowMachineConfigs. Comparing to WithBottlerocket123, this method also adds a snow ip pool to support static ip configuration.

func (*Snow) WithBottlerocketStaticIP124 added in v0.15.0

func (s *Snow) WithBottlerocketStaticIP124() api.ClusterConfigFiller

WithBottlerocketStaticIP124 returns a cluster config filler that sets the kubernetes version of the cluster to 1.24 as well as the right devices, osFamily and static ip config for all SnowMachineConfigs. Comparing to WithBottlerocket124, this method also adds a snow ip pool to support static ip configuration.

func (*Snow) WithNewSnowWorkerNodeGroup added in v0.11.0

func (s *Snow) WithNewSnowWorkerNodeGroup(name string, workerNodeGroup *WorkerNodeGroup, fillers ...api.SnowMachineConfigFiller) ClusterE2ETestOpt

WithNewSnowWorkerNodeGroup updates the test cluster Config with the fillers for an specific snow worker node group. It applies the fillers in WorkerNodeGroup to the named worker node group and the ones for the corresponding SnowMachineConfig.

func (*Snow) WithProviderUpgrade added in v0.11.0

func (s *Snow) WithProviderUpgrade(fillers ...api.SnowFiller) ClusterE2ETestOpt

func (*Snow) WithUbuntu122 added in v0.15.0

func (s *Snow) WithUbuntu122() api.ClusterConfigFiller

WithUbuntu122 returns a cluster config filler that sets the kubernetes version of the cluster to 1.22 as well as the right devices and osFamily for all SnowMachineConfigs. If the env var is set, this will also set the AMI ID. Otherwise, it will leave it empty and let CAPAS select one.

func (*Snow) WithUbuntu123 added in v0.15.0

func (s *Snow) WithUbuntu123() api.ClusterConfigFiller

WithUbuntu123 returns a cluster config filler that sets the kubernetes version of the cluster to 1.23 as well as the right devices and osFamily for all SnowMachineConfigs. If the env var is set, this will also set the AMI ID. Otherwise, it will leave it empty and let CAPAS select one.

func (*Snow) WithUbuntu124 added in v0.15.0

func (s *Snow) WithUbuntu124() api.ClusterConfigFiller

WithUbuntu124 returns a cluster config filler that sets the kubernetes version of the cluster to 1.24 as well as the right devices and osFamily for all SnowMachineConfigs. If the env var is set, this will also set the AMI ID. Otherwise, it will leave it empty and let CAPAS select one.

func (*Snow) WithUbuntu125 added in v0.15.0

func (s *Snow) WithUbuntu125() api.ClusterConfigFiller

WithUbuntu125 returns a cluster config filler that sets the kubernetes version of the cluster to 1.25 as well as the right devices and osFamily for all SnowMachineConfigs. If the env var is set, this will also set the AMI ID. Otherwise, it will leave it empty and let CAPAS select one.

func (*Snow) WithWorkerNodeGroup added in v0.15.0

func (s *Snow) WithWorkerNodeGroup(name string, workerNodeGroup *WorkerNodeGroup, fillers ...api.SnowMachineConfigFiller) api.ClusterConfigFiller

WithWorkerNodeGroup returns a filler that updates/creates the provided worker node group with its corresponding SnowMachineConfig and applies the given changes to that machine config.

type SnowOpt added in v0.9.0

type SnowOpt func(*Snow)

func WithSnowUbuntu122 added in v0.11.0

func WithSnowUbuntu122() SnowOpt

func WithSnowUbuntu123 added in v0.11.0

func WithSnowUbuntu123() SnowOpt

func WithSnowUbuntu124 added in v0.15.0

func WithSnowUbuntu124() SnowOpt

WithSnowUbuntu124 returns SnowOpt that sets the right devices and osFamily for all SnowMachineConfigs. If the env var is set, this will also set the AMI ID. Otherwise, it will leave it empty and let CAPAS select one.

func WithSnowUbuntu125 added in v0.15.0

func WithSnowUbuntu125() SnowOpt

WithSnowUbuntu125 returns SnowOpt that sets the right devices and osFamily for all SnowMachineConfigs. If the env var is set, this will also set the AMI ID. Otherwise, it will leave it empty and let CAPAS select one.

func WithSnowWorkerNodeGroup added in v0.11.0

func WithSnowWorkerNodeGroup(name string, workerNodeGroup *WorkerNodeGroup, fillers ...api.SnowMachineConfigFiller) SnowOpt

WithSnowWorkerNodeGroup stores the necessary fillers to update/create the provided worker node group with its corresponding SnowMachineConfig and apply the given changes to that machine config.

type T added in v0.14.0

type T interface {
	Cleanup(func())
	Error(...any)
	Errorf(string, ...any)
	Fail()
	FailNow()
	Failed() bool
	Fatal(...any)
	Fatalf(string, ...any)
	Helper()
	Log(args ...any)
	Logf(format string, args ...any)
	Name() string
	Parallel()
	Run(string, func(*testing.T)) bool
	Setenv(string, string)
	Skip(...any)
	SkipNow()
	Skipf(string, ...any)
	Skipped() bool
	TempDir() string
}

T defines test support functionality, ala the Go stdlib testing.T.

Being able to change its implementation supports logging functionality for test support methods that are executed outside of a test, such as when bringing up or tearing down test clusters that will be used and re-used throughout multiple tests.

Only those methods currently in use are defined. Add more methods from stdlib testing.T as necessary.

type Tinkerbell added in v0.8.0

type Tinkerbell struct {
	// contains filtered or unexported fields
}

func NewTinkerbell added in v0.8.0

func NewTinkerbell(t *testing.T, opts ...TinkerbellOpt) *Tinkerbell

func (*Tinkerbell) CleanupVMs added in v0.9.2

func (t *Tinkerbell) CleanupVMs(_ string) error

func (*Tinkerbell) ClusterConfigUpdates added in v0.14.0

func (t *Tinkerbell) ClusterConfigUpdates() []api.ClusterConfigFiller

ClusterConfigUpdates satisfies the test framework Provider.

func (*Tinkerbell) ClusterStateValidations added in v0.15.0

func (t *Tinkerbell) ClusterStateValidations() []clusterf.StateValidation

ClusterStateValidations returns a list of provider specific validations.

func (*Tinkerbell) Name added in v0.8.0

func (t *Tinkerbell) Name() string

func (*Tinkerbell) Setup added in v0.8.0

func (t *Tinkerbell) Setup()

func (*Tinkerbell) UpdateKubeConfig added in v0.14.0

func (t *Tinkerbell) UpdateKubeConfig(content *[]byte, clusterName string) error

UpdateKubeConfig customizes generated kubeconfig for the provider.

func (*Tinkerbell) WithProviderUpgrade added in v0.12.0

func (t *Tinkerbell) WithProviderUpgrade(fillers ...api.TinkerbellFiller) ClusterE2ETestOpt

type TinkerbellOpt added in v0.8.0

type TinkerbellOpt func(*Tinkerbell)

func WithBottleRocketTinkerbell added in v0.9.2

func WithBottleRocketTinkerbell() TinkerbellOpt

func WithCustomTinkerbellMachineConfig added in v0.9.2

func WithCustomTinkerbellMachineConfig(selector string) TinkerbellOpt

func WithHookImagesURLPath added in v0.15.0

func WithHookImagesURLPath(url string) TinkerbellOpt

WithHookImagesURLPath Modify Hook OS Image url.

func WithOSImageURL added in v0.15.0

func WithOSImageURL(url string) TinkerbellOpt

WithOSImageURL Modify OS Image url.

func WithRedHat122Tinkerbell added in v0.12.0

func WithRedHat122Tinkerbell() TinkerbellOpt

WithRedHat122Tinkerbell tink test with redhat 1.22.

func WithRedHat123Tinkerbell added in v0.12.0

func WithRedHat123Tinkerbell() TinkerbellOpt

WithRedHat123Tinkerbell tink test with redhat 1.23.

func WithRedHat124Tinkerbell added in v0.12.2

func WithRedHat124Tinkerbell() TinkerbellOpt

WithRedHat124Tinkerbell tink test with redhat 1.24.

func WithRedHat125Tinkerbell added in v0.14.1

func WithRedHat125Tinkerbell() TinkerbellOpt

WithRedHat125Tinkerbell tink test with redhat 1.25.

func WithTinkerbellExternalEtcdTopology added in v0.8.0

func WithTinkerbellExternalEtcdTopology(count int) TinkerbellOpt

func WithUbuntu122Tinkerbell added in v0.9.0

func WithUbuntu122Tinkerbell() TinkerbellOpt

func WithUbuntu123Tinkerbell added in v0.9.2

func WithUbuntu123Tinkerbell() TinkerbellOpt

func WithUbuntu124Tinkerbell added in v0.12.2

func WithUbuntu124Tinkerbell() TinkerbellOpt

WithUbuntu124Tinkerbell tink test with ubuntu 1.24.

func WithUbuntu125Tinkerbell added in v0.14.1

func WithUbuntu125Tinkerbell() TinkerbellOpt

WithUbuntu125Tinkerbell tink test with ubuntu 1.25.

func WithUbuntu126Tinkerbell added in v0.15.0

func WithUbuntu126Tinkerbell() TinkerbellOpt

WithUbuntu126Tinkerbell tink test with ubuntu 1.26.

type VSphere

type VSphere struct {
	GovcClient *executables.Govc
	// contains filtered or unexported fields
}

func NewVSphere

func NewVSphere(t *testing.T, opts ...VSphereOpt) *VSphere

func (*VSphere) Bottlerocket122Template added in v0.12.2

func (v *VSphere) Bottlerocket122Template() api.VSphereFiller

Bottlerocket122Template returns vsphere filler for 1.22 BR.

func (*VSphere) Bottlerocket123Template added in v0.12.2

func (v *VSphere) Bottlerocket123Template() api.VSphereFiller

Bottlerocket123Template returns vsphere filler for 1.23 BR.

func (*VSphere) Bottlerocket124Template added in v0.12.2

func (v *VSphere) Bottlerocket124Template() api.VSphereFiller

Bottlerocket124Template returns vsphere filler for 1.24 BR.

func (*VSphere) Bottlerocket125Template added in v0.14.2

func (v *VSphere) Bottlerocket125Template() api.VSphereFiller

Bottlerocket125Template returns vsphere filler for 1.25 BR.

func (*VSphere) Bottlerocket126Template added in v0.15.0

func (v *VSphere) Bottlerocket126Template() api.VSphereFiller

Bottlerocket126Template returns vsphere filler for 1.26 BR.

func (*VSphere) CleanupVMs added in v0.9.2

func (v *VSphere) CleanupVMs(clusterName string) error

CleanupVMs deletes all the VMs owned by the test EKS-A cluster. It satisfies the test framework Provider.

func (*VSphere) ClusterConfigUpdates added in v0.14.0

func (v *VSphere) ClusterConfigUpdates() []api.ClusterConfigFiller

ClusterConfigUpdates satisfies the test framework Provider.

func (*VSphere) ClusterStateValidations added in v0.15.0

func (v *VSphere) ClusterStateValidations() []clusterf.StateValidation

ClusterStateValidations returns a list of provider specific validations.

func (*VSphere) Name

func (v *VSphere) Name() string

Name returns the provider name. It satisfies the test framework Provider.

func (*VSphere) Setup

func (v *VSphere) Setup()

Setup does nothing. It satisfies the test framework Provider.

func (*VSphere) Ubuntu122Template added in v0.12.2

func (v *VSphere) Ubuntu122Template() api.VSphereFiller

Ubuntu122Template returns vsphere filler for 1.22 Ubuntu.

func (*VSphere) Ubuntu123Template added in v0.12.2

func (v *VSphere) Ubuntu123Template() api.VSphereFiller

Ubuntu123Template returns vsphere filler for 1.23 Ubuntu.

func (*VSphere) Ubuntu124Template added in v0.12.2

func (v *VSphere) Ubuntu124Template() api.VSphereFiller

Ubuntu124Template returns vsphere filler for 1.24 Ubuntu.

func (*VSphere) Ubuntu125Template added in v0.14.2

func (v *VSphere) Ubuntu125Template() api.VSphereFiller

Ubuntu125Template returns vsphere filler for 1.25 Ubuntu.

func (*VSphere) Ubuntu126Template added in v0.15.0

func (v *VSphere) Ubuntu126Template() api.VSphereFiller

Ubuntu126Template returns vsphere filler for 1.26 Ubuntu.

func (*VSphere) UpdateKubeConfig added in v0.14.0

func (v *VSphere) UpdateKubeConfig(content *[]byte, clusterName string) error

UpdateKubeConfig customizes generated kubeconfig for the provider.

func (*VSphere) ValidateNodesDiskGiB added in v0.15.0

func (v *VSphere) ValidateNodesDiskGiB(machines map[string]anywheretypes.Machine, expectedDiskSize int) error

ValidateNodesDiskGiB validates DiskGiB for all the machines.

func (*VSphere) WithBottleRocket122 added in v0.14.0

func (v *VSphere) WithBottleRocket122() api.ClusterConfigFiller

WithBottleRocket122 returns a cluster config filler that sets the kubernetes version of the cluster to 1.22 as well as the right botllerocket template and osFamily for all VSphereMachaineConfigs.

func (*VSphere) WithBottleRocket123 added in v0.14.0

func (v *VSphere) WithBottleRocket123() api.ClusterConfigFiller

WithBottleRocket123 returns a cluster config filler that sets the kubernetes version of the cluster to 1.23 as well as the right botllerocket template and osFamily for all VSphereMachaineConfigs.

func (*VSphere) WithBottleRocket124 added in v0.14.0

func (v *VSphere) WithBottleRocket124() api.ClusterConfigFiller

WithBottleRocket124 returns a cluster config filler that sets the kubernetes version of the cluster to 1.24 as well as the right botllerocket template and osFamily for all VSphereMachaineConfigs.

func (*VSphere) WithBottleRocketForRelease added in v0.15.0

func (v *VSphere) WithBottleRocketForRelease(release *releasev1.EksARelease, kubeVersion anywherev1.KubernetesVersion) api.ClusterConfigFiller

func (*VSphere) WithNewVSphereWorkerNodeGroup added in v0.7.1

func (v *VSphere) WithNewVSphereWorkerNodeGroup(name string, workerNodeGroup *WorkerNodeGroup) ClusterE2ETestOpt

WithNewVSphereWorkerNodeGroup adds a new worker node group to the cluster config.

func (*VSphere) WithProviderUpgrade

func (v *VSphere) WithProviderUpgrade(fillers ...api.VSphereFiller) ClusterE2ETestOpt

func (*VSphere) WithProviderUpgradeGit added in v0.7.1

func (v *VSphere) WithProviderUpgradeGit(fillers ...api.VSphereFiller) ClusterE2ETestOpt

func (*VSphere) WithUbuntu122 added in v0.14.0

func (v *VSphere) WithUbuntu122() api.ClusterConfigFiller

WithUbuntu122 returns a cluster config filler that sets the kubernetes version of the cluster to 1.22 as well as the right ubuntu template and osFamily for all VSphereMachineConfigs.

func (*VSphere) WithUbuntu123 added in v0.14.0

func (v *VSphere) WithUbuntu123() api.ClusterConfigFiller

WithUbuntu123 returns a cluster config filler that sets the kubernetes version of the cluster to 1.23 as well as the right ubuntu template and osFamily for all VSphereMachineConfigs.

func (*VSphere) WithUbuntu124 added in v0.14.0

func (v *VSphere) WithUbuntu124() api.ClusterConfigFiller

WithUbuntu124 returns a cluster config filler that sets the kubernetes version of the cluster to 1.24 as well as the right ubuntu template and osFamily for all VSphereMachineConfigs.

func (*VSphere) WithUbuntu125 added in v0.15.0

func (v *VSphere) WithUbuntu125() api.ClusterConfigFiller

WithUbuntu125 returns a cluster config filler that sets the kubernetes version of the cluster to 1.25 as well as the right ubuntu template and osFamily for all VSphereMachineConfigs.

func (*VSphere) WithUbuntu126 added in v0.15.0

func (v *VSphere) WithUbuntu126() api.ClusterConfigFiller

WithUbuntu126 returns a cluster config filler that sets the kubernetes version of the cluster to 1.26 as well as the right ubuntu template and osFamily for all VSphereMachineConfigs.

func (*VSphere) WithWorkerNodeGroup added in v0.14.0

func (v *VSphere) WithWorkerNodeGroup(name string, workerNodeGroup *WorkerNodeGroup, fillers ...api.VSphereMachineConfigFiller) api.ClusterConfigFiller

WithWorkerNodeGroup returns an api.ClusterFiller that adds a new workerNodeGroupConfiguration and a corresponding VSphereMachineConfig to the cluster config.

func (*VSphere) WithWorkerNodeGroupConfiguration added in v0.14.0

func (v *VSphere) WithWorkerNodeGroupConfiguration(name string, workerNodeGroup *WorkerNodeGroup) api.ClusterConfigFiller

WithWorkerNodeGroupConfiguration returns an api.ClusterFiller that adds a new workerNodeGroupConfiguration item to the cluster config.

type VSphereOpt

type VSphereOpt func(*VSphere)

VSphereOpt is construction option for the E2E vSphere provider.

func WithBottleRocket122 added in v0.8.0

func WithBottleRocket122() VSphereOpt

func WithBottleRocket123 added in v0.9.2

func WithBottleRocket123() VSphereOpt

func WithBottleRocket124 added in v0.12.1

func WithBottleRocket124() VSphereOpt

WithBottleRocket124 returns br 124 var.

func WithBottleRocket125 added in v0.14.2

func WithBottleRocket125() VSphereOpt

WithBottleRocket125 returns br 1.25 var.

func WithBottleRocket126 added in v0.15.0

func WithBottleRocket126() VSphereOpt

WithBottleRocket126 returns br 1.26 var.

func WithBottlerocketFromRelease added in v0.12.0

func WithBottlerocketFromRelease(release *releasev1.EksARelease, kubeVersion anywherev1.KubernetesVersion) VSphereOpt

func WithBottlerocketKubernetesSettingsForAllMachines added in v0.15.0

func WithBottlerocketKubernetesSettingsForAllMachines() VSphereOpt

WithBottlerocketKubernetesSettingsForAllMachines sets Bottlerocket Kubernetes settings for all the machines.

func WithDiskGiBForAllMachines added in v0.15.0

func WithDiskGiBForAllMachines(value int) VSphereOpt

WithDiskGiBForAllMachines sets diskGiB for all the machines.

func WithFullCloneMode added in v0.15.0

func WithFullCloneMode() VSphereOpt

WithFullCloneMode sets clone mode to FullClone for all the machine.

func WithLinkedCloneMode added in v0.15.0

func WithLinkedCloneMode() VSphereOpt

WithLinkedCloneMode sets clone mode to LinkedClone for all the machine.

func WithNTPServersForAllMachines added in v0.15.0

func WithNTPServersForAllMachines() VSphereOpt

WithNTPServersForAllMachines sets NTP servers for all the machines.

func WithPrivateNetwork added in v0.6.0

func WithPrivateNetwork() VSphereOpt

func WithRedHat122VSphere added in v0.12.0

func WithRedHat122VSphere() VSphereOpt

WithRedHat122VSphere vsphere test with redhat 1.22.

func WithRedHat123VSphere added in v0.12.0

func WithRedHat123VSphere() VSphereOpt

WithRedHat123VSphere vsphere test with redhat 1.23.

func WithSSHAuthorizedKeyForAllMachines added in v0.15.0

func WithSSHAuthorizedKeyForAllMachines(sshKey string) VSphereOpt

WithSSHAuthorizedKeyForAllMachines sets SSH authorized keys for all the machines.

func WithUbuntu122 added in v0.8.0

func WithUbuntu122() VSphereOpt

WithUbuntu122 returns a VSphereOpt that adds API fillers to use a Ubuntu vSphere template for k8s 1.22 and the "ubuntu" osFamily in all machine configs.

func WithUbuntu123 added in v0.9.1

func WithUbuntu123() VSphereOpt

WithUbuntu123 returns a VSphereOpt that adds API fillers to use a Ubuntu vSphere template for k8s 1.23 and the "ubuntu" osFamily in all machine configs.

func WithUbuntu124 added in v0.12.0

func WithUbuntu124() VSphereOpt

WithUbuntu124 returns a VSphereOpt that adds API fillers to use a Ubuntu vSphere template for k8s 1.24 and the "ubuntu" osFamily in all machine configs.

func WithUbuntu125 added in v0.14.2

func WithUbuntu125() VSphereOpt

WithUbuntu125 returns a VSphereOpt that adds API fillers to use a Ubuntu vSphere template for k8s 1.25 and the "ubuntu" osFamily in all machine configs.

func WithUbuntu126 added in v0.15.0

func WithUbuntu126() VSphereOpt

WithUbuntu126 returns a VSphereOpt that adds API fillers to use a Ubuntu vSphere template for k8s 1.26 and the "ubuntu" osFamily in all machine configs.

func WithUbuntuForRelease added in v0.12.0

func WithUbuntuForRelease(release *releasev1.EksARelease, kubeVersion anywherev1.KubernetesVersion) VSphereOpt

func WithVSphereFillers

func WithVSphereFillers(fillers ...api.VSphereFiller) VSphereOpt

WithVSphereFillers adds VSphereFiller to the provider default fillers.

func WithVSphereTags added in v0.13.0

func WithVSphereTags() VSphereOpt

WithVSphereTags with vsphere tags option.

func WithVSphereWorkerNodeGroup added in v0.7.1

func WithVSphereWorkerNodeGroup(name string, workerNodeGroup *WorkerNodeGroup, fillers ...api.VSphereMachineConfigFiller) VSphereOpt

type WorkerNodeGroup added in v0.7.1

type WorkerNodeGroup struct {
	Name                                 string
	Fillers                              []api.WorkerNodeGroupFiller
	MachineConfigKind, MachineConfigName string
}

func NoScheduleWorkerNodeGroup added in v0.7.1

func NoScheduleWorkerNodeGroup(name string, count int) *WorkerNodeGroup

func PreferNoScheduleWorkerNodeGroup added in v0.7.1

func PreferNoScheduleWorkerNodeGroup(name string, count int) *WorkerNodeGroup

func WithWorkerNodeGroup added in v0.7.1

func WithWorkerNodeGroup(name string, fillers ...api.WorkerNodeGroupFiller) *WorkerNodeGroup

func (*WorkerNodeGroup) ClusterFiller added in v0.9.0

func (w *WorkerNodeGroup) ClusterFiller() api.ClusterFiller

type WorkerNodeValidation added in v0.7.1

type WorkerNodeValidation func(configuration v1alpha1.WorkerNodeGroupConfiguration, node corev1.Node) (err error)

WorkerNodeValidation should return an error if either an error is encountered during execution or the validation logically fails. This validation function will be executed by ValidateWorkerNodes with a worker node group configuration and a corresponding node which was created as a part of that worker node group configuration.

type WorkloadCluster added in v0.6.1

type WorkloadCluster struct {
	*ClusterE2ETest
	ManagementClusterKubeconfigFile func() string
}

func (*WorkloadCluster) ApplyClusterManifest added in v0.14.0

func (w *WorkloadCluster) ApplyClusterManifest()

ApplyClusterManifest uses client-side logic to create/update objects defined in a cluster yaml manifest.

func (*WorkloadCluster) CreateCluster added in v0.6.1

func (w *WorkloadCluster) CreateCluster(opts ...CommandOpt)

func (*WorkloadCluster) DeleteCluster added in v0.6.1

func (w *WorkloadCluster) DeleteCluster(opts ...CommandOpt)

func (*WorkloadCluster) DeleteClusterWithKubectl added in v0.14.0

func (w *WorkloadCluster) DeleteClusterWithKubectl()

DeleteClusterWithKubectl uses client-side logic to delete a cluster.

func (*WorkloadCluster) DeleteWorkloadVsphereCSI added in v0.15.0

func (w *WorkloadCluster) DeleteWorkloadVsphereCSI()

DeleteWorkloadVsphereCSI removes the vsphere CSI from a workload cluster.

func (*WorkloadCluster) UpgradeCluster added in v0.6.1

func (w *WorkloadCluster) UpgradeCluster(clusterOpts []ClusterE2ETestOpt, commandOpts ...CommandOpt)

func (*WorkloadCluster) ValidateClusterDelete added in v0.15.0

func (w *WorkloadCluster) ValidateClusterDelete()

ValidateClusterDelete verifies the cluster has been deleted.

func (*WorkloadCluster) WaitForAvailableHardware added in v0.15.0

func (w *WorkloadCluster) WaitForAvailableHardware()

WaitForAvailableHardware waits for workload cluster hardware to be available.

func (*WorkloadCluster) WaitForKubeconfig added in v0.14.0

func (w *WorkloadCluster) WaitForKubeconfig()

WaitForKubeconfig waits for the kubeconfig for the workload cluster to be available and then writes it to disk.

type WorkloadClusters added in v0.6.1

type WorkloadClusters map[string]*WorkloadCluster

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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