import "sigs.k8s.io/cluster-api/test/framework"
alltypes_helpers.go cluster_helpers.go cluster_proxy.go clusterresourceset_helpers.go control_plane.go controller_helpers.go controlplane_helpers.go convenience.go daemonset_helpers.go deployment_helpers.go docker_logcollector.go interfaces.go machine_helpers.go machinedeployment_helpers.go machinehealthcheck_helpers.go machinepool_helpers.go machines.go namespace_helpers.go pod_helpers.go suite_helpers.go
func AddDeploymentToWorkloadCluster(ctx context.Context, input AddDeploymentToWorkloadClusterInput)
func AddPodDisruptionBudget(ctx context.Context, input AddPodDisruptionBudgetInput)
func AssertControlPlaneFailureDomains(ctx context.Context, input AssertControlPlaneFailureDomainsInput)
AssertControlPlaneFailureDomains will look at all control plane machines and see what failure domains they were placed in. If machines were placed in unexpected or wrong failure domains the expectation will fail.
CompleteCommand prints a command before running it. Acts as a helper function. privateArgs when true will not print arguments.
func CreateCluster(ctx context.Context, input CreateClusterInput, intervals ...interface{})
CreateCluster will create the Cluster and InfraCluster objects.
func CreateJUnitReporterForProw(artifactsDirectory string) *reporters.JUnitReporter
CreateJUnitReporterForProw sets up Ginkgo to create JUnit outputs compatible with Prow.
func CreateKubeadmControlPlane(ctx context.Context, input CreateKubeadmControlPlaneInput, intervals ...interface{})
CreateKubeadmControlPlane creates the control plane object and necessary dependencies.
func CreateMachineDeployment(ctx context.Context, input CreateMachineDeploymentInput)
CreateMachineDeployment creates the machine deployment and dependencies.
func CreateNamespace(ctx context.Context, input CreateNamespaceInput, intervals ...interface{}) *corev1.Namespace
CreateNamespace is used to create a namespace object. If name is empty, a "test-" + util.RandomString(6) name will be generated.
func CreateNamespaceAndWatchEvents(ctx context.Context, input CreateNamespaceAndWatchEventsInput) (*corev1.Namespace, context.CancelFunc)
CreateNamespaceAndWatchEvents creates a namespace and setups a watch for the namespace events.
func CreateRelatedResources(ctx context.Context, input CreateRelatedResourcesInput, intervals ...interface{})
CreateRelatedResources is used to create runtime.Objects.
func DeleteAllClustersAndWait(ctx context.Context, input DeleteAllClustersAndWaitInput, intervals ...interface{})
DeleteAllClustersAndWait deletes a cluster object and waits for it to be gone.
func DeleteCluster(ctx context.Context, input DeleteClusterInput)
DeleteCluster deletes the cluster and waits for everything the cluster owned to actually be gone.
func DeleteClusterAndWait(ctx context.Context, input DeleteClusterAndWaitInput, intervals ...interface{})
DeleteClusterAndWait deletes a cluster object and waits for it to be gone.
func DeleteNamespace(ctx context.Context, input DeleteNamespaceInput, intervals ...interface{})
DeleteNamespace is used to delete namespace object.
func DeployUnevictablePod(ctx context.Context, input DeployUnevictablePodInput)
func DescribeFailedDeployment(input WaitForDeploymentsAvailableInput, deployment *appsv1.Deployment) string
DescribeFailedDeployment returns detailed output to help debug a deployment failure in e2e.
func DiscoverClusterResourceSetAndWaitForSuccess(ctx context.Context, input DiscoverClusterResourceSetAndWaitForSuccessInput, intervals ...interface{})
DiscoverClusterResourceSetAndWaitForSuccess patches a ClusterResourceSet label to the cluster and waits for resources to be created in that cluster.
func DiscoverMachineHealthChecksAndWaitForRemediation(ctx context.Context, input DiscoverMachineHealthCheckAndWaitForRemediationInput)
DiscoverMachineHealthCheckAndWaitForRemediation patches an unhealthy node condition to one node observed by the Machine Health Check and then wait for remediation.
func DiscoveryAndWaitForCluster(ctx context.Context, input DiscoveryAndWaitForClusterInput, intervals ...interface{}) *clusterv1.Cluster
DiscoveryAndWaitForCluster discovers a cluster object in a namespace and waits for the cluster infrastructure to be provisioned.
func DiscoveryAndWaitForControlPlaneInitialized(ctx context.Context, input DiscoveryAndWaitForControlPlaneInitializedInput, intervals ...interface{}) *controlplanev1.KubeadmControlPlane
DiscoveryAndWaitForControlPlaneInitialized discovers the KubeadmControlPlane object attached to a cluster and waits for it to be initialized.
func DiscoveryAndWaitForMachineDeployments(ctx context.Context, input DiscoveryAndWaitForMachineDeploymentsInput, intervals ...interface{}) []*clusterv1.MachineDeployment
DiscoveryAndWaitForMachineDeployments discovers the MachineDeployments existing in a cluster and waits for them to be ready (all the machine provisioned).
func DiscoveryAndWaitForMachinePools(ctx context.Context, input DiscoveryAndWaitForMachinePoolsInput, intervals ...interface{}) []*clusterv1exp.MachinePool
DiscoveryAndWaitForMachinePools discovers the MachinePools existing in a cluster and waits for them to be ready (all the machine provisioned).
func DumpAllResources(ctx context.Context, input DumpAllResourcesInput)
DumpAllResources dumps Cluster API related resources to YAML This dump includes all the types belonging to CAPI providers.
EnsureNamespace verifies if a namespaces exists. If it doesn't it will create the namespace.
EtcdImageTagCondition returns a podListCondition that ensures the pod image contains the specified image tag
GatherJUnitReports will move JUnit files from one directory to another, renaming them in a format expected by Prow.
func GetAllClustersByNamespace(ctx context.Context, input GetAllClustersByNamespaceInput) []*clusterv1.Cluster
GetAllClustersByNamespace returns the list of Cluster object in a namespace
func GetCAPIResources(ctx context.Context, input GetCAPIResourcesInput) []*unstructured.Unstructured
GetCAPIResources reads all the CAPI resources in a namespace. This list includes all the types belonging to CAPI providers.
GetClusterByName returns a Cluster object given his name
func GetClusterResourceSetBindingByCluster(ctx context.Context, input GetClusterResourceSetBindingByClusterInput) *addonsv1.ClusterResourceSetBinding
GetClusterResourceSetBindingByCluster returns the ClusterResourceBinding objects for a cluster.
func GetClusterResourceSets(ctx context.Context, input GetClusterResourceSetsInput) []*addonsv1.ClusterResourceSet
GetClusterResourceSets returns all ClusterResourceSet objects in a namespace.
func GetControlPlaneMachinesByCluster(ctx context.Context, input GetControlPlaneMachinesByClusterInput) []clusterv1.Machine
GetControlPlaneMachinesByCluster returns the Machine objects for a cluster. Important! this method relies on labels that are created by the CAPI controllers during the first reconciliation, so it is necessary to ensure this is already happened before calling it.
func GetControllerDeployments(ctx context.Context, input GetControllerDeploymentsInput) []*appsv1.Deployment
GetControllerDeployments returns all the deployment for the cluster API controllers existing in a management cluster.
func GetKubeadmControlPlaneByCluster(ctx context.Context, input GetKubeadmControlPlaneByClusterInput) *controlplanev1.KubeadmControlPlane
GetKubeadmControlPlaneByCluster returns the KubeadmControlPlane objects for a cluster. Important! this method relies on labels that are created by the CAPI controllers during the first reconciliation, so it is necessary to ensure this is already happened before calling it.
func GetMachineDeploymentsByCluster(ctx context.Context, input GetMachineDeploymentsByClusterInput) []*clusterv1.MachineDeployment
GetMachineDeploymentsByCluster returns the MachineDeployments objects for a cluster. Important! this method relies on labels that are created by the CAPI controllers during the first reconciliation, so it is necessary to ensure this is already happened before calling it.
func GetMachineHealthChecksForCluster(ctx context.Context, input GetMachineHealthChecksForClusterInput) []*clusterv1.MachineHealthCheck
GetMachineHealthChecksForCluster returns the MachineHealthCheck objects for a cluster. Important! this method relies on labels that are created by the CAPI controllers during the first reconciliation, so it is necessary to ensure this is already happened before calling it.
func GetMachinePoolInstanceVersions(ctx context.Context, input GetMachinesPoolInstancesInput) []string
GetMachinePoolInstanceVersions returns the
func GetMachinePoolsByCluster(ctx context.Context, input GetMachinePoolsByClusterInput) []*clusterv1exp.MachinePool
GetMachinePoolsByCluster returns the MachinePools objects for a cluster. Important! this method relies on labels that are created by the CAPI controllers during the first reconciliation, so it is necessary to ensure this is already happened before calling it.
func GetMachinesByMachineDeployments(ctx context.Context, input GetMachinesByMachineDeploymentsInput) []clusterv1.Machine
GetMachinesByMachineDeployments returns Machine objects for a cluster belonging to a machine deployment. Important! this method relies on labels that are created by the CAPI controllers during the first reconciliation, so it is necessary to ensure this is already happened before calling it.
func GetMachinesByMachineHealthCheck(ctx context.Context, input GetMachinesByMachineHealthCheckInput) []clusterv1.Machine
GetMachinesByMachineHealthCheck returns Machine objects for a cluster that match with MachineHealthCheck selector.
ObjectToKind returns the Kind without the package prefix. Pass in a pointer to a struct This will panic if used incorrectly.
func PatchClusterLabel(ctx context.Context, input PatchClusterLabelInput)
PatchClusterLabel patches labels to a cluster.
func PatchNodeCondition(ctx context.Context, input PatchNodeConditionInput)
PatchNodeCondition patches a node condition to any one of the machines with a node ref.
PhasePodCondition is a podListCondition ensuring that pods are in the expected pod phase
PrettyPrint returns a formatted JSON version of the object given.
ResolveArtifactsDirectory attempts to resolve a directory to store test outputs, using either that provided by Prow, or defaulting to _artifacts
func ScaleAndWaitControlPlane(ctx context.Context, input ScaleAndWaitControlPlaneInput)
ScaleAndWaitControlPlane scales KCP and waits until all machines have node ref and equal to Replicas.
func ScaleAndWaitMachineDeployment(ctx context.Context, input ScaleAndWaitMachineDeploymentInput)
ScaleAndWaitMachineDeployment scales MachineDeployment and waits until all machines have node ref and equal to Replicas.
func ScaleMachinePoolAndWait(ctx context.Context, input ScaleMachinePoolAndWaitInput)
ScaleMachinePoolAndWait scales a machine pool and waits for its instances to scale up.
TryAddDefaultSchemes tries to add the following schemes:
* Kubernetes corev1 * Kubernetes appsv1 * CAPI core * Kubeadm Bootstrapper * Kubeadm ControlPlane
Any error that occurs when trying to add the schemes is ignored.
func UpgradeControlPlaneAndWaitForUpgrade(ctx context.Context, input UpgradeControlPlaneAndWaitForUpgradeInput)
UpgradeControlPlaneAndWaitForUpgrade upgrades a KubeadmControlPlane and waits for it to be upgraded.
func UpgradeMachineDeploymentInfrastructureRefAndWait(ctx context.Context, input UpgradeMachineDeploymentInfrastructureRefAndWaitInput)
UpgradeMachineDeploymentInfrastructureRefAndWait upgrades a machine deployment infrastructure ref and waits for its machines to be upgraded.
func UpgradeMachineDeploymentsAndWait(ctx context.Context, input UpgradeMachineDeploymentsAndWaitInput)
UpgradeMachineDeploymentsAndWait upgrades a machine deployment and waits for its machines to be upgraded.
func UpgradeMachinePoolAndWait(ctx context.Context, input UpgradeMachinePoolAndWaitInput)
UpgradeMachinePoolAndWait upgrades a machine pool and waits for its instances to be upgraded.
func WaitForClusterDeleted(ctx context.Context, input WaitForClusterDeletedInput, intervals ...interface{})
WaitForClusterDeleted waits until the cluster object has been deleted.
func WaitForClusterMachineNodeRefs(ctx context.Context, input WaitForClusterMachineNodeRefsInput, intervals ...interface{})
WaitForClusterMachineNodesRefs waits until all nodes associated with a machine deployment exist.
func WaitForClusterMachinesReady(ctx context.Context, input WaitForClusterMachinesReadyInput, intervals ...interface{})
func WaitForClusterResourceSetToApplyResources(ctx context.Context, input WaitForClusterResourceSetToApplyResourcesInput, intervals ...interface{})
WaitForClusterResourceSetToApplyResources wait until all ClusterResourceSet resources are created in the matching cluster.
func WaitForClusterToProvision(ctx context.Context, input WaitForClusterToProvisionInput, intervals ...interface{})
WaitForClusterToProvision will wait for a cluster to have a phase status of provisioned.
func WaitForControlPlaneAndMachinesReady(ctx context.Context, input WaitForControlPlaneAndMachinesReadyInput, intervals ...interface{})
WaitForControlPlaneAndMachinesReady waits for a KubeadmControlPlane object to be ready (all the machine provisioned and one node ready).
func WaitForControlPlaneMachinesToBeUpgraded(ctx context.Context, input WaitForControlPlaneMachinesToBeUpgradedInput, intervals ...interface{})
WaitForControlPlaneMachinesToBeUpgraded waits until all machines are upgraded to the correct kubernetes version.
func WaitForControlPlaneToBeReady(ctx context.Context, input WaitForControlPlaneToBeReadyInput, intervals ...interface{})
WaitForControlPlaneToBeReady will wait for a control plane to be ready.
func WaitForControlPlaneToBeUpToDate(ctx context.Context, input WaitForControlPlaneToBeUpToDateInput, intervals ...interface{})
WaitForControlPlaneToBeUpToDate will wait for a control plane to be fully up-to-date.
func WaitForDNSUpgrade(ctx context.Context, input WaitForDNSUpgradeInput, intervals ...interface{})
WaitForDNSUpgrade waits until CoreDNS version matches with the CoreDNS upgrade version. This is called during KCP upgrade.
func WaitForDeploymentsAvailable(ctx context.Context, input WaitForDeploymentsAvailableInput, intervals ...interface{})
WaitForDeploymentsAvailable waits until the Deployment has status.Available = True, that signals that all the desired replicas are in place. This can be used to check if Cluster API controllers installed in the management cluster are working.
func WaitForKubeProxyUpgrade(ctx context.Context, input WaitForKubeProxyUpgradeInput, intervals ...interface{})
WaitForKubeProxyUpgrade waits until kube-proxy version matches with the kubernetes version. This is called during KCP upgrade.
func WaitForKubeadmControlPlaneMachinesToExist(ctx context.Context, input WaitForKubeadmControlPlaneMachinesToExistInput, intervals ...interface{})
WaitForKubeadmControlPlaneMachinesToExist will wait until all control plane machines have node refs.
func WaitForMachineDeploymentMachinesToBeUpgraded(ctx context.Context, input WaitForMachineDeploymentMachinesToBeUpgradedInput, intervals ...interface{})
WaitForMachineDeploymentMachinesToBeUpgraded waits until all machines belonging to a MachineDeployment are upgraded to the correct kubernetes version.
func WaitForMachineDeploymentNodesToExist(ctx context.Context, input WaitForMachineDeploymentNodesToExistInput, intervals ...interface{})
WaitForMachineDeploymentNodesToExist waits until all nodes associated with a machine deployment exist.
func WaitForMachineDeploymentRollingUpgradeToComplete(ctx context.Context, input WaitForMachineDeploymentRollingUpgradeToCompleteInput, intervals ...interface{})
WaitForMachineDeploymentRollingUpgradeToComplete waits until rolling upgrade is complete.
func WaitForMachineDeploymentRollingUpgradeToStart(ctx context.Context, input WaitForMachineDeploymentRollingUpgradeToStartInput, intervals ...interface{})
WaitForMachineDeploymentRollingUpgradeToStart waits until rolling upgrade starts.
func WaitForMachineHealthCheckToRemediateUnhealthyNodeCondition(ctx context.Context, input WaitForMachineHealthCheckToRemediateUnhealthyNodeConditionInput, intervals ...interface{})
WaitForMachineHealthCheckToRemediateUnhealthyNodeCondition patches a node condition to any one of the machines with a node ref.
func WaitForMachinePoolInstancesToBeUpgraded(ctx context.Context, input WaitForMachinePoolInstancesToBeUpgradedInput, intervals ...interface{})
WaitForMachinePoolInstancesToBeUpgraded waits until all instances belonging to a MachinePool are upgraded to the correct kubernetes version.
func WaitForMachinePoolNodesToExist(ctx context.Context, input WaitForMachinePoolNodesToExistInput, intervals ...interface{})
WaitForMachinePoolNodesToExist waits until all nodes associated with a machine pool exist.
func WaitForMachineStatusCheck(ctx context.Context, input WaitForMachineStatusCheckInput, intervals ...interface{})
WaitForMachineStatusCheck waits for the specified status to be true for the machine.
func WaitForOneKubeadmControlPlaneMachineToExist(ctx context.Context, input WaitForOneKubeadmControlPlaneMachineToExistInput, intervals ...interface{})
WaitForOneKubeadmControlPlaneMachineToExist will wait until all control plane machines have node refs.
func WaitForPodListCondition(ctx context.Context, input WaitForPodListConditionInput, intervals ...interface{})
WaitForPodListCondition waits for the specified condition to be true for all pods returned from the list filter.
func WatchDeploymentLogs(ctx context.Context, input WatchDeploymentLogsInput)
WatchDeploymentLogs streams logs for all containers for all pods belonging to a deployment. Each container's logs are streamed in a separate goroutine so they can all be streamed concurrently. This only causes a test failure if there are errors retrieving the deployment, its pods, or setting up a log file. If there is an error with the log streaming itself, that does not cause the test to fail.
func WatchNamespaceEvents(ctx context.Context, input WatchNamespaceEventsInput)
WatchNamespaceEvents creates a watcher that streams namespace events into a file. Example usage:
ctx, cancelWatches := context.WithCancel(context.Background()) go func() { defer GinkgoRecover() framework.WatchNamespaceEvents(ctx, framework.WatchNamespaceEventsInput{ ClientSet: clientSet, Name: namespace.Name, LogFolder: logFolder, }) }() defer cancelWatches()
func WatchPodMetrics(ctx context.Context, input WatchPodMetricsInput)
WatchPodMetrics captures metrics from all pods every 5s. It expects to find port 8080 open on the controller. Use replacements in an e2econfig to enable metrics scraping without kube-rbac-proxy, e.g:
- new: --metrics-bind-addr=:8080 old: --metrics-addr=127.0.0.1:8080
type AddDeploymentToWorkloadClusterInput struct { ClientSet *kubernetes.Clientset Deployment *appsv1.Deployment Namespace string }
type AddPodDisruptionBudgetInput struct { ClientSet *kubernetes.Clientset Budget *v1beta1.PodDisruptionBudget Namespace string }
type AssertControlPlaneFailureDomainsInput struct { GetLister GetLister ClusterKey client.ObjectKey // ExpectedFailureDomains is required because this function cannot (easily) infer what success looks like. // In theory this field is not strictly necessary and could be replaced with enough clever logic/math. ExpectedFailureDomains map[string]int }
AssertControlPlaneFailureDomainsInput is the input for AssertControlPlaneFailureDomains.
type ClusterLogCollector interface { // CollectMachineLog collects log from a machine. // TODO: describe output folder struct CollectMachineLog(ctx context.Context, managementClusterClient client.Client, m *clusterv1.Machine, outputPath string) error }
ClusterLogCollector defines an object that can collect logs from a machine.
type ClusterProxy interface { // GetName returns the name of the cluster. GetName() string // GetKubeconfigPath returns the path to the kubeconfig file to be used to access the Kubernetes cluster. GetKubeconfigPath() string // GetScheme returns the scheme defining the types hosted in the Kubernetes cluster. // It is used when creating a controller-runtime client. GetScheme() *runtime.Scheme // GetClient returns a controller-runtime client to the Kubernetes cluster. GetClient() client.Client // GetClientSet returns a client-go client to the Kubernetes cluster. GetClientSet() *kubernetes.Clientset // GetRESTConfig returns the REST config for direct use with client-go if needed. GetRESTConfig() *rest.Config // Apply to apply YAML to the Kubernetes cluster, `kubectl apply`. Apply(context.Context, []byte) error // GetWorkloadCluster returns a proxy to a workload cluster defined in the Kubernetes cluster. GetWorkloadCluster(ctx context.Context, namespace, name string) ClusterProxy // CollectWorkloadClusterLogs collects machines logs from the workload cluster. CollectWorkloadClusterLogs(ctx context.Context, namespace, name, outputPath string) // Dispose proxy's internal resources (the operation does not affects the Kubernetes cluster). // This should be implemented as a synchronous function. Dispose(context.Context) }
ClusterProxy defines the behavior of a type that acts as an intermediary with an existing Kubernetes cluster. It should work with any Kubernetes cluster, no matter if the Cluster was created by a bootstrap.ClusterProvider, by Cluster API (a workload cluster or a self-hosted cluster) or else.
func NewClusterProxy(name string, kubeconfigPath string, scheme *runtime.Scheme, options ...Option) ClusterProxy
NewClusterProxy returns a clusterProxy given a KubeconfigPath and the scheme defining the types hosted in the cluster. If a kubeconfig file isn't provided, standard kubeconfig locations will be used (kubectl loading rules apply).
type ComponentGenerator interface { // GetName returns the name of the component. GetName() string // Manifests return the YAML bundle. Manifests(context.Context) ([]byte, error) }
ComponentGenerator is used to install components, generally any YAML bundle.
type CreateClusterInput struct { Creator Creator Cluster *clusterv1.Cluster InfraCluster client.Object }
CreateClusterInput is the input for CreateCluster.
type CreateKubeadmControlPlaneInput struct { Creator Creator ControlPlane *controlplanev1.KubeadmControlPlane MachineTemplate client.Object }
CreateKubeadmControlPlaneInput is the input for CreateKubeadmControlPlane.
type CreateMachineDeploymentInput struct { Creator Creator MachineDeployment *clusterv1.MachineDeployment BootstrapConfigTemplate client.Object InfraMachineTemplate client.Object }
CreateMachineDeploymentInput is the input for CreateMachineDeployment.
type CreateNamespaceAndWatchEventsInput struct { Creator Creator ClientSet *kubernetes.Clientset Name string LogFolder string }
CreateNamespaceAndWatchEventsInput is the input type for CreateNamespaceAndWatchEvents.
CreateNamespaceInput is the input type for CreateNamespace.
CreateRelatedResourcesInput is the input type for CreateRelatedResources.
type Creator interface { Create(ctx context.Context, obj client.Object, opts ...client.CreateOption) error }
Creator can creates resources.
DeleteAllClustersAndWaitInput is the input type for DeleteAllClustersAndWait.
DeleteClusterAndWaitInput is the input type for DeleteClusterAndWait.
DeleteClusterInput is the input for DeleteCluster.
DeleteNamespaceInput is the input type for DeleteNamespace.
type Deleter interface { Delete(ctx context.Context, obj client.Object, opts ...client.DeleteOption) error }
Deleter can delete resources.
type DeployUnevictablePodInput struct { WorkloadClusterProxy ClusterProxy ControlPlane *controlplanev1.KubeadmControlPlane DeploymentName string Namespace string WaitForDeploymentAvailableInterval []interface{} }
type DiscoverClusterResourceSetAndWaitForSuccessInput struct { ClusterProxy ClusterProxy Cluster *clusterv1.Cluster }
DiscoverClusterResourceSetAndWaitForSuccessInput is the input for DiscoverClusterResourceSetAndWaitForSuccess.
type DiscoverMachineHealthCheckAndWaitForRemediationInput struct { ClusterProxy ClusterProxy Cluster *clusterv1.Cluster WaitForMachineRemediation []interface{} }
DiscoverMachineHealthCheckAndWaitForRemediationInput is the input for DiscoverMachineHealthCheckAndWait.
DiscoveryAndWaitForClusterInput is the input type for DiscoveryAndWaitForCluster.
type DiscoveryAndWaitForControlPlaneInitializedInput struct { Lister Lister Cluster *clusterv1.Cluster }
DiscoveryAndWaitForControlPlaneInitializedInput is the input type for DiscoveryAndWaitForControlPlaneInitialized.
type DiscoveryAndWaitForMachineDeploymentsInput struct { Lister Lister Cluster *clusterv1.Cluster }
DiscoveryAndWaitForMachineDeploymentsInput is the input type for DiscoveryAndWaitForMachineDeployments.
type DiscoveryAndWaitForMachinePoolsInput struct { Getter Getter Lister Lister Cluster *clusterv1.Cluster }
DiscoveryAndWaitForMachinePoolsInput is the input type for DiscoveryAndWaitForMachinePools.
type DockerLogCollector struct{}
DockerLogCollector collect logs from a CAPD workload cluster.
func (k DockerLogCollector) CollectMachineLog(ctx context.Context, managementClusterClient client.Client, m *clusterv1.Machine, outputPath string) error
DumpAllResourcesInput is the input for DumpAllResources.
GetAllClustersByNamespaceInput is the input for GetAllClustersByNamespace.
GetCAPIResourcesInput is the input for GetCAPIResources.
GetClusterByNameInput is the input for GetClusterByName.
type GetClusterResourceSetBindingByClusterInput struct { Getter Getter ClusterName string Namespace string }
GetClusterResourceSetBindingByClusterInput is the input for GetClusterResourceSetBindingByCluster.
GetClusterResourceSetsInput is the input for GetClusterResourceSets.
type GetControlPlaneMachinesByClusterInput struct { Lister Lister ClusterName string Namespace string }
GetControlPlaneMachinesByClusterInput is the input for GetControlPlaneMachinesByCluster.
GetControllerDeploymentsInput is the input for GetControllerDeployments.
type GetKubeadmControlPlaneByClusterInput struct { Lister Lister ClusterName string Namespace string }
GetKubeadmControlPlaneByClusterInput is the input for GetKubeadmControlPlaneByCluster.
GetLister can get and list resources.
type GetMachineDeploymentsByClusterInput struct { Lister Lister ClusterName string Namespace string }
GetMachineDeploymentsByClusterInput is the input for GetMachineDeploymentsByCluster
type GetMachineHealthChecksForClusterInput struct { Lister Lister ClusterName string Namespace string }
GetMachineHealthChecksForClusterInput is the input for GetMachineHealthChecksForCluster.
GetMachinePoolsByClusterInput is the input for GetMachinePoolsByCluster
type GetMachinesByMachineDeploymentsInput struct { Lister Lister ClusterName string Namespace string MachineDeployment clusterv1.MachineDeployment }
GetMachinesByMachineDeploymentsInput is the input for GetMachinesByMachineDeployments.
type GetMachinesByMachineHealthCheckInput struct { Lister Lister ClusterName string MachineHealthCheck *clusterv1.MachineHealthCheck }
GetMachinesByMachineHealthCheckInput is the input for GetMachinesByMachineHealthCheck.
type GetMachinesPoolInstancesInput struct { Getter Getter Namespace string MachinePool clusterv1exp.MachinePool }
GetMachinesPoolInstancesInput is the input for GetMachinesPoolInstances.
Getter can get resources.
type Lister interface { List(ctx context.Context, list client.ObjectList, opts ...client.ListOption) error }
Lister can lists resources.
MachineStatusCheck is a type that operates a status check on a Machine
func MachineNodeRefCheck() MachineStatusCheck
MachineNodeRefCheck is a MachineStatusCheck ensuring that a NodeRef is assigned to the machine
func MachinePhaseCheck(expectedPhase string) MachineStatusCheck
MachinePhaseCheck is a MachineStatusCheck ensuring that a machines is in the expected phase
type Option func(*clusterProxy)
Option is a configuration option supplied to NewClusterProxy
func WithMachineLogCollector(logCollector ClusterLogCollector) Option
WithMachineLogCollector allows to define the machine log collector to be used with this Cluster.
type PatchClusterLabelInput struct { ClusterProxy ClusterProxy Cluster *clusterv1.Cluster Labels map[string]string }
PatchClusterLabelInput is the input for PatchClusterLabel.
type PatchNodeConditionInput struct { ClusterProxy ClusterProxy Cluster *clusterv1.Cluster NodeCondition corev1.NodeCondition Machine clusterv1.Machine }
PatchNodeConditionInput is the input for PatchNodeCondition.
type ScaleAndWaitControlPlaneInput struct { ClusterProxy ClusterProxy Cluster *clusterv1.Cluster ControlPlane *controlplanev1.KubeadmControlPlane Replicas int32 WaitForControlPlane []interface{} }
type ScaleAndWaitMachineDeploymentInput struct { ClusterProxy ClusterProxy Cluster *clusterv1.Cluster MachineDeployment *clusterv1.MachineDeployment Replicas int32 WaitForMachineDeployments []interface{} }
ScaleAndWaitMachineDeploymentInput is the input for ScaleAndWaitMachineDeployment.
type ScaleMachinePoolAndWaitInput struct { ClusterProxy ClusterProxy Cluster *clusterv1.Cluster Replicas int32 MachinePools []*clusterv1exp.MachinePool WaitForMachinePoolToScale []interface{} }
type UpgradeControlPlaneAndWaitForUpgradeInput struct { ClusterProxy ClusterProxy Cluster *clusterv1.Cluster ControlPlane *controlplanev1.KubeadmControlPlane KubernetesUpgradeVersion string EtcdImageTag string DNSImageTag string WaitForMachinesToBeUpgraded []interface{} WaitForDNSUpgrade []interface{} WaitForEtcdUpgrade []interface{} }
UpgradeControlPlaneAndWaitForUpgradeInput is the input type for UpgradeControlPlaneAndWaitForUpgrade.
type UpgradeMachineDeploymentInfrastructureRefAndWaitInput struct { ClusterProxy ClusterProxy Cluster *clusterv1.Cluster MachineDeployments []*clusterv1.MachineDeployment WaitForMachinesToBeUpgraded []interface{} }
UpgradeMachineDeploymentInfrastructureRefAndWaitInput is the input type for UpgradeMachineDeploymentInfrastructureRefAndWait.
type UpgradeMachineDeploymentsAndWaitInput struct { ClusterProxy ClusterProxy Cluster *clusterv1.Cluster UpgradeVersion string MachineDeployments []*clusterv1.MachineDeployment WaitForMachinesToBeUpgraded []interface{} }
UpgradeMachineDeploymentsAndWaitInput is the input type for UpgradeMachineDeploymentsAndWait.
type UpgradeMachinePoolAndWaitInput struct { ClusterProxy ClusterProxy Cluster *clusterv1.Cluster UpgradeVersion string MachinePools []*clusterv1exp.MachinePool WaitForMachinePoolToBeUpgraded []interface{} }
WaitForClusterDeletedInput is the input for WaitForClusterDeleted.
WaitForClusterMachineNodesRefsInput is the input for WaitForClusterMachineNodesRefs.
type WaitForClusterMachinesReadyInput struct { GetLister GetLister NodeGetter Getter Cluster *clusterv1.Cluster }
type WaitForClusterResourceSetToApplyResourcesInput struct { ClusterProxy ClusterProxy Cluster *clusterv1.Cluster ClusterResourceSet *addonsv1.ClusterResourceSet }
WaitForClusterResourceSetToApplyResourcesInput is the input for WaitForClusterResourceSetToApplyResources.
WaitForClusterToProvisionInput is the input for WaitForClusterToProvision.
type WaitForControlPlaneAndMachinesReadyInput struct { GetLister GetLister Cluster *clusterv1.Cluster ControlPlane *controlplanev1.KubeadmControlPlane }
WaitForControlPlaneAndMachinesReadyInput is the input type for WaitForControlPlaneAndMachinesReady.
type WaitForControlPlaneMachinesToBeUpgradedInput struct { Lister Lister Cluster *clusterv1.Cluster KubernetesUpgradeVersion string MachineCount int }
WaitForControlPlaneMachinesToBeUpgradedInput is the input for WaitForControlPlaneMachinesToBeUpgraded.
type WaitForControlPlaneToBeReadyInput struct { Getter Getter ControlPlane *controlplanev1.KubeadmControlPlane }
WaitForControlPlaneToBeReadyInput is the input for WaitForControlPlaneToBeReady.
type WaitForControlPlaneToBeUpToDateInput struct { Getter Getter ControlPlane *controlplanev1.KubeadmControlPlane }
WaitForControlPlaneToBeUpToDateInput is the input for WaitForControlPlaneToBeUpToDate.
WaitForDNSUpgradeInput is the input for WaitForDNSUpgrade.
type WaitForDeploymentsAvailableInput struct { Getter Getter Deployment *appsv1.Deployment }
WaitForDeploymentsAvailableInput is the input for WaitForDeploymentsAvailable.
WaitForKubeProxyUpgradeInput is the input for WaitForKubeProxyUpgradeInput.
type WaitForKubeadmControlPlaneMachinesToExistInput struct { Lister Lister Cluster *clusterv1.Cluster ControlPlane *controlplanev1.KubeadmControlPlane }
WaitForKubeadmControlPlaneMachinesToExistInput is the input for WaitForKubeadmControlPlaneMachinesToExist.
type WaitForMachineDeploymentMachinesToBeUpgradedInput struct { Lister Lister Cluster *clusterv1.Cluster KubernetesUpgradeVersion string MachineCount int MachineDeployment clusterv1.MachineDeployment }
WaitForMachineDeploymentMachinesToBeUpgradedInput is the input for WaitForMachineDeploymentMachinesToBeUpgraded.
type WaitForMachineDeploymentNodesToExistInput struct { Lister Lister Cluster *clusterv1.Cluster MachineDeployment *clusterv1.MachineDeployment }
WaitForMachineDeploymentNodesToExistInput is the input for WaitForMachineDeploymentNodesToExist.
type WaitForMachineDeploymentRollingUpgradeToCompleteInput struct { Getter Getter MachineDeployment *clusterv1.MachineDeployment }
WaitForMachineDeploymentRollingUpgradeToCompleteInput is the input for WaitForMachineDeploymentRollingUpgradeToComplete.
type WaitForMachineDeploymentRollingUpgradeToStartInput struct { Getter Getter MachineDeployment *clusterv1.MachineDeployment }
WaitForMachineDeploymentRollingUpgradeToStartInput is the input for WaitForMachineDeploymentRollingUpgradeToStart.
type WaitForMachineHealthCheckToRemediateUnhealthyNodeConditionInput struct { ClusterProxy ClusterProxy Cluster *clusterv1.Cluster MachineHealthChecks []*clusterv1.MachineHealthCheck }
WaitForMachineHealthCheckToRemediateUnhealthyNodeConditionInput is the input for WaitForMachineHealthCheckToRemediateUnhealthyNodeCondition.
type WaitForMachinePoolInstancesToBeUpgradedInput struct { Getter Getter Cluster *clusterv1.Cluster KubernetesUpgradeVersion string MachineCount int MachinePool clusterv1exp.MachinePool }
WaitForMachinePoolInstancesToBeUpgradedInput is the input for WaitForMachinePoolInstancesToBeUpgraded.
type WaitForMachinePoolNodesToExistInput struct { Getter Getter MachinePool *clusterv1exp.MachinePool }
WaitForMachinePoolNodesToExistInput is the input for WaitForMachinePoolNodesToExist.
type WaitForMachineStatusCheckInput struct { Getter Getter Machine *clusterv1.Machine StatusChecks []MachineStatusCheck }
WaitForMachineStatusCheckInput is the input for WaitForMachineStatusCheck.
type WaitForOneKubeadmControlPlaneMachineToExistInput struct { Lister Lister Cluster *clusterv1.Cluster ControlPlane *controlplanev1.KubeadmControlPlane }
WaitForOneKubeadmControlPlaneMachinesToExistInput is the input for WaitForKubeadmControlPlaneMachinesToExist.
type WaitForPodListConditionInput struct { Lister Lister ListOptions *client.ListOptions Condition podListCondition }
WaitForPodListConditionInput is the input args for WaitForPodListCondition
type WatchDeploymentLogsInput struct { GetLister GetLister ClientSet *kubernetes.Clientset Deployment *appsv1.Deployment LogPath string }
WatchDeploymentLogsInput is the input for WatchDeploymentLogs.
type WatchNamespaceEventsInput struct { ClientSet *kubernetes.Clientset Name string LogFolder string }
WatchNamespaceEventsInput is the input type for WatchNamespaceEvents.
type WatchPodMetricsInput struct { GetLister GetLister ClientSet *kubernetes.Clientset Deployment *appsv1.Deployment MetricsPath string }
Path | Synopsis |
---|---|
bootstrap | |
clusterctl | |
clusterctl/logger | |
exec | |
ginkgoextensions | |
internal/log | |
kubernetesversions | Code generated for package kubernetesversions by go-bindata DO NOT EDIT. |
kubetest |
Package framework imports 57 packages (graph) and is imported by 5 packages. Updated 2021-01-24. Refresh now. Tools for package owners.