private void createDeleteResourceCounterSubTask(ContainerVolumeRemovalTaskState state, Collection<String> resourceLinks) { CounterSubTaskState subTaskInitState = new CounterSubTaskState(); subTaskInitState.completionsRemaining = resourceLinks.size(); subTaskInitState.documentExpirationTimeMicros = ServiceUtils .getDefaultTaskExpirationTimeInMicros(); subTaskInitState.serviceTaskCallback = ServiceTaskCallback.create( state.documentSelfLink, TaskStage.STARTED, SubStage.INSTANCES_REMOVED, TaskStage.STARTED, state.cleanupRemoval ? SubStage.INSTANCES_REMOVED : SubStage.ERROR); CounterSubTaskService.createSubTask(this, subTaskInitState, (subTaskLink) -> deleteResourceInstances(state, resourceLinks, subTaskLink)); }
private void createDeleteResourceCounterSubTask(ContainerNetworkRemovalTaskState state, Collection<String> resourceLinks) { CounterSubTaskState subTaskInitState = new CounterSubTaskState(); subTaskInitState.completionsRemaining = resourceLinks.size(); subTaskInitState.documentExpirationTimeMicros = ServiceUtils .getDefaultTaskExpirationTimeInMicros(); subTaskInitState.serviceTaskCallback = ServiceTaskCallback.create( getSelfLink(), TaskStage.STARTED, SubStage.INSTANCES_REMOVED, TaskStage.STARTED, state.cleanupRemoval ? SubStage.INSTANCES_REMOVED : SubStage.ERROR); CounterSubTaskService.createSubTask(this, subTaskInitState, (subTaskLink) -> deleteResourceInstances(state, resourceLinks, subTaskLink)); }
private void createDeleteResourceCounterSubTask(ContainerRemovalTaskState state, Collection<String> resourceLinks) { CounterSubTaskState subTaskInitState = new CounterSubTaskState(); subTaskInitState.completionsRemaining = resourceLinks.size(); subTaskInitState.documentExpirationTimeMicros = ServiceUtils .getDefaultTaskExpirationTimeInMicros(); subTaskInitState.serviceTaskCallback = ServiceTaskCallback.create( getSelfLink(), TaskStage.STARTED, SubStage.INSTANCES_REMOVED, TaskStage.STARTED, SubStage.ERROR); CounterSubTaskService.createSubTask(this, subTaskInitState, (subTaskLink) -> deleteResourceInstances(state, resourceLinks, subTaskLink)); }
protected void createCounterSubTask(T state, long count, Enum<?> substageComplete, Consumer<String> callbackFunction) { CounterSubTaskState subTaskInitState = new CounterSubTaskState(); subTaskInitState.completionsRemaining = count; subTaskInitState.documentExpirationTimeMicros = ServiceUtils .getDefaultTaskExpirationTimeInMicros(); subTaskInitState.serviceTaskCallback = ServiceTaskCallback.create( getSelfLink(), TaskStage.STARTED, substageComplete, TaskStage.STARTED, DefaultSubStage.ERROR); CounterSubTaskService.createSubTask(this, subTaskInitState, callbackFunction); }
private boolean validateNewState(T state, Operation startPost) { if (state.documentVersion > 0) { logWarning("Document version on create is : %s", state.documentVersion); return false; } if (state.serviceTaskCallback == null) { state.serviceTaskCallback = ServiceTaskCallback.createEmpty(); } if (state.taskInfo == null) { state.taskInfo = new TaskState(); state.taskInfo.stage = TaskStage.CREATED; } if (state.taskSubStage == null) { state.taskSubStage = Enum.valueOf(subStageType, DefaultSubStage.CREATED.name()); } if (state.documentExpirationTimeMicros == 0) { state.documentExpirationTimeMicros = ServiceUtils .getDefaultTaskExpirationTimeInMicros(); } return validateStateOnStart(state, startPost); }
private PlacementHostSelectionTaskState createHostPlacementTask(String containerDescLink, int resourceCount, boolean expectError) throws Throwable { PlacementHostSelectionTaskState placementTask = new PlacementHostSelectionTaskState(); placementTask.documentSelfLink = UUID.randomUUID().toString(); placementTask.resourceDescriptionLink = containerDescLink; placementTask.resourcePoolLinks = new ArrayList<>(); placementTask.resourcePoolLinks.add(resourcePool.documentSelfLink); placementTask.resourceCount = resourceCount; placementTask.resourceType = ResourceType.CONTAINER_TYPE.getName(); placementTask.contextId = contextId; placementTask.serviceTaskCallback = ServiceTaskCallback.createEmpty(); placementTask.documentExpirationTimeMicros = ServiceUtils .getDefaultTaskExpirationTimeInMicros(); return placeTask(placementTask, expectError); }
public static void createSubTask( AbstractTaskStatefulService<?, ?> service, CounterSubTaskState subTaskInitState, Consumer<String> callbackFunc) { try { final String link = UriUtils.buildUriPath(CounterSubTaskService.FACTORY_LINK, UUID.randomUUID().toString()); subTaskInitState.documentSelfLink = link; subTaskInitState.documentExpirationTimeMicros = ServiceUtils .getDefaultTaskExpirationTimeInMicros(); Operation postOp = Operation.createPost(service, CounterSubTaskService.FACTORY_LINK) .setBody(subTaskInitState) .setCompletion((o, e) -> { if (e != null) { service.failTask("Failure creating counter sub task: " + link, e); return; } CounterSubTaskState body = o.getBody(CounterSubTaskState.class); service.logInfo("Creating %d tasks(s), reporting through sub task %s", subTaskInitState.completionsRemaining, body.documentSelfLink); callbackFunc.accept(body.documentSelfLink); }); service.sendRequest(postOp); } catch (Throwable e) { service.failTask("Failure posting counter sub task", e); } }
private CompositionSubTaskState createCompositionSubTask(String name, String compositeDescriptionLink, String resourceDescriptionLink) throws Throwable { CompositionSubTaskState compositionSubTaskState = new CompositionSubTaskState(); compositionSubTaskState.name = name; compositionSubTaskState.tenantLinks = TestRequestStateFactory.createTenantLinks(TestRequestStateFactory.TENANT_NAME); compositionSubTaskState.resourceType = ResourceType.CONTAINER_TYPE.getName(); compositionSubTaskState.documentSelfLink = UriUtils.buildUriPath( CompositionSubTaskFactoryService.SELF_LINK, UUID.randomUUID().toString()); compositionSubTaskState.resourceDescriptionLink = resourceDescriptionLink; compositionSubTaskState.requestId = UUID.randomUUID().toString(); compositionSubTaskState.serviceTaskCallback = ServiceTaskCallback.createEmpty(); compositionSubTaskState.documentExpirationTimeMicros = ServiceUtils .getDefaultTaskExpirationTimeInMicros(); compositionSubTaskState.compositeDescriptionLink = compositeDescriptionLink; compositionSubTaskState.operation = RequestBrokerState.PROVISION_RESOURCE_OPERATION; return compositionSubTaskState; }
.getDefaultTaskExpirationTimeInMicros(); volumeState.adapterManagementReference = volumeDescription.instanceAdapterReference;
.getDefaultTaskExpirationTimeInMicros(); networkState.adapterManagementReference = networkDescription.instanceAdapterReference;
subTaskInitState.completionsRemaining = state.resourceLinks.size(); subTaskInitState.documentExpirationTimeMicros = ServiceUtils .getDefaultTaskExpirationTimeInMicros(); subTaskInitState.serviceTaskCallback = ServiceTaskCallback.create( getSelfLink(),
removalServiceState.options = state.resourceRemovalOptions; removalServiceState.documentExpirationTimeMicros = ServiceUtils .getDefaultTaskExpirationTimeInMicros(); removalServiceState.isMockRequest = DeploymentProfileConfig.getInstance().isTest(); removalServiceState.tenantLinks = state.tenantLinks;