Documentation
¶
Index ¶
- type PowerClient
- type PowerClientFactory
- type Reconciler
- type RedfishPowerClientFactory
- type StatusQueue
- func (q *StatusQueue) NeedLeaderElection() bool
- func (q *StatusQueue) RecordBootImageWritten(_ context.Context, machineName string) error
- func (q *StatusQueue) RecordBootLoaderDownloaded(_ context.Context, machineName, filename string) error
- func (q *StatusQueue) RecordCloudInitDone(_ context.Context, machineName string) error
- func (q *StatusQueue) RecordMachineCondition(_ context.Context, machineName string, condition metav1.Condition) error
- func (q *StatusQueue) RecordPXEDisabled(ctx context.Context, machineName string, repaveCounter int64, imageName string) error
- func (q *StatusQueue) Start(ctx context.Context) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type PowerClient ¶
type PowerClient interface {
PowerState(ctx context.Context) (redfish.PowerState, error)
Reset(ctx context.Context, resetType redfish.ResetType) error
DisableBootOverride(ctx context.Context) error
}
PowerClient is the Redfish power operation subset used by MachineOperation reconciliation.
type PowerClientFactory ¶
type PowerClientFactory interface {
ForMachine(ctx context.Context, machine *v1alpha3.Machine) (PowerClient, error)
}
PowerClientFactory builds a PowerClient for a Machine.
type Reconciler ¶
type Reconciler struct {
client.Client
APIReader client.Reader
Site string
PowerClients PowerClientFactory
MaxConcurrentMachines int
MaxAttempts int32
PollInterval time.Duration
PowerActionTimeout time.Duration
Now func() metav1.Time
}
Reconciler reconciles metalman-owned host MachineOperations.
func (*Reconciler) SetupWithManager ¶
func (r *Reconciler) SetupWithManager(mgr ctrl.Manager) error
type RedfishPowerClientFactory ¶
RedfishPowerClientFactory creates PowerClients backed by the shared Redfish pool.
func (*RedfishPowerClientFactory) ForMachine ¶
func (f *RedfishPowerClientFactory) ForMachine(ctx context.Context, machine *v1alpha3.Machine) (PowerClient, error)
type StatusQueue ¶ added in v0.1.20
type StatusQueue struct {
Client client.Client
Now func() metav1.Time
Log *slog.Logger
Capacity int
// contains filtered or unexported fields
}
StatusQueue records server-observed status milestones. Most updates are best effort, but PXE-disable updates are synchronous because the installer only sends that completion signal once.
func (*StatusQueue) NeedLeaderElection ¶ added in v0.1.20
func (q *StatusQueue) NeedLeaderElection() bool
func (*StatusQueue) RecordBootImageWritten ¶ added in v0.1.20
func (q *StatusQueue) RecordBootImageWritten(_ context.Context, machineName string) error
func (*StatusQueue) RecordBootLoaderDownloaded ¶ added in v0.1.20
func (q *StatusQueue) RecordBootLoaderDownloaded(_ context.Context, machineName, filename string) error
func (*StatusQueue) RecordCloudInitDone ¶ added in v0.1.20
func (q *StatusQueue) RecordCloudInitDone(_ context.Context, machineName string) error
func (*StatusQueue) RecordMachineCondition ¶ added in v0.1.20
func (*StatusQueue) RecordPXEDisabled ¶ added in v0.1.20
Click to show internal directories.
Click to hide internal directories.