framework

package
v0.16.2 Latest Latest
Warning

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

Go to latest
Published: Jul 7, 2023 License: Apache-2.0 Imports: 81 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 TinkerbellProxyRequiredEnvVars = ProxyRequiredEnvVars{
	HttpProxy:  tinkerbellHTTPProxyVar,
	HttpsProxy: tinkerbellHTTPSProxyVar,
	NoProxy:    tinkerbellNoProxyVar,
}

TinkerbellProxyRequiredEnvVars is for proxy related variables for tinkerbell.

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

Functions

func AwaitCiliumDaemonSetReady added in v0.16.0

func AwaitCiliumDaemonSetReady(ctx context.Context, client client.Client, retries int, timeout time.Duration) error

AwaitCiliumDaemonSetReady awaits the Cilium daemonset to be ready in the cluster represented by client. It is ready when the DaemonSet's .Status.NumberUnavailable is 0.

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 CloudStackCredentialsAz1 added in v0.16.0

func CloudStackCredentialsAz1() string

CloudStackCredentialsAz1 returns the value of the environment variable for cloudstackCredentialsVar.

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 GetLatestMinorReleaseFromMain added in v0.7.0

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

func GetLatestMinorReleaseFromTestBranch added in v0.7.0

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

GetLatestMinorReleaseFromTestBranch inspects the T_BRANCH_NAME environment variable for a branch to retrieve the latest released CLI version. If T_BRANCH_NAME is main, it returns the latest minor release.

If T_BRANCH_NAME is not main, it expects it to be of the format release-<major>.<minor> and will use the <major>.<minor> to retrieve the previous minor release. For example, if the release branch is release-0.2 it will retrieve the latest 0.1 release.

func GetLatestPatchRelease added in v0.16.0

func GetLatestPatchRelease(releases *releasev1alpha1.Release, version *semver.Version) *releasev1alpha1.EksARelease

GetLatestPatchRelease return the latest patch version for the major.minor release version. If releases doesn't contain a major.minor for version, it returns nil.

func GetLatestProductionPatchRelease added in v0.16.0

func GetLatestProductionPatchRelease(version *semver.Version) (*releasev1alpha1.EksARelease, error)

GetLatestProductionPatchRelease retrieves the latest patch release for version from the production release manifest. If the production release manifest does not contain a release for the major.minor of version it errors.

func GetNTPServersFromEnv added in v0.15.0

func GetNTPServersFromEnv() []string

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

func GetPreviousMinorReleaseFromVersion added in v0.16.0

func GetPreviousMinorReleaseFromVersion(version *semver.Version) (*releasev1alpha1.EksARelease, error)

GetPreviousMinorReleaseFromVersion calculates the previous minor release by decrementing the version minor number, then retrieves the latest <major>.<minor>.<patch> for the calculated version.

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 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 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 UpdateNutanixUbuntuTemplate127Var added in v0.16.0

func UpdateNutanixUbuntuTemplate127Var() api.NutanixFiller

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

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 UpdateRedhatTemplate124Var added in v0.16.0

func UpdateRedhatTemplate124Var() api.CloudStackFiller

UpdateRedhatTemplate124Var updates the CloudStackTemplate for all machines to the one corresponding to K8s 1.24.

func UpdateSnowUbuntuTemplate123Var added in v0.11.0

func UpdateSnowUbuntuTemplate123Var() api.SnowFiller

func UpdateTinkerbellMachineSSHAuthorizedKey added in v0.15.3

func UpdateTinkerbellMachineSSHAuthorizedKey() api.TinkerbellMachineFiller

UpdateTinkerbellMachineSSHAuthorizedKey updates a tinkerbell machine configs SSHAuthorizedKey.

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 UpdateTinkerbellUbuntuTemplate127Var added in v0.16.0

func UpdateTinkerbellUbuntuTemplate127Var() api.TinkerbellFiller

UpdateTinkerbellUbuntuTemplate127Var 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)

ValidateControlPlaneTaints will validate that a controlPlane node has the expected taints.

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)

ValidateWorkerNodeTaints will validate that a worker node has the expected taints in the worker node group configuration.

func WithAwsIamConfig added in v0.16.0

func WithAwsIamConfig() api.ClusterConfigFiller

WithAwsIamConfig sets aws iam in cluster config.

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.

func WithOIDCConfig added in v0.16.0

func WithOIDCConfig() api.ClusterConfigFiller

WithOIDCConfig sets oidc in 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) Redhat123Template added in v0.16.0

func (c *CloudStack) Redhat123Template() api.CloudStackFiller

Redhat123Template returns cloudstack filler for 1.23 Ubuntu.

func (*CloudStack) Redhat124Template added in v0.16.0

func (c *CloudStack) Redhat124Template() api.CloudStackFiller

Redhat124Template returns cloudstack filler for 1.24 Ubuntu.

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

func (*CloudStack) WithRedhat123 added in v0.16.0

func (c *CloudStack) WithRedhat123() api.ClusterConfigFiller

WithRedhat123 returns a cluster config filler that sets the kubernetes version of the cluster to 1.23 as well as the right redhat template for all CloudStackMachineConfigs.

func (*CloudStack) WithRedhat124 added in v0.16.0

func (c *CloudStack) WithRedhat124() api.ClusterConfigFiller

WithRedhat124 returns a cluster config filler that sets the kubernetes version of the cluster to 1.24 as well as the right redhat template for all CloudStackMachineConfigs.

func (*CloudStack) WithRedhatVersion added in v0.16.0

func (c *CloudStack) WithRedhatVersion(version anywherev1.KubernetesVersion) api.ClusterConfigFiller

WithRedhatVersion returns a cluster config filler that sets the kubernetes version of the cluster to the k8s version provider, as well as the right redhat template for all CloudStackMachineConfigs.

func (*CloudStack) WithWorkerNodeGroup added in v0.16.0

func (c *CloudStack) WithWorkerNodeGroup(name string, workerNodeGroup *WorkerNodeGroup, fillers ...api.CloudStackMachineConfigFiller) api.ClusterConfigFiller

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

func (*CloudStack) WithWorkerNodeGroupConfiguration added in v0.16.0

func (c *CloudStack) WithWorkerNodeGroupConfiguration(name string, workerNodeGroup *WorkerNodeGroup) api.ClusterConfigFiller

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

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 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 WithCloudStackRedhat124 added in v0.16.0

func WithCloudStackRedhat124() CloudStackOpt

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

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) BuildWorkloadClusterClient added in v0.16.0

func (e *ClusterE2ETest) BuildWorkloadClusterClient() (client.Client, error)

BuildWorkloadClusterClient creates a client for the workload cluster created by e.

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()

CleanupVms is a helper to clean up VMs. It is a noop if the T_CLEANUP_VMS environment variable is false or unset.

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) CreateCloudStackCredentialsSecretFromEnvVar added in v0.16.0

func (e *ClusterE2ETest) CreateCloudStackCredentialsSecretFromEnvVar(name string, profileName string)

CreateCloudStackCredentialsSecretFromEnvVar parses the cloudstack credentials from an environment variable, builds a new secret object from the credentials in the provided profile and creates it in the cluster.

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) 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) GenerateSupportBundleOnCleanupIfTestFailed added in v0.16.0

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

GenerateSupportBundleOnCleanupIfTestFailed does what it says on the tin.

It uses testing.T.Cleanup to register a handler that checks if the test failed, and generates a support bundle only in the event of a failure.

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) InstallOSSCilium added in v0.16.0

func (e *ClusterE2ETest) InstallOSSCilium()

InstallOSSCilium installs an open source version of Cilium. The version is dependent on the Cilium CLI version available on the PATH.

func (*ClusterE2ETest) KubeconfigFilePath added in v0.16.0

func (e *ClusterE2ETest) KubeconfigFilePath() string

KubeconfigFilePath retrieves the Kubeconfig path used for the workload cluster.

func (*ClusterE2ETest) LoadClusterConfigGeneratedByCLI added in v0.16.1

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

LoadClusterConfigGeneratedByCLI loads the full cluster config from the file generated when a cluster is created using the CLI.

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) ReplaceCiliumWithOSSCilium added in v0.16.0

func (e *ClusterE2ETest) ReplaceCiliumWithOSSCilium()

ReplaceCiliumWithOSSCilium replaces the current Cilium installation in the workload cluster with an open source version. See InstallOSSCilium().

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(packageName string, mgmtCluster *types.Cluster)

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

func (*ClusterE2ETest) UninstallCilium added in v0.16.0

func (e *ClusterE2ETest) UninstallCilium()

UninstallCilium uninstalls the workload clusters Cilium.

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) 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) ValidateCiliumCLIAvailable added in v0.16.0

func (e *ClusterE2ETest) ValidateCiliumCLIAvailable()

ValidateCiliumCLIAvailable ensures the Cilium CLI can be found on the PATH.

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) ValidateClusterStateWithT added in v0.16.0

func (e *ClusterE2ETest) ValidateClusterStateWithT(t *testing.T)

ValidateClusterStateWithT runs a set of validations against the cluster to identify an invalid cluster state and accepts *testing.T as a parameter.

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) ValidateEKSACiliumInstalled added in v0.16.0

func (e *ClusterE2ETest) ValidateEKSACiliumInstalled()

ValidateEKSACiliumInstalled inspects the workload cluster for an EKSA Cilium installation erroring if one is not found.

func (*ClusterE2ETest) ValidateEKSACiliumNotInstalled added in v0.16.0

func (e *ClusterE2ETest) ValidateEKSACiliumNotInstalled()

ValidateEKSACiliumNotInstalled inspects the workload cluster for an EKSA Cilium installation erroring if one is found.

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(packageName 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(packageName 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(packageName 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(packageName 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 WithAwsIamEnvVarCheck added in v0.16.0

func WithAwsIamEnvVarCheck() ClusterE2ETestOpt

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

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 WithNoPowerActions added in v0.10.0

func WithNoPowerActions() ClusterE2ETestOpt

func WithOIDC

func WithOIDC() ClusterE2ETestOpt

func WithOIDCEnvVarCheck added in v0.16.0

func WithOIDCEnvVarCheck() ClusterE2ETestOpt

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

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 WithSkipCiliumUpgrade added in v0.16.0

func WithSkipCiliumUpgrade() ClusterE2ETestOpt

WithSkipCiliumUpgrade returns an E2E test option that configures the Cluster object to skip Cilium upgrades.

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 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.

func WithUbuntu127Nutanix added in v0.16.0

func WithUbuntu127Nutanix() NutanixOpt

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

func WithUbuntu127NutanixUUID added in v0.16.0

func WithUbuntu127NutanixUUID() NutanixOpt

WithUbuntu127NutanixUUID returns a NutanixOpt that adds API fillers to use a Ubuntu Nutanix template UUID for k8s 1.27 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(clusterName 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) 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) WithBottlerocket126 added in v0.16.0

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

WithBottlerocket126 returns a cluster config filler that sets the kubernetes version of the cluster to 1.26 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) WithBottlerocket127 added in v0.16.0

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

WithBottlerocket127 returns a cluster config filler that sets the kubernetes version of the cluster to 1.27 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) 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) WithBottlerocketStaticIP125 added in v0.16.0

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

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

func (*Snow) WithBottlerocketStaticIP126 added in v0.16.0

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

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

func (*Snow) WithBottlerocketStaticIP127 added in v0.16.0

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

WithBottlerocketStaticIP127 returns a cluster config filler that sets the kubernetes version of the cluster to 1.27 as well as the right devices, osFamily and static ip config for all SnowMachineConfigs. Comparing to WithBottlerocket127, 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) 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) WithUbuntu126 added in v0.16.0

func (s *Snow) 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 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) WithUbuntu127 added in v0.16.0

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

WithUbuntu127 returns a cluster config filler that sets the kubernetes version of the cluster to 1.27 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 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 WithSnowUbuntu126 added in v0.16.0

func WithSnowUbuntu126() SnowOpt

WithSnowUbuntu126 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 WithSnowUbuntu127 added in v0.16.0

func WithSnowUbuntu127() SnowOpt

WithSnowUbuntu127 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 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 WithRedHat126Tinkerbell added in v0.16.0

func WithRedHat126Tinkerbell() TinkerbellOpt

WithRedHat126Tinkerbell tink test with redhat 1.26.

func WithRedHat127Tinkerbell added in v0.16.0

func WithRedHat127Tinkerbell() TinkerbellOpt

WithRedHat127Tinkerbell tink test with redhat 1.27.

func WithTinkerbellExternalEtcdTopology added in v0.8.0

func WithTinkerbellExternalEtcdTopology(count int) 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.

func WithUbuntu127Tinkerbell added in v0.16.0

func WithUbuntu127Tinkerbell() TinkerbellOpt

WithUbuntu127Tinkerbell tink test with ubuntu 1.27.

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) 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) Bottlerocket127Template added in v0.16.0

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

Bottlerocket127Template returns vsphere filler for 1.27 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) 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) Ubuntu127Template added in v0.16.0

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

Ubuntu127Template returns vsphere filler for 1.27 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) 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) 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 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 WithBottleRocket127 added in v0.16.0

func WithBottleRocket127() VSphereOpt

WithBottleRocket127 returns br 1.27 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 WithRedHat123VSphere added in v0.12.0

func WithRedHat123VSphere() VSphereOpt

WithRedHat123VSphere vsphere test with redhat 1.23.

func WithRedHat124VSphere added in v0.16.0

func WithRedHat124VSphere() VSphereOpt

WithRedHat124VSphere vsphere test with redhat 1.24.

func WithRedHat125VSphere added in v0.16.0

func WithRedHat125VSphere() VSphereOpt

WithRedHat125VSphere vsphere test with redhat 1.25.

func WithRedHat126VSphere added in v0.16.0

func WithRedHat126VSphere() VSphereOpt

WithRedHat126VSphere vsphere test with redhat 1.26.

func WithRedHat127VSphere added in v0.16.0

func WithRedHat127VSphere() VSphereOpt

WithRedHat127VSphere vsphere test with redhat 1.27.

func WithSSHAuthorizedKeyForAllMachines added in v0.15.0

func WithSSHAuthorizedKeyForAllMachines(sshKey string) VSphereOpt

WithSSHAuthorizedKeyForAllMachines sets SSH authorized keys for all the machines.

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 WithUbuntu127 added in v0.16.0

func WithUbuntu127() VSphereOpt

WithUbuntu127 returns a VSphereOpt that adds API fillers to use a Ubuntu vSphere template for k8s 1.27 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