You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ma...@apache.org on 2023/07/14 00:49:40 UTC
[camel-karavan] branch main updated: Infrasructure config for logs #817
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 <ma...@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));