@Test public void testMemoryPlacementPatchRequest() throws Throwable { GroupResourcePlacementState placementState = createAndStoreGroupResourcePlacement(); String descLink = containerDescription.documentSelfLink; int count = 8; boolean expectFailure = false; placementState = makeResourcePlacementReservationRequest(count, descLink, placementState, expectFailure); // Set the memory limit to something smaller than what's already reserved placementState.memoryLimit = 700; expectFailure = true; host.testStart(1); host.send(Operation .createPut(UriUtils.buildUri(host, placementState.documentSelfLink)) .setBody(placementState) .setCompletion(expectFailure ? host.getExpectedFailureCompletion() : host.getCompletion())); host.testWait("Asd", (int) TimeUnit.MINUTES.toSeconds(1)); releasePlacement(placementState, descLink, count); }
releasePlacement(placementState, descLink, count); releasePlacement(noLimitsGroupResourcePlacement, descLink, 1); releasePlacement(noLimitsGroupResourcePlacement, noLimitsContainerDescription.documentSelfLink, 1);
@Test public void testResourcePlacementReservationRequest() throws Throwable { GroupResourcePlacementState placementState = createAndStoreGroupResourcePlacement(); String descLink = containerDescription.documentSelfLink; int count = 8; boolean expectFailure = false; placementState = makeResourcePlacementReservationRequest(count, descLink, placementState, expectFailure); assertEquals(2, placementState.availableInstancesCount); assertEquals(count, placementState.allocatedInstancesCount); // release resource placements: count = -5; placementState = makeResourcePlacementReservationRequest(count, descLink, placementState, expectFailure); assertEquals(7, placementState.availableInstancesCount); assertEquals(3, placementState.allocatedInstancesCount); // try to release resource placements more than max (success with log warning): count = (int) -(placementState.maxNumberInstances - placementState.availableInstancesCount + 1); placementState = makeResourcePlacementReservationRequest(count, descLink, placementState, expectFailure); // releasing placements within max but more than reserved per desc: descLink = createAndStoreContainerDescription("new-desc").documentSelfLink; count = 4; placementState = makeResourcePlacementReservationRequest(count, descLink, placementState, expectFailure); doDelete(UriUtils.buildUri(host, descLink), false); // release what's left of the provisioned resources releasePlacement(placementState, descLink, count); }
releasePlacement(placementState, containerDescription.documentSelfLink, count);