This is an automated email from the ASF dual-hosted git repository.
wuzhiguo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/bigtop-manager.git
The following commit(s) were added to refs/heads/main by this push:
new ae950232 BIGTOP-4320: Support component add/start/stop/restart
commands (#142)
ae950232 is described below
commit ae9502327a42ccf9d1dfce790b87e36c5c5bd060
Author: Zhiguo Wu <[email protected]>
AuthorDate: Tue Jan 7 10:29:01 2025 +0800
BIGTOP-4320: Support component add/start/stop/restart commands (#142)
---
.../bigtop/manager/common/enums/Command.java | 4 +-
.../factory/cluster/ClusterAddJobFactory.java | 2 +-
.../factory/cluster/ClusterRestartJobFactory.java | 2 +-
.../factory/cluster/ClusterStartJobFactory.java | 2 +-
.../factory/cluster/ClusterStopJobFactory.java | 2 +-
.../factory/component/ComponentAddJobFactory.java | 3 +-
.../component/ComponentRestartJobFactory.java | 3 +-
.../component/ComponentStartJobFactory.java | 3 +-
.../factory/component/ComponentStopJobFactory.java | 3 +-
.../command/factory/host/HostAddJobFactory.java | 2 +-
.../factory/host/HostRestartJobFactory.java | 2 +-
.../command/factory/host/HostStartJobFactory.java | 2 +-
.../command/factory/host/HostStopJobFactory.java | 2 +-
.../factory/service/ServiceAddJobFactory.java | 2 +-
.../factory/service/ServiceCheckJobFactory.java | 2 +-
.../service/ServiceConfigureJobFactory.java | 2 +-
.../factory/service/ServiceRestartJobFactory.java | 2 +-
.../factory/service/ServiceStartJobFactory.java | 2 +-
.../factory/service/ServiceStopJobFactory.java | 2 +-
.../job/{ => cluster}/AbstractClusterJob.java | 4 +-
.../command/job/{ => cluster}/ClusterAddJob.java | 4 +-
.../job/{ => cluster}/ClusterRestartJob.java | 4 +-
.../command/job/{ => cluster}/ClusterStartJob.java | 4 +-
.../command/job/{ => cluster}/ClusterStopJob.java | 4 +-
.../AbstractComponentJob.java} | 87 +++++++++++------
.../command/job/component/ComponentAddJob.java | 108 +++++++++++++++++++++
.../ComponentRestartJob.java} | 10 +-
.../ComponentStartJob.java} | 12 +--
.../ComponentStopJob.java} | 12 +--
.../command/job/{ => host}/AbstractHostJob.java | 4 +-
.../server/command/job/{ => host}/HostAddJob.java | 5 +-
.../command/job/{ => host}/HostRestartJob.java | 4 +-
.../command/job/{ => host}/HostStartJob.java | 4 +-
.../server/command/job/{ => host}/HostStopJob.java | 4 +-
.../job/{ => service}/AbstractServiceJob.java | 4 +-
.../command/job/{ => service}/ServiceAddJob.java | 3 +-
.../command/job/{ => service}/ServiceCheckJob.java | 3 +-
.../job/{ => service}/ServiceConfigureJob.java | 4 +-
.../job/{ => service}/ServiceRestartJob.java | 3 +-
.../command/job/{ => service}/ServiceStartJob.java | 3 +-
.../command/job/{ => service}/ServiceStopJob.java | 3 +-
.../server/command/task/ComponentAddTask.java | 7 +-
.../server/command/task/ComponentCheckTask.java | 14 ++-
.../server/command/task/ComponentStartTask.java | 7 +-
.../server/command/task/ComponentStopTask.java | 7 +-
.../manager/server/model/req/ComponentHostReq.java | 4 +-
.../model/req/command/ComponentCommandReq.java | 2 +-
47 files changed, 283 insertions(+), 95 deletions(-)
diff --git
a/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/Command.java
b/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/Command.java
index 1bf036be..7ab2acc8 100644
---
a/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/Command.java
+++
b/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/Command.java
@@ -35,10 +35,8 @@ public enum Command {
STOP("stop", "Stop"),
RESTART("restart", "Restart"),
- // Available for: Service, Component
- CHECK("check", "Check"),
-
// Available for: Service
+ CHECK("check", "Check"),
CONFIGURE("configure", "Configure"),
CUSTOM("custom", "Custom"),
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/cluster/ClusterAddJobFactory.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/cluster/ClusterAddJobFactory.java
index 640df20d..77d7d728 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/cluster/ClusterAddJobFactory.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/cluster/ClusterAddJobFactory.java
@@ -20,9 +20,9 @@ package
org.apache.bigtop.manager.server.command.factory.cluster;
import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.server.command.CommandIdentifier;
-import org.apache.bigtop.manager.server.command.job.ClusterAddJob;
import org.apache.bigtop.manager.server.command.job.Job;
import org.apache.bigtop.manager.server.command.job.JobContext;
+import org.apache.bigtop.manager.server.command.job.cluster.ClusterAddJob;
import org.apache.bigtop.manager.server.enums.CommandLevel;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/cluster/ClusterRestartJobFactory.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/cluster/ClusterRestartJobFactory.java
index 9ad6a2c3..05c1cf1b 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/cluster/ClusterRestartJobFactory.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/cluster/ClusterRestartJobFactory.java
@@ -20,9 +20,9 @@ package
org.apache.bigtop.manager.server.command.factory.cluster;
import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.server.command.CommandIdentifier;
-import org.apache.bigtop.manager.server.command.job.ClusterRestartJob;
import org.apache.bigtop.manager.server.command.job.Job;
import org.apache.bigtop.manager.server.command.job.JobContext;
+import org.apache.bigtop.manager.server.command.job.cluster.ClusterRestartJob;
import org.apache.bigtop.manager.server.enums.CommandLevel;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/cluster/ClusterStartJobFactory.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/cluster/ClusterStartJobFactory.java
index b1b33515..41fdbf78 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/cluster/ClusterStartJobFactory.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/cluster/ClusterStartJobFactory.java
@@ -20,9 +20,9 @@ package
org.apache.bigtop.manager.server.command.factory.cluster;
import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.server.command.CommandIdentifier;
-import org.apache.bigtop.manager.server.command.job.ClusterStartJob;
import org.apache.bigtop.manager.server.command.job.Job;
import org.apache.bigtop.manager.server.command.job.JobContext;
+import org.apache.bigtop.manager.server.command.job.cluster.ClusterStartJob;
import org.apache.bigtop.manager.server.enums.CommandLevel;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/cluster/ClusterStopJobFactory.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/cluster/ClusterStopJobFactory.java
index 9290040b..3d27574c 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/cluster/ClusterStopJobFactory.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/cluster/ClusterStopJobFactory.java
@@ -20,9 +20,9 @@ package
org.apache.bigtop.manager.server.command.factory.cluster;
import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.server.command.CommandIdentifier;
-import org.apache.bigtop.manager.server.command.job.ClusterStopJob;
import org.apache.bigtop.manager.server.command.job.Job;
import org.apache.bigtop.manager.server.command.job.JobContext;
+import org.apache.bigtop.manager.server.command.job.cluster.ClusterStopJob;
import org.apache.bigtop.manager.server.enums.CommandLevel;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/component/ComponentAddJobFactory.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/component/ComponentAddJobFactory.java
index 8f39dce3..f3724f02 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/component/ComponentAddJobFactory.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/component/ComponentAddJobFactory.java
@@ -22,6 +22,7 @@ import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.server.command.CommandIdentifier;
import org.apache.bigtop.manager.server.command.job.Job;
import org.apache.bigtop.manager.server.command.job.JobContext;
+import org.apache.bigtop.manager.server.command.job.component.ComponentAddJob;
import org.apache.bigtop.manager.server.enums.CommandLevel;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
@@ -42,6 +43,6 @@ public class ComponentAddJobFactory extends
AbstractComponentJobFactory {
@Override
public Job createJob(JobContext jobContext) {
- return null;
+ return new ComponentAddJob(jobContext);
}
}
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/component/ComponentRestartJobFactory.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/component/ComponentRestartJobFactory.java
index 5c9c8f86..2213f087 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/component/ComponentRestartJobFactory.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/component/ComponentRestartJobFactory.java
@@ -22,6 +22,7 @@ import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.server.command.CommandIdentifier;
import org.apache.bigtop.manager.server.command.job.Job;
import org.apache.bigtop.manager.server.command.job.JobContext;
+import
org.apache.bigtop.manager.server.command.job.component.ComponentRestartJob;
import org.apache.bigtop.manager.server.enums.CommandLevel;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
@@ -42,6 +43,6 @@ public class ComponentRestartJobFactory extends
AbstractComponentJobFactory {
@Override
public Job createJob(JobContext jobContext) {
- return null;
+ return new ComponentRestartJob(jobContext);
}
}
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/component/ComponentStartJobFactory.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/component/ComponentStartJobFactory.java
index eb16c173..124485ee 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/component/ComponentStartJobFactory.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/component/ComponentStartJobFactory.java
@@ -22,6 +22,7 @@ import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.server.command.CommandIdentifier;
import org.apache.bigtop.manager.server.command.job.Job;
import org.apache.bigtop.manager.server.command.job.JobContext;
+import
org.apache.bigtop.manager.server.command.job.component.ComponentStartJob;
import org.apache.bigtop.manager.server.enums.CommandLevel;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
@@ -42,6 +43,6 @@ public class ComponentStartJobFactory extends
AbstractComponentJobFactory {
@Override
public Job createJob(JobContext jobContext) {
- return null;
+ return new ComponentStartJob(jobContext);
}
}
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/component/ComponentStopJobFactory.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/component/ComponentStopJobFactory.java
index 8f2a145d..234e44ce 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/component/ComponentStopJobFactory.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/component/ComponentStopJobFactory.java
@@ -22,6 +22,7 @@ import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.server.command.CommandIdentifier;
import org.apache.bigtop.manager.server.command.job.Job;
import org.apache.bigtop.manager.server.command.job.JobContext;
+import org.apache.bigtop.manager.server.command.job.component.ComponentStopJob;
import org.apache.bigtop.manager.server.enums.CommandLevel;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
@@ -42,6 +43,6 @@ public class ComponentStopJobFactory extends
AbstractComponentJobFactory {
@Override
public Job createJob(JobContext jobContext) {
- return null;
+ return new ComponentStopJob(jobContext);
}
}
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/host/HostAddJobFactory.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/host/HostAddJobFactory.java
index 98474d8d..dac20e37 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/host/HostAddJobFactory.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/host/HostAddJobFactory.java
@@ -20,9 +20,9 @@ package org.apache.bigtop.manager.server.command.factory.host;
import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.server.command.CommandIdentifier;
-import org.apache.bigtop.manager.server.command.job.HostAddJob;
import org.apache.bigtop.manager.server.command.job.Job;
import org.apache.bigtop.manager.server.command.job.JobContext;
+import org.apache.bigtop.manager.server.command.job.host.HostAddJob;
import org.apache.bigtop.manager.server.enums.CommandLevel;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/host/HostRestartJobFactory.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/host/HostRestartJobFactory.java
index c0e25341..80280824 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/host/HostRestartJobFactory.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/host/HostRestartJobFactory.java
@@ -20,9 +20,9 @@ package org.apache.bigtop.manager.server.command.factory.host;
import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.server.command.CommandIdentifier;
-import org.apache.bigtop.manager.server.command.job.HostRestartJob;
import org.apache.bigtop.manager.server.command.job.Job;
import org.apache.bigtop.manager.server.command.job.JobContext;
+import org.apache.bigtop.manager.server.command.job.host.HostRestartJob;
import org.apache.bigtop.manager.server.enums.CommandLevel;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/host/HostStartJobFactory.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/host/HostStartJobFactory.java
index 844f6518..211067df 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/host/HostStartJobFactory.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/host/HostStartJobFactory.java
@@ -20,9 +20,9 @@ package org.apache.bigtop.manager.server.command.factory.host;
import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.server.command.CommandIdentifier;
-import org.apache.bigtop.manager.server.command.job.HostStartJob;
import org.apache.bigtop.manager.server.command.job.Job;
import org.apache.bigtop.manager.server.command.job.JobContext;
+import org.apache.bigtop.manager.server.command.job.host.HostStartJob;
import org.apache.bigtop.manager.server.enums.CommandLevel;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/host/HostStopJobFactory.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/host/HostStopJobFactory.java
index efa6e81f..9eb582b7 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/host/HostStopJobFactory.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/host/HostStopJobFactory.java
@@ -20,9 +20,9 @@ package org.apache.bigtop.manager.server.command.factory.host;
import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.server.command.CommandIdentifier;
-import org.apache.bigtop.manager.server.command.job.HostStopJob;
import org.apache.bigtop.manager.server.command.job.Job;
import org.apache.bigtop.manager.server.command.job.JobContext;
+import org.apache.bigtop.manager.server.command.job.host.HostStopJob;
import org.apache.bigtop.manager.server.enums.CommandLevel;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceAddJobFactory.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceAddJobFactory.java
index 3d0d4f11..a2fa4dcf 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceAddJobFactory.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceAddJobFactory.java
@@ -22,7 +22,7 @@ import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.server.command.CommandIdentifier;
import org.apache.bigtop.manager.server.command.job.Job;
import org.apache.bigtop.manager.server.command.job.JobContext;
-import org.apache.bigtop.manager.server.command.job.ServiceAddJob;
+import org.apache.bigtop.manager.server.command.job.service.ServiceAddJob;
import org.apache.bigtop.manager.server.enums.CommandLevel;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceCheckJobFactory.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceCheckJobFactory.java
index 3335ef18..97bcb199 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceCheckJobFactory.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceCheckJobFactory.java
@@ -22,7 +22,7 @@ import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.server.command.CommandIdentifier;
import org.apache.bigtop.manager.server.command.job.Job;
import org.apache.bigtop.manager.server.command.job.JobContext;
-import org.apache.bigtop.manager.server.command.job.ServiceCheckJob;
+import org.apache.bigtop.manager.server.command.job.service.ServiceCheckJob;
import org.apache.bigtop.manager.server.enums.CommandLevel;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceConfigureJobFactory.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceConfigureJobFactory.java
index 15c804d3..ec875a8e 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceConfigureJobFactory.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceConfigureJobFactory.java
@@ -22,7 +22,7 @@ import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.server.command.CommandIdentifier;
import org.apache.bigtop.manager.server.command.job.Job;
import org.apache.bigtop.manager.server.command.job.JobContext;
-import org.apache.bigtop.manager.server.command.job.ServiceConfigureJob;
+import
org.apache.bigtop.manager.server.command.job.service.ServiceConfigureJob;
import org.apache.bigtop.manager.server.enums.CommandLevel;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceRestartJobFactory.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceRestartJobFactory.java
index f71c9d01..d068329a 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceRestartJobFactory.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceRestartJobFactory.java
@@ -22,7 +22,7 @@ import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.server.command.CommandIdentifier;
import org.apache.bigtop.manager.server.command.job.Job;
import org.apache.bigtop.manager.server.command.job.JobContext;
-import org.apache.bigtop.manager.server.command.job.ServiceRestartJob;
+import org.apache.bigtop.manager.server.command.job.service.ServiceRestartJob;
import org.apache.bigtop.manager.server.enums.CommandLevel;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceStartJobFactory.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceStartJobFactory.java
index d84995fd..4c992bdc 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceStartJobFactory.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceStartJobFactory.java
@@ -22,7 +22,7 @@ import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.server.command.CommandIdentifier;
import org.apache.bigtop.manager.server.command.job.Job;
import org.apache.bigtop.manager.server.command.job.JobContext;
-import org.apache.bigtop.manager.server.command.job.ServiceStartJob;
+import org.apache.bigtop.manager.server.command.job.service.ServiceStartJob;
import org.apache.bigtop.manager.server.enums.CommandLevel;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceStopJobFactory.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceStopJobFactory.java
index b2e2504e..3a607063 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceStopJobFactory.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/service/ServiceStopJobFactory.java
@@ -22,7 +22,7 @@ import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.server.command.CommandIdentifier;
import org.apache.bigtop.manager.server.command.job.Job;
import org.apache.bigtop.manager.server.command.job.JobContext;
-import org.apache.bigtop.manager.server.command.job.ServiceStopJob;
+import org.apache.bigtop.manager.server.command.job.service.ServiceStopJob;
import org.apache.bigtop.manager.server.enums.CommandLevel;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractClusterJob.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/cluster/AbstractClusterJob.java
similarity index 96%
rename from
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractClusterJob.java
rename to
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/cluster/AbstractClusterJob.java
index 4787e197..211788e7 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractClusterJob.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/cluster/AbstractClusterJob.java
@@ -16,12 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.server.command.job;
+package org.apache.bigtop.manager.server.command.job.cluster;
import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.dao.po.ComponentPO;
import org.apache.bigtop.manager.dao.query.ComponentQuery;
import org.apache.bigtop.manager.dao.repository.ComponentDao;
+import org.apache.bigtop.manager.server.command.job.AbstractJob;
+import org.apache.bigtop.manager.server.command.job.JobContext;
import org.apache.bigtop.manager.server.command.stage.ComponentStartStage;
import org.apache.bigtop.manager.server.command.stage.ComponentStopStage;
import org.apache.bigtop.manager.server.command.stage.StageContext;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ClusterAddJob.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/cluster/ClusterAddJob.java
similarity index 95%
rename from
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ClusterAddJob.java
rename to
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/cluster/ClusterAddJob.java
index 6bf52fee..f8650456 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ClusterAddJob.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/cluster/ClusterAddJob.java
@@ -16,11 +16,13 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.server.command.job;
+package org.apache.bigtop.manager.server.command.job.cluster;
import org.apache.bigtop.manager.dao.po.JobPO;
import org.apache.bigtop.manager.dao.po.StagePO;
import org.apache.bigtop.manager.dao.po.TaskPO;
+import org.apache.bigtop.manager.server.command.job.AbstractJob;
+import org.apache.bigtop.manager.server.command.job.JobContext;
import org.apache.bigtop.manager.server.command.stage.CacheFileUpdateStage;
import org.apache.bigtop.manager.server.command.stage.HostCheckStage;
import org.apache.bigtop.manager.server.command.stage.SetupJdkStage;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ClusterRestartJob.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/cluster/ClusterRestartJob.java
similarity index 90%
rename from
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ClusterRestartJob.java
rename to
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/cluster/ClusterRestartJob.java
index 53d02c9a..6ac4c5d1 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ClusterRestartJob.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/cluster/ClusterRestartJob.java
@@ -16,7 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.server.command.job;
+package org.apache.bigtop.manager.server.command.job.cluster;
+
+import org.apache.bigtop.manager.server.command.job.JobContext;
public class ClusterRestartJob extends AbstractClusterJob {
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ClusterStartJob.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/cluster/ClusterStartJob.java
similarity index 89%
rename from
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ClusterStartJob.java
rename to
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/cluster/ClusterStartJob.java
index 39036df2..9f8ff7a8 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ClusterStartJob.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/cluster/ClusterStartJob.java
@@ -16,7 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.server.command.job;
+package org.apache.bigtop.manager.server.command.job.cluster;
+
+import org.apache.bigtop.manager.server.command.job.JobContext;
public class ClusterStartJob extends AbstractClusterJob {
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ClusterStopJob.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/cluster/ClusterStopJob.java
similarity index 89%
rename from
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ClusterStopJob.java
rename to
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/cluster/ClusterStopJob.java
index 843d7a50..ee4cc770 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ClusterStopJob.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/cluster/ClusterStopJob.java
@@ -16,7 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.server.command.job;
+package org.apache.bigtop.manager.server.command.job.cluster;
+
+import org.apache.bigtop.manager.server.command.job.JobContext;
public class ClusterStopJob extends AbstractClusterJob {
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractHostJob.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/AbstractComponentJob.java
similarity index 56%
copy from
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractHostJob.java
copy to
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/AbstractComponentJob.java
index 952f6daa..7fa057f5 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractHostJob.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/AbstractComponentJob.java
@@ -16,18 +16,24 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.server.command.job;
+package org.apache.bigtop.manager.server.command.job.component;
import org.apache.bigtop.manager.common.enums.Command;
-import org.apache.bigtop.manager.dao.po.ComponentPO;
-import org.apache.bigtop.manager.dao.query.ComponentQuery;
import org.apache.bigtop.manager.dao.repository.ComponentDao;
+import org.apache.bigtop.manager.dao.repository.HostDao;
+import org.apache.bigtop.manager.dao.repository.ServiceDao;
+import org.apache.bigtop.manager.server.command.job.AbstractJob;
+import org.apache.bigtop.manager.server.command.job.JobContext;
+import org.apache.bigtop.manager.server.command.stage.CacheFileUpdateStage;
+import org.apache.bigtop.manager.server.command.stage.ComponentAddStage;
+import org.apache.bigtop.manager.server.command.stage.ComponentConfigureStage;
import org.apache.bigtop.manager.server.command.stage.ComponentStartStage;
import org.apache.bigtop.manager.server.command.stage.ComponentStopStage;
import org.apache.bigtop.manager.server.command.stage.StageContext;
import org.apache.bigtop.manager.server.holder.SpringContextHolder;
import org.apache.bigtop.manager.server.model.dto.ComponentDTO;
import org.apache.bigtop.manager.server.model.dto.ServiceDTO;
+import org.apache.bigtop.manager.server.model.dto.command.ComponentCommandDTO;
import org.apache.bigtop.manager.server.utils.StackDAGUtils;
import org.apache.bigtop.manager.server.utils.StackUtils;
@@ -36,11 +42,13 @@ import org.apache.commons.collections4.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
-public abstract class AbstractHostJob extends AbstractJob {
+public abstract class AbstractComponentJob extends AbstractJob {
+ protected HostDao hostDao;
+ protected ServiceDao serviceDao;
protected ComponentDao componentDao;
- public AbstractHostJob(JobContext jobContext) {
+ public AbstractComponentJob(JobContext jobContext) {
super(jobContext);
}
@@ -48,6 +56,8 @@ public abstract class AbstractHostJob extends AbstractJob {
protected void injectBeans() {
super.injectBeans();
+ this.hostDao = SpringContextHolder.getBean(HostDao.class);
+ this.serviceDao = SpringContextHolder.getBean(ServiceDao.class);
this.componentDao = SpringContextHolder.getBean(ComponentDao.class);
}
@@ -69,9 +79,39 @@ public abstract class AbstractHostJob extends AbstractJob {
return stageContext;
}
+ protected void createCacheStage() {
+ StageContext stageContext =
StageContext.fromCommandDTO(jobContext.getCommandDTO());
+ stages.add(new CacheFileUpdateStage(stageContext));
+ }
+
+ protected void createAddStages() {
+ List<String> todoList = StackDAGUtils.getTodoList(getComponentNames(),
Command.ADD);
+
+ for (String componentCommand : todoList) {
+ String[] split = componentCommand.split("-");
+ String componentName = split[0];
+ List<String> hostnames = getHostnames(componentName);
+ if (CollectionUtils.isEmpty(hostnames)) {
+ continue;
+ }
+
+ StageContext stageContext = createStageContext(componentName,
hostnames);
+ stages.add(new ComponentAddStage(stageContext));
+ }
+ }
+
+ protected void createConfigureStages() {
+ for (ComponentCommandDTO componentCommand :
jobContext.getCommandDTO().getComponentCommands()) {
+ String componentName = componentCommand.getComponentName();
+ List<String> hostnames = componentCommand.getHostnames();
+
+ StageContext stageContext = createStageContext(componentName,
hostnames);
+ stages.add(new ComponentConfigureStage(stageContext));
+ }
+ }
+
protected void createStartStages() {
- List<ComponentPO> componentPOList = getComponentPOList();
- List<String> todoList =
StackDAGUtils.getTodoList(getComponentNames(componentPOList), Command.START);
+ List<String> todoList = StackDAGUtils.getTodoList(getComponentNames(),
Command.START);
for (String componentCommand : todoList) {
String[] split = componentCommand.split("-");
@@ -81,7 +121,7 @@ public abstract class AbstractHostJob extends AbstractJob {
continue;
}
- List<String> hostnames = getHostnames();
+ List<String> hostnames = getHostnames(componentName);
if (CollectionUtils.isEmpty(hostnames)) {
continue;
}
@@ -92,8 +132,7 @@ public abstract class AbstractHostJob extends AbstractJob {
}
protected void createStopStages() {
- List<ComponentPO> componentPOList = getComponentPOList();
- List<String> todoList =
StackDAGUtils.getTodoList(getComponentNames(componentPOList), Command.STOP);
+ List<String> todoList = StackDAGUtils.getTodoList(getComponentNames(),
Command.STOP);
for (String componentCommand : todoList) {
String[] split = componentCommand.split("-");
@@ -103,7 +142,7 @@ public abstract class AbstractHostJob extends AbstractJob {
continue;
}
- List<String> hostnames = getHostnames();
+ List<String> hostnames = getHostnames(componentName);
if (CollectionUtils.isEmpty(hostnames)) {
continue;
}
@@ -113,25 +152,19 @@ public abstract class AbstractHostJob extends AbstractJob
{
}
}
- private List<ComponentPO> getComponentPOList() {
- ComponentQuery query = ComponentQuery.builder()
- .clusterId(clusterPO.getId())
- .hostnames(getHostnames())
- .build();
- return componentDao.findByQuery(query);
+ private List<String> getComponentNames() {
+ return jobContext.getCommandDTO().getComponentCommands().stream()
+ .map(ComponentCommandDTO::getComponentName)
+ .toList();
}
- private List<String> getComponentNames(List<ComponentPO> componentPOList) {
- if (componentPOList == null) {
- return new ArrayList<>();
- } else {
- return
componentPOList.stream().map(ComponentPO::getName).distinct().toList();
+ private List<String> getHostnames(String componentName) {
+ for (ComponentCommandDTO componentCommand :
jobContext.getCommandDTO().getComponentCommands()) {
+ if (componentCommand.getComponentName().equals(componentName)) {
+ return componentCommand.getHostnames();
+ }
}
- }
- private List<String> getHostnames() {
- return jobContext.getCommandDTO().getHostCommands().stream()
- .flatMap(hostCommandDTO ->
hostCommandDTO.getHostnames().stream())
- .toList();
+ return new ArrayList<>();
}
}
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/ComponentAddJob.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/ComponentAddJob.java
new file mode 100644
index 00000000..762b7b08
--- /dev/null
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/ComponentAddJob.java
@@ -0,0 +1,108 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.bigtop.manager.server.command.job.component;
+
+import org.apache.bigtop.manager.dao.po.ComponentPO;
+import org.apache.bigtop.manager.dao.po.HostPO;
+import org.apache.bigtop.manager.dao.po.ServicePO;
+import org.apache.bigtop.manager.server.command.job.JobContext;
+import org.apache.bigtop.manager.server.enums.HealthyStatusEnum;
+import org.apache.bigtop.manager.server.model.converter.ComponentConverter;
+import org.apache.bigtop.manager.server.model.dto.CommandDTO;
+import org.apache.bigtop.manager.server.model.dto.ComponentDTO;
+import org.apache.bigtop.manager.server.model.dto.ServiceDTO;
+import org.apache.bigtop.manager.server.model.dto.command.ComponentCommandDTO;
+import org.apache.bigtop.manager.server.utils.StackUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class ComponentAddJob extends AbstractComponentJob {
+
+ public ComponentAddJob(JobContext jobContext) {
+ super(jobContext);
+ }
+
+ @Override
+ protected void injectBeans() {
+ super.injectBeans();
+ }
+
+ @Override
+ protected void createStages() {
+ // Update cache files
+ super.createCacheStage();
+
+ // Install components
+ super.createAddStages();
+
+ // Configure services
+ super.createConfigureStages();
+
+ // Start all master components
+ super.createStartStages();
+ }
+
+ @Override
+ public void beforeRun() {
+ super.beforeRun();
+
+ // Skip persistent if it's a retry job
+ if (jobContext.getRetryFlag()) {
+ return;
+ }
+
+ CommandDTO commandDTO = jobContext.getCommandDTO();
+ List<ComponentCommandDTO> componentCommands =
commandDTO.getComponentCommands();
+ for (ComponentCommandDTO componentCommand : componentCommands) {
+ saveComponents(componentCommand);
+ }
+ }
+
+ @Override
+ public String getName() {
+ return "Add components";
+ }
+
+ private void saveComponents(ComponentCommandDTO componentCommand) {
+ Long clusterId = jobContext.getCommandDTO().getClusterId();
+ String componentName = componentCommand.getComponentName();
+ ServiceDTO serviceDTO =
StackUtils.getServiceDTOByComponentName(componentName);
+ ServicePO servicePO = serviceDao.findByClusterIdAndName(clusterId,
serviceDTO.getName());
+
+ List<ComponentPO> componentPOList = new ArrayList<>();
+ List<String> hostnames = componentCommand.getHostnames();
+ for (String hostname : hostnames) {
+ HostPO hostPO = hostDao.findByHostname(hostname);
+ ComponentDTO componentDTO =
StackUtils.getComponentDTO(componentName);
+ ComponentPO componentPO =
ComponentConverter.INSTANCE.fromDTO2PO(componentDTO);
+ componentPO.setClusterId(clusterId);
+ componentPO.setHostId(hostPO.getId());
+ componentPO.setServiceId(servicePO.getId());
+ componentPO.setStatus(HealthyStatusEnum.UNKNOWN.getCode());
+ componentPOList.add(componentPO);
+ }
+
+ componentDao.saveAll(componentPOList);
+
+ // Require restart after adding new components
+ servicePO.setRestartFlag(true);
+ serviceDao.partialUpdateById(servicePO);
+ }
+}
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/HostRestartJob.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/ComponentRestartJob.java
similarity index 78%
copy from
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/HostRestartJob.java
copy to
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/ComponentRestartJob.java
index 926b9d53..820ff6fb 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/HostRestartJob.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/ComponentRestartJob.java
@@ -16,11 +16,13 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.server.command.job;
+package org.apache.bigtop.manager.server.command.job.component;
-public class HostRestartJob extends AbstractHostJob {
+import org.apache.bigtop.manager.server.command.job.JobContext;
- public HostRestartJob(JobContext jobContext) {
+public class ComponentRestartJob extends AbstractComponentJob {
+
+ public ComponentRestartJob(JobContext jobContext) {
super(jobContext);
}
@@ -33,6 +35,6 @@ public class HostRestartJob extends AbstractHostJob {
@Override
public String getName() {
- return "Restart host";
+ return "Restart components";
}
}
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/HostRestartJob.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/ComponentStartJob.java
similarity index 78%
copy from
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/HostRestartJob.java
copy to
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/ComponentStartJob.java
index 926b9d53..94d2c6c3 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/HostRestartJob.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/ComponentStartJob.java
@@ -16,23 +16,23 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.server.command.job;
+package org.apache.bigtop.manager.server.command.job.component;
-public class HostRestartJob extends AbstractHostJob {
+import org.apache.bigtop.manager.server.command.job.JobContext;
- public HostRestartJob(JobContext jobContext) {
+public class ComponentStartJob extends AbstractComponentJob {
+
+ public ComponentStartJob(JobContext jobContext) {
super(jobContext);
}
@Override
protected void createStages() {
- super.createStopStages();
-
super.createStartStages();
}
@Override
public String getName() {
- return "Restart host";
+ return "Start components";
}
}
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/HostRestartJob.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/ComponentStopJob.java
similarity index 78%
copy from
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/HostRestartJob.java
copy to
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/ComponentStopJob.java
index 926b9d53..cef74f65 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/HostRestartJob.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/ComponentStopJob.java
@@ -16,23 +16,23 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.server.command.job;
+package org.apache.bigtop.manager.server.command.job.component;
-public class HostRestartJob extends AbstractHostJob {
+import org.apache.bigtop.manager.server.command.job.JobContext;
- public HostRestartJob(JobContext jobContext) {
+public class ComponentStopJob extends AbstractComponentJob {
+
+ public ComponentStopJob(JobContext jobContext) {
super(jobContext);
}
@Override
protected void createStages() {
super.createStopStages();
-
- super.createStartStages();
}
@Override
public String getName() {
- return "Restart host";
+ return "Stop components";
}
}
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractHostJob.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/host/AbstractHostJob.java
similarity index 96%
rename from
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractHostJob.java
rename to
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/host/AbstractHostJob.java
index 952f6daa..d1af00f0 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractHostJob.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/host/AbstractHostJob.java
@@ -16,12 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.server.command.job;
+package org.apache.bigtop.manager.server.command.job.host;
import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.dao.po.ComponentPO;
import org.apache.bigtop.manager.dao.query.ComponentQuery;
import org.apache.bigtop.manager.dao.repository.ComponentDao;
+import org.apache.bigtop.manager.server.command.job.AbstractJob;
+import org.apache.bigtop.manager.server.command.job.JobContext;
import org.apache.bigtop.manager.server.command.stage.ComponentStartStage;
import org.apache.bigtop.manager.server.command.stage.ComponentStopStage;
import org.apache.bigtop.manager.server.command.stage.StageContext;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/HostAddJob.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/host/HostAddJob.java
similarity index 93%
rename from
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/HostAddJob.java
rename to
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/host/HostAddJob.java
index 6f2d9b1a..a10f240a 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/HostAddJob.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/host/HostAddJob.java
@@ -16,8 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.server.command.job;
+package org.apache.bigtop.manager.server.command.job.host;
+import org.apache.bigtop.manager.server.command.job.JobContext;
import org.apache.bigtop.manager.server.command.stage.CacheFileUpdateStage;
import org.apache.bigtop.manager.server.command.stage.HostCheckStage;
import org.apache.bigtop.manager.server.command.stage.SetupJdkStage;
@@ -30,7 +31,7 @@ import org.apache.bigtop.manager.server.service.HostService;
import java.util.List;
-public class HostAddJob extends AbstractJob {
+public class HostAddJob extends AbstractHostJob {
private HostService hostService;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/HostRestartJob.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/host/HostRestartJob.java
similarity index 90%
rename from
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/HostRestartJob.java
rename to
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/host/HostRestartJob.java
index 926b9d53..9bc0b337 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/HostRestartJob.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/host/HostRestartJob.java
@@ -16,7 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.server.command.job;
+package org.apache.bigtop.manager.server.command.job.host;
+
+import org.apache.bigtop.manager.server.command.job.JobContext;
public class HostRestartJob extends AbstractHostJob {
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/HostStartJob.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/host/HostStartJob.java
similarity index 90%
rename from
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/HostStartJob.java
rename to
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/host/HostStartJob.java
index b49d4d2a..80c2c85a 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/HostStartJob.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/host/HostStartJob.java
@@ -16,7 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.server.command.job;
+package org.apache.bigtop.manager.server.command.job.host;
+
+import org.apache.bigtop.manager.server.command.job.JobContext;
public class HostStartJob extends AbstractHostJob {
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/HostStopJob.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/host/HostStopJob.java
similarity index 90%
rename from
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/HostStopJob.java
rename to
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/host/HostStopJob.java
index aa4d605e..2ab781ba 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/HostStopJob.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/host/HostStopJob.java
@@ -16,7 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.server.command.job;
+package org.apache.bigtop.manager.server.command.job.host;
+
+import org.apache.bigtop.manager.server.command.job.JobContext;
public class HostStopJob extends AbstractHostJob {
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractServiceJob.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/service/AbstractServiceJob.java
similarity index 97%
rename from
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractServiceJob.java
rename to
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/service/AbstractServiceJob.java
index 653e55ba..b47292ac 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/AbstractServiceJob.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/service/AbstractServiceJob.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.server.command.job;
+package org.apache.bigtop.manager.server.command.job.service;
import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.dao.po.ComponentPO;
@@ -26,6 +26,8 @@ import org.apache.bigtop.manager.dao.repository.HostDao;
import org.apache.bigtop.manager.dao.repository.ServiceConfigDao;
import org.apache.bigtop.manager.dao.repository.ServiceConfigSnapshotDao;
import org.apache.bigtop.manager.dao.repository.ServiceDao;
+import org.apache.bigtop.manager.server.command.job.AbstractJob;
+import org.apache.bigtop.manager.server.command.job.JobContext;
import org.apache.bigtop.manager.server.command.stage.CacheFileUpdateStage;
import org.apache.bigtop.manager.server.command.stage.ComponentAddStage;
import org.apache.bigtop.manager.server.command.stage.ComponentCheckStage;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceAddJob.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/service/ServiceAddJob.java
similarity index 98%
rename from
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceAddJob.java
rename to
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/service/ServiceAddJob.java
index 9498ccd3..35553ebd 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceAddJob.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/service/ServiceAddJob.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.server.command.job;
+package org.apache.bigtop.manager.server.command.job.service;
import org.apache.bigtop.manager.common.utils.JsonUtils;
import org.apache.bigtop.manager.dao.po.ComponentPO;
@@ -24,6 +24,7 @@ import org.apache.bigtop.manager.dao.po.HostPO;
import org.apache.bigtop.manager.dao.po.ServiceConfigPO;
import org.apache.bigtop.manager.dao.po.ServiceConfigSnapshotPO;
import org.apache.bigtop.manager.dao.po.ServicePO;
+import org.apache.bigtop.manager.server.command.job.JobContext;
import org.apache.bigtop.manager.server.enums.HealthyStatusEnum;
import org.apache.bigtop.manager.server.model.converter.ComponentConverter;
import org.apache.bigtop.manager.server.model.converter.ServiceConfigConverter;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceCheckJob.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/service/ServiceCheckJob.java
similarity index 95%
rename from
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceCheckJob.java
rename to
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/service/ServiceCheckJob.java
index 34f798e0..7f3bc192 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceCheckJob.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/service/ServiceCheckJob.java
@@ -16,9 +16,10 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.server.command.job;
+package org.apache.bigtop.manager.server.command.job.service;
import org.apache.bigtop.manager.dao.po.ServicePO;
+import org.apache.bigtop.manager.server.command.job.JobContext;
import org.apache.bigtop.manager.server.enums.HealthyStatusEnum;
import org.apache.bigtop.manager.server.model.dto.CommandDTO;
import org.apache.bigtop.manager.server.model.dto.command.ServiceCommandDTO;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceConfigureJob.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/service/ServiceConfigureJob.java
similarity index 91%
rename from
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceConfigureJob.java
rename to
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/service/ServiceConfigureJob.java
index 6f60fc6f..03fed56e 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceConfigureJob.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/service/ServiceConfigureJob.java
@@ -16,7 +16,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.server.command.job;
+package org.apache.bigtop.manager.server.command.job.service;
+
+import org.apache.bigtop.manager.server.command.job.JobContext;
public class ServiceConfigureJob extends AbstractServiceJob {
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceRestartJob.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/service/ServiceRestartJob.java
similarity index 95%
rename from
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceRestartJob.java
rename to
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/service/ServiceRestartJob.java
index 87ccb90a..1124e865 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceRestartJob.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/service/ServiceRestartJob.java
@@ -16,9 +16,10 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.server.command.job;
+package org.apache.bigtop.manager.server.command.job.service;
import org.apache.bigtop.manager.dao.po.ServicePO;
+import org.apache.bigtop.manager.server.command.job.JobContext;
import org.apache.bigtop.manager.server.enums.HealthyStatusEnum;
import org.apache.bigtop.manager.server.model.dto.CommandDTO;
import org.apache.bigtop.manager.server.model.dto.command.ServiceCommandDTO;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceStartJob.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/service/ServiceStartJob.java
similarity index 94%
rename from
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceStartJob.java
rename to
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/service/ServiceStartJob.java
index 85b4959c..06d8f9bc 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceStartJob.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/service/ServiceStartJob.java
@@ -16,9 +16,10 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.server.command.job;
+package org.apache.bigtop.manager.server.command.job.service;
import org.apache.bigtop.manager.dao.po.ServicePO;
+import org.apache.bigtop.manager.server.command.job.JobContext;
import org.apache.bigtop.manager.server.enums.HealthyStatusEnum;
import org.apache.bigtop.manager.server.model.dto.CommandDTO;
import org.apache.bigtop.manager.server.model.dto.command.ServiceCommandDTO;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceStopJob.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/service/ServiceStopJob.java
similarity index 94%
rename from
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceStopJob.java
rename to
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/service/ServiceStopJob.java
index 9919769e..bb1296b9 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ServiceStopJob.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/service/ServiceStopJob.java
@@ -16,9 +16,10 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.bigtop.manager.server.command.job;
+package org.apache.bigtop.manager.server.command.job.service;
import org.apache.bigtop.manager.dao.po.ServicePO;
+import org.apache.bigtop.manager.server.command.job.JobContext;
import org.apache.bigtop.manager.server.enums.HealthyStatusEnum;
import org.apache.bigtop.manager.server.model.dto.CommandDTO;
import org.apache.bigtop.manager.server.model.dto.command.ServiceCommandDTO;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentAddTask.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentAddTask.java
index 4c8ea99e..53469e18 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentAddTask.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentAddTask.java
@@ -43,8 +43,11 @@ public class ComponentAddTask extends AbstractComponentTask {
String componentName = taskContext.getComponentName();
String hostname = taskContext.getHostname();
- ComponentQuery componentQuery =
-
ComponentQuery.builder().hostname(hostname).name(componentName).build();
+ ComponentQuery componentQuery = ComponentQuery.builder()
+ .clusterId(taskContext.getClusterId())
+ .hostname(hostname)
+ .name(componentName)
+ .build();
ComponentPO componentPO =
componentDao.findByQuery(componentQuery).get(0);
ComponentDTO componentDTO = StackUtils.getComponentDTO(componentName);
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentCheckTask.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentCheckTask.java
index 66a74283..5c1c1463 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentCheckTask.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentCheckTask.java
@@ -40,8 +40,11 @@ public class ComponentCheckTask extends
AbstractComponentTask {
String componentName = taskContext.getComponentName();
String hostname = taskContext.getHostname();
- ComponentQuery componentQuery =
-
ComponentQuery.builder().hostname(hostname).name(componentName).build();
+ ComponentQuery componentQuery = ComponentQuery.builder()
+ .clusterId(taskContext.getClusterId())
+ .hostname(hostname)
+ .name(componentName)
+ .build();
ComponentPO componentPO =
componentDao.findByQuery(componentQuery).get(0);
componentPO.setStatus(HealthyStatusEnum.HEALTHY.getCode());
componentDao.partialUpdateById(componentPO);
@@ -53,8 +56,11 @@ public class ComponentCheckTask extends
AbstractComponentTask {
String componentName = taskContext.getComponentName();
String hostname = taskContext.getHostname();
- ComponentQuery componentQuery =
-
ComponentQuery.builder().hostname(hostname).name(componentName).build();
+ ComponentQuery componentQuery = ComponentQuery.builder()
+ .clusterId(taskContext.getClusterId())
+ .hostname(hostname)
+ .name(componentName)
+ .build();
ComponentPO componentPO =
componentDao.findByQuery(componentQuery).get(0);
componentPO.setStatus(HealthyStatusEnum.UNHEALTHY.getCode());
componentDao.partialUpdateById(componentPO);
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStartTask.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStartTask.java
index 451aef25..44620e04 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStartTask.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStartTask.java
@@ -40,8 +40,11 @@ public class ComponentStartTask extends
AbstractComponentTask {
String componentName = taskContext.getComponentName();
String hostname = taskContext.getHostname();
- ComponentQuery componentQuery =
-
ComponentQuery.builder().hostname(hostname).name(componentName).build();
+ ComponentQuery componentQuery = ComponentQuery.builder()
+ .clusterId(taskContext.getClusterId())
+ .hostname(hostname)
+ .name(componentName)
+ .build();
ComponentPO componentPO =
componentDao.findByQuery(componentQuery).get(0);
componentPO.setStatus(HealthyStatusEnum.HEALTHY.getCode());
componentDao.partialUpdateById(componentPO);
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStopTask.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStopTask.java
index 24d8294e..73e0f4c4 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStopTask.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/ComponentStopTask.java
@@ -40,8 +40,11 @@ public class ComponentStopTask extends AbstractComponentTask
{
String componentName = taskContext.getComponentName();
String hostname = taskContext.getHostname();
- ComponentQuery componentQuery =
-
ComponentQuery.builder().hostname(hostname).name(componentName).build();
+ ComponentQuery componentQuery = ComponentQuery.builder()
+ .clusterId(taskContext.getClusterId())
+ .hostname(hostname)
+ .name(componentName)
+ .build();
ComponentPO componentPO =
componentDao.findByQuery(componentQuery).get(0);
componentPO.setStatus(HealthyStatusEnum.UNHEALTHY.getCode());
componentDao.partialUpdateById(componentPO);
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/req/ComponentHostReq.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/req/ComponentHostReq.java
index 34ed4d13..214c04d7 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/req/ComponentHostReq.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/req/ComponentHostReq.java
@@ -28,10 +28,10 @@ import java.util.List;
@Data
public class ComponentHostReq {
- @NotNull @Schema(description = "Component name", example =
"zookeeper-server")
+ @NotNull @Schema(description = "Component name", example =
"zookeeper_server")
private String componentName;
@NotEmpty
- @Schema(description = "Hostnames for component", example = "[host1]")
+ @Schema(description = "Hostnames for component", example = "[host1,
host2]")
private List<String> hostnames;
}
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/req/command/ComponentCommandReq.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/req/command/ComponentCommandReq.java
index b00c65f6..92a6927c 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/req/command/ComponentCommandReq.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/req/command/ComponentCommandReq.java
@@ -33,6 +33,6 @@ public class ComponentCommandReq {
private String componentName;
@NotEmpty
- @Schema(description = "Host Name List", example = "[bigtop-manager-server,
bigtop-manager-agent]")
+ @Schema(description = "Hostnames for component", example = "[host1,
host2]")
private List<String> hostnames;
}