def resume_rebalance(self, pool_fid: Fid): LOG.debug('Resuming rebalance for pool %s', pool_fid) result: int = self._ffi.resume_rebalance(self._ha_ctx, pool_fid.to_c()) if result: raise RepairRebalanceException( 'Failed to send SPIEL request "sns_rebalance_resume",' + 'please check Motr logs for more details.') LOG.debug('Rebalancing resumed for pool %s', pool_fid)
def pause_repair(self, pool_fid: Fid): LOG.debug('Pausing repair for pool %s', pool_fid) result: int = self._ffi.pause_repair(self._ha_ctx, pool_fid.to_c()) if result: raise RepairRebalanceException( 'Failed to send SPIEL request "sns_repair_pause", please' + ' check Motr logs for more details.') LOG.debug('Repairing paused for pool %s', pool_fid)
def stop_rebalance(self, pool_fid: Fid): logging.debug('Stopping rebalance for pool %s', pool_fid) result: int = self._ffi.stop_rebalance(self._ha_ctx, pool_fid.to_c()) if result: raise RepairRebalanceException( 'Failed to send SPIEL request "sns_rebalance_stop",' + 'please check Motr logs for more details.') logging.debug('Rebalancing stoped for pool %s', pool_fid)
def get_rebalance_status(self, pool_fid: Fid) -> List[ReprebStatus]: LOG.debug('Fetching rebalance status for pool %s', pool_fid) status: List[ReprebStatus] = self._ffi.rebalance_status( self._ha_ctx, pool_fid.to_c()) if status is None: raise RepairRebalanceException('rebalance status unavailable') LOG.debug('rebalance status for pool %s: %s', pool_fid, status) return status
def start_repair(self, pool_fid: Fid): logging.debug('Initiating repair for pool %s', pool_fid) result: int = self._ffi.start_repair(self._ha_ctx, pool_fid.to_c()) if result: raise RepairRebalanceException( 'Failed to send SPIEL request "sns_repair_start", please' + ' check Motr logs for more details.') logging.debug('Repairing started for pool %s', pool_fid)