Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
    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']
Ejemplo n.º 3
0
    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
Ejemplo n.º 4
0
    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']
Ejemplo n.º 5
0
    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']
Ejemplo n.º 6
0
    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 == []
Ejemplo n.º 7
0
    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
Ejemplo n.º 8
0
    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