controllers

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2023 License: Apache-2.0 Imports: 51 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// NovaAPILabelPrefix - a unique, service binary specific prefix for the
	// labels the NovaAPI controller uses on children objects
	NovaAPILabelPrefix = "nova-api"
	// NovaConductorLabelPrefix - a unique, service binary specific prefix for
	// the labels the NovaConductor controller uses on children objects
	NovaConductorLabelPrefix = "nova-conductor"
	// NovaSchedulerLabelPrefix - a unique, service binary specific prefix for
	// the labels the NovaScheduler controller uses on children objects
	NovaSchedulerLabelPrefix = "nova-scheduler"
	// NovaExternalComputeLabelPrefix - a unique, prefix used for the AEE CR
	// and other children objects created to mange external computes
	NovaExternalComputeLabelPrefix = "nova-external-compute"
	// NovaLabelPrefix - a unique, prefix used for the playbooks owned by
	// the nova operator
	NovaLabelPrefix = "nova"
	// NovaMetadataLabelPrefix - a unique, service binary specific prefix for
	// the labels the NovaMetadata controller uses on children objects
	NovaMetadataLabelPrefix = "nova-metadata"
	// NovaNoVNCProxyLabelPrefix - a unique, service binary specific prefix for
	// the labels the NovaNoVNCProxy controller uses on children objects
	NovaNoVNCProxyLabelPrefix = "nova-novncproxy"
	// DbSyncHash - the field name in Status.Hashes storing the has of the DB
	// sync job
	DbSyncHash = "dbsync"
	// CellSelector is the key name of a cell label
	CellSelector = "cell"

	// ServicePasswordSelector is the name of key in the internal Secret for
	// the nova service password
	ServicePasswordSelector = "ServicePassword"
	// MetadataSecretSelector is the name of key in the internal Secret for
	// the metadata shared secret
	MetadataSecretSelector = "MetadataSecret"
	// APIDatabasePasswordSelector is the name of key in the internal Secret
	// for the API database
	APIDatabasePasswordSelector = "APIDatabasePassword"
	// APIDatabasePasswordSelector is the name of key in the internal cell
	// Secret for the cell database of the given cell
	CellDatabasePasswordSelector = "CellDatabasePassword"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type GetSecret

type GetSecret interface {
	GetSecret() string
	client.Object
}

type Manageable

type Manageable interface {
	SetupWithManager(mgr ctrl.Manager) error
}

Manageable all types that conform to this interface can be setup with a controller-runtime manager.

type NovaAPIReconciler

type NovaAPIReconciler struct {
	ReconcilerBase
}

NovaAPIReconciler reconciles a NovaAPI object

func (*NovaAPIReconciler) Reconcile

func (r *NovaAPIReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, _err error)

Reconcile is part of the main kubernetes reconciliation loop which aims to move the current state of the cluster closer to the desired state. TODO(user): Modify the Reconcile function to compare the state specified by the NovaAPI object against the actual cluster state, and then perform operations to make the cluster state reflect the state specified by the user.

For more details, check Reconcile and its Result here: - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.12.2/pkg/reconcile

func (*NovaAPIReconciler) SetupWithManager

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

SetupWithManager sets up the controller with the Manager.

type NovaCellReconciler

type NovaCellReconciler struct {
	ReconcilerBase
}

NovaCellReconciler reconciles a NovaCell object

func (*NovaCellReconciler) Reconcile

func (r *NovaCellReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, _err error)

Reconcile is part of the main kubernetes reconciliation loop which aims to move the current state of the cluster closer to the desired state. TODO(user): Modify the Reconcile function to compare the state specified by the NovaCell object against the actual cluster state, and then perform operations to make the cluster state reflect the state specified by the user.

For more details, check Reconcile and its Result here: - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.12.2/pkg/reconcile

func (*NovaCellReconciler) SetupWithManager

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

SetupWithManager sets up the controller with the Manager.

type NovaConductorReconciler

type NovaConductorReconciler struct {
	ReconcilerBase
}

NovaConductorReconciler reconciles a NovaConductor object

func (*NovaConductorReconciler) Reconcile

func (r *NovaConductorReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, _err error)

Reconcile is part of the main kubernetes reconciliation loop which aims to move the current state of the cluster closer to the desired state. TODO(user): Modify the Reconcile function to compare the state specified by the NovaConductor object against the actual cluster state, and then perform operations to make the cluster state reflect the state specified by the user.

For more details, check Reconcile and its Result here: - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.12.2/pkg/reconcile

func (*NovaConductorReconciler) SetupWithManager

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

SetupWithManager sets up the controller with the Manager.

type NovaExternalComputeReconciler

type NovaExternalComputeReconciler struct {
	ReconcilerBase
}

NovaExternalComputeReconciler reconciles a NovaExternalCompute object

func (*NovaExternalComputeReconciler) Reconcile

func (r *NovaExternalComputeReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, _err error)

Reconcile is part of the main kubernetes reconciliation loop which aims to move the current state of the cluster closer to the desired state.

For more details, check Reconcile and its Result here: - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.12.2/pkg/reconcile

func (*NovaExternalComputeReconciler) SetupWithManager

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

SetupWithManager sets up the controller with the Manager.

type NovaMetadataReconciler

type NovaMetadataReconciler struct {
	ReconcilerBase
}

NovaMetadataReconciler reconciles a NovaMetadata object

func (*NovaMetadataReconciler) Reconcile

func (r *NovaMetadataReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, _err error)

Reconcile is part of the main kubernetes reconciliation loop which aims to move the current state of the cluster closer to the desired state. TODO(user): Modify the Reconcile function to compare the state specified by the NovaMetadata object against the actual cluster state, and then perform operations to make the cluster state reflect the state specified by the user.

For more details, check Reconcile and its Result here: - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.12.2/pkg/reconcile

func (*NovaMetadataReconciler) SetupWithManager

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

SetupWithManager sets up the controller with the Manager.

type NovaNoVNCProxyReconciler

type NovaNoVNCProxyReconciler struct {
	ReconcilerBase
}

NovaNoVNCProxyReconciler reconciles a NovaNoVNCProxy object

func (*NovaNoVNCProxyReconciler) Reconcile

func (r *NovaNoVNCProxyReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, _err error)

Reconcile is part of the main kubernetes reconciliation loop which aims to move the current state of the cluster closer to the desired state. TODO(user): Modify the Reconcile function to compare the state specified by the NovaNoVNCProxy object against the actual cluster state, and then perform operations to make the cluster state reflect the state specified by the user.

For more details, check Reconcile and its Result here: - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.12.2/pkg/reconcile

func (*NovaNoVNCProxyReconciler) SetupWithManager

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

SetupWithManager sets up the controller with the Manager.

type NovaReconciler

type NovaReconciler struct {
	ReconcilerBase
}

NovaReconciler reconciles a Nova object

func (*NovaReconciler) Reconcile

func (r *NovaReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, _err error)

Reconcile is part of the main kubernetes reconciliation loop which aims to move the current state of the cluster closer to the desired state. TODO(user): Modify the Reconcile function to compare the state specified by the Nova object against the actual cluster state, and then perform operations to make the cluster state reflect the state specified by the user.

For more details, check Reconcile and its Result here: - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.12.2/pkg/reconcile

func (*NovaReconciler) SetupWithManager

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

SetupWithManager sets up the controller with the Manager.

type NovaSchedulerReconciler

type NovaSchedulerReconciler struct {
	ReconcilerBase
}

NovaSchedulerReconciler reconciles a NovaScheduler object

func (*NovaSchedulerReconciler) Reconcile

func (r *NovaSchedulerReconciler) Reconcile(ctx context.Context, req ctrl.Request) (result ctrl.Result, _err error)

Reconcile is part of the main kubernetes reconciliation loop which aims to move the current state of the cluster closer to the desired state. TODO(user): Modify the Reconcile function to compare the state specified by the NovaScheduler object against the actual cluster state, and then perform operations to make the cluster state reflect the state specified by the user.

For more details, check Reconcile and its Result here: - https://pkg.go.dev/sigs.k8s.io/controller-runtime@v0.12.2/pkg/reconcile

func (*NovaSchedulerReconciler) SetupWithManager

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

SetupWithManager sets up the controller with the Manager.

type Reconciler

type Reconciler interface {
	Manageable
	SetRequeueTimeout(timeout time.Duration)
}

Reconciler represents a generic interface for all Reconciler objects in nova

type ReconcilerBase

type ReconcilerBase struct {
	Client         client.Client
	Kclient        kubernetes.Interface
	Log            logr.Logger
	Scheme         *runtime.Scheme
	RequeueTimeout time.Duration
}

ReconcilerBase provides a common set of clients scheme and loggers for all reconcilers.

func NewReconcilerBase

func NewReconcilerBase(
	name string, mgr ctrl.Manager, kclient kubernetes.Interface,
) ReconcilerBase

NewReconcilerBase constructs a ReconcilerBase given a name manager and Kclient.

func (*ReconcilerBase) GenerateConfigs

func (r *ReconcilerBase) GenerateConfigs(
	ctx context.Context, h *helper.Helper,
	instance client.Object, envVars *map[string]env.Setter,
	templateParameters map[string]interface{},
	extraData map[string]string, cmLabels map[string]string,
	additionalTemplates map[string]string,
) error

GenerateConfigs helper function to generate config maps

func (*ReconcilerBase) GenerateConfigsWithScripts

func (r *ReconcilerBase) GenerateConfigsWithScripts(
	ctx context.Context, h *helper.Helper,
	instance client.Object, envVars *map[string]env.Setter,
	templateParameters map[string]interface{},
	extraData map[string]string, cmLabels map[string]string,
	additionalTemplates map[string]string,
) error

GenerateConfigsWithScripts helper function to generate config maps for service configs and scripts

func (*ReconcilerBase) GetSecretMapperFor

func (r *ReconcilerBase) GetSecretMapperFor(crs client.ObjectList) func(client.Object) []reconcile.Request

func (*ReconcilerBase) SetRequeueTimeout

func (r *ReconcilerBase) SetRequeueTimeout(timeout time.Duration)

SetRequeueTimeout overrides the default RequeueTimeout of the Reconciler

type Reconcilers

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

Reconcilers holds all the Reconciler objects of the nova-operator to allow generic management of them.

func NewReconcilers

func NewReconcilers(mgr ctrl.Manager, kclient *kubernetes.Clientset) *Reconcilers

NewReconcilers constructs all nova Reconciler objects

func (*Reconcilers) OverrideRequeueTimeout

func (r *Reconcilers) OverrideRequeueTimeout(timeout time.Duration)

OverrideRequeueTimeout overrides the default RequeueTimeout of our reconcilers

func (*Reconcilers) Setup

func (r *Reconcilers) Setup(mgr ctrl.Manager, setupLog logr.Logger) error

Setup starts the reconcilers by connecting them to the Manager

Jump to

Keyboard shortcuts

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