Beispiel #1
0
    def test_place(self):
        handler = HostHandler(MagicMock())

        score = Score(100, 100)
        place_list = [MagicMock()]
        address = ServerAddress(host="localhost", port=1234)

        request = PlaceRequest(resource=Resource(self._sample_vm(), []))
        handler.hypervisor.placement_manager.place.return_value = (score,
                                                                   place_list)
        response = handler.place(request)
        assert_that(response.result, is_(PlaceResultCode.OK))
        assert_that(response.score, is_(score))
        assert_that(response.placementList.placements,
                    is_([item.to_thrift() for item in place_list]))
        assert_that(response.address, is_(address))

        common.services.get(ServiceName.MODE).set_mode(
            MODE.ENTERING_MAINTENANCE)
        response = handler.place(request)
        assert_that(response.result, is_(PlaceResultCode.INVALID_STATE))

        common.services.get(ServiceName.MODE).set_mode(MODE.MAINTENANCE)
        response = handler.place(request)
        assert_that(response.result, is_(PlaceResultCode.INVALID_STATE))
    def test_place(self):
        handler = HostHandler(MagicMock())

        score = Score(100, 100)
        place_list = [MagicMock()]
        address = ServerAddress(host="localhost", port=1234)

        request = PlaceRequest(resource=Resource(self._sample_vm(), []))
        handler.hypervisor.placement_manager.place.return_value = (score,
                                                                   place_list)
        response = handler.place(request)
        assert_that(response.result, is_(PlaceResultCode.OK))
        assert_that(response.score, is_(score))
        assert_that(response.placementList.placements,
                    is_([item.to_thrift() for item in place_list]))
        assert_that(response.address, is_(address))

        common.services.get(ServiceName.MODE).set_mode(
            MODE.ENTERING_MAINTENANCE)
        response = handler.place(request)
        assert_that(response.result, is_(PlaceResultCode.INVALID_STATE))

        common.services.get(ServiceName.MODE).set_mode(
            MODE.MAINTENANCE)
        response = handler.place(request)
        assert_that(response.result, is_(PlaceResultCode.INVALID_STATE))
Beispiel #3
0
    def test_place_resource_constraint(self):
        handler = HostHandler(MagicMock())
        request = PlaceRequest(resource=Resource(self._sample_vm(), []))
        handler.hypervisor.placement_manager.place.side_effect = \
            NoSuchResourceException("DATASTORE", "Datastore not available.")

        response = handler.place(request)
        assert_that(response.result, is_(PlaceResultCode.NO_SUCH_RESOURCE))
    def test_place_resource_constraint(self):
        handler = HostHandler(MagicMock())
        request = PlaceRequest(resource=Resource(self._sample_vm(), []))
        handler.hypervisor.placement_manager.place.side_effect = \
            NoSuchResourceException("DATASTORE", "Datastore not available.")

        response = handler.place(request)
        assert_that(response.result, is_(PlaceResultCode.NO_SUCH_RESOURCE))