private GroupResourcePlacementState makeResourcePlacementReservationRequest( GroupResourcePlacementState placementState, int count) throws Throwable { return makeResourcePlacementReservationRequest(count, containerDescription.documentSelfLink, placementState, false); }
private void releasePlacement( com.vmware.admiral.compute.container.GroupResourcePlacementService.GroupResourcePlacementState placementState, String descLink, int count) throws Throwable { makeResourcePlacementReservationRequest(-count, descLink, placementState, false); }
@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); }
placementState = makeResourcePlacementReservationRequest(count, descLink, placementState, expectFailure); assertEquals(CONTAINER_MEMORY / 2, placementState.availableMemory); placementState = makeResourcePlacementReservationRequest(count, descLink, placementState, expectFailure); assertEquals(7, placementState.availableInstancesCount); placementState = makeResourcePlacementReservationRequest(count, descLink, placementState, expectFailure); placementState = makeResourcePlacementReservationRequest(count, descLink, placementState, expectFailure); "test", 0L, 0L, 0, 0, resourcePool.documentSelfLink, false); expectFailure = false; noLimitsGroupResourcePlacement = makeResourcePlacementReservationRequest(1, descLink, noLimitsGroupResourcePlacement, expectFailure); createAndStoreContainerDescription( "no-limits", 0L); noLimitsGroupResourcePlacement = makeResourcePlacementReservationRequest(1, noLimitsContainerDescription.documentSelfLink, noLimitsGroupResourcePlacement, expectFailure);
@Test public void testDeleteWhenActiveReservation() throws Throwable { GroupResourcePlacementState placementState = createAndStoreGroupResourcePlacement(); placementState = makeResourcePlacementReservationRequest(placementState, 5); boolean expectedFailure = true; try { DeploymentProfileConfig.getInstance().setTest(false); doDelete(UriUtils.buildUri(host, placementState.documentSelfLink), expectedFailure); fail("expect validation error during deletion"); } catch (LocalizableValidationException e) { // expected } finally { DeploymentProfileConfig.getInstance().setTest(true); } }
@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); }
@Test public void testProvisioningWithUnlimitedPlacement() throws Throwable { GroupResourcePlacementState unlimitedInstancesPlacement = createPlacement( "placement-unlimited-test", 8 * CONTAINER_MEMORY + CONTAINER_MEMORY / 2, 0L, 0, 0, resourcePool.documentSelfLink, 0); assertEquals(0, unlimitedInstancesPlacement.maxNumberInstances); assertEquals(0, unlimitedInstancesPlacement.availableInstancesCount); assertEquals(0, unlimitedInstancesPlacement.allocatedInstancesCount); GroupResourcePlacementState savedPlacement = savePlacement(unlimitedInstancesPlacement, false); assertEquals(0, savedPlacement.maxNumberInstances); assertEquals(0, savedPlacement.availableInstancesCount); assertEquals(0, savedPlacement.allocatedInstancesCount); GroupResourcePlacementState placementStateAfterProvisioning = makeResourcePlacementReservationRequest( savedPlacement, 1); assertEquals(0, placementStateAfterProvisioning.maxNumberInstances); assertEquals(0, placementStateAfterProvisioning.availableInstancesCount); assertEquals(1, placementStateAfterProvisioning.allocatedInstancesCount); }
placementState = makeResourcePlacementReservationRequest(placementState, count);