Search in sources :

Example 6 with EndpointResourceDeletionRequest

use of com.vmware.photon.controller.model.tasks.ResourceGroomerTaskService.EndpointResourceDeletionRequest in project photon-model by vmware.

the class ResourceGroomerTaskService method getDocumentTemplate.

@Override
public ServiceDocument getDocumentTemplate() {
    EndpointResourceDeletionRequest template = (EndpointResourceDeletionRequest) super.getDocumentTemplate();
    template.documentDescription.serializedStateSizeLimit = MAX_SERIALIZED_STATE_SIZE_BYTES;
    return template;
}
Also used : EndpointResourceDeletionRequest(com.vmware.photon.controller.model.tasks.ResourceGroomerTaskService.EndpointResourceDeletionRequest)

Example 7 with EndpointResourceDeletionRequest

use of com.vmware.photon.controller.model.tasks.ResourceGroomerTaskService.EndpointResourceDeletionRequest in project photon-model by vmware.

the class ResourceGroomerTaskService method handleStart.

@Override
public void handleStart(Operation post) {
    EndpointResourceDeletionRequest state = post.getBody(EndpointResourceDeletionRequest.class);
    if (state.tenantLinks == null || state.tenantLinks.isEmpty()) {
        post.fail(new IllegalArgumentException("tenantLinks is required."));
        return;
    }
    if (state.endpointLink == null) {
        logInfo("Starting resource groomer task for [tenant = %s].", state.tenantLinks.iterator().next());
    } else if (state.endpointLink != null && (state.endpointLink.isEmpty() || !state.endpointLink.startsWith(EndpointService.FACTORY_LINK))) {
        post.fail(new IllegalArgumentException(String.format("endpointLink (%s) is malformed.", state.endpointLink)));
    } else {
        logInfo("Starting resource groomer task for [endpoint = %s].", state.endpointLink);
    }
    super.handleStart(post);
}
Also used : EndpointResourceDeletionRequest(com.vmware.photon.controller.model.tasks.ResourceGroomerTaskService.EndpointResourceDeletionRequest)

Example 8 with EndpointResourceDeletionRequest

use of com.vmware.photon.controller.model.tasks.ResourceGroomerTaskService.EndpointResourceDeletionRequest in project photon-model by vmware.

the class ResourceGroomerTaskService method handlePatch.

@Override
public void handlePatch(Operation patch) {
    EndpointResourceDeletionRequest currentTask = getState(patch);
    EndpointResourceDeletionRequest patchBody = getBody(patch);
    if (!validateTransition(patch, currentTask, patchBody)) {
        return;
    }
    updateState(currentTask, patchBody);
    patch.complete();
    switch(currentTask.taskInfo.stage) {
        case STARTED:
            handleSubStage(currentTask);
            break;
        case FINISHED:
            logInfo("Successfully finished stale document deletion.");
            break;
        case FAILED:
            logWarning("Task failed: %s", (currentTask.failureMessage == null ? "No reason given" : currentTask.failureMessage));
            break;
        default:
            logWarning("Unexpected subStage: %s", currentTask.taskInfo.stage);
            break;
    }
}
Also used : EndpointResourceDeletionRequest(com.vmware.photon.controller.model.tasks.ResourceGroomerTaskService.EndpointResourceDeletionRequest)

Aggregations

EndpointResourceDeletionRequest (com.vmware.photon.controller.model.tasks.ResourceGroomerTaskService.EndpointResourceDeletionRequest)8 Operation (com.vmware.xenon.common.Operation)5 Test (org.junit.Test)3 UriPaths (com.vmware.photon.controller.model.UriPaths)1 PhotonModelConstants (com.vmware.photon.controller.model.constants.PhotonModelConstants)1 CUSTOM_PROP_ENDPOINT_LINK (com.vmware.photon.controller.model.constants.PhotonModelConstants.CUSTOM_PROP_ENDPOINT_LINK)1 SOURCE_TASK_LINK (com.vmware.photon.controller.model.constants.PhotonModelConstants.SOURCE_TASK_LINK)1 QueryUtils (com.vmware.photon.controller.model.query.QueryUtils)1 ComputeDescription (com.vmware.photon.controller.model.resources.ComputeDescriptionService.ComputeDescription)1 ComputeState (com.vmware.photon.controller.model.resources.ComputeService.ComputeState)1 DiskState (com.vmware.photon.controller.model.resources.DiskService.DiskState)1 EndpointService (com.vmware.photon.controller.model.resources.EndpointService)1 EndpointState (com.vmware.photon.controller.model.resources.EndpointService.EndpointState)1 ImageState (com.vmware.photon.controller.model.resources.ImageService.ImageState)1 LoadBalancerState (com.vmware.photon.controller.model.resources.LoadBalancerService.LoadBalancerState)1 NetworkInterfaceState (com.vmware.photon.controller.model.resources.NetworkInterfaceService.NetworkInterfaceState)1 NetworkState (com.vmware.photon.controller.model.resources.NetworkService.NetworkState)1 ResourceGroupService (com.vmware.photon.controller.model.resources.ResourceGroupService)1 ResourceGroupState (com.vmware.photon.controller.model.resources.ResourceGroupService.ResourceGroupState)1 ResourceState (com.vmware.photon.controller.model.resources.ResourceState)1