Skip to main content

ComputeControl

Trait ComputeControl 

Source
pub trait ComputeControl: Send + Sync {
    // Required method
    fn restart<'life0, 'life1, 'life2, 'async_trait>(
        &'life0 self,
        project: &'life1 str,
        workload: &'life2 str,
        replica: u32,
    ) -> Pin<Box<dyn Future<Output = Result<bool, ControlError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
}
Expand description

The operator-facing “kick the reconcile plane” capability — a targeted, operator-triggered counterpart to the periodic reconcile. Backs POST /api/compute/maintenance/restart (admin-scoped). The node implementation resolves the replica, stops it via its backend, and drops its persisted observed state, so the next reconcile pass relaunches a fresh replica (re-running IPAM) — the live workaround for a wedged replica or a stale IP assignment.

Required Methods§

Source

fn restart<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, project: &'life1 str, workload: &'life2 str, replica: u32, ) -> Pin<Box<dyn Future<Output = Result<bool, ControlError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Restart replica replica of workload in project: stop it and delete its observed state so the reconcile loop relaunches it. Ok(false) if no such replica is persisted (nothing to restart).

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§