예제 #1
0
 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)
예제 #2
0
 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)
예제 #3
0
 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)
예제 #4
0
 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
예제 #5
0
 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)