Documentation ¶
Index ¶
- Constants
- func GetProcessGroupsToRemove(removalMode fdbv1beta2.PodUpdateMode, ...) (fdbv1beta2.FaultDomain, []*fdbv1beta2.ProcessGroupStatus, error)
- func GetRemainingMap(logger logr.Logger, adminClient fdbadminclient.AdminClient, ...) (map[string]bool, error)
- func GetZonedRemovals(processGroupsToRemove []*fdbv1beta2.ProcessGroupStatus) (map[fdbv1beta2.FaultDomain][]*fdbv1beta2.ProcessGroupStatus, int64, error)
- func RemovalAllowed(lastDeletion int64, currentTimestamp int64, waitTime int) (int64, bool)
Constants ¶
View Source
const ( // UnknownZone maps all process groups that are not known to the FoundationDB status. UnknownZone = "foundationdb.org/unknown" // TerminatingZone maps all process groups that have the condition ResourcesTerminating. TerminatingZone = "foundationdb.org/terminating" )
Variables ¶
This section is empty.
Functions ¶
func GetProcessGroupsToRemove ¶
func GetProcessGroupsToRemove(removalMode fdbv1beta2.PodUpdateMode, removals map[fdbv1beta2.FaultDomain][]*fdbv1beta2.ProcessGroupStatus) (fdbv1beta2.FaultDomain, []*fdbv1beta2.ProcessGroupStatus, error)
GetProcessGroupsToRemove returns a list of process groups to be removed based on the removal mode.
func GetRemainingMap ¶
func GetRemainingMap(logger logr.Logger, adminClient fdbadminclient.AdminClient, cluster *fdbv1beta2.FoundationDBCluster, status *fdbv1beta2.FoundationDBStatus, minRecoverySeconds float64) (map[string]bool, error)
GetRemainingMap returns a map that indicates if a process group is fully excluded in the cluster.
func GetZonedRemovals ¶
func GetZonedRemovals(processGroupsToRemove []*fdbv1beta2.ProcessGroupStatus) (map[fdbv1beta2.FaultDomain][]*fdbv1beta2.ProcessGroupStatus, int64, error)
GetZonedRemovals returns a map with the zone as key and a list of process groups IDs to be removed. If the process group has not an associated process in the cluster status the zone will be UnknownZone. if the process group has the ResourcesTerminating condition the zone will be TerminatingZone.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.