def test_run_remove_failed(self, localclient, runner, mm): rebuild.__opts__ = {} rr = rebuild.Rebuild(['data*.ceph']) rr._disengaged = mock.Mock() rr._disengaged.return_value = True rr.minions = ['data1.ceph'] rr._osd_list = mock.Mock() rr._osd_list.return_value = [0, 1] rr.safe = mock.Mock() rr.safe.return_value = True rr._busy_wait = mock.Mock() rr.runner.cmd = mock.Mock() rr.runner.cmd.return_value = {} rr._check_return = mock.Mock() rr._check_return.return_value = True rr._skipped_summary = mock.Mock() result = rr.run() assert result == "" assert rr._osd_list.called assert rr.safe.called assert rr.runner.cmd.called assert rr._check_return.called assert rr._skipped_summary.called
def test_minions(self, localclient, runner, mm): rebuild.__opts__ = {} local = localclient.return_value local.cmd.return_value = {'data1.ceph': 'data1.ceph'} rr = rebuild.Rebuild(['data1.ceph']) assert rr.minions == ['data1.ceph']
def test_osd_list_no_match(self, localclient, runner, mm): rebuild.__opts__ = {} local = localclient.return_value local.cmd.return_value = {'data1.ceph': [0, 1, 2]} rr = rebuild.Rebuild(['data*.ceph']) result = rr._osd_list('data2.ceph') assert result == None
def test_check_return_finds_error(self, localclient, runner, mm): rebuild.__opts__ = {} rr = rebuild.Rebuild(['data*.ceph']) ret = "An error message" result = rr._check_return(ret, 'data1.ceph') assert result == True assert rr.skipped == ['data1.ceph']
def test_check_return_finds_failure(self, localclient, runner, mm): rebuild.__opts__ = {} rr = rebuild.Rebuild(['data*.ceph']) ret = {0: False, 1: True} result = rr._check_return(ret, 'data1.ceph') assert result == True assert rr.skipped == ['data1.ceph']
def test_check_failed(self, localclient, runner, mm): rebuild.__opts__ = {} rr = rebuild.Rebuild(['data*.ceph']) ret = {0: True, 1: True} result = rr._check_failed(ret, 'data1.ceph') assert result == False assert rr.skipped == []
def test_validate_osd_df_missing_mm(self, localclient, runner, mm): rebuild.__opts__ = {} local = localclient.return_value local.cmd.return_value = {} mm.return_value = 'admin' rr = rebuild.Rebuild(['data*.ceph']) osd_df = {'': {'nodes': '', 'summary': {'total_kb_avail': '0'}}} result = rr._validate_osd_df(osd_df) assert result == False
def test_safe_fails_validation(self, localclient, runner, mm): rebuild.__opts__ = {} local = localclient.return_value local.cmd.return_value = { '': { 'nodes': [{ 'id': 0, 'kb_used': 10 }, { 'id': 1, 'kb_used': 10 }], 'summary': { 'total_kb_avail': 10 } } } mm.return_value = 'admin' rr = rebuild.Rebuild(['data*.ceph']) result = rr.safe(['0', '1']) assert result == False