Documentation
¶
Index ¶
- func HistoryCleanup(ctx context.Context, client client.Client, conf HistoryCleanupConfig) error
- func NewPipelineWebhook() lib.PipelineAdmissionWebhook
- func RunChecks(ctx context.Context, client client.Client)
- type FilterWeigherPipelineController
- func (c *FilterWeigherPipelineController) InitPipeline(ctx context.Context, p v1alpha1.Pipeline) ...
- func (c *FilterWeigherPipelineController) PipelineType() v1alpha1.PipelineType
- func (c *FilterWeigherPipelineController) ProcessNewDecisionFromAPI(ctx context.Context, decision *v1alpha1.Decision) error
- func (c *FilterWeigherPipelineController) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)
- func (c *FilterWeigherPipelineController) SetupWithManager(mgr manager.Manager, mcl *multicluster.Client) error
- type HTTPAPI
- type HTTPAPIDelegate
- type HistoryCleanupConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func HistoryCleanup ¶
Delete all history entries for cinder volumes that have been deleted.
func NewPipelineWebhook ¶
func NewPipelineWebhook() lib.PipelineAdmissionWebhook
Create a new pipeline admission webhook for the cinder scheduling domain, using the known filters, weighers and detectors for validation.
Types ¶
type FilterWeigherPipelineController ¶
type FilterWeigherPipelineController struct {
// Toolbox shared between all pipeline controllers.
lib.BasePipelineController[lib.FilterWeigherPipeline[api.ExternalSchedulerRequest]]
// Monitor to pass down to all pipelines.
Monitor lib.FilterWeigherPipelineMonitor
// contains filtered or unexported fields
}
The decision pipeline controller takes decision resources containing a placement request spec and runs the scheduling pipeline to make a decision. This decision is then written back to the decision resource status.
Additionally, the controller watches for pipeline and step changes to reconfigure the pipelines as needed.
func (*FilterWeigherPipelineController) InitPipeline ¶
func (c *FilterWeigherPipelineController) InitPipeline( ctx context.Context, p v1alpha1.Pipeline, ) lib.PipelineInitResult[lib.FilterWeigherPipeline[api.ExternalSchedulerRequest]]
The base controller will delegate the pipeline creation down to this method.
func (*FilterWeigherPipelineController) PipelineType ¶
func (c *FilterWeigherPipelineController) PipelineType() v1alpha1.PipelineType
The type of pipeline this controller manages.
func (*FilterWeigherPipelineController) ProcessNewDecisionFromAPI ¶
func (c *FilterWeigherPipelineController) ProcessNewDecisionFromAPI(ctx context.Context, decision *v1alpha1.Decision) error
Process the decision from the API. Should create and return the updated decision.
func (*FilterWeigherPipelineController) Reconcile ¶
func (c *FilterWeigherPipelineController) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)
Callback executed when kubernetes asks to reconcile a decision resource.
func (*FilterWeigherPipelineController) SetupWithManager ¶
func (c *FilterWeigherPipelineController) SetupWithManager(mgr manager.Manager, mcl *multicluster.Client) error
type HTTPAPIDelegate ¶
type HistoryCleanupConfig ¶
type HistoryCleanupConfig struct {
// Secret ref to keystone credentials stored in a k8s secret.
KeystoneSecretRef corev1.SecretReference `json:"keystoneSecretRef"`
// Secret ref to SSO credentials stored in a k8s secret, if applicable.
SSOSecretRef *corev1.SecretReference `json:"ssoSecretRef"`
}