Beispiel #1
0
    def test_schedule_create_replica(self):
        sched = fakes.FakeFilterScheduler()
        request_spec = fakes.fake_replica_request_spec()
        host = 'fake_host'
        replica_id = request_spec['share_instance_properties']['id']
        mock_update_db_call = self.mock_object(
            base, 'share_replica_update_db', mock.Mock(return_value='replica'))
        mock_share_rpcapi_call = self.mock_object(sched.share_rpcapi,
                                                  'create_share_replica')
        self.mock_object(
            self.driver_cls, '_schedule_share',
            mock.Mock(return_value=fakes.get_fake_host(host_name=host)))

        retval = sched.schedule_create_replica(
            self.context, fakes.fake_replica_request_spec(), {})

        self.assertIsNone(retval)
        mock_update_db_call.assert_called_once_with(self.context, replica_id,
                                                    host)
        mock_share_rpcapi_call.assert_called_once_with(
            self.context,
            'replica',
            host,
            request_spec=request_spec,
            filter_properties={})
Beispiel #2
0
    def test_schedule_create_replica_no_host(self):
        sched = fakes.FakeFilterScheduler()
        request_spec = fakes.fake_replica_request_spec()

        self.mock_object(self.driver_cls, '_schedule_share',
                         mock.Mock(return_value=None))

        self.assertRaises(exception.NoValidHost, sched.schedule_create_replica,
                          self.context, request_spec, {})
Beispiel #3
0
    def test_schedule_create_replica_no_host(self):
        sched = fakes.FakeFilterScheduler()
        request_spec = fakes.fake_replica_request_spec()

        self.mock_object(self.driver_cls, '_schedule_share',
                         mock.Mock(return_value=None))

        self.assertRaises(exception.NoValidHost,
                          sched.schedule_create_replica,
                          self.context, request_spec, {})
Beispiel #4
0
    def test_schedule_create_replica(self):
        sched = fakes.FakeFilterScheduler()
        request_spec = fakes.fake_replica_request_spec()
        host = 'fake_host'
        replica_id = request_spec['share_instance_properties']['id']
        mock_update_db_call = self.mock_object(
            base, 'share_replica_update_db',
            mock.Mock(return_value='replica'))
        mock_share_rpcapi_call = self.mock_object(
            sched.share_rpcapi, 'create_share_replica')
        self.mock_object(
            self.driver_cls, '_schedule_share',
            mock.Mock(return_value=fakes.get_fake_host(host_name=host)))

        retval = sched.schedule_create_replica(
            self.context, fakes.fake_replica_request_spec(), {})

        self.assertIsNone(retval)
        mock_update_db_call.assert_called_once_with(
            self.context, replica_id, host)
        mock_share_rpcapi_call.assert_called_once_with(
            self.context, 'replica', host, request_spec=request_spec,
            filter_properties={})