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§
Sourcefn 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,
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".