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 2022/10/28 23:28:27 UTC
[camel-karavan] branch main updated: Pipeline and Camel statuses by environment
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 18e24f6 Pipeline and Camel statuses by environment
18e24f6 is described below
commit 18e24f6caa5c304f3f454faa17e869e5af8dd6df
Author: Marat Gubaidullin <ma...@gmail.com>
AuthorDate: Fri Oct 28 19:28:17 2022 -0400
Pipeline and Camel statuses by environment
---
.../org/apache/camel/karavan/api/StatusResource.java | 12 ++++++------
.../camel/karavan/informer/PipelineRunEventHandler.java | 13 -------------
.../org/apache/camel/karavan/model/CamelStatus.java | 17 ++++++++++++-----
.../apache/camel/karavan/service/InfinispanService.java | 10 +++++-----
.../apache/camel/karavan/service/KubernetesService.java | 1 -
karavan-app/src/main/webapp/src/api/KaravanApi.tsx | 8 ++++----
.../src/main/webapp/src/projects/ProjectInfo.tsx | 11 ++++++-----
.../src/main/webapp/src/projects/ProjectModels.ts | 1 +
8 files changed, 34 insertions(+), 39 deletions(-)
diff --git a/karavan-app/src/main/java/org/apache/camel/karavan/api/StatusResource.java b/karavan-app/src/main/java/org/apache/camel/karavan/api/StatusResource.java
index 5f88aec..8d75560 100644
--- a/karavan-app/src/main/java/org/apache/camel/karavan/api/StatusResource.java
+++ b/karavan-app/src/main/java/org/apache/camel/karavan/api/StatusResource.java
@@ -47,9 +47,9 @@ public class StatusResource {
@GET
@Produces(MediaType.APPLICATION_JSON)
- @Path("/pipeline/{projectId}")
- public Response getPipelineStatus(@PathParam("projectId") String projectId) {
- PipelineStatus status = infinispanService.getPipelineStatus(projectId);
+ @Path("/pipeline/{projectId}/{env}")
+ public Response getPipelineStatus(@PathParam("projectId") String projectId, @PathParam("env") String env) {
+ PipelineStatus status = infinispanService.getPipelineStatus(projectId, env);
if (status != null) {
return Response.ok(status).build();
} else {
@@ -73,10 +73,10 @@ public class StatusResource {
@GET
@Produces(MediaType.APPLICATION_JSON)
- @Path("/camel/{projectId}")
- public Response getCamelStatus(@PathParam("projectId") String projectId) {
+ @Path("/camel/{projectId}/{env}")
+ public Response getCamelStatus(@PathParam("projectId") String projectId, @PathParam("env") String env) {
bus.publish(StatusService.CMD_COLLECT_STATUSES, projectId);
- CamelStatus status = infinispanService.getCamelStatus(projectId);
+ CamelStatus status = infinispanService.getCamelStatus(projectId, env);
if (status != null) {
return Response.ok(status).build();
} else {
diff --git a/karavan-app/src/main/java/org/apache/camel/karavan/informer/PipelineRunEventHandler.java b/karavan-app/src/main/java/org/apache/camel/karavan/informer/PipelineRunEventHandler.java
index 3254e26..171e4b3 100644
--- a/karavan-app/src/main/java/org/apache/camel/karavan/informer/PipelineRunEventHandler.java
+++ b/karavan-app/src/main/java/org/apache/camel/karavan/informer/PipelineRunEventHandler.java
@@ -90,17 +90,4 @@ public class PipelineRunEventHandler implements ResourceEventHandler<PipelineRun
}
return null;
}
-
- private Long getPipelineRunDuration(PipelineRun pipelineRun) {
- try {
- Instant create = Instant.parse(pipelineRun.getMetadata().getCreationTimestamp());
- Instant completion = pipelineRun.getStatus().getCompletionTime() != null
- ? Instant.parse(pipelineRun.getStatus().getCompletionTime())
- : Instant.now();
- return completion.getEpochSecond() - create.getEpochSecond();
- } catch (Exception ex) {
- LOGGER.error(ex.getMessage());
- return 0L;
- }
- }
}
\ No newline at end of file
diff --git a/karavan-app/src/main/java/org/apache/camel/karavan/model/CamelStatus.java b/karavan-app/src/main/java/org/apache/camel/karavan/model/CamelStatus.java
index a6e0e18..a9be1db 100644
--- a/karavan-app/src/main/java/org/apache/camel/karavan/model/CamelStatus.java
+++ b/karavan-app/src/main/java/org/apache/camel/karavan/model/CamelStatus.java
@@ -18,6 +18,8 @@ public class CamelStatus {
Status registryStatus;
@ProtoField(number = 6)
String contextVersion;
+ @ProtoField(number = 7)
+ String env;
public enum Status {
@ProtoEnumValue(number = 0, name = "DOWN")
@@ -29,17 +31,14 @@ public class CamelStatus {
}
@ProtoFactory
- public CamelStatus(String projectId, Status contextStatus, Status consumerStatus, Status routesStatus, Status registryStatus, String contextVersion) {
+ public CamelStatus(String projectId, Status contextStatus, Status consumerStatus, Status routesStatus, Status registryStatus, String contextVersion, String env) {
this.projectId = projectId;
this.contextStatus = contextStatus;
this.consumerStatus = consumerStatus;
this.routesStatus = routesStatus;
this.registryStatus = registryStatus;
this.contextVersion = contextVersion;
- }
-
- public CamelStatus(String projectId) {
- this.projectId = projectId;
+ this.env = env;
}
public String getProjectId() {
@@ -89,4 +88,12 @@ public class CamelStatus {
public void setContextVersion(String contextVersion) {
this.contextVersion = contextVersion;
}
+
+ public String getEnv() {
+ return env;
+ }
+
+ public void setEnv(String env) {
+ this.env = env;
+ }
}
diff --git a/karavan-app/src/main/java/org/apache/camel/karavan/service/InfinispanService.java b/karavan-app/src/main/java/org/apache/camel/karavan/service/InfinispanService.java
index aa4026a..ee95cf6 100644
--- a/karavan-app/src/main/java/org/apache/camel/karavan/service/InfinispanService.java
+++ b/karavan-app/src/main/java/org/apache/camel/karavan/service/InfinispanService.java
@@ -172,8 +172,8 @@ public class InfinispanService {
return projects.get(GroupedKey.create(project, project));
}
- public PipelineStatus getPipelineStatus(String projectId) {
- return pipelineStatuses.get(GroupedKey.create(projectId, projectId));
+ public PipelineStatus getPipelineStatus(String projectId, String environment) {
+ return pipelineStatuses.get(GroupedKey.create(projectId, environment));
}
public void savePipelineStatus(PipelineStatus status) {
@@ -265,12 +265,12 @@ public class InfinispanService {
podStatuses.remove(GroupedKey.create(status.getDeployment(), status.getName()));
}
- public CamelStatus getCamelStatus(String projectId) {
- return camelStatuses.get(GroupedKey.create(projectId, projectId));
+ public CamelStatus getCamelStatus(String projectId, String env) {
+ return camelStatuses.get(GroupedKey.create(projectId, env));
}
public void saveCamelStatus(CamelStatus status) {
- camelStatuses.put(GroupedKey.create(status.getProjectId(), status.getProjectId()), status);
+ camelStatuses.put(GroupedKey.create(status.getProjectId(), status.getEnv()), status);
}
public List<String> getKameletNames() {
diff --git a/karavan-app/src/main/java/org/apache/camel/karavan/service/KubernetesService.java b/karavan-app/src/main/java/org/apache/camel/karavan/service/KubernetesService.java
index 0ada2cf..5e2d58c 100644
--- a/karavan-app/src/main/java/org/apache/camel/karavan/service/KubernetesService.java
+++ b/karavan-app/src/main/java/org/apache/camel/karavan/service/KubernetesService.java
@@ -90,7 +90,6 @@ public class KubernetesService {
}
@ConfigProperty(name = "karavan.environment")
- public
String environment;
@ConfigProperty(name = "karavan.pipeline")
diff --git a/karavan-app/src/main/webapp/src/api/KaravanApi.tsx b/karavan-app/src/main/webapp/src/api/KaravanApi.tsx
index b2cb1af..0982b85 100644
--- a/karavan-app/src/main/webapp/src/api/KaravanApi.tsx
+++ b/karavan-app/src/main/webapp/src/api/KaravanApi.tsx
@@ -156,8 +156,8 @@ export class KaravanApi {
});
}
- static async getProjectPipelineStatus(projectId: string, after: (status: PipelineStatus) => void) {
- instance.get('/api/status/pipeline/' + projectId)
+ static async getProjectPipelineStatus(projectId: string, env: string, after: (status: PipelineStatus) => void) {
+ instance.get('/api/status/pipeline/' + projectId + "/" + env)
.then(res => {
if (res.status === 200) {
after(res.data);
@@ -178,8 +178,8 @@ export class KaravanApi {
});
}
- static async getProjectCamelStatus(projectId: string, after: (status: CamelStatus) => void) {
- instance.get('/api/status/camel/' + projectId)
+ static async getProjectCamelStatus(projectId: string, env: string, after: (status: CamelStatus) => void) {
+ instance.get('/api/status/camel/' + projectId + "/" + env)
.then(res => {
if (res.status === 200) {
after(res.data);
diff --git a/karavan-app/src/main/webapp/src/projects/ProjectInfo.tsx b/karavan-app/src/main/webapp/src/projects/ProjectInfo.tsx
index 132d4dc..5eb0108 100644
--- a/karavan-app/src/main/webapp/src/projects/ProjectInfo.tsx
+++ b/karavan-app/src/main/webapp/src/projects/ProjectInfo.tsx
@@ -77,21 +77,22 @@ export class ProjectInfo extends React.Component<Props, State> {
}
onRefreshStatus = () => {
- // console.log("onRefreshStatus", this.props.project)
+ const projectId = this.props.project.projectId;
+ const environment = this.state.environment;
if (this.props.project) {
- KaravanApi.getProjectPipelineStatus(this.props.project.projectId, (status: PipelineStatus) => {
+ KaravanApi.getProjectPipelineStatus(projectId, environment, (status: PipelineStatus) => {
this.setState({key: Math.random().toString(), pipelineStatus: status});
// console.log(status);
});
- KaravanApi.getProjectDeploymentStatus(this.props.project.projectId, this.state.environment, (status: DeploymentStatus) => {
+ KaravanApi.getProjectDeploymentStatus(projectId, environment, (status: DeploymentStatus) => {
this.setState({key: Math.random().toString(), deploymentStatus: status});
// console.log(status);
});
- KaravanApi.getProjectPodStatuses(this.props.project.projectId, this.state.environment, (statuses: PodStatus[]) => {
+ KaravanApi.getProjectPodStatuses(projectId, environment, (statuses: PodStatus[]) => {
this.setState({key: Math.random().toString(), podStatuses: statuses});
// console.log(status);
});
- KaravanApi.getProjectCamelStatus(this.props.project.projectId, (status: CamelStatus) => {
+ KaravanApi.getProjectCamelStatus(projectId, environment, (status: CamelStatus) => {
this.setState({key: Math.random().toString(), camelStatus: status});
// console.log(status);
});
diff --git a/karavan-app/src/main/webapp/src/projects/ProjectModels.ts b/karavan-app/src/main/webapp/src/projects/ProjectModels.ts
index 455182e..7165507 100644
--- a/karavan-app/src/main/webapp/src/projects/ProjectModels.ts
+++ b/karavan-app/src/main/webapp/src/projects/ProjectModels.ts
@@ -58,6 +58,7 @@ export class CamelStatus {
consumerStatus: string = '';
contextStatus: string = '';
contextVersion: string = '';
+ env: string = '';
}
export class PipelineStatus {