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 @@ 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 @@ 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 @@ 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 @@ 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.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 CommandIdentifier getCommandIdentifier() { @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.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 CommandIdentifier getCommandIdentifier() { @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.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 CommandIdentifier getCommandIdentifier() { @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.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 CommandIdentifier getCommandIdentifier() { @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 @@ 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 @@ 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 @@ 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 @@ 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.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.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.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.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.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.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/component/AbstractComponentJob.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/AbstractComponentJob.java new file mode 100644 index 00000000..7fa057f5 --- /dev/null +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/AbstractComponentJob.java @@ -0,0 +1,170 @@ +/* + * 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.common.enums.Command; +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; + +import org.apache.commons.collections4.CollectionUtils; + +import java.util.ArrayList; +import java.util.List; + +public abstract class AbstractComponentJob extends AbstractJob { + + protected HostDao hostDao; + protected ServiceDao serviceDao; + protected ComponentDao componentDao; + + public AbstractComponentJob(JobContext jobContext) { + super(jobContext); + } + + @Override + protected void injectBeans() { + super.injectBeans(); + + this.hostDao = SpringContextHolder.getBean(HostDao.class); + this.serviceDao = SpringContextHolder.getBean(ServiceDao.class); + this.componentDao = SpringContextHolder.getBean(ComponentDao.class); + } + + @Override + protected void beforeCreateStages() { + super.beforeCreateStages(); + } + + protected StageContext createStageContext(String componentName, List hostnames) { + StageContext stageContext = StageContext.fromCommandDTO(jobContext.getCommandDTO()); + + ServiceDTO serviceDTO = StackUtils.getServiceDTOByComponentName(componentName); + ComponentDTO componentDTO = StackUtils.getComponentDTO(componentName); + + stageContext.setHostnames(hostnames); + stageContext.setServiceDTO(serviceDTO); + stageContext.setComponentDTO(componentDTO); + + return stageContext; + } + + protected void createCacheStage() { + StageContext stageContext = StageContext.fromCommandDTO(jobContext.getCommandDTO()); + stages.add(new CacheFileUpdateStage(stageContext)); + } + + protected void createAddStages() { + List todoList = StackDAGUtils.getTodoList(getComponentNames(), Command.ADD); + + for (String componentCommand : todoList) { + String[] split = componentCommand.split("-"); + String componentName = split[0]; + List 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 hostnames = componentCommand.getHostnames(); + + StageContext stageContext = createStageContext(componentName, hostnames); + stages.add(new ComponentConfigureStage(stageContext)); + } + } + + protected void createStartStages() { + List todoList = StackDAGUtils.getTodoList(getComponentNames(), Command.START); + + for (String componentCommand : todoList) { + String[] split = componentCommand.split("-"); + String componentName = split[0]; + + if (StackUtils.isClientComponent(componentName)) { + continue; + } + + List hostnames = getHostnames(componentName); + if (CollectionUtils.isEmpty(hostnames)) { + continue; + } + + StageContext stageContext = createStageContext(componentName, hostnames); + stages.add(new ComponentStartStage(stageContext)); + } + } + + protected void createStopStages() { + List todoList = StackDAGUtils.getTodoList(getComponentNames(), Command.STOP); + + for (String componentCommand : todoList) { + String[] split = componentCommand.split("-"); + String componentName = split[0]; + + if (StackUtils.isClientComponent(componentName)) { + continue; + } + + List hostnames = getHostnames(componentName); + if (CollectionUtils.isEmpty(hostnames)) { + continue; + } + + StageContext stageContext = createStageContext(componentName, hostnames); + stages.add(new ComponentStopStage(stageContext)); + } + } + + private List getComponentNames() { + return jobContext.getCommandDTO().getComponentCommands().stream() + .map(ComponentCommandDTO::getComponentName) + .toList(); + } + + private List getHostnames(String componentName) { + for (ComponentCommandDTO componentCommand : jobContext.getCommandDTO().getComponentCommands()) { + if (componentCommand.getComponentName().equals(componentName)) { + return componentCommand.getHostnames(); + } + } + + 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 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 componentPOList = new ArrayList<>(); + List 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/component/ComponentRestartJob.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/ComponentRestartJob.java new file mode 100644 index 00000000..820ff6fb --- /dev/null +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/ComponentRestartJob.java @@ -0,0 +1,40 @@ +/* + * 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.server.command.job.JobContext; + +public class ComponentRestartJob extends AbstractComponentJob { + + public ComponentRestartJob(JobContext jobContext) { + super(jobContext); + } + + @Override + protected void createStages() { + super.createStopStages(); + + super.createStartStages(); + } + + @Override + public String getName() { + return "Restart components"; + } +} diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/ComponentStartJob.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/ComponentStartJob.java new file mode 100644 index 00000000..94d2c6c3 --- /dev/null +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/ComponentStartJob.java @@ -0,0 +1,38 @@ +/* + * 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.server.command.job.JobContext; + +public class ComponentStartJob extends AbstractComponentJob { + + public ComponentStartJob(JobContext jobContext) { + super(jobContext); + } + + @Override + protected void createStages() { + super.createStartStages(); + } + + @Override + public String getName() { + return "Start components"; + } +} diff --git a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/ComponentStopJob.java b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/ComponentStopJob.java new file mode 100644 index 00000000..cef74f65 --- /dev/null +++ b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/component/ComponentStopJob.java @@ -0,0 +1,38 @@ +/* + * 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.server.command.job.JobContext; + +public class ComponentStopJob extends AbstractComponentJob { + + public ComponentStopJob(JobContext jobContext) { + super(jobContext); + } + + @Override + protected void createStages() { + super.createStopStages(); + } + + @Override + public String getName() { + 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 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.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.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 void onSuccess() { 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 void onSuccess() { 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 void onFailure() { 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 void onSuccess() { 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 void onSuccess() { 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 @@ @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 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 hostnames; }