import json
-from cephadm.services.osd import RemoveUtil, OSDQueue, OSD
+from cephadm.services.osd import RemoveUtil, OSDRemovalQueue, OSD
import pytest
from .fixtures import rm_util, osd_obj, cephadm_module
from tests import mock
rm_util._run_mon_cmd.assert_called_with(
{'prefix': 'osd purge-actual', 'id': 1, 'yes_i_really_mean_it': True})
- def test_load(self, cephadm_module):
+ def test_load(self, cephadm_module, rm_util):
data = json.dumps([
{
"osd_id": 35,
}
])
cephadm_module.set_store('osd_remove_queue', data)
- cephadm_module.rm_util.load_from_store()
+ cephadm_module.to_remove_osds.load_from_store()
- assert repr(cephadm_module.to_remove_osds) == 'OSDQueue({<OSD>(osd_id=35, draining=True)})'
+ expected = OSDRemovalQueue(cephadm_module)
+ expected.osds.add(OSD(osd_id=35, remove_util=rm_util, draining=True))
+ assert cephadm_module.to_remove_osds == expected
class TestOSD:
assert osd_obj.drain_status_human() == 'done, waiting for purge'
-class TestOSDQueue:
+class TestOSDRemovalQueue:
def test_queue_size(self, osd_obj):
- q = OSDQueue()
+ q = OSDRemovalQueue(mock.Mock())
assert q.queue_size() == 0
- q.add(osd_obj)
+ q.osds.add(osd_obj)
assert q.queue_size() == 1
@mock.patch("cephadm.services.osd.OSD.start")
@mock.patch("cephadm.services.osd.OSD.exists")
def test_enqueue(self, exist, start, osd_obj):
- q = OSDQueue()
+ q = OSDRemovalQueue(mock.Mock())
q.enqueue(osd_obj)
osd_obj.start.assert_called_once()
@mock.patch("cephadm.services.osd.OSD.stop")
@mock.patch("cephadm.services.osd.OSD.exists")
def test_rm_raise(self, exist, stop, osd_obj):
- q = OSDQueue()
+ q = OSDRemovalQueue(mock.Mock())
with pytest.raises(KeyError):
q.rm(osd_obj)
osd_obj.stop.assert_called_once()
@mock.patch("cephadm.services.osd.OSD.stop")
@mock.patch("cephadm.services.osd.OSD.exists")
def test_rm(self, exist, stop, osd_obj):
- q = OSDQueue()
- q.add(osd_obj)
+ q = OSDRemovalQueue(mock.Mock())
+ q.osds.add(osd_obj)
q.rm(osd_obj)
osd_obj.stop.assert_called_once()