public static ServiceTaskCallback create(String serviceSelfLink, Enum<?> subStageComplete, Enum<?> subStageFailed) { return create(serviceSelfLink, TaskStage.FINISHED, subStageComplete, TaskStage.FAILED, subStageFailed); }
private ServiceTaskCallback createServiceCallBack(String taskLink) { return ServiceTaskCallback.create(taskLink); }
public static ServiceTaskCallback create(String serviceSelfLink) { return create(serviceSelfLink, DefaultSubStage.COMPLETED, DefaultSubStage.ERROR); }
public static ServiceTaskCallback createEmpty() { return create(EMPTY_CALLBACK_LINK, DefaultSubStage.COMPLETED, DefaultSubStage.ERROR); }
protected void createCounterSubTaskCallback(T state, long count, boolean external, boolean useCounterService, Enum<?> substageComplete, Consumer<ServiceTaskCallback> callbackFunction) { if (count == 1 && !useCounterService) { ServiceTaskCallback taksCallback = ServiceTaskCallback.create( external ? getUri().toString() : getSelfLink(), TaskStage.STARTED, substageComplete, TaskStage.STARTED, DefaultSubStage.ERROR); callbackFunction.accept(taksCallback); return; } createCounterSubTask(state, count, substageComplete, (link) -> { ServiceTaskCallback taksCallback = ServiceTaskCallback.create( external ? UriUtils.buildUri(getHost(), link).toString() : link, TaskStage.FINISHED, TaskStage.FAILED); callbackFunction.accept(taksCallback); }); }
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(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)); }
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)); }
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 ContainerHostRequest prepareDirectHostOperationRequest( ContainerHostOperationType opType) { ContainerHostRequest request = new ContainerHostRequest(); request.resourceReference = UriUtils.buildUri(host, ComputeService.FACTORY_LINK); request.operationTypeId = opType.id; request.serviceTaskCallback = ServiceTaskCallback.create(provisioningTaskLink); request.customProperties = new HashMap<>(); request.customProperties.put(ComputeConstants.HOST_AUTH_CREDENTIALS_PROP_NAME, testDockerCredentialsLink); request.customProperties.put(ContainerHostService.DOCKER_HOST_ADDRESS_PROP_NAME, dockerUri.toString()); request.customProperties.put( ContainerHostService.HOST_DOCKER_ADAPTER_TYPE_PROP_NAME, ContainerHostService.DockerAdapterType.API.name()); return request; }
protected void sendContainerHostRequest(ContainerHostOperationType type, URI computeStateReference) throws Throwable { ContainerHostRequest request = new ContainerHostRequest(); request.resourceReference = computeStateReference; request.operationTypeId = type.id; request.serviceTaskCallback = ServiceTaskCallback.create(provisioningTaskLink); sendContainerHostRequest(request); }
private ApplicationRequest createApplicationRequest(String resourceReference) { ApplicationRequest appRequest = new ApplicationRequest(); appRequest.resourceReference = UriUtils.buildUri(host, resourceReference); appRequest.serviceTaskCallback = ServiceTaskCallback.create(provisioningTaskLink); appRequest.operationTypeId = ApplicationOperationType.CREATE.id; return appRequest; }
private AdapterRequest prepareAdapterFailingRequest(ContainerHostOperationType opType) { AdapterRequest request = new AdapterRequest(); request.resourceReference = UriUtils.buildUri(host, ComputeService.FACTORY_LINK); request.operationTypeId = opType.id; request.serviceTaskCallback = ServiceTaskCallback.create(provisioningTaskLink); addRequestProperties(request); request.customProperties.put(ComputeConstants.HOST_URI_PROP_NAME, kubernetesFailingUri.toString()); return request; }
private AdapterRequest prepareAdapterRequest(ContainerHostOperationType opType) { AdapterRequest request = new AdapterRequest(); request.resourceReference = UriUtils.buildUri(host, ComputeService.FACTORY_LINK); request.operationTypeId = opType.id; request.serviceTaskCallback = ServiceTaskCallback.create(provisioningTaskLink); addRequestProperties(request); return request; }
@Test public void testSendRequestStateToExternalUrl() { TestTaskService testService = new TestTaskService(); testService.setHost(host); TestTaskServiceDocument state = new TestTaskServiceDocument(); state.taskInfo = new TaskState(); state.taskInfo.stage = TaskState.TaskStage.STARTED; state.serviceTaskCallback = ServiceTaskCallback.create("http://%%:ww/@!"); testService.notifyCallerService(state); state.serviceTaskCallback = ServiceTaskCallback.create("http://s"); testService.notifyCallerService(state); }
@Test public void testExecCommandFail() throws Throwable { // create a fresh provisioning task for each request createProvisioningTask(); ContainerInstanceRequest request = new ContainerInstanceRequest(); request.resourceReference = containerStateReference; request.operationTypeId = ContainerOperationType.EXEC.id; request.customProperties = new HashMap<>(); // no command request.serviceTaskCallback = ServiceTaskCallback.create(provisioningTaskLink); Operation containerRequest = Operation .createPatch(dockerAdapterServiceUri) .setReferer(URI.create("/")) .setBodyNoCloning(request); host.sendAndWaitExpectFailure(containerRequest, Operation.STATUS_CODE_BAD_REQUEST); }
@Test public void testInvalidOperationFail() throws Throwable { // create a fresh provisioning task for each request createProvisioningTask(); ContainerInstanceRequest request = new ContainerInstanceRequest(); request.resourceReference = containerStateReference; request.operationTypeId = "foo"; request.serviceTaskCallback = ServiceTaskCallback.create(provisioningTaskLink); Operation containerRequest = Operation .createPatch(dockerAdapterServiceUri) .setReferer(URI.create("/")) .setBodyNoCloning(request); host.sendAndWaitExpectFailure(containerRequest, Operation.STATUS_CODE_BAD_REQUEST); }
private void startClosureExecution(ClosureProvisionTaskState state, String closureLink) { getClosureDescription(closureLink, (closure) -> { closure.serviceTaskCallback = ServiceTaskCallback .create(state.documentSelfLink, TaskState.TaskStage.STARTED, SubStage.COMPLETED, TaskState.TaskStage.STARTED, SubStage.ERROR); sendRequest(Operation.createPost(this.getHost(), closureLink) .setBody(closure) .setCompletion((o, ex) -> { if (ex != null) { logWarning("Failed to execute closure: %s", Utils.toString(ex)); proceedTo(SubStage.ERROR); } })); }); proceedTo(SubStage.CLOSURE_EXECUTING); }
@Test public void testDeleteFailCallback() { TestTaskService testService = new TestTaskService(); testService.setHost(host); Operation delete = Operation.createDelete(host, TestTaskService.FACTORY_LINK); TestTaskServiceDocument serviceState = new TestTaskServiceDocument(); serviceState.taskInfo = TaskState.createAsStarted(); serviceState.taskSubStage = DefaultSubStage.CREATED; serviceState.serviceTaskCallback = ServiceTaskCallback.create(TestTaskService.FACTORY_LINK); testService.setState(delete, serviceState); testService.handleDelete(delete); assertNull(delete.getErrorResponseBody()); }
@Test public void testStartFailCallback() { TestTaskService testService = new TestTaskService(); testService.setHost(host); Operation start = Operation.createPost(host, TestTaskService.FACTORY_LINK); TestTaskServiceDocument serviceState = new TestTaskServiceDocument(); serviceState.taskInfo = TaskState.createAsStarted(); serviceState.taskSubStage = DefaultSubStage.CREATED; serviceState.documentVersion = 5; serviceState.serviceTaskCallback = ServiceTaskCallback.create(TestTaskService.FACTORY_LINK); testService.setState(start, serviceState); start.setBody(serviceState); testService.handleStart(start); assertNull(start.getErrorResponseBody()); }