Search in sources :

Example 26 with Job

use of com.dell.cpsd.paqx.fru.rest.domain.Job in project fru-paqx-parent by dellemc-symphony.

the class WorkflowResource method captureCoprHD.

@POST
@Consumes("application/vnd.dellemc.coprhd.endpoint+json")
@Path("{jobId}/{step}")
public Response captureCoprHD(@PathParam("jobId") String jobId, @PathParam("step") String step, @Context UriInfo uriInfo, EndpointCredentials coprhdCredentials) {
    final String thisStep = findStepFromPath(uriInfo);
    final Job job = workflowService.findJob(UUID.fromString(jobId));
    final JobRepresentation jobRepresentation = new JobRepresentation(job);
    final URL url;
    try {
        url = new URL(coprhdCredentials.getEndpointUrl());
    } catch (MalformedURLException e) {
        jobRepresentation.addLink(createRetryStepLink(uriInfo, job, thisStep));
        return Response.status(Response.Status.BAD_REQUEST).entity(jobRepresentation).build();
    }
    job.addCoprhdCredentials(coprhdCredentials);
    final NextStep nextStep = workflowService.findNextStep(job.getWorkflow(), thisStep);
    if (nextStep != null) {
        workflowService.advanceToNextStep(job, thisStep);
        jobRepresentation.addLink(createNextStepLink(uriInfo, job, nextStep.getNextStep()), findMethodFromStep(nextStep.getNextStep()));
    }
    return Response.ok(jobRepresentation).build();
}
Also used : MalformedURLException(java.net.MalformedURLException) JobRepresentation(com.dell.cpsd.paqx.fru.rest.representation.JobRepresentation) Job(com.dell.cpsd.paqx.fru.rest.domain.Job) URL(java.net.URL) NextStep(com.dell.cpsd.paqx.fru.valueobject.NextStep)

Example 27 with Job

use of com.dell.cpsd.paqx.fru.rest.domain.Job in project fru-paqx-parent by dellemc-symphony.

the class WorkflowResource method setupSymphony.

@POST
@Path("{jobId}/setup-symphony")
public void setupSymphony(@Suspended final AsyncResponse asyncResponse, @PathParam("jobId") String jobId, @Context UriInfo uriInfo) {
    asyncResponse.setTimeoutHandler(asyncResponse1 -> asyncResponse1.resume(Response.status(Response.Status.SERVICE_UNAVAILABLE).entity("{\"status\":\"timeout\"}").build()));
    asyncResponse.setTimeout(10, TimeUnit.SECONDS);
    //
    final String thisStep = findStepFromPath(uriInfo);
    final Job job = workflowService.findJob(UUID.fromString(jobId));
    final JobRepresentation jobRepresentation = new JobRepresentation(job);
    final NextStep nextStep = workflowService.findNextStep(job.getWorkflow(), thisStep);
    if (nextStep != null) {
        workflowService.advanceToNextStep(job, thisStep);
        jobRepresentation.addLink(createNextStepLink(uriInfo, job, nextStep.getNextStep()), findMethodFromStep(nextStep.getNextStep()));
    }
    LOG.info("Completing response");
    asyncResponse.resume(Response.ok(jobRepresentation).build());
    LOG.debug("Completed response");
}
Also used : JobRepresentation(com.dell.cpsd.paqx.fru.rest.representation.JobRepresentation) Job(com.dell.cpsd.paqx.fru.rest.domain.Job) NextStep(com.dell.cpsd.paqx.fru.valueobject.NextStep)

Example 28 with Job

use of com.dell.cpsd.paqx.fru.rest.domain.Job in project fru-paqx-parent by dellemc-symphony.

the class WorkflowResource method waitForRackHDDiscovery.

@POST
@Path("{jobId}/wait-for-rackhd-discovery")
public void waitForRackHDDiscovery(@Suspended final AsyncResponse asyncResponse, @PathParam("jobId") String jobId, @Context UriInfo uriInfo) {
    asyncResponse.setTimeoutHandler(asyncResponse1 -> asyncResponse1.resume(Response.status(Response.Status.SERVICE_UNAVAILABLE).entity("{\"status\":\"timeout\"}").build()));
    asyncResponse.setTimeout(10, TimeUnit.SECONDS);
    //
    final String thisStep = findStepFromPath(uriInfo);
    final Job job = workflowService.findJob(UUID.fromString(jobId));
    final JobRepresentation jobRepresentation = new JobRepresentation(job);
    final NextStep nextStep = workflowService.findNextStep(job.getWorkflow(), thisStep);
    if (nextStep != null) {
        workflowService.advanceToNextStep(job, thisStep);
        jobRepresentation.addLink(createNextStepLink(uriInfo, job, nextStep.getNextStep()), findMethodFromStep(nextStep.getNextStep()));
    }
    LOG.info("Completing response");
    asyncResponse.resume(Response.ok(jobRepresentation).build());
    LOG.debug("Completed response");
}
Also used : JobRepresentation(com.dell.cpsd.paqx.fru.rest.representation.JobRepresentation) Job(com.dell.cpsd.paqx.fru.rest.domain.Job) NextStep(com.dell.cpsd.paqx.fru.valueobject.NextStep)

Example 29 with Job

use of com.dell.cpsd.paqx.fru.rest.domain.Job in project fru-paqx-parent by dellemc-symphony.

the class WorkflowResource method startWorkflow.

/**
     * TODO: Currently a mock interface
     *
     * @param startWorkflowRequest
     * @param uriInfo
     * @return
     */
@POST
public Response startWorkflow(StartWorkflowRequest startWorkflowRequest, @Context UriInfo uriInfo) {
    final Job job = workflowService.createWorkflow(startWorkflowRequest.getWorkflow());
    final JobRepresentation jobRepresentation = new JobRepresentation(job);
    final NextStep nextStep = workflowService.findNextStep(job.getWorkflow(), job.getCurrentStep());
    jobRepresentation.addLink(createNextStepLink(uriInfo, job, nextStep.getNextStep()));
    return Response.created(uriInfo.getBaseUriBuilder().path("workflow").path(job.getId().toString()).build()).entity(jobRepresentation).build();
}
Also used : JobRepresentation(com.dell.cpsd.paqx.fru.rest.representation.JobRepresentation) Job(com.dell.cpsd.paqx.fru.rest.domain.Job) NextStep(com.dell.cpsd.paqx.fru.valueobject.NextStep)

Example 30 with Job

use of com.dell.cpsd.paqx.fru.rest.domain.Job in project fru-paqx-parent by dellemc-symphony.

the class WorkflowResource method rebootHostForDiscovery.

@POST
@Path("{jobId}/reboot-host-for-discovery")
public void rebootHostForDiscovery(@Suspended final AsyncResponse asyncResponse, @PathParam("jobId") String jobId, @Context UriInfo uriInfo) {
    asyncResponse.setTimeoutHandler(asyncResponse1 -> asyncResponse1.resume(Response.status(Response.Status.SERVICE_UNAVAILABLE).entity("{\"status\":\"timeout\"}").build()));
    asyncResponse.setTimeout(10, TimeUnit.SECONDS);
    //
    final String thisStep = findStepFromPath(uriInfo);
    final Job job = workflowService.findJob(UUID.fromString(jobId));
    final JobRepresentation jobRepresentation = new JobRepresentation(job);
    final NextStep nextStep = workflowService.findNextStep(job.getWorkflow(), thisStep);
    if (nextStep != null) {
        workflowService.advanceToNextStep(job, thisStep);
        jobRepresentation.addLink(createNextStepLink(uriInfo, job, nextStep.getNextStep()), findMethodFromStep(nextStep.getNextStep()));
    }
    LOG.info("Completing response");
    asyncResponse.resume(Response.ok(jobRepresentation).build());
    LOG.debug("Completed response");
}
Also used : JobRepresentation(com.dell.cpsd.paqx.fru.rest.representation.JobRepresentation) Job(com.dell.cpsd.paqx.fru.rest.domain.Job) NextStep(com.dell.cpsd.paqx.fru.valueobject.NextStep)

Aggregations

Job (com.dell.cpsd.paqx.fru.rest.domain.Job)36 JobRepresentation (com.dell.cpsd.paqx.fru.rest.representation.JobRepresentation)32 NextStep (com.dell.cpsd.paqx.fru.valueobject.NextStep)32 MalformedURLException (java.net.MalformedURLException)4 URL (java.net.URL)4 ClusterOperationResponse (com.dell.cpsd.paqx.fru.rest.dto.vcenter.ClusterOperationResponse)2 Test (org.junit.Test)2 ConsulRegistryResult (com.dell.cpsd.paqx.fru.dto.ConsulRegistryResult)1 VCenterHostPowerOperationStatus (com.dell.cpsd.paqx.fru.rest.dto.VCenterHostPowerOperationStatus)1 com.dell.cpsd.paqx.fru.rest.dto.vCenterSystemProperties (com.dell.cpsd.paqx.fru.rest.dto.vCenterSystemProperties)1 DestroyVmResponse (com.dell.cpsd.paqx.fru.rest.dto.vcenter.DestroyVmResponse)1 HostMaintenanceModeResponse (com.dell.cpsd.paqx.fru.rest.dto.vcenter.HostMaintenanceModeResponse)1 ScaleIOSystemDataRestRep (com.dell.cpsd.storage.capabilities.api.ScaleIOSystemDataRestRep)1