use of org.guvnor.ala.docker.config.impl.ContextAwareDockerRuntimeExecConfig in project kie-wb-common by kiegroup.
the class RestPipelineImplTest method testAPI.
@Test
public void testAPI() {
ProviderTypeList allProviderTypes = runtimeService.getProviderTypes(0, 10, "", true);
assertEquals(2, allProviderTypes.getItems().size());
DockerProviderConfig dockerProviderConfig = new DockerProviderConfig() {
};
runtimeService.registerProvider(dockerProviderConfig);
ProviderList allProviders = runtimeService.getProviders(0, 10, "", true);
assertEquals(1, allProviders.getItems().size());
Provider p = allProviders.getItems().get(0);
assertTrue(p instanceof DockerProvider);
// by construction.
int systemPipelines = 2;
PipelineConfigsList allPipelineConfigs = pipelineService.getPipelineConfigs(0, 10, "", true);
assertNotNull(allPipelineConfigs);
assertEquals(systemPipelines, allPipelineConfigs.getItems().size());
List<PipelineConfigStage> configs = new ArrayList<>();
configs.add(new PipelineConfigStage("GitConfig", new GitConfigImpl()));
configs.add(new PipelineConfigStage("MavenProjectConfig", new MavenProjectConfigImpl()));
configs.add(new PipelineConfigStage("MavenBuildConfig", new MavenBuildConfigImpl()));
configs.add(new PipelineConfigStage("DockerBuildConfig", new DockerBuildConfigImpl()));
configs.add(new PipelineConfigStage("MavenBuildExecConfigImpl", new MavenBuildExecConfigImpl()));
configs.add(new PipelineConfigStage("DockerProviderConfig", new DockerProviderConfigImpl()));
configs.add(new PipelineConfigStage("ContextAwareDockerProvisioningConfig", new ContextAwareDockerProvisioningConfig()));
configs.add(new PipelineConfigStage("ContextAwareDockerRuntimeExecConfig", new ContextAwareDockerRuntimeExecConfig()));
pipelineService.newPipeline(new PipelineConfigImpl("mypipe", configs));
pipelineService.newPipeline(new PipelineConfigImpl("wildlfyPipe", configs), WildflyProviderType.instance());
pipelineService.newPipeline(new PipelineConfigImpl("dockerPipe", configs), DockerProviderType.instance());
allPipelineConfigs = pipelineService.getPipelineConfigs(0, 10, "", true);
int createdPipelines = 3;
int totalPipelines = systemPipelines + createdPipelines;
assertEquals(totalPipelines, allPipelineConfigs.getItems().size());
PipelineConfigsList wildflyConfigs = pipelineService.getPipelineConfigs(WildflyProviderType.instance().getProviderTypeName(), WildflyProviderType.instance().getVersion(), 0, 10, "", true);
assertEquals(2, wildflyConfigs.getItems().size());
List<String> wildflyPipelineNames = pipelineService.getPipelineNames(WildflyProviderType.instance().getProviderTypeName(), WildflyProviderType.instance().getVersion(), 0, 10, "", true);
assertEquals(2, wildflyPipelineNames.size());
assertTrue(wildflyPipelineNames.contains("wildlfyPipe"));
assertTrue(wildflyPipelineNames.contains(SYSTEM_PIPELINE1));
PipelineConfigsList dockerConfigs = pipelineService.getPipelineConfigs(DockerProviderType.instance().getProviderTypeName(), DockerProviderType.instance().getVersion(), 0, 10, "", true);
assertEquals(1, dockerConfigs.getItems().size());
List<String> dockerPipelineNames = pipelineService.getPipelineNames(DockerProviderType.instance().getProviderTypeName(), DockerProviderType.instance().getVersion(), 0, 10, "", true);
assertEquals(1, dockerPipelineNames.size());
assertTrue(dockerPipelineNames.contains("dockerPipe"));
Input input = new Input();
input.put("provider-name", "local");
input.put("repo-name", "drools-workshop");
input.put("create-repo", "true");
input.put("branch", "master");
input.put("out-dir", tempPath.getAbsolutePath());
input.put("origin", gitUrl);
String pipelineExecutionId = pipelineService.runPipeline("mypipe", input, false);
RuntimeQueryResultItemList itemList = runtimeService.executeQuery(RuntimeQueryBuilder.newInstance().withPipelineExecutionId(pipelineExecutionId).build());
assertEquals(1, itemList.getItems().size());
assertEquals(pipelineExecutionId, itemList.getItems().get(0).getPipelineExecutionId());
pipelineService.deletePipelineExecution(pipelineExecutionId);
itemList = runtimeService.executeQuery(RuntimeQueryBuilder.newInstance().withPipelineExecutionId(pipelineExecutionId).build());
assertEquals(1, itemList.getItems().size());
assertNull(itemList.getItems().get(0).getPipelineExecutionId());
RuntimeList allRuntimes = runtimeService.getRuntimes(0, 10, "", true);
assertEquals(1, allRuntimes.getItems().size());
runtimeService.destroyRuntime(allRuntimes.getItems().get(0).getId(), true);
allRuntimes = runtimeService.getRuntimes(0, 10, "", true);
assertEquals(0, allRuntimes.getItems().size());
assertEquals(18, // 8 Stages x 2 + 2 pipeline events
listener.getEvents().size());
pipelineExecutionId = pipelineService.runPipeline("mypipe", input, true);
pipelineService.stopPipelineExecution(pipelineExecutionId);
itemList = runtimeService.executeQuery(RuntimeQueryBuilder.newInstance().withPipelineExecutionId(pipelineExecutionId).build());
assertEquals(1, itemList.getItems().size());
assertEquals(pipelineExecutionId, itemList.getItems().get(0).getPipelineExecutionId());
assertEquals(PipelineExecutorTask.Status.STOPPED.name(), itemList.getItems().get(0).getPipelineStatus());
}
use of org.guvnor.ala.docker.config.impl.ContextAwareDockerRuntimeExecConfig in project kie-wb-common by kiegroup.
the class PipelineEndpointsTestIT method checkService.
@Ignore
public void checkService() {
Client client = ClientBuilder.newClient();
WebTarget target = client.target(APP_URL);
ResteasyWebTarget restEasyTarget = (ResteasyWebTarget) target;
PipelineService proxyPipeline = restEasyTarget.proxy(PipelineService.class);
RuntimeProvisioningService proxyRuntime = restEasyTarget.proxy(RuntimeProvisioningService.class);
ProviderTypeList allProviderTypes = proxyRuntime.getProviderTypes(0, 10, "", true);
assertNotNull(allProviderTypes);
assertEquals(3, allProviderTypes.getItems().size());
DockerProviderConfig dockerProviderConfig = new DockerProviderConfigImpl();
proxyRuntime.registerProvider(dockerProviderConfig);
ProviderList allProviders = proxyRuntime.getProviders(0, 10, "", true);
assertEquals(1, allProviders.getItems().size());
assertTrue(allProviders.getItems().get(0) instanceof DockerProvider);
PipelineConfigsList allPipelines = proxyPipeline.getPipelineConfigs(0, 10, "", true);
assertNotNull(allPipelines);
assertEquals(0, allPipelines.getItems().size());
List<PipelineConfigStage> configs = new ArrayList<>();
configs.add(new PipelineConfigStage("GitConfig", new GitConfigImpl()));
configs.add(new PipelineConfigStage("MavenProjectConfig", new MavenProjectConfigImpl()));
configs.add(new PipelineConfigStage("MavenBuildConfig", new MavenBuildConfigImpl()));
configs.add(new PipelineConfigStage("DockerBuildConfig", new DockerBuildConfigImpl()));
configs.add(new PipelineConfigStage("MavenBuildExecConfig", new MavenBuildExecConfigImpl()));
configs.add(new PipelineConfigStage("DockerProviderConfig", new DockerProviderConfigImpl()));
configs.add(new PipelineConfigStage("ContextAwareDockerProvisioning", new ContextAwareDockerProvisioningConfig()));
configs.add(new PipelineConfigStage("ContextAwareDockerRuntimeExec", new ContextAwareDockerRuntimeExecConfig()));
String newPipeline = proxyPipeline.newPipeline(new PipelineConfigImpl("mypipe", configs));
Input input = new Input();
input.put("repo-name", "drools-workshop");
input.put("create-repo", "true");
input.put("branch", "master");
input.put("out-dir", tempPath.getAbsolutePath());
input.put("origin", gitUrl);
proxyPipeline.runPipeline("mypipe", input, false);
RuntimeList allRuntimes = proxyRuntime.getRuntimes(0, 10, "", true);
assertEquals(1, allRuntimes.getItems().size());
proxyRuntime.destroyRuntime(allRuntimes.getItems().get(0).getId(), true);
allRuntimes = proxyRuntime.getRuntimes(0, 10, "", true);
assertEquals(0, allRuntimes.getItems().size());
}
use of org.guvnor.ala.docker.config.impl.ContextAwareDockerRuntimeExecConfig in project kie-wb-common by kiegroup.
the class DockerExecutorTest method testFlexAPI.
@Test
public void testFlexAPI() throws InterruptedException {
final InMemoryRuntimeRegistry runtimeRegistry = new InMemoryRuntimeRegistry();
final DockerAccessInterface dockerAccessInterface = new DockerAccessInterfaceImpl();
final Pipeline pipe = PipelineFactory.newBuilder().addConfigStage("Docker Provider Config", new DockerProviderConfig() {
}).addConfigStage("Docker Runtime Config", new ContextAwareDockerProvisioningConfig() {
}).addConfigStage("Docker Runtime Exec", new ContextAwareDockerRuntimeExecConfig()).buildAs("my pipe");
DockerRuntimeExecExecutor dockerRuntimeExecExecutor = new DockerRuntimeExecExecutor(runtimeRegistry, dockerAccessInterface);
final PipelineExecutor executor = new PipelineExecutor(asList(new DockerProviderConfigExecutor(runtimeRegistry), new DockerProvisioningConfigExecutor(), dockerRuntimeExecExecutor));
executor.execute(new Input() {
{
put("image-name", "kitematic/hello-world-nginx");
put("port-number", "8080");
put("docker-pull", "true");
}
}, pipe, (Runtime b) -> System.out.println(b));
List<Runtime> allRuntimes = runtimeRegistry.getRuntimes(0, 10, "", true);
assertEquals(1, allRuntimes.size());
Runtime runtime = allRuntimes.get(0);
assertTrue(runtime instanceof DockerRuntime);
DockerRuntime dockerRuntime = (DockerRuntime) runtime;
DockerRuntimeManager runtimeManager = new DockerRuntimeManager(runtimeRegistry, dockerAccessInterface);
allRuntimes = runtimeRegistry.getRuntimes(0, 10, "", true);
assertEquals(1, allRuntimes.size());
runtime = allRuntimes.get(0);
dockerRuntime = (DockerRuntime) runtime;
assertEquals(RUNNING, dockerRuntime.getState().getState());
runtimeManager.stop(dockerRuntime);
allRuntimes = runtimeRegistry.getRuntimes(0, 10, "", true);
assertEquals(1, allRuntimes.size());
runtime = allRuntimes.get(0);
dockerRuntime = (DockerRuntime) runtime;
assertEquals(STOPPED, dockerRuntime.getState().getState());
dockerRuntimeExecExecutor.destroy(runtime);
dockerAccessInterface.dispose();
}
use of org.guvnor.ala.docker.config.impl.ContextAwareDockerRuntimeExecConfig in project kie-wb-common by kiegroup.
the class DockerExecutorTest method testAPI.
@Test
public void testAPI() throws InterruptedException {
final SourceRegistry sourceRegistry = new InMemorySourceRegistry();
final BuildRegistry buildRegistry = new InMemoryBuildRegistry();
final InMemoryRuntimeRegistry runtimeRegistry = new InMemoryRuntimeRegistry();
final DockerAccessInterface dockerAccessInterface = new DockerAccessInterfaceImpl();
final Pipeline pipe = PipelineFactory.newBuilder().addConfigStage("Git Source", new GitConfigImpl()).addConfigStage("Maven Project", new MavenProjectConfigImpl()).addConfigStage("Maven Build Config", new MavenBuildConfigImpl()).addConfigStage("Docker Build Config", new DockerBuildConfigImpl()).addConfigStage("Maven Build", new MavenBuildExecConfigImpl()).addConfigStage("Docker Provider Config", new DockerProviderConfigImpl()).addConfigStage("Docker Runtime Config", new ContextAwareDockerProvisioningConfig()).addConfigStage("Docker Runtime Exec", new ContextAwareDockerRuntimeExecConfig()).buildAs("my pipe");
DockerRuntimeExecExecutor dockerRuntimeExecExecutor = new DockerRuntimeExecExecutor(runtimeRegistry, dockerAccessInterface);
final PipelineExecutor executor = new PipelineExecutor(asList(new GitConfigExecutor(sourceRegistry), new MavenProjectConfigExecutor(sourceRegistry), new MavenBuildConfigExecutor(), new MavenBuildExecConfigExecutor(buildRegistry), new DockerBuildConfigExecutor(), new DockerProviderConfigExecutor(runtimeRegistry), new DockerProvisioningConfigExecutor(), dockerRuntimeExecExecutor));
executor.execute(new Input() {
{
put("repo-name", "drools-workshop");
put("create-repo", "true");
put("branch", "master");
put("out-dir", tempPath.getAbsolutePath());
put("origin", gitUrl);
}
}, pipe, (Runtime b) -> System.out.println(b));
List<Runtime> allRuntimes = runtimeRegistry.getRuntimes(0, 10, "", true);
assertEquals(1, allRuntimes.size());
Runtime runtime = allRuntimes.get(0);
assertTrue(runtime instanceof DockerRuntime);
DockerRuntime dockerRuntime = (DockerRuntime) runtime;
DockerRuntimeManager runtimeManager = new DockerRuntimeManager(runtimeRegistry, dockerAccessInterface);
allRuntimes = runtimeRegistry.getRuntimes(0, 10, "", true);
assertEquals(1, allRuntimes.size());
runtime = allRuntimes.get(0);
dockerRuntime = (DockerRuntime) runtime;
assertEquals(RUNNING, dockerRuntime.getState().getState());
runtimeManager.stop(dockerRuntime);
allRuntimes = runtimeRegistry.getRuntimes(0, 10, "", true);
assertEquals(1, allRuntimes.size());
runtime = allRuntimes.get(0);
dockerRuntime = (DockerRuntime) runtime;
assertEquals(STOPPED, dockerRuntime.getState().getState());
dockerRuntimeExecExecutor.destroy(runtime);
dockerAccessInterface.dispose();
}
Aggregations