This is an automated email from the ASF dual-hosted git repository. marat pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-karavan.git
The following commit(s) were added to refs/heads/main by this push: new e8c60edc Infrasructure config for logs #817 e8c60edc is described below commit e8c60edc1f3e02336c8a447ab22f3ec9fb72ea0f Author: Marat Gubaidullin <marat.gubaidul...@gmail.com> AuthorDate: Thu Jul 13 20:49:31 2023 -0400 Infrasructure config for logs #817 --- .../java/org/apache/camel/karavan/api/DevModeResource.java | 4 ++-- .../java/org/apache/camel/karavan/api/LogWatchResource.java | 2 +- .../org/apache/camel/karavan/bashi/docker/DockerService.java | 12 +++++++----- .../apache/camel/karavan/datagrid/model/DevModeCommand.java | 6 +++++- .../java/org/apache/camel/karavan/datagrid/DataGridTest.java | 8 ++++---- 5 files changed, 19 insertions(+), 13 deletions(-) diff --git a/karavan-cloud/karavan-app/src/main/java/org/apache/camel/karavan/api/DevModeResource.java b/karavan-cloud/karavan-app/src/main/java/org/apache/camel/karavan/api/DevModeResource.java index d0681bf4..403ad264 100644 --- a/karavan-cloud/karavan-app/src/main/java/org/apache/camel/karavan/api/DevModeResource.java +++ b/karavan-cloud/karavan-app/src/main/java/org/apache/camel/karavan/api/DevModeResource.java @@ -57,7 +57,7 @@ public class DevModeResource { PodStatus status = datagridService.getDevModePodStatuses(runnerName, environment); if (status == null) { datagridService.saveDevModeStatus(new DevModeStatus(project.getProjectId(), null, null, false)); - datagridService.sendDevModeCommand(DevModeCommand.createDevModeCommand(DevModeCommandName.RUN, project.getProjectId())); + datagridService.sendDevModeCommand(DevModeCommand.createForProject(DevModeCommandName.RUN, project.getProjectId())); return Response.ok(runnerName).build(); } return Response.notModified().build(); @@ -83,7 +83,7 @@ public class DevModeResource { @Consumes(MediaType.APPLICATION_JSON) @Path("/{projectId}/{deletePVC}") public Response deleteRunner(@PathParam("projectId") String projectId, @PathParam("deletePVC") boolean deletePVC) { - datagridService.sendDevModeCommand(DevModeCommand.createDevModeCommand(DevModeCommandName.DELETE, projectId)); + datagridService.sendDevModeCommand(DevModeCommand.createForProject(DevModeCommandName.DELETE, projectId)); datagridService.deleteDevModeStatus(projectId); return Response.accepted().build(); } diff --git a/karavan-cloud/karavan-app/src/main/java/org/apache/camel/karavan/api/LogWatchResource.java b/karavan-cloud/karavan-app/src/main/java/org/apache/camel/karavan/api/LogWatchResource.java index 0fece15e..4df1807a 100644 --- a/karavan-cloud/karavan-app/src/main/java/org/apache/camel/karavan/api/LogWatchResource.java +++ b/karavan-cloud/karavan-app/src/main/java/org/apache/camel/karavan/api/LogWatchResource.java @@ -66,7 +66,7 @@ public class LogWatchResource { if (kubernetesService.inKubernetes()) { getKubernetesLogs(type, name, eventSink, sse); } else { - datagridService.sendDevModeCommand(DevModeCommand.createDevModeCommand(DevModeCommandName.LOG, name)); + datagridService.sendDevModeCommand(DevModeCommand.createForContainer(DevModeCommandName.LOG, name)); } }); } diff --git a/karavan-cloud/karavan-bashi/src/main/java/org/apache/camel/karavan/bashi/docker/DockerService.java b/karavan-cloud/karavan-bashi/src/main/java/org/apache/camel/karavan/bashi/docker/DockerService.java index 7c58465d..b14394a0 100644 --- a/karavan-cloud/karavan-bashi/src/main/java/org/apache/camel/karavan/bashi/docker/DockerService.java +++ b/karavan-cloud/karavan-bashi/src/main/java/org/apache/camel/karavan/bashi/docker/DockerService.java @@ -136,7 +136,7 @@ public class DockerService { public Container getContainerByName(String name) { List<Container> containers = getDockerClient().listContainersCmd().withShowAll(true).withNameFilter(List.of(name)).exec(); - return containers.get(0); + return containers.size() > 0 ? containers.get(0) : null; } public Statistics getContainerStats(String containerId) { @@ -195,11 +195,13 @@ public class DockerService { public void logContainer(String containerName) { try { - LogCallback callback = new LogCallback(); Container container = getContainerByName(containerName); - getDockerClient().logContainerCmd(container.getId()) - .withStdOut(true).withStdErr(true).withTimestamps(true).exec(callback); - callback.awaitCompletion(); + if (container != null) { + LogCallback callback = new LogCallback(); + getDockerClient().logContainerCmd(container.getId()) + .withStdOut(true).withStdErr(true).withTimestamps(true).exec(callback); + callback.awaitCompletion(); + } } catch (InterruptedException e) { throw new RuntimeException(e); } diff --git a/karavan-cloud/karavan-datagrid/src/main/java/org/apache/camel/karavan/datagrid/model/DevModeCommand.java b/karavan-cloud/karavan-datagrid/src/main/java/org/apache/camel/karavan/datagrid/model/DevModeCommand.java index 3bc80546..c364c997 100644 --- a/karavan-cloud/karavan-datagrid/src/main/java/org/apache/camel/karavan/datagrid/model/DevModeCommand.java +++ b/karavan-cloud/karavan-datagrid/src/main/java/org/apache/camel/karavan/datagrid/model/DevModeCommand.java @@ -29,10 +29,14 @@ public class DevModeCommand { this.time = time; } - public static DevModeCommand createDevModeCommand(DevModeCommandName commandName, String projectId) { + public static DevModeCommand createForProject(DevModeCommandName commandName, String projectId) { return new DevModeCommand(commandName, projectId, projectId + DEVMODE_SUFFIX, DevModeCommandType.DEVMODE, Instant.now().toEpochMilli()); } + public static DevModeCommand createForContainer(DevModeCommandName commandName, String containerName) { + return new DevModeCommand(commandName, null, containerName, DevModeCommandType.DEVMODE, Instant.now().toEpochMilli()); + } + public static DevModeCommand createDevServiceCommand(DevModeCommandName commandName, String serviceName) { return new DevModeCommand(commandName, null, serviceName, DevModeCommandType.DEVSERVICE, Instant.now().toEpochMilli()); } diff --git a/karavan-cloud/karavan-datagrid/src/test/java/org/apache/camel/karavan/datagrid/DataGridTest.java b/karavan-cloud/karavan-datagrid/src/test/java/org/apache/camel/karavan/datagrid/DataGridTest.java index e809d178..86c11346 100644 --- a/karavan-cloud/karavan-datagrid/src/test/java/org/apache/camel/karavan/datagrid/DataGridTest.java +++ b/karavan-cloud/karavan-datagrid/src/test/java/org/apache/camel/karavan/datagrid/DataGridTest.java @@ -49,10 +49,10 @@ public class DataGridTest { @Test public void sendCommand() throws InterruptedException { List<DevModeCommand> commandsSent = List.of( - DevModeCommand.createDevModeCommand(DevModeCommandName.RUN, "test1"), - DevModeCommand.createDevModeCommand(DevModeCommandName.RELOAD, "test1"), - DevModeCommand.createDevModeCommand(DevModeCommandName.DELETE, "test1"), - DevModeCommand.createDevModeCommand(DevModeCommandName.RUN, "test1") + DevModeCommand.createForProject(DevModeCommandName.RUN, "test1"), + DevModeCommand.createForProject(DevModeCommandName.RELOAD, "test1"), + DevModeCommand.createForProject(DevModeCommandName.DELETE, "test1"), + DevModeCommand.createForProject(DevModeCommandName.RUN, "test1") ); commandsSent.forEach(devModeCommand -> datagridService.sendDevModeCommand(devModeCommand));