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 <[email protected]>
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));