Search in sources :

Example 21 with Input

use of org.guvnor.ala.pipeline.Input in project kie-wb-common by kiegroup.

the class WildflyExecutorTest method testAPI.

@Test
@InSequence(1)
public void testAPI() {
    final SourceRegistry sourceRegistry = new InMemorySourceRegistry();
    final BuildRegistry buildRegistry = new InMemoryBuildRegistry();
    final InMemoryRuntimeRegistry runtimeRegistry = new InMemoryRuntimeRegistry();
    final WildflyAccessInterface wildflyAccessInterface = new WildflyAccessInterfaceImpl();
    final Pipeline pipe = PipelineFactory.newBuilder().addConfigStage("Git Source", new GitConfig() {
    }).addConfigStage("Maven Project", new MavenProjectConfig() {
    }).addConfigStage("Maven Build Config", new MavenBuildConfig() {
    }).addConfigStage("Maven Build", new MavenBuildExecConfig() {
    }).addConfigStage("Wildfly Provider Config", new WildflyProviderConfig() {
    }).addConfigStage("Wildfly Runtime Exec", new ContextAwareWildflyRuntimeExecConfig()).buildAs("my pipe");
    WildflyRuntimeExecExecutor wildflyRuntimeExecExecutor = new WildflyRuntimeExecExecutor(runtimeRegistry, wildflyAccessInterface);
    final PipelineExecutor executor = new PipelineExecutor(asList(new GitConfigExecutor(sourceRegistry), new MavenProjectConfigExecutor(sourceRegistry), new MavenBuildConfigExecutor(), new MavenBuildExecConfigExecutor(buildRegistry), new WildflyProviderConfigExecutor(runtimeRegistry), wildflyRuntimeExecExecutor));
    executor.execute(new Input() {

        {
            put("repo-name", "drools-workshop");
            put("create-repo", "true");
            put("branch", "master");
            put("out-dir", tempPath.getAbsolutePath());
            put("origin", gitUrl);
            put("provider-name", "wildlfy-test");
            put("wildfly-user", "admin");
            put("wildfly-password", "Admin#70365");
            put("host", ip);
            put("port", "8080");
            put("management-port", "9990");
        }
    }, pipe, System.out::println);
    List<Runtime> allRuntimes = runtimeRegistry.getRuntimes(0, 10, "", true);
    assertEquals(1, allRuntimes.size());
    Runtime runtime = allRuntimes.get(0);
    assertTrue(runtime instanceof WildflyRuntime);
    WildflyRuntime wildflyRuntime = (WildflyRuntime) runtime;
    WildflyRuntimeManager runtimeManager = new WildflyRuntimeManager(runtimeRegistry, wildflyAccessInterface);
    runtimeManager.start(wildflyRuntime);
    allRuntimes = runtimeRegistry.getRuntimes(0, 10, "", true);
    assertEquals(1, allRuntimes.size());
    runtime = allRuntimes.get(0);
    assertTrue(runtime instanceof WildflyRuntime);
    wildflyRuntime = (WildflyRuntime) runtime;
    assertEquals(RUNNING, wildflyRuntime.getState().getState());
    runtimeManager.stop(wildflyRuntime);
    allRuntimes = runtimeRegistry.getRuntimes(0, 10, "", true);
    assertEquals(1, allRuntimes.size());
    runtime = allRuntimes.get(0);
    assertTrue(runtime instanceof WildflyRuntime);
    wildflyRuntime = (WildflyRuntime) runtime;
    assertEquals(STOPPED, wildflyRuntime.getState().getState());
    wildflyRuntimeExecExecutor.destroy(wildflyRuntime);
    wildflyAccessInterface.dispose();
}
Also used : InMemoryBuildRegistry(org.guvnor.ala.registry.inmemory.InMemoryBuildRegistry) MavenProjectConfigExecutor(org.guvnor.ala.build.maven.executor.MavenProjectConfigExecutor) InMemorySourceRegistry(org.guvnor.ala.registry.inmemory.InMemorySourceRegistry) SourceRegistry(org.guvnor.ala.registry.SourceRegistry) MavenBuildConfig(org.guvnor.ala.build.maven.config.MavenBuildConfig) PipelineExecutor(org.guvnor.ala.pipeline.execution.PipelineExecutor) WildflyRuntime(org.guvnor.ala.wildfly.model.WildflyRuntime) MavenBuildExecConfig(org.guvnor.ala.build.maven.config.MavenBuildExecConfig) Input(org.guvnor.ala.pipeline.Input) WildflyRuntime(org.guvnor.ala.wildfly.model.WildflyRuntime) Runtime(org.guvnor.ala.runtime.Runtime) MavenProjectConfig(org.guvnor.ala.build.maven.config.MavenProjectConfig) WildflyAccessInterfaceImpl(org.guvnor.ala.wildfly.access.impl.WildflyAccessInterfaceImpl) WildflyProviderConfigExecutor(org.guvnor.ala.wildfly.executor.WildflyProviderConfigExecutor) BuildRegistry(org.guvnor.ala.registry.BuildRegistry) InMemoryBuildRegistry(org.guvnor.ala.registry.inmemory.InMemoryBuildRegistry) GitConfig(org.guvnor.ala.source.git.config.GitConfig) WildflyProviderConfig(org.guvnor.ala.wildfly.config.WildflyProviderConfig) Pipeline(org.guvnor.ala.pipeline.Pipeline) WildflyRuntimeExecExecutor(org.guvnor.ala.wildfly.executor.WildflyRuntimeExecExecutor) MavenBuildExecConfigExecutor(org.guvnor.ala.build.maven.executor.MavenBuildExecConfigExecutor) WildflyAccessInterface(org.guvnor.ala.wildfly.access.WildflyAccessInterface) GitConfigExecutor(org.guvnor.ala.source.git.executor.GitConfigExecutor) InMemorySourceRegistry(org.guvnor.ala.registry.inmemory.InMemorySourceRegistry) ContextAwareWildflyRuntimeExecConfig(org.guvnor.ala.wildfly.config.impl.ContextAwareWildflyRuntimeExecConfig) WildflyRuntimeManager(org.guvnor.ala.wildfly.service.WildflyRuntimeManager) InMemoryRuntimeRegistry(org.guvnor.ala.registry.inmemory.InMemoryRuntimeRegistry) MavenBuildConfigExecutor(org.guvnor.ala.build.maven.executor.MavenBuildConfigExecutor) Test(org.junit.Test) InSequence(org.jboss.arquillian.junit.InSequence)

Example 22 with Input

use of org.guvnor.ala.pipeline.Input in project kie-wb-common by kiegroup.

the class PipelineExecutorTaskManagerImplHelperTest method testSetTaskInStoppedStatus.

@Test
public void testSetTaskInStoppedStatus() {
    List<String> scheduledStages = mockStages(STAGES_COUNT, "scheduled");
    List<String> runningStages = mockStages(STAGES_COUNT, "running");
    List<String> finishedStages = mockStages(STAGES_COUNT, "finished");
    List<String> errorStages = mockStages(STAGES_COUNT, "error");
    List<String> stoppedStages = mockStages(STAGES_COUNT, "stopped");
    List<String> stages = new ArrayList<>();
    stages.addAll(scheduledStages);
    stages.addAll(runningStages);
    stages.addAll(finishedStages);
    stages.addAll(errorStages);
    stages.addAll(stoppedStages);
    PipelineExecutorTaskDef taskDef = mock(PipelineExecutorTaskDef.class);
    Input input = mock(Input.class);
    when(taskDef.getInput()).thenReturn(input);
    when(taskDef.getStages()).thenReturn(stages);
    PipelineExecutorTaskImpl task = new PipelineExecutorTaskImpl(taskDef, "executionId");
    // set the pipeline e.g. in running status
    task.setPipelineStatus(PipelineExecutorTask.Status.RUNNING);
    // set the stages in the corresponding status
    setStagesInStatus(task, scheduledStages, PipelineExecutorTask.Status.SCHEDULED);
    setStagesInStatus(task, runningStages, PipelineExecutorTask.Status.RUNNING);
    setStagesInStatus(task, finishedStages, PipelineExecutorTask.Status.FINISHED);
    setStagesInStatus(task, errorStages, PipelineExecutorTask.Status.ERROR);
    setStagesInStatus(task, stoppedStages, PipelineExecutorTask.Status.STOPPED);
    taskManagerHelper.setTaskInStoppedStatus(task);
    // verify all stages were set in the expected status.
    // the scheduled stages must have been set to STOPPED
    assertStagesInStatus(task, scheduledStages, PipelineExecutorTask.Status.STOPPED);
    // the running stages must have been set to STOPPED
    assertStagesInStatus(task, runningStages, PipelineExecutorTask.Status.STOPPED);
    // the finished stages must remain in FINISHED status
    assertStagesInStatus(task, finishedStages, PipelineExecutorTask.Status.FINISHED);
    // the error stages must remain in ERROR status
    assertStagesInStatus(task, errorStages, PipelineExecutorTask.Status.ERROR);
    // the stopped stages must remain in STOPPED status
    assertStagesInStatus(task, stoppedStages, PipelineExecutorTask.Status.STOPPED);
    // the pipeline must have been stopped
    assertEquals(PipelineExecutorTask.Status.STOPPED, task.getPipelineStatus());
}
Also used : Input(org.guvnor.ala.pipeline.Input) ArrayList(java.util.ArrayList) PipelineExecutorTaskDef(org.guvnor.ala.pipeline.execution.PipelineExecutorTaskDef) Test(org.junit.Test)

Example 23 with Input

use of org.guvnor.ala.pipeline.Input in project kie-wb-common by kiegroup.

the class PipelineExecutorTraceImplMarshallerTest method getValue.

@Override
public PipelineExecutorTraceImpl getValue() {
    // only the stage names are used by the taskDef, so the pipeline can be mocked.
    List<Stage> stages = mockStages(STAGE_COUNT);
    Pipeline pipeline = new BasePipeline(PIPELINE_NAME, stages) {
    };
    Input input = mockInput(PIPELINE_INPUT_SIZE);
    PipelineExecutorTaskDefImpl taskDef = new PipelineExecutorTaskDefImpl(pipeline, input);
    PipelineExecutorTaskImpl taskImpl = new PipelineExecutorTaskImpl(taskDef, PIPELINE_EXECUTION_ID);
    taskImpl.setPipelineStatus(PipelineExecutorTask.Status.SCHEDULED);
    taskImpl.setPipelineError(mockError(PIPELINE_ERROR, PIPELINE_ERROR_DETAIL));
    taskImpl.getTaskDef().getStages().forEach(stage -> taskImpl.setStageError(stage, mockStageError(stage)));
    taskImpl.setOutput(new MockPipelineOutput(PIPELINE_OUTPUT));
    return new PipelineExecutorTraceImpl(taskImpl);
}
Also used : PipelineExecutorTaskDefImpl(org.guvnor.ala.pipeline.execution.impl.PipelineExecutorTaskDefImpl) Input(org.guvnor.ala.pipeline.Input) PipelineExecutorTaskImpl(org.guvnor.ala.pipeline.execution.impl.PipelineExecutorTaskImpl) PipelineExecutorTraceImpl(org.guvnor.ala.pipeline.execution.impl.PipelineExecutorTraceImpl) Stage(org.guvnor.ala.pipeline.Stage) BasePipeline(org.guvnor.ala.pipeline.impl.BasePipeline) BasePipeline(org.guvnor.ala.pipeline.impl.BasePipeline) Pipeline(org.guvnor.ala.pipeline.Pipeline)

Example 24 with Input

use of org.guvnor.ala.pipeline.Input in project kie-wb-common by kiegroup.

the class RuntimeServiceImpl method createRuntime.

@Override
public PipelineExecutionTraceKey createRuntime(final ProviderKey providerKey, final String runtimeName, final PipelineKey pipelineKey, final Map<String, String> params) {
    checkNotNull("providerKey", providerKey);
    checkNotNull("runtimeName", runtimeName);
    checkNotNull("pipelineKey", pipelineKey);
    validateForCreateRuntime(providerKey, runtimeName);
    try {
        final Input input = PipelineInputBuilder.newInstance().withRuntimeName(runtimeName).withProvider(providerKey).withParams(params).build();
        return new PipelineExecutionTraceKey(pipelineService.runPipeline(pipelineKey.getId(), input, true));
    } catch (Exception e) {
        logger.error("Runtime creation failed.", e);
        throw ExceptionUtilities.handleException(e);
    }
}
Also used : Input(org.guvnor.ala.pipeline.Input) PipelineExecutionTraceKey(org.guvnor.ala.ui.model.PipelineExecutionTraceKey) ServiceException(org.guvnor.ala.ui.exceptions.ServiceException)

Aggregations

Input (org.guvnor.ala.pipeline.Input)24 Test (org.junit.Test)15 Pipeline (org.guvnor.ala.pipeline.Pipeline)12 PipelineExecutor (org.guvnor.ala.pipeline.execution.PipelineExecutor)8 ArrayList (java.util.ArrayList)6 MavenProjectConfigImpl (org.guvnor.ala.build.maven.config.impl.MavenProjectConfigImpl)6 BuildRegistry (org.guvnor.ala.registry.BuildRegistry)6 InMemoryBuildRegistry (org.guvnor.ala.registry.inmemory.InMemoryBuildRegistry)6 MavenBuildConfigImpl (org.guvnor.ala.build.maven.config.impl.MavenBuildConfigImpl)5 MavenBuildExecConfigImpl (org.guvnor.ala.build.maven.config.impl.MavenBuildExecConfigImpl)5 SourceRegistry (org.guvnor.ala.registry.SourceRegistry)5 InMemoryRuntimeRegistry (org.guvnor.ala.registry.inmemory.InMemoryRuntimeRegistry)5 InMemorySourceRegistry (org.guvnor.ala.registry.inmemory.InMemorySourceRegistry)5 Runtime (org.guvnor.ala.runtime.Runtime)5 ContextAwareDockerProvisioningConfig (org.guvnor.ala.docker.config.impl.ContextAwareDockerProvisioningConfig)4 ContextAwareDockerRuntimeExecConfig (org.guvnor.ala.docker.config.impl.ContextAwareDockerRuntimeExecConfig)4 GitConfigExecutor (org.guvnor.ala.source.git.executor.GitConfigExecutor)4 MavenBuildConfigExecutor (org.guvnor.ala.build.maven.executor.MavenBuildConfigExecutor)3 MavenBuildExecConfigExecutor (org.guvnor.ala.build.maven.executor.MavenBuildExecConfigExecutor)3 MavenProjectConfigExecutor (org.guvnor.ala.build.maven.executor.MavenProjectConfigExecutor)3