Documentation

Index

Constants

View Source
const (
	// InstallServiceAccountName will be a service account that can run the installer and then
	// upload artifacts to the cluster's namespace.
	InstallServiceAccountName = "cluster-installer"

	// UninstallServiceAccountName will be a service account that can run the installer deprovision and then
	// upload artifacts to the cluster's namespace.
	UninstallServiceAccountName = "cluster-uninstaller"
)
View Source
const (

	// ConcurrentReconcilesEnvVariableFormat is the format of the environment variable
	// that stores concurrent reconciles for a controller
	ConcurrentReconcilesEnvVariableFormat = "%s-concurrent-reconciles"

	// ClientQPSEnvVariableFormat is the format of the environment variable that stores
	// client QPS for a controller
	ClientQPSEnvVariableFormat = "%s-client-qps"

	// ClientBurstEnvVariableFormat is the format of the environment variable that stores
	// client burst for a controller
	ClientBurstEnvVariableFormat = "%s-client-burst"

	// QueueQPSEnvVariableFormat is the format of the environment variable that stores
	// workqueue QPS for a controller
	QueueQPSEnvVariableFormat = "%s-queue-qps"

	// QueueBurstEnvVariableFormat is the format of the environment variable that stores
	// workqueue burst for a controller
	QueueBurstEnvVariableFormat = "%s-queue-burst"
)
View Source
const (
	// ExpectationsTimeout defines the length of time that a dormant
	// controller will wait for an expectation to be satisfied. It is
	// specifically targeted at the case where some problem prevents an update
	// of expectations, without it the controller could stay asleep forever. This should
	// be set based on the expected latency of watch events.
	ExpectationsTimeout = 5 * time.Minute
)

Variables

View Source
var ExpKeyFunc = func(obj interface{}) (string, error) {
	if e, ok := obj.(*ControlleeExpectations); ok {
		return e.key, nil
	}
	return "", fmt.Errorf("Could not find key for obj %#v", obj)
}

    ExpKeyFunc to parse out the key from a ControlleeExpectation

    Functions

    func AddAdditionalKubeconfigCAs

    func AddAdditionalKubeconfigCAs(data []byte) ([]byte, error)

      AddAdditionalKubeconfigCAs adds additional certificate authorities to a given kubeconfig

      func AddControllerMetricsTransportWrapper

      func AddControllerMetricsTransportWrapper(cfg *rest.Config, controllerName hivev1.ControllerName, remote bool)

        AddControllerMetricsTransportWrapper adds a transport wrapper to the given rest config which exposes metrics based on the requests being made.

        func AddFinalizer

        func AddFinalizer(object metav1.Object, finalizer string)

          AddFinalizer adds a finalizer to the given object

          func AddTypeMeta

          func AddTypeMeta(objects []runtime.RawExtension, scheme *runtime.Scheme) ([]runtime.RawExtension, error)

            AddTypeMeta adds type metadata to objects in a list of RawExtension TypeMeta is needed for proper serialization/deserialization

            func BuildControllerLogger

            func BuildControllerLogger(controller hivev1.ControllerName, resource string, nsName types.NamespacedName) *log.Entry

              BuildControllerLogger returns a logger for controllers with consistent fields.

              func CalculateJobSpecHash

              func CalculateJobSpecHash(job *batchv1.Job) (string, error)

                CalculateJobSpecHash returns a hash of the job.Spec.

                func CalculateStatefulSetSpecHash

                func CalculateStatefulSetSpecHash(statefulset *appsv1.StatefulSet) (string, error)

                  CalculateStatefulSetSpecHash returns a hash of the statefulset.Spec.

                  func ClearRelocateAnnotation

                  func ClearRelocateAnnotation(obj metav1.Object) (changed bool)

                  func CopySecret

                  func CopySecret(c client.Client, src, dest types.NamespacedName, owner metav1.Object, scheme *runtime.Scheme) error

                    CopySecret copies the secret defined by src to dest.

                    func CredentialsSecretName

                    func CredentialsSecretName(cd *hivev1.ClusterDeployment) string

                      CredentialsSecretName returns the name of the credentials secret for platforms that have a CredentialsSecretRef. An empty string is returned if platform has none.

                      func DNSZoneName

                      func DNSZoneName(cdName string) string

                        DNSZoneName returns the predictable name for a DNSZone for the given ClusterDeployment.

                        func DeleteFinalizer

                        func DeleteFinalizer(object metav1.Object, finalizer string)

                          DeleteFinalizer removes a finalizer from the given object

                          func Dotted

                          func Dotted(domain string) string

                            Dotted adds a trailing dot to a domain if it doesn't exist.

                            func EnqueueDNSZonesOwnedByClusterDeployment

                            func EnqueueDNSZonesOwnedByClusterDeployment(c client.Client, logger log.FieldLogger) handler.EventHandler

                            func EnsureRequeueAtLeastWithin

                            func EnsureRequeueAtLeastWithin(duration time.Duration, result reconcile.Result, err error) (reconcile.Result, error)

                              EnsureRequeueAtLeastWithin ensures that the requeue of the object will occur within the given duration. If the reconcile result and error will already result in a requeue soon enough, then the supplied reconcile result and error will be returned as is.

                              func FindClusterClaimCondition

                              func FindClusterClaimCondition(conditions []hivev1.ClusterClaimCondition, conditionType hivev1.ClusterClaimConditionType) *hivev1.ClusterClaimCondition

                                FindClusterClaimCondition finds in the condition that has the specified condition type in the given list. If none exists, then returns nil.

                                func FindClusterDeploymentCondition

                                func FindClusterDeploymentCondition(conditions []hivev1.ClusterDeploymentCondition, conditionType hivev1.ClusterDeploymentConditionType) *hivev1.ClusterDeploymentCondition

                                  FindClusterDeploymentCondition finds in the condition that has the specified condition type in the given list. If none exists, then returns nil.

                                  func FindClusterDeprovisionCondition

                                  func FindClusterDeprovisionCondition(conditions []hivev1.ClusterDeprovisionCondition, conditionType hivev1.ClusterDeprovisionConditionType) *hivev1.ClusterDeprovisionCondition

                                    FindClusterDeprovisionCondition finds in the condition that has the specified condition type in the given list. If none exists, then returns nil.

                                    func FindClusterPoolCondition

                                    func FindClusterPoolCondition(conditions []hivev1.ClusterPoolCondition, conditionType hivev1.ClusterPoolConditionType) *hivev1.ClusterPoolCondition

                                      FindClusterPoolCondition finds in the condition that has the specified condition type in the given list. If none exists, then returns nil.

                                      func FindClusterProvisionCondition

                                      func FindClusterProvisionCondition(conditions []hivev1.ClusterProvisionCondition, conditionType hivev1.ClusterProvisionConditionType) *hivev1.ClusterProvisionCondition

                                        FindClusterProvisionCondition finds in the condition that has the specified condition type in the given list. If none exists, then returns nil.

                                        func FindDNSZoneCondition

                                        func FindDNSZoneCondition(conditions []hivev1.DNSZoneCondition, conditionType hivev1.DNSZoneConditionType) *hivev1.DNSZoneCondition

                                          FindDNSZoneCondition finds in the condition that has the specified condition type in the given list. If none exists, then returns nil.

                                          func FindMachinePoolCondition

                                          func FindMachinePoolCondition(conditions []hivev1.MachinePoolCondition, conditionType hivev1.MachinePoolConditionType) *hivev1.MachinePoolCondition

                                            FindMachinePoolCondition finds in the condition that has the specified condition type in the given list. If none exists, then returns nil.

                                            func FindSyncCondition

                                            func FindSyncCondition(conditions []hivev1.SyncCondition, conditionType hivev1.SyncConditionType) *hivev1.SyncCondition

                                              FindSyncCondition finds in the condition that has the specified condition type in the given list. If none exists, then returns nil.

                                              func GetChecksumOfObject

                                              func GetChecksumOfObject(object interface{}) (string, error)

                                                GetChecksumOfObject returns the md5sum hash of the object passed in.

                                                func GetChecksumOfObjects

                                                func GetChecksumOfObjects(objects ...interface{}) (string, error)

                                                  GetChecksumOfObjects returns the md5sum hash of the objects passed in.

                                                  func GetControllerConfig

                                                  func GetControllerConfig(client client.Client, controllerName hivev1.ControllerName) (int, flowcontrol.RateLimiter, workqueue.RateLimiter, error)

                                                  func GetHiveNamespace

                                                  func GetHiveNamespace() string

                                                    GetHiveNamespace determines the namespace where core hive components run (hive-controllers, hiveadmission), by checking for the required environment variable.

                                                    func HasFinalizer

                                                    func HasFinalizer(object metav1.Object, finalizer string) bool

                                                      HasFinalizer returns true if the given object has the given finalizer

                                                      func InitializeClusterDeploymentConditions

                                                      func InitializeClusterDeploymentConditions(existingConditions []hivev1.ClusterDeploymentCondition, conditionsToBeAdded []hivev1.ClusterDeploymentConditionType) []hivev1.ClusterDeploymentCondition

                                                        InitializeClusterDeploymentConditions initializes the given set of conditions for the first time, set with Status Unknown

                                                        func IsClaimedClusterMarkedForRemoval

                                                        func IsClaimedClusterMarkedForRemoval(cd *hivev1.ClusterDeployment) bool

                                                          IsClaimedClusterMarkedForRemoval returns true when hive.openshift.io/remove-claimed-cluster-from-pool annotation is set to true value in the clusterdeployment

                                                          func IsClusterPausedOrRelocating

                                                          func IsClusterPausedOrRelocating(cd *hivev1.ClusterDeployment, logger log.FieldLogger) bool

                                                            IsClusterPausedOrRelocating checks if the syncing to the cluster is paused or if the cluster is relocating

                                                            func IsDeadlineExceeded

                                                            func IsDeadlineExceeded(job *batchv1.Job) bool

                                                              IsDeadlineExceeded returns true if the job failed due to deadline being exceeded

                                                              func IsDeleteProtected

                                                              func IsDeleteProtected(cd *hivev1.ClusterDeployment) bool

                                                              func IsFailed

                                                              func IsFailed(job *batchv1.Job) bool

                                                                IsFailed returns true if the job failed

                                                                func IsFakeCluster

                                                                func IsFakeCluster(cd *hivev1.ClusterDeployment) bool

                                                                func IsFinished

                                                                func IsFinished(job *batchv1.Job) bool

                                                                  IsFinished returns true if the job completed (succeeded or failed)

                                                                  func IsRelocating

                                                                  func IsRelocating(obj metav1.Object) (relocateName string, status hivev1.RelocateStatus, err error)

                                                                  func IsSuccessful

                                                                  func IsSuccessful(job *batchv1.Job) bool

                                                                    IsSuccessful returns true if the job was successful

                                                                    func ListRuntimeObjects

                                                                    func ListRuntimeObjects(c client.Client, typesToList []client.ObjectList, opts ...client.ListOption) ([]runtime.Object, error)

                                                                      ListRuntimeObjects returns a slice of runtime objects returned from the kubernetes client based on the passed in list of types to return and list options.

                                                                      func LoadSecretData

                                                                      func LoadSecretData(c client.Client, secretName, namespace, dataKey string) (string, error)

                                                                        LoadSecretData loads a given secret key and returns it's data as a string.

                                                                        func LogLevel

                                                                        func LogLevel(err error) log.Level

                                                                          LogLevel returns the log level to use to log the specified error.

                                                                          func MergeJsons

                                                                          func MergeJsons(globalPullSecret string, localPullSecret string, cdLog log.FieldLogger) (string, error)

                                                                            MergeJsons will merge the global and local pull secret and return it

                                                                            func NewClientWithMetricsOrDie

                                                                            func NewClientWithMetricsOrDie(mgr manager.Manager, ctrlrName hivev1.ControllerName, rateLimiter *flowcontrol.RateLimiter) client.Client

                                                                              NewClientWithMetricsOrDie creates a new controller-runtime client with a wrapper which increments metrics for requests by controller name, HTTP method, URL path, and whether or not the request was to a remote cluster.. The client will re-use the managers cache. This should be used in all Hive controllers.

                                                                              func ReadStatefulsetOrDie

                                                                              func ReadStatefulsetOrDie(objBytes []byte) *appsv1.StatefulSet

                                                                                ReadStatefulsetOrDie converts a statefulset asset into an actual instance of a statefulset.

                                                                                func ReconcileDNSZoneForRelocation

                                                                                func ReconcileDNSZoneForRelocation(c client.Client, logger log.FieldLogger, dnsZone *hivev1.DNSZone, finalizer string) (*reconcile.Result, error)

                                                                                  ReconcileDNSZoneForRelocation performs reconciliation on a DNSZone that is in the midst of a relocation to a new Hive instance. If the DNSZone is undergoing relocation, then the source Hive instance should not act on the DNSZone. If the DNSZone is undergoing relocation, then the destination Hive instance should not act on the DNSZone except to allow for a delete. If the DSNZone has completed relocation, then the source Hive instance should not act on the DNSZone except to remove the finalizer.

                                                                                  func ReconcileOwnerReferences

                                                                                  func ReconcileOwnerReferences(owner hivev1.MetaRuntimeObject, ownershipKeys []*OwnershipUniqueKey, kubeclient client.Client, scheme *runtime.Scheme, logger log.FieldLogger) error

                                                                                    ReconcileOwnerReferences ensures that given owner is in fact the actual owner for all types in typesToList given a specific labelSelector

                                                                                    func SetClusterClaimCondition

                                                                                    func SetClusterClaimCondition(
                                                                                    	conditions []hivev1.ClusterClaimCondition,
                                                                                    	conditionType hivev1.ClusterClaimConditionType,
                                                                                    	status corev1.ConditionStatus,
                                                                                    	reason string,
                                                                                    	message string,
                                                                                    	updateConditionCheck UpdateConditionCheck,
                                                                                    ) []hivev1.ClusterClaimCondition

                                                                                      SetClusterClaimCondition sets a condition on a ClusterClaim resource's status

                                                                                      func SetClusterClaimConditionWithChangeCheck

                                                                                      func SetClusterClaimConditionWithChangeCheck(
                                                                                      	conditions []hivev1.ClusterClaimCondition,
                                                                                      	conditionType hivev1.ClusterClaimConditionType,
                                                                                      	status corev1.ConditionStatus,
                                                                                      	reason string,
                                                                                      	message string,
                                                                                      	updateConditionCheck UpdateConditionCheck,
                                                                                      ) ([]hivev1.ClusterClaimCondition, bool)

                                                                                        SetClusterClaimConditionWithChangeCheck sets a condition on a ClusterClaim resource's status. It returns the conditions as well a boolean indicating whether there was a change made to the conditions.

                                                                                        func SetClusterDeploymentCondition

                                                                                        func SetClusterDeploymentCondition(
                                                                                        	conditions []hivev1.ClusterDeploymentCondition,
                                                                                        	conditionType hivev1.ClusterDeploymentConditionType,
                                                                                        	status corev1.ConditionStatus,
                                                                                        	reason string,
                                                                                        	message string,
                                                                                        	updateConditionCheck UpdateConditionCheck,
                                                                                        ) []hivev1.ClusterDeploymentCondition

                                                                                          SetClusterDeploymentCondition sets a condition on a ClusterDeployment resource's status

                                                                                          func SetClusterDeploymentConditionWithChangeCheck

                                                                                          func SetClusterDeploymentConditionWithChangeCheck(
                                                                                          	conditions []hivev1.ClusterDeploymentCondition,
                                                                                          	conditionType hivev1.ClusterDeploymentConditionType,
                                                                                          	status corev1.ConditionStatus,
                                                                                          	reason string,
                                                                                          	message string,
                                                                                          	updateConditionCheck UpdateConditionCheck,
                                                                                          ) ([]hivev1.ClusterDeploymentCondition, bool)

                                                                                            SetClusterDeploymentConditionWithChangeCheck sets a condition on a ClusterDeployment resource's status. It returns the conditions as well a boolean indicating whether there was a change made to the conditions.

                                                                                            func SetClusterDeprovisionCondition

                                                                                            func SetClusterDeprovisionCondition(
                                                                                            	conditions []hivev1.ClusterDeprovisionCondition,
                                                                                            	conditionType hivev1.ClusterDeprovisionConditionType,
                                                                                            	status corev1.ConditionStatus,
                                                                                            	reason string,
                                                                                            	message string,
                                                                                            	updateConditionCheck UpdateConditionCheck,
                                                                                            ) []hivev1.ClusterDeprovisionCondition

                                                                                              SetClusterDeprovisionCondition sets a condition on a ClusterDeprovision resource's status

                                                                                              func SetClusterDeprovisionConditionWithChangeCheck

                                                                                              func SetClusterDeprovisionConditionWithChangeCheck(
                                                                                              	conditions []hivev1.ClusterDeprovisionCondition,
                                                                                              	conditionType hivev1.ClusterDeprovisionConditionType,
                                                                                              	status corev1.ConditionStatus,
                                                                                              	reason string,
                                                                                              	message string,
                                                                                              	updateConditionCheck UpdateConditionCheck,
                                                                                              ) ([]hivev1.ClusterDeprovisionCondition, bool)

                                                                                                SetClusterDeprovisionConditionWithChangeCheck sets a condition on a ClusterDeprovision resource's status It returns the conditions as well a boolean indicating whether there was a change made to the conditions.

                                                                                                func SetClusterPoolCondition

                                                                                                func SetClusterPoolCondition(
                                                                                                	conditions []hivev1.ClusterPoolCondition,
                                                                                                	conditionType hivev1.ClusterPoolConditionType,
                                                                                                	status corev1.ConditionStatus,
                                                                                                	reason string,
                                                                                                	message string,
                                                                                                	updateConditionCheck UpdateConditionCheck,
                                                                                                ) []hivev1.ClusterPoolCondition

                                                                                                  SetClusterPoolCondition sets a condition on a ClusterPool resource's status

                                                                                                  func SetClusterPoolConditionWithChangeCheck

                                                                                                  func SetClusterPoolConditionWithChangeCheck(
                                                                                                  	conditions []hivev1.ClusterPoolCondition,
                                                                                                  	conditionType hivev1.ClusterPoolConditionType,
                                                                                                  	status corev1.ConditionStatus,
                                                                                                  	reason string,
                                                                                                  	message string,
                                                                                                  	updateConditionCheck UpdateConditionCheck,
                                                                                                  ) ([]hivev1.ClusterPoolCondition, bool)

                                                                                                    SetClusterPoolConditionWithChangeCheck sets a condition on a ClusterPool resource's status. It returns the conditions as well a boolean indicating whether there was a change made to the conditions.

                                                                                                    func SetClusterProvisionCondition

                                                                                                    func SetClusterProvisionCondition(
                                                                                                    	conditions []hivev1.ClusterProvisionCondition,
                                                                                                    	conditionType hivev1.ClusterProvisionConditionType,
                                                                                                    	status corev1.ConditionStatus,
                                                                                                    	reason string,
                                                                                                    	message string,
                                                                                                    	updateConditionCheck UpdateConditionCheck,
                                                                                                    ) []hivev1.ClusterProvisionCondition

                                                                                                      SetClusterProvisionCondition sets a condition on a ClusterProvision resource's status

                                                                                                      func SetDNSZoneCondition

                                                                                                      func SetDNSZoneCondition(
                                                                                                      	conditions []hivev1.DNSZoneCondition,
                                                                                                      	conditionType hivev1.DNSZoneConditionType,
                                                                                                      	status corev1.ConditionStatus,
                                                                                                      	reason string,
                                                                                                      	message string,
                                                                                                      	updateConditionCheck UpdateConditionCheck,
                                                                                                      ) []hivev1.DNSZoneCondition

                                                                                                        SetDNSZoneCondition sets a condition on a DNSZone resource's status

                                                                                                        func SetDNSZoneConditionWithChangeCheck

                                                                                                        func SetDNSZoneConditionWithChangeCheck(
                                                                                                        	conditions []hivev1.DNSZoneCondition,
                                                                                                        	conditionType hivev1.DNSZoneConditionType,
                                                                                                        	status corev1.ConditionStatus,
                                                                                                        	reason string,
                                                                                                        	message string,
                                                                                                        	updateConditionCheck UpdateConditionCheck,
                                                                                                        ) ([]hivev1.DNSZoneCondition, bool)

                                                                                                          SetDNSZoneConditionWithChangeCheck sets a condition on a DNSZone resource's status It returns the conditions as well a boolean indicating whether there was a change made to the conditions.

                                                                                                          func SetMachinePoolCondition

                                                                                                          func SetMachinePoolCondition(
                                                                                                          	conditions []hivev1.MachinePoolCondition,
                                                                                                          	conditionType hivev1.MachinePoolConditionType,
                                                                                                          	status corev1.ConditionStatus,
                                                                                                          	reason string,
                                                                                                          	message string,
                                                                                                          	updateConditionCheck UpdateConditionCheck,
                                                                                                          ) []hivev1.MachinePoolCondition

                                                                                                            SetMachinePoolCondition sets a condition on a MachinePool resource's status

                                                                                                            func SetMachinePoolConditionWithChangeCheck

                                                                                                            func SetMachinePoolConditionWithChangeCheck(
                                                                                                            	conditions []hivev1.MachinePoolCondition,
                                                                                                            	conditionType hivev1.MachinePoolConditionType,
                                                                                                            	status corev1.ConditionStatus,
                                                                                                            	reason string,
                                                                                                            	message string,
                                                                                                            	updateConditionCheck UpdateConditionCheck,
                                                                                                            ) ([]hivev1.MachinePoolCondition, bool)

                                                                                                              SetMachinePoolConditionWithChangeCheck sets a condition on a MachinePool resource's status. It returns the conditions as well a boolean indicating whether there was a change made to the conditions.

                                                                                                              func SetProxyEnvVars

                                                                                                              func SetProxyEnvVars(podSpec *corev1.PodSpec, httpProxy, httpsProxy, noProxy string)

                                                                                                                SetProxyEnvVars will add the standard proxy environment variables to all containers in the given pod spec. If any of the provided values are empty, the environment variable will not be set.

                                                                                                                func SetRelocateAnnotation

                                                                                                                func SetRelocateAnnotation(obj metav1.Object, relocateName string, relocateStatus hivev1.RelocateStatus) (changed bool)

                                                                                                                  SetRelocateAnnotation sets the relocate annotation on the specified object.

                                                                                                                  func SetSyncCondition

                                                                                                                  func SetSyncCondition(
                                                                                                                  	conditions []hivev1.SyncCondition,
                                                                                                                  	conditionType hivev1.SyncConditionType,
                                                                                                                  	status corev1.ConditionStatus,
                                                                                                                  	reason string,
                                                                                                                  	message string,
                                                                                                                  	updateConditionCheck UpdateConditionCheck,
                                                                                                                  ) []hivev1.SyncCondition

                                                                                                                    SetSyncCondition sets a condition on a SyncSet or resource's status

                                                                                                                    func SetupAdditionalCA

                                                                                                                    func SetupAdditionalCA() error

                                                                                                                      SetupAdditionalCA reads a file referenced by the ADDITIONAL_CA environment variable that contains an additional CA. This should only be called once on initialization

                                                                                                                      func SetupClusterInstallServiceAccount

                                                                                                                      func SetupClusterInstallServiceAccount(c client.Client, namespace string, logger log.FieldLogger) error

                                                                                                                        SetupClusterInstallServiceAccount ensures a service account exists which can upload the required artifacts after running the installer in a pod. (metadata, admin kubeconfig)

                                                                                                                        func SetupClusterUninstallServiceAccount

                                                                                                                        func SetupClusterUninstallServiceAccount(c client.Client, namespace string, logger log.FieldLogger) error

                                                                                                                          SetupClusterUninstallServiceAccount ensures a service account exists which can read the required secrets, upload the required artifacts after running the installer deprovision in a pod.

                                                                                                                          func SyncOwnerReference

                                                                                                                          func SyncOwnerReference(owner hivev1.MetaRuntimeObject, object hivev1.MetaRuntimeObject, kubeclient client.Client,
                                                                                                                          	scheme *runtime.Scheme, controlled bool, logger log.FieldLogger) error

                                                                                                                            SyncOwnerReference ensures that the object passed in has an owner reference of the owner passed in. It then updates the object in Kube. If 'controlled' is set to true, the owner is set as the controller of the object. BlockOwnerDeletion is set to true for all owner references

                                                                                                                            func TrustBundleFromSecretToWriter

                                                                                                                            func TrustBundleFromSecretToWriter(c client.Client, secretNamespace, secretName string, w io.Writer) error

                                                                                                                              TrustBundleFromSecretToWriter creates a trust bundle from keys in the secret writing it to a writer. It assumes all the keys have trust bundles in PEM format and writes each one to writer with a newline between each key contents.

                                                                                                                              func Undotted

                                                                                                                              func Undotted(domain string) string

                                                                                                                                Undotted removes the trailing dot from a domain if it exists.

                                                                                                                                func UpdateConditionAlways

                                                                                                                                func UpdateConditionAlways(_, _, _, _ string) bool

                                                                                                                                  UpdateConditionAlways returns true. The condition will always be updated.

                                                                                                                                  func UpdateConditionIfReasonOrMessageChange

                                                                                                                                  func UpdateConditionIfReasonOrMessageChange(oldReason, oldMessage, newReason, newMessage string) bool

                                                                                                                                    UpdateConditionIfReasonOrMessageChange returns true if there is a change in the reason or the message of the condition.

                                                                                                                                    func UpdateConditionNever

                                                                                                                                    func UpdateConditionNever(_, _, _, _ string) bool

                                                                                                                                      UpdateConditionNever return false. The condition will never be updated, unless there is a change in the status of the condition.

                                                                                                                                      func ValidateCredentialsForClusterDeployment

                                                                                                                                      func ValidateCredentialsForClusterDeployment(kubeClient client.Client, cd *hivev1.ClusterDeployment, logger log.FieldLogger) (bool, error)

                                                                                                                                        ValidateCredentialsForClusterDeployment will attempt to verify that the platform/cloud credentials for the given ClusterDeployment are valid. Note: It simply checks that the username/password (or equivalent) can authenticate, not that the credentials have any specific permissions.

                                                                                                                                        func WrapEventHandlerWithLogging

                                                                                                                                        func WrapEventHandlerWithLogging(eventHandler handler.EventHandler, logger log.FieldLogger) handler.EventHandler

                                                                                                                                          WrapEventHandlerWithLogging wraps the specified event handler inside a new event handler that will log when events are handled and items are added to the queue.

                                                                                                                                          Types

                                                                                                                                          type ControlleeExpectations

                                                                                                                                          type ControlleeExpectations struct {
                                                                                                                                          	// contains filtered or unexported fields
                                                                                                                                          }

                                                                                                                                            ControlleeExpectations track controllee creates/deletes.

                                                                                                                                            func (*ControlleeExpectations) Add

                                                                                                                                            func (e *ControlleeExpectations) Add(add, del int64)

                                                                                                                                              Add increments the add and del counters.

                                                                                                                                              func (*ControlleeExpectations) Fulfilled

                                                                                                                                              func (e *ControlleeExpectations) Fulfilled() bool

                                                                                                                                                Fulfilled returns true if this expectation has been fulfilled.

                                                                                                                                                func (*ControlleeExpectations) GetExpectations

                                                                                                                                                func (e *ControlleeExpectations) GetExpectations() (int64, int64)

                                                                                                                                                  GetExpectations returns the add and del expectations of the controllee.

                                                                                                                                                  type ControllerMetricsTripper

                                                                                                                                                  type ControllerMetricsTripper struct {
                                                                                                                                                  	http.RoundTripper
                                                                                                                                                  	Controller hivev1.ControllerName
                                                                                                                                                  	Remote     bool
                                                                                                                                                  }

                                                                                                                                                    ControllerMetricsTripper is a RoundTripper implementation which tracks our metrics for client requests.

                                                                                                                                                    func (*ControllerMetricsTripper) CancelRequest

                                                                                                                                                    func (cmt *ControllerMetricsTripper) CancelRequest(req *http.Request)

                                                                                                                                                    func (*ControllerMetricsTripper) RoundTrip

                                                                                                                                                    func (cmt *ControllerMetricsTripper) RoundTrip(req *http.Request) (*http.Response, error)

                                                                                                                                                      RoundTrip implements the http RoundTripper interface.

                                                                                                                                                      type Expectations

                                                                                                                                                      type Expectations struct {
                                                                                                                                                      	cache.Store
                                                                                                                                                      	// contains filtered or unexported fields
                                                                                                                                                      }

                                                                                                                                                        Expectations is a cache mapping controllers to what they expect to see before being woken up for a sync.

                                                                                                                                                        func NewExpectations

                                                                                                                                                        func NewExpectations(logger log.FieldLogger) *Expectations

                                                                                                                                                          NewExpectations returns a store for Expectations.

                                                                                                                                                          func (*Expectations) CreationObserved

                                                                                                                                                          func (r *Expectations) CreationObserved(controllerKey string)

                                                                                                                                                            CreationObserved atomically decrements the `add` expectation count of the given controller.

                                                                                                                                                            func (*Expectations) DeleteExpectations

                                                                                                                                                            func (r *Expectations) DeleteExpectations(controllerKey string)

                                                                                                                                                              DeleteExpectations deletes the expectations of the given controller from the TTLStore.

                                                                                                                                                              func (*Expectations) DeletionObserved

                                                                                                                                                              func (r *Expectations) DeletionObserved(controllerKey string)

                                                                                                                                                                DeletionObserved atomically decrements the `del` expectation count of the given controller.

                                                                                                                                                                func (*Expectations) ExpectCreations

                                                                                                                                                                func (r *Expectations) ExpectCreations(controllerKey string, adds int) error

                                                                                                                                                                  ExpectCreations sets the expectations to expect the specified number of additions for the controller with the specified key.

                                                                                                                                                                  func (*Expectations) ExpectDeletions

                                                                                                                                                                  func (r *Expectations) ExpectDeletions(controllerKey string, dels int) error

                                                                                                                                                                    ExpectDeletions sets the expectations to expect the specified number of deletions for the controller with the specified key.

                                                                                                                                                                    func (*Expectations) GetExpectations

                                                                                                                                                                    func (r *Expectations) GetExpectations(controllerKey string) (*ControlleeExpectations, bool, error)

                                                                                                                                                                      GetExpectations returns the ControlleeExpectations of the given controller.

                                                                                                                                                                      func (*Expectations) LowerExpectations

                                                                                                                                                                      func (r *Expectations) LowerExpectations(controllerKey string, add, del int)

                                                                                                                                                                        LowerExpectations decrements the expectation counts of the given controller.

                                                                                                                                                                        func (*Expectations) RaiseExpectations

                                                                                                                                                                        func (r *Expectations) RaiseExpectations(controllerKey string, add, del int)

                                                                                                                                                                          RaiseExpectations increments the expectation counts of the given controller.

                                                                                                                                                                          func (*Expectations) SatisfiedExpectations

                                                                                                                                                                          func (r *Expectations) SatisfiedExpectations(controllerKey string) bool

                                                                                                                                                                            SatisfiedExpectations returns true if the required adds/dels for the given controller have been observed. Add/del counts are established by the controller at sync time, and updated as controllees are observed by the controller manager.

                                                                                                                                                                            func (*Expectations) SetExpectations

                                                                                                                                                                            func (r *Expectations) SetExpectations(controllerKey string, add, del int) error

                                                                                                                                                                              SetExpectations registers new expectations for the given controller. Forgets existing expectations.

                                                                                                                                                                              type ExpectationsInterface

                                                                                                                                                                              type ExpectationsInterface interface {
                                                                                                                                                                              	GetExpectations(controllerKey string) (*ControlleeExpectations, bool, error)
                                                                                                                                                                              	SatisfiedExpectations(controllerKey string) bool
                                                                                                                                                                              	DeleteExpectations(controllerKey string)
                                                                                                                                                                              	SetExpectations(controllerKey string, add, del int) error
                                                                                                                                                                              	ExpectCreations(controllerKey string, adds int) error
                                                                                                                                                                              	ExpectDeletions(controllerKey string, dels int) error
                                                                                                                                                                              	CreationObserved(controllerKey string)
                                                                                                                                                                              	DeletionObserved(controllerKey string)
                                                                                                                                                                              	RaiseExpectations(controllerKey string, add, del int)
                                                                                                                                                                              	LowerExpectations(controllerKey string, add, del int)
                                                                                                                                                                              }

                                                                                                                                                                                ExpectationsInterface is an interface that allows users to set and wait on expectations. Only abstracted out for testing. Warning: if using KeyFunc it is not safe to use a single ExpectationsInterface with different types of controllers, because the keys might conflict across types.

                                                                                                                                                                                type OwnershipUniqueKey

                                                                                                                                                                                type OwnershipUniqueKey struct {
                                                                                                                                                                                	LabelSelector map[string]string
                                                                                                                                                                                	TypeToList    client.ObjectList
                                                                                                                                                                                	Controlled    bool
                                                                                                                                                                                }

                                                                                                                                                                                  OwnershipUniqueKey contains the uniquly identifiable pattern for ensuring ownership labels are correct applied for a type.

                                                                                                                                                                                  type UpdateConditionCheck

                                                                                                                                                                                  type UpdateConditionCheck func(oldReason, oldMessage, newReason, newMessage string) bool

                                                                                                                                                                                    UpdateConditionCheck tests whether a condition should be updated from the old condition to the new condition. Returns true if the condition should be updated.