workaround

package
v0.0.0-...-750f8c5 Latest Latest
Warning

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

Go to latest
Published: Dec 16, 2024 License: Apache-2.0 Imports: 22 Imported by: 1

Documentation

Index

Constants

View Source
const (
	ControllerName = "Workaround"
)

Variables

This section is empty.

Functions

func NewSystemReserved

func NewSystemReserved(log *logrus.Entry, client client.Client) *systemreserved

Types

type Reconciler

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

Reconciler the point of the workaround controller is to apply workarounds that we have unitl upstream fixes are available.

func NewReconciler

func NewReconciler(log *logrus.Entry, client client.Client) *Reconciler

func (*Reconciler) Reconcile

func (r *Reconciler) Reconcile(ctx context.Context, request ctrl.Request) (ctrl.Result, error)

Reconcile makes sure that the workarounds are applied or removed as per the OpenShift version.

func (*Reconciler) SetupWithManager

func (r *Reconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager setup our manager

type Workaround

type Workaround interface {
	Name() string
	// IsRequired returns true when the clusterversion is indicates that the cluster
	// is effected by the bug that the workaround fixes.
	IsRequired(clusterVersion *version.Version, cluster *arov1alpha1.Cluster) bool
	// Ensure will apply the workaround to the cluster.
	Ensure(context.Context) error
	// Remove will remove the workaround from the cluster
	// (in the case when IsRequired returns false).
	Remove(context.Context) error
}

Workaround is the interface for each Workaround

Jump to

Keyboard shortcuts

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