Safe Haskell | Safe-Infered |
---|
Incident handling in the maintenance daemon.
This module implements the submission of actions for ongoing repair events reported by the node-status data collector.
- moreSevereIncident :: Incident -> Incident -> Incident
- rankIncidents :: [Incident] -> Map String Incident
- drainJob :: String -> ResultT String IO [MetaOpCode]
- handleEvacuation :: Client -> IORef MemoryState -> (List, List, List) -> Idx -> Bool -> Set Int -> Incident -> ResultT String IO (Set Int)
- handleLiveRepairs :: Client -> IORef MemoryState -> Idx -> Set Int -> Incident -> ResultT String IO (Set Int)
- handleIncident :: Client -> IORef MemoryState -> (List, List, List) -> Set Int -> (String, Incident) -> ResultT String IO (Set Int)
- handleIncidents :: IORef MemoryState -> (List, List, List) -> ResultT String IO (Set Int)
Documentation
moreSevereIncident :: Incident -> Incident -> IncidentSource
rankIncidents :: [Incident] -> Map String IncidentSource
drainJob :: String -> ResultT String IO [MetaOpCode]Source
handleEvacuation :: Client -> IORef MemoryState -> (List, List, List) -> Idx -> Bool -> Set Int -> Incident -> ResultT String IO (Set Int)Source
handleLiveRepairs :: Client -> IORef MemoryState -> Idx -> Set Int -> Incident -> ResultT String IO (Set Int)Source
handleIncident :: Client -> IORef MemoryState -> (List, List, List) -> Set Int -> (String, Incident) -> ResultT String IO (Set Int)Source
handleIncidents :: IORef MemoryState -> (List, List, List) -> ResultT String IO (Set Int)Source
Submit the jobs necessary for the next maintenance step for each pending maintenance, i.e., the most radical maintenance for each node. Return the set of node indices unaffected by these operations. Also, for each job submitted, register it directly.