csidriveroperator

package
v0.0.0-...-233eb29 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2024 License: Apache-2.0 Imports: 47 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCSIDriverOperatorCRController

func NewCSIDriverOperatorCRController(
	name string,
	clients *csoclients.Clients,
	csiOperatorConfig csioperatorclient.CSIOperatorConfig,
	eventRecorder events.Recorder,
	resyncInterval time.Duration,
) factory.Controller

func NewCSIDriverOperatorDeploymentController

func NewCSIDriverOperatorDeploymentController(
	clients *csoclients.Clients,
	csiOperatorConfig csioperatorclient.CSIOperatorConfig,
	versionGetter status.VersionGetter,
	targetVersion string,
	eventRecorder events.Recorder,
	resyncInterval time.Duration,
) factory.Controller

func NewHyperShiftControllerDeployment

func NewHyperShiftControllerDeployment(
	mgtClient *csoclients.Clients,
	guestClient *csoclients.Clients,
	controlNamespace string,
	csiOperatorConfig csioperatorclient.CSIOperatorConfig,
	versionGetter status.VersionGetter,
	targetVersion string,
	eventRecorder events.Recorder,
	resyncInterval time.Duration,
) factory.Controller

func NewHypershiftDriverStarter

func NewHypershiftDriverStarter(
	clients *csoclients.Clients,
	mgmtClients *csoclients.Clients,
	fg featuregates.FeatureGate,
	controlNamespace string,
	resyncInterval time.Duration,
	versionGetter status.VersionGetter,
	targetVersion string,
	eventRecorder events.Recorder,
	mgmtEventRecorder events.Recorder,
	driverConfigs []csioperatorclient.CSIOperatorConfig) (factory.Controller, *hypershiftDriverStarter)

func NewStandaloneDriverStarter

func NewStandaloneDriverStarter(
	clients *csoclients.Clients,
	featureGates featuregates.FeatureGate,
	resyncInterval time.Duration,
	versionGetter status.VersionGetter,
	targetVersion string,
	eventRecorder events.Recorder,
	driverConfigs []csioperatorclient.CSIOperatorConfig) (factory.Controller, *standAloneDriverStarter)

func RelatedObjectFunc

func RelatedObjectFunc() func() (isset bool, objs []configv1.ObjectReference)

Types

type CSIDriverOperatorCRController

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

This CSIDriverOperatorCRController installs and syncs CSI driver operator CR. It monitors the CR status and merges all its conditions to the CSO CR. It produces following Conditions: <CSI driver name>CSIDriverOperatorDegraded on error <CSI driver name>CSIDriverOperatorCRDegraded - copied from *Degraded conditions from CR. <CSI driver name>CSIDriverOperatorCRAvailable - copied from *Available conditions from CR. <CSI driver name>CSIDriverOperatorCRProgressing - copied from *Progressing conditions from CR.

func (*CSIDriverOperatorCRController) Name

func (*CSIDriverOperatorCRController) Run

func (c *CSIDriverOperatorCRController) Run(ctx context.Context, workers int)

func (*CSIDriverOperatorCRController) Sync

type CSIDriverOperatorDeploymentController

type CSIDriverOperatorDeploymentController struct {
	CommonCSIDeploymentController
}

This CSIDriverStarterController installs and syncs CSI driver operator Deployment. It replace ${LOG_LEVEL} in the Deployment with current log level. It replaces images in the Deployment using CSIOperatorConfig.ImageReplacer. It produces following Conditions: <CSI driver name>CSIDriverOperatorDeploymentProgressing <CSI driver name>CSIDriverOperatorDeploymentDegraded This controller doesn't set the Available condition to avoid prematurely cascading up to the clusteroperator CR a potential Available=false. On the other hand it does a better in making sure the Degraded condition is properly set if Deployment isn't healthy.

func (*CSIDriverOperatorDeploymentController) Name

func (*CSIDriverOperatorDeploymentController) Run

func (*CSIDriverOperatorDeploymentController) Sync

type CommonCSIDeploymentController

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

type HyperShiftDeploymentController

type HyperShiftDeploymentController struct {
	CommonCSIDeploymentController
	// contains filtered or unexported fields
}

This HyperShiftDeploymentController installs and syncs CSI driver operator Deployment. It replace ${LOG_LEVEL} in the Deployment with current log level. It replaces images in the Deployment using CSIOperatorConfig.ImageReplacer. It produces following Conditions: <CSI driver name>CSIDriverOperatorDeploymentProgressing <CSI driver name>CSIDriverOperatorDeploymentDegraded This controller doesn't set the Available condition to avoid prematurely cascading up to the clusteroperator CR a potential Available=false. On the other hand it does a better in making sure the Degraded condition is properly set if the Deployment isn't healthy.

func (*HyperShiftDeploymentController) Name

func (*HyperShiftDeploymentController) Run

func (c *HyperShiftDeploymentController) Run(ctx context.Context, workers int)

func (*HyperShiftDeploymentController) Sync

type OLMOperatorRemovalController

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

This OLMOperatorRemovalController deletes pre-existing CSI driver installed by OLM to new CSI driver namespace. Steps performed:

  1. Remove old OLM Subscription and CSV. Remember the operator namespace (in Storage CR annotation), just in case the controller is restarted after Subscription removal.
  2. Remove the old CR (incl. force-removing all of its finalizers).

It produces following conditions: <CSI driver name>OLMOperatorRemovalProgressing/Degraded: for status reporting. <CSI driver name>OLMOperatorRemovalAvailable: to signal that the removal has been complete

func NewOLMOperatorRemovalController

func NewOLMOperatorRemovalController(
	csiOperatorConfig csioperatorclient.CSIOperatorConfig,
	clients *csoclients.Clients,
	eventRecorder events.Recorder,
	resyncInterval time.Duration,
) *OLMOperatorRemovalController

func (*OLMOperatorRemovalController) Name

func (*OLMOperatorRemovalController) Run

func (c *OLMOperatorRemovalController) Run(ctx context.Context, workers int)

func (*OLMOperatorRemovalController) Sync

type RelatedObjectGetter

type RelatedObjectGetter interface {
	RelatedObjects() ([]configv1.ObjectReference, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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