util

package
v1.1.0-alpha Latest Latest
Warning

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

Go to latest
Published: Nov 26, 2021 License: Apache-2.0 Imports: 33 Imported by: 1

Documentation

Index

Constants

View Source
const (
	// ProviderIDPrefix is the string data prefixed to a BIOS UUID in order
	// to build a provider ID.
	ProviderIDPrefix = "vsphere://"

	// ProviderIDPattern is a regex pattern and is used by ConvertProviderIDToUUID
	// to convert a providerID into a UUID string.
	ProviderIDPattern = `(?i)^` + ProviderIDPrefix + `([a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{12})$`

	// UUIDPattern is a regex pattern and is used by ConvertUUIDToProviderID
	// to convert a UUID into a providerID string.
	UUIDPattern = `(?i)^[a-f\d]{8}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{4}-[a-f\d]{12}$`
)
View Source
const (
	NCPSNATKey          = "ncp/snat_ip"
	NCPVersionKey       = "version"
	NCPNamespace        = "vmware-system-nsx"
	NCPVersionConfigMap = "nsx-ncp-version-config"
	//3.0.1 is where NCP starts to support "whitelist_source_ranges" specification in VNET and enforce FW rules on GC T1
	NCPVersionSupportFW = "3.0.1"
	//3.1.0 is where NCP stopped to support "whitelist_source_ranges" specification in VNET
	NCPVersionSupportFWEnded = "3.1.0"

	EmptyAnnotationErrorMsg = "annotation not found"
	EmptyNCPSNATKeyMsg      = NCPSNATKey + " key not found"
)

Variables

View Source
var ErrNoMachineIPAddr = errors.New("no IP addresses found for machine")

ErrNoMachineIPAddr indicates that no valid IP addresses were found in a machine context

Functions

func ConvertProviderIDToUUID

func ConvertProviderIDToUUID(providerID *string) string

ConvertProviderIDToUUID transforms a provider ID into a UUID string. If providerID is nil, empty, or invalid, then an empty string is returned. A valid providerID should adhere to the format specified by ProviderIDPattern.

func ConvertUUIDToProviderID

func ConvertUUIDToProviderID(uuid string) string

ConvertUUIDToProviderID transforms a UUID string into a provider ID. If the supplied UUID is empty or invalid then an empty string is returned. A valid UUID should adhere to the format specified by UUIDPattern.

func CreateCluster added in v1.1.0

func CreateCluster(clusterName string) *clusterv1.Cluster

func CreateClusterContext added in v1.1.0

func CreateClusterContext(cluster *clusterv1.Cluster, vsphereCluster *infrav1.VSphereCluster) *vmware.ClusterContext

func CreateMachine added in v1.1.0

func CreateMachine(machineName, clusterName, controlPlaneLabel, k8sVersion string) *clusterv1.Machine

func CreateMachineContext added in v1.1.0

func CreateMachineContext(clusterContext *vmware.ClusterContext, machine *clusterv1.Machine,
	vsphereMachine *infrav1.VSphereMachine) *vmware.SupervisorMachineContext

func CreateVSphereCluster added in v1.1.0

func CreateVSphereCluster(clusterName string) *infrav1.VSphereCluster

func CreateVSphereMachine added in v1.1.0

func CreateVSphereMachine(machineName, clusterName, controlPlaneLabel, className, imageName, storageClass string) *infrav1.VSphereMachine

func GetMachineMetadata

func GetMachineMetadata(hostname string, vsphereVM infrav1.VSphereVM, networkStatuses ...infrav1.NetworkStatus) ([]byte, error)

GetMachineMetadata returns the cloud-init metadata as a base-64 encoded string for a given VSphereMachine.

func GetMachinePreferredIPAddress

func GetMachinePreferredIPAddress(machine *infrav1.VSphereMachine) (string, error)

GetMachinePreferredIPAddress returns the preferred IP address for a VSphereMachine resource.

func GetMachinesInCluster

func GetMachinesInCluster(
	ctx context.Context,
	controllerClient client.Client,
	namespace, clusterName string) ([]*clusterv1.Machine, error)

GetMachinesInCluster gets a cluster's Machine resources.

func GetNCPVersion added in v1.1.0

func GetNCPVersion(ctx context.Context, controllerClient client.Client) (string, error)

GetNCPVersion finds out the running ncp's version from its configmap

func GetNamespaceNetSnatIP added in v1.1.0

func GetNamespaceNetSnatIP(ctx context.Context, controllerClient client.Client, namespace string) (string, error)

GetNamespaceNetSnatIP finds out the namespace's corresponding network's SNAT IP

func GetOwnerVSphereMachine added in v0.7.9

func GetOwnerVSphereMachine(ctx context.Context, c client.Client, obj metav1.ObjectMeta) (*infrav1.VSphereMachine, error)

func GetVSphereClusterFromVSphereMachine added in v1.1.0

func GetVSphereClusterFromVSphereMachine(ctx context.Context, c client.Client, machine *vmwarev1b1.VSphereMachine) (*vmwarev1b1.VSphereCluster, error)

GetVSphereClusterFromVSphereMachine gets the vmware.infrastructure.cluster.x-k8s.io.VSPhereCluster resource for the given VSphereMachine

func GetVSphereMachine

func GetVSphereMachine(
	ctx context.Context,
	controllerClient client.Client,
	namespace, machineName string) (*vmwarev1b1.VSphereMachine, error)

GetVSphereMachine gets a vmware.infrastructure.cluster.x-k8s.io.VSphereMachine resource for the given CAPI Machine.

func GetVSphereMachinesInCluster

func GetVSphereMachinesInCluster(
	ctx context.Context,
	controllerClient client.Client,
	namespace, clusterName string) ([]*infrav1.VSphereMachine, error)

GetVSphereMachinesInCluster gets a cluster's VSphereMachine resources.

func IsControlPlaneMachine

func IsControlPlaneMachine(machine metav1.Object) bool

IsControlPlaneMachine returns true if the provided resource is a member of the control plane.

func IsSupervisorType added in v1.1.0

func IsSupervisorType(input interface{}) (bool, error)

func NCPSupportFW added in v1.1.0

func NCPSupportFW(ctx context.Context, controllerClient client.Client) (bool, error)

NCPSupportFW checks the version of running NCP and return true if it supports FW rule enforcement on GC T1 Router

func NewKubeClient

func NewKubeClient(
	ctx context.Context,
	controllerClient client.Client,
	cluster *clusterv1.Cluster) (kubernetes.Interface, error)

NewKubeClient returns a new client for the target cluster using the KubeConfig secret stored in the management cluster.

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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