clustermodule

package
v1.10.0 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2024 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Overview

Package clustermodule contains tools for handling ClusterModules.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Compare

func Compare(oldMods, newMods []infrav1.ClusterModule) bool

Compare returns whether both the cluster module slices are the same.

func IsClusterCompatible

func IsClusterCompatible(clusterCtx *capvcontext.ClusterContext) bool

IsClusterCompatible checks if the VCenterVersion is compatibly with CAPV. Only version 7 and over are supported.

func IsIncompatibleOwnerError

func IsIncompatibleOwnerError(err error) bool

IsIncompatibleOwnerError checks if the passed error is an IncompatibleOwnerError.

Types

type IncompatibleOwnerError

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

IncompatibleOwnerError represents the error condition wherein the resource pool in use during cluster module creation is not owned by compute cluster resource but owned by a standalone host.

func NewIncompatibleOwnerError

func NewIncompatibleOwnerError(name string) IncompatibleOwnerError

NewIncompatibleOwnerError creates an instance of the IncompatibleOwnerError struct. This is introduced for testing purposes only.

func (IncompatibleOwnerError) Error

func (e IncompatibleOwnerError) Error() string

type Service

type Service interface {
	Create(ctx context.Context, clusterCtx *capvcontext.ClusterContext, wrapper Wrapper) (string, error)

	DoesExist(ctx context.Context, clusterCtx *capvcontext.ClusterContext, wrapper Wrapper, moduleUUID string) (bool, error)

	Remove(ctx context.Context, clusterCtx *capvcontext.ClusterContext, moduleUUID string) error
}

Service is a ClusterModule service.

func NewService

func NewService(controllerManagerCtx *capvcontext.ControllerManagerContext, client client.Client) Service

NewService returns a new Cluster Module service.

type Wrapper

type Wrapper interface {
	client.Object

	// GetTemplatePath is used to fetch the path that contains the infrastructure
	// machine template details in use.
	GetTemplatePath() []string

	// IsControlPlane is used to determine whether the cluster-api object is
	// responsible for control plane VMs.
	IsControlPlane() bool
}

Wrapper is used to expose methods on the cluster-api objects responsible for the creation of Machine objects that need to be anti-affined.

func NewWrapper

func NewWrapper(obj client.Object) Wrapper

NewWrapper returns the correct wrapper for the passed in object.

Directories

Path Synopsis
Package fake implements a fake ClusterModuleService for testing.
Package fake implements a fake ClusterModuleService for testing.

Jump to

Keyboard shortcuts

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