Documentation ¶
Overview ¶
Package controller is used to provide the core functionalities of machine-controller-manager
Package controller is used to provide the core functionalities of machine-controller-manager ¶
Package controller is used to provide the core functionalities of machine-controller-manager ¶
Package controller is used to provide the core functionalities of machine-controller-manager ¶
Package controller is used to provide the core functionalities of machine-controller-manager ¶
Package controller is used to provide the core functionalities of machine-controller-manager ¶
Package controller is used to provide the core functionalities of machine-controller-manager ¶
Package controller is used to provide the core functionalities of machine-controller-manager ¶
Package controller is used to provide the core functionalities of machine-controller-manager ¶
Package controller is used to provide the core functionalities of machine-controller-manager ¶
Package controller is used to provide the core functionalities of machine-controller-manager ¶
Package controller is used to provide the core functionalities of machine-controller-manager
Index ¶
- Constants
- func GetClientForController(credential map[string]string) (*govcd.VCDClient, error)
- func GetClientOPSForController(credential map[string]string) (*novaV2, error)
- func GetVdcByName(client *govcd.VCDClient, Org string, VDC string) (*govcd.Vdc, error)
- func Login(User string, Password string, Org string, HREF string) (*govcd.VCDClient, error)
- func SyncMachineAnnotations(machine *v1alpha1.Machine, node *v1.Node, ...) bool
- func SyncMachineLabels(machine *v1alpha1.Machine, node *v1.Node, lastAppliedLabels map[string]string) bool
- func SyncMachineTaints(machine *v1alpha1.Machine, node *v1.Node, lastAppliedTaints []v1.Taint) bool
- func TryLock(lockC chan<- struct{}, duration time.Duration) bool
- type Controller
Constants ¶
View Source
const ( // ClassAnnotation is the annotation used to identify a machine class ClassAnnotation = "machine.sapcloud.io/class" // MachineIDAnnotation is the annotation used to identify a machine ID MachineIDAnnotation = "machine.sapcloud.io/id" // MCMFinalizerName is the finalizer used to tag dependecies before deletion // of the object. This finalizer is carried over from the MCM MCMFinalizerName = "machine.sapcloud.io/machine-controller-manager" // MCFinalizerName is the finalizer created for the external // machine controller to differentiate it from the MCMFinalizerName // This finalizer is added only on secret-objects to avoid race between in-tree and out-of-tree controllers. // This is a stopgap solution to resolve: https://github.com/xuanson2406/machine-controller-manager/issues/486. MCFinalizerName = "machine.sapcloud.io/machine-controller" )
View Source
const ( // OverShootingReplicaCount freeze reason when replica count overshoots OverShootingReplicaCount = "OverShootingReplicaCount" // MachineDeploymentStateSync freeze reason when machineDeployment was found with inconsistent state MachineDeploymentStateSync = "MachineDeploymentStateSync" // TimeoutOccurred freeze reason when machineSet timeout occurs TimeoutOccurred = "MachineSetTimeoutOccurred" // UnfreezeAnnotation indicates the controllers to unfreeze this object UnfreezeAnnotation = "safety.machine.sapcloud.io/unfreeze" )
View Source
const ( // AlicloudMachineClassKind is used to identify the machineClassKind as Alicloud AlicloudMachineClassKind = "AlicloudMachineClass" // AWSMachineClassKind is used to identify the machineClassKind as AWS AWSMachineClassKind = "AWSMachineClass" // AzureMachineClassKind is used to identify the machineClassKind as Azure AzureMachineClassKind = "AzureMachineClass" // GCPMachineClassKind is used to identify the machineClassKind as GCP GCPMachineClassKind = "GCPMachineClass" // OpenStackMachineClassKind is used to identify the machineClassKind as OpenStack OpenStackMachineClassKind = "OpenStackMachineClass" // PacketMachineClassKind is used to identify the machineClassKind as Packet PacketMachineClassKind = "PacketMachineClass" // MachineController is the string constant to identify the controller responsible for the migration MachineController = "machine-controller" )
Variables ¶
This section is empty.
Functions ¶
func GetClientForController ¶
func GetClientOPSForController ¶ added in v1.2.5
func GetVdcByName ¶
func SyncMachineAnnotations ¶
func SyncMachineAnnotations( machine *v1alpha1.Machine, node *v1.Node, lastAppliedAnnotations map[string]string, ) bool
SyncMachineAnnotations syncs the annotations of the machine with node-objects. It returns true if update is needed else false.
func SyncMachineLabels ¶
func SyncMachineLabels( machine *v1alpha1.Machine, node *v1.Node, lastAppliedLabels map[string]string, ) bool
SyncMachineLabels syncs the labels of the machine with node-objects. It returns true if update is needed else false.
Types ¶
type Controller ¶
type Controller interface { // Run runs the controller until the given stop channel can be read from. // workers specifies the number of goroutines, per resource, processing work // from the resource workqueues Run(workers int, stopCh <-chan struct{}) }
Controller describes a controller for
func NewController ¶
func NewController( namespace string, controlMachineClient machineapi.MachineV1alpha1Interface, controlCoreClient kubernetes.Interface, targetCoreClient kubernetes.Interface, driver driver.Driver, pvcInformer coreinformers.PersistentVolumeClaimInformer, pvInformer coreinformers.PersistentVolumeInformer, secretInformer coreinformers.SecretInformer, nodeInformer coreinformers.NodeInformer, pdbV1beta1Informer policyv1beta1informers.PodDisruptionBudgetInformer, pdbV1Informer policyv1informers.PodDisruptionBudgetInformer, volumeAttachmentInformer storageinformers.VolumeAttachmentInformer, machineClassInformer machineinformers.MachineClassInformer, machineInformer machineinformers.MachineInformer, recorder record.EventRecorder, safetyOptions options.SafetyOptions, nodeConditions string, bootstrapTokenAuthExtraGroups string, targetKubernetesVersion *semver.Version, ) (Controller, error)
NewController returns a new Node controller.
Click to show internal directories.
Click to hide internal directories.