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) RecordOperationCondition(_ context.Context, machineName string, condition metav1.Condition) error
- func (q *StatusQueue) RecordPXEDisabled(ctx context.Context, machineName, 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
SetBootOverride(ctx context.Context, target redfish.BootTarget, enabled redfish.BootEnabled) error
GetBootConfig(ctx context.Context) (redfish.BootConfig, error)
SetStaticIPv4(ctx context.Context, config redfish.StaticIPv4Config) error
SetHTTPBootOverride(ctx context.Context, bootURL string) error
SetBIOSStaticIPv4(ctx context.Context, config redfish.StaticIPv4Config) error
SetBIOSHTTPBootURI(ctx context.Context, bootURL string) 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
HTTPBootURL func(*v1alpha3.Machine) (string, error)
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) RecordOperationCondition ¶ added in v0.1.22
func (*StatusQueue) RecordPXEDisabled ¶ added in v0.1.20
func (q *StatusQueue) RecordPXEDisabled(ctx context.Context, machineName, imageName string) error
Click to show internal directories.
Click to hide internal directories.