def _get_all_hosts(self, _mock_service_get_all_by_topic): ctxt = context.get_admin_context() fakes.mock_host_manager_db_calls(_mock_service_get_all_by_topic) host_states = self.host_manager.get_all_host_states(ctxt) _mock_service_get_all_by_topic.assert_called_once_with( ctxt, CONF.volume_topic) return host_states
def test_schedule_consistencygroup(self, _mock_service_get_all_by_topic): # Make sure _schedule_group() can find host successfully. sched = fakes.FakeFilterScheduler() sched.host_manager = fakes.FakeHostManager() fake_context = context.RequestContext('user', 'project', is_admin=True) fakes.mock_host_manager_db_calls(_mock_service_get_all_by_topic) specs = {'capabilities:consistencygroup_support': '<is> True'} request_spec = { 'volume_properties': { 'project_id': 1, 'size': 0 }, 'volume_type': { 'name': 'Type1', 'extra_specs': specs } } request_spec2 = { 'volume_properties': { 'project_id': 1, 'size': 0 }, 'volume_type': { 'name': 'Type2', 'extra_specs': specs } } request_spec_list = [request_spec, request_spec2] weighed_host = sched._schedule_group(fake_context, request_spec_list, {}) self.assertIsNotNone(weighed_host.obj) self.assertTrue(_mock_service_get_all_by_topic.called)
def test_schedule_consistencygroup_no_cg_support_in_extra_specs( self, _mock_service_get_all_by_topic): # Make sure _schedule_group() can find host successfully even # when consistencygroup_support is not specified in volume type's # extra specs sched = fakes.FakeFilterScheduler() sched.host_manager = fakes.FakeHostManager() fake_context = context.RequestContext('user', 'project', is_admin=True) fakes.mock_host_manager_db_calls(_mock_service_get_all_by_topic) request_spec = {'volume_properties': {'project_id': 1, 'size': 0}, 'volume_type': {'name': 'Type1', 'extra_specs': {}}} request_spec2 = {'volume_properties': {'project_id': 1, 'size': 0}, 'volume_type': {'name': 'Type2', 'extra_specs': {}}} request_spec_list = [request_spec, request_spec2] weighed_host = sched._schedule_group(fake_context, request_spec_list, {}) self.assertIsNotNone(weighed_host.obj) self.assertTrue(_mock_service_get_all_by_topic.called)
def _host_passes_filters_setup(self, mock_obj): sched = fakes.FakeFilterScheduler() sched.host_manager = fakes.FakeHostManager() fake_context = context.RequestContext('user', 'project', is_admin=True) fakes.mock_host_manager_db_calls(mock_obj) return (sched, fake_context)
def _host_passes_filters_setup(self, mock_obj): sched = fakes.FakeFilterScheduler() sched.host_manager = fakes.FakeHostManager() fake_context = context.RequestContext("user", "project", is_admin=True) fakes.mock_host_manager_db_calls(mock_obj) return (sched, fake_context)
def test_schedule_happy_day(self, _mock_service_get_all_by_topic): # Make sure there's nothing glaringly wrong with _schedule() # by doing a happy day pass through. sched = fakes.FakeFilterScheduler() sched.host_manager = fakes.FakeHostManager() fake_context = context.RequestContext("user", "project", is_admin=True) fakes.mock_host_manager_db_calls(_mock_service_get_all_by_topic) request_spec = {"volume_type": {"name": "LVM_iSCSI"}, "volume_properties": {"project_id": 1, "size": 1}} weighed_host = sched._schedule(fake_context, request_spec, {}) self.assertIsNotNone(weighed_host.obj) self.assertTrue(_mock_service_get_all_by_topic.called)
def test_schedule_happy_day(self, _mock_service_get_all_by_topic): # Make sure there's nothing glaringly wrong with _schedule() # by doing a happy day pass through. sched = fakes.FakeFilterScheduler() sched.host_manager = fakes.FakeHostManager() fake_context = context.RequestContext('user', 'project', is_admin=True) fakes.mock_host_manager_db_calls(_mock_service_get_all_by_topic) request_spec = { 'volume_type': { 'name': 'LVM_iSCSI' }, 'volume_properties': { 'project_id': 1, 'size': 1 } } weighed_host = sched._schedule(fake_context, request_spec, {}) self.assertIsNotNone(weighed_host.obj) self.assertTrue(_mock_service_get_all_by_topic.called)