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 ¶
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 ¶
NewWrapper returns the correct wrapper for the passed in object.