Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InitCustomMetrics ¶
func InitCustomMetrics(reconciler *FoundationDBClusterReconciler)
InitCustomMetrics initializes the metrics collectors for the operator.
Types ¶
type FoundationDBBackupReconciler ¶
type FoundationDBBackupReconciler struct {
client.Client
Recorder record.EventRecorder
Log logr.Logger
InSimulation bool
DatabaseClientProvider fdbadminclient.DatabaseClientProvider
ServerSideApply bool
}
FoundationDBBackupReconciler reconciles a FoundationDBCluster object
func (*FoundationDBBackupReconciler) Reconcile ¶
func (r *FoundationDBBackupReconciler) Reconcile( ctx context.Context, request ctrl.Request, ) (ctrl.Result, error)
Reconcile runs the reconciliation logic.
func (*FoundationDBBackupReconciler) SetupWithManager ¶
func (r *FoundationDBBackupReconciler) SetupWithManager( mgr ctrl.Manager, maxConcurrentReconciles int, selector metav1.LabelSelector, ) error
SetupWithManager prepares a reconciler for use.
type FoundationDBClusterReconciler ¶
type FoundationDBClusterReconciler struct {
client.Client
Recorder record.EventRecorder
Log logr.Logger
EnableRestartIncompatibleProcesses bool
ServerSideApply bool
EnableRecoveryState bool
CacheDatabaseStatusForReconciliationDefault bool
ReplaceOnSecurityContextChange bool
PodLifecycleManager podmanager.PodLifecycleManager
PodClientProvider func(*fdbv1beta2.FoundationDBCluster, *corev1.Pod) (podclient.FdbPodClient, error)
DatabaseClientProvider fdbadminclient.DatabaseClientProvider
DeprecationOptions internal.DeprecationOptions
GetTimeout time.Duration
PostTimeout time.Duration
MinimumRequiredUptimeCCBounce time.Duration
MaintenanceListStaleDuration time.Duration
MaintenanceListWaitDuration time.Duration
// GlobalSynchronizationWaitDuration is the wait time for the operator when the synchronization mode is set to
// global. The wait time defines the period where no updates for the according action should happen. Increasing the
// wait time will increase the chances that all updates are part of the list but will also delay the rollout of
// the change.
GlobalSynchronizationWaitDuration time.Duration
// MinimumUptimeForCoordinatorChangeWithMissingProcess defines the minimum uptime of the cluster before coordinator
// changes because of a missing coordinator are allowed.
MinimumUptimeForCoordinatorChangeWithMissingProcess time.Duration
// MinimumUptimeForCoordinatorChangeWithUndesiredProcess defines the minimum uptime of the cluster before coordinator
// changes because of an undesired coordinator are allowed.
MinimumUptimeForCoordinatorChangeWithUndesiredProcess time.Duration
// MinimumUptimeForConfigurationChanges defines the minimum uptime for the cluster before configuration changes
// are allowed.
MinimumUptimeForConfigurationChanges time.Duration
// MinimumRecoveryTimeForInclusion defines the duration in seconds that a cluster must be up
// before new inclusions are allowed. The operator issuing frequent inclusions in a short time window
// could cause instability for the cluster as each inclusion will/can cause a recovery. Delaying the inclusion
// of deleted process groups is not an issue as all the process groups that have no resources and are marked for
// deletion and are fully excluded, will be batched together in a single inclusion call.
MinimumRecoveryTimeForInclusion float64
// MinimumRecoveryTimeForExclusion defines the duration in seconds that a cluster must be up
// before new exclusions are allowed. The operator issuing frequent exclusions in a short time window
// could cause instability for the cluster as each exclusion will/can cause a recovery.
MinimumRecoveryTimeForExclusion float64
// Namespace for the FoundationDBClusterReconciler, if empty the FoundationDBClusterReconciler will watch all namespaces.
Namespace string
// ClusterLabelKeyForNodeTrigger if set will trigger a reconciliation for all FoundationDBClusters that host a Pod
// on the affected node.
ClusterLabelKeyForNodeTrigger string
SimulationOptions SimulationOptions
// Defines the threshold for the high run loop busy condition, the default is 1.0.
HighRunLoopBusyThreshold float64
// contains filtered or unexported fields
}
FoundationDBClusterReconciler reconciles a FoundationDBCluster object
func NewFoundationDBClusterReconciler ¶
func NewFoundationDBClusterReconciler( podLifecycleManager podmanager.PodLifecycleManager, ) *FoundationDBClusterReconciler
NewFoundationDBClusterReconciler creates a new FoundationDBClusterReconciler with defaults.
func (*FoundationDBClusterReconciler) Reconcile ¶
func (r *FoundationDBClusterReconciler) Reconcile( ctx context.Context, request ctrl.Request, ) (ctrl.Result, error)
Reconcile runs the reconciliation logic.
func (*FoundationDBClusterReconciler) SetupWithManager ¶
func (r *FoundationDBClusterReconciler) SetupWithManager( mgr ctrl.Manager, maxConcurrentReconciles int, selector metav1.LabelSelector, watchedObjects ...client.Object, ) error
SetupWithManager prepares the FoundationDBClusterReconciler for use.
type FoundationDBRestoreReconciler ¶
type FoundationDBRestoreReconciler struct {
client.Client
Recorder record.EventRecorder
Log logr.Logger
DatabaseClientProvider fdbadminclient.DatabaseClientProvider
ServerSideApply bool
}
FoundationDBRestoreReconciler reconciles a FoundationDBRestore object
func (*FoundationDBRestoreReconciler) Reconcile ¶
func (r *FoundationDBRestoreReconciler) Reconcile( ctx context.Context, request ctrl.Request, ) (ctrl.Result, error)
Reconcile runs the reconciliation logic.
func (*FoundationDBRestoreReconciler) SetupWithManager ¶
func (r *FoundationDBRestoreReconciler) SetupWithManager( mgr ctrl.Manager, maxConcurrentReconciles int, selector metav1.LabelSelector, ) error
SetupWithManager prepares a reconciler for use.
type SimulationOptions ¶ added in v2.8.0
type SimulationOptions struct {
// SimulateZones if enabled the zone of pods will be replaced with a "simulation" zone.
SimulateZones bool
// SimulateTime is enabled the time checks in the exclude and update pods reconciler will be skipped.
SimulateTime bool
}
SimulationOptions are used to define how the cluster reconciler should behave in the unit tests.
Source Files
¶
- add_pods.go
- add_process_groups.go
- add_pvcs.go
- add_services.go
- backup_controller.go
- bounce_processes.go
- change_coordinators.go
- check_client_compatibility.go
- choose_removals.go
- cluster_controller.go
- controllers.go
- delete_pods_for_buggification.go
- exclude_processes.go
- generate_initial_cluster_file.go
- maintenance_mode_checker.go
- metrics.go
- modify_backup.go
- remove_incompatible_processes.go
- remove_process_groups.go
- remove_services.go
- replace_failed_process_groups.go
- replace_misconfigured_process_groups.go
- restore_controller.go
- start_backup.go
- start_restore.go
- stop_backup.go
- toggle_backup_paused.go
- update_backup_agents.go
- update_backup_status.go
- update_config_map.go
- update_database_configuration.go
- update_lock_configuration.go
- update_metadata.go
- update_pod_config.go
- update_pods.go
- update_restore_status.go
- update_sidecar_versions.go
- update_status.go