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 ba2a8e9d BIGTOP-4314: Adjust host add command (#137)
ba2a8e9d is described below
commit ba2a8e9d2e76a0048211d522410b6935ab3c781f
Author: Zhiguo Wu <[email protected]>
AuthorDate: Wed Jan 1 11:39:17 2025 +0800
BIGTOP-4314: Adjust host add command (#137)
---
.../org/apache/bigtop/manager/dao/po/JobPO.java | 5 --
.../org/apache/bigtop/manager/dao/po/StagePO.java | 5 --
.../command/factory/host/HostAddJobFactory.java | 49 +++++++++++++++++++
.../server/command/job/AbstractServiceJob.java | 3 +-
.../manager/server/command/job/ClusterAddJob.java | 10 ++--
.../job/{ClusterAddJob.java => HostAddJob.java} | 57 ++++------------------
.../manager/server/command/stage/StageContext.java | 37 +++++++++-----
.../server/command/validator/HostAddValidator.java | 3 +-
.../server/model/converter/HostConverter.java | 5 ++
.../model/dto/command/ClusterCommandDTO.java | 4 +-
.../server/model/dto/command/HostCommandDTO.java | 25 +++++++++-
.../model/req/command/ClusterCommandReq.java | 3 +-
.../server/model/req/command/HostCommandReq.java | 40 +++++++++++++--
.../bigtop/manager/server/model/vo/StageVO.java | 4 --
14 files changed, 163 insertions(+), 87 deletions(-)
diff --git
a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java
b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java
index d787c3ff..c0c8bfb9 100644
---
a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java
+++
b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/JobPO.java
@@ -20,14 +20,12 @@ package org.apache.bigtop.manager.dao.po;
import lombok.Data;
import lombok.EqualsAndHashCode;
-import lombok.ToString;
import jakarta.persistence.Column;
import jakarta.persistence.Id;
import jakarta.persistence.Lob;
import jakarta.persistence.Table;
import java.io.Serializable;
-import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
@@ -50,7 +48,4 @@ public class JobPO extends BasePO implements Serializable {
@Column(name = "cluster_id")
private Long clusterId;
-
- @ToString.Exclude
- private List<StagePO> stages;
}
diff --git
a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java
b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java
index b2f8cdaf..07831655 100644
---
a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java
+++
b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/StagePO.java
@@ -20,13 +20,11 @@ package org.apache.bigtop.manager.dao.po;
import lombok.Data;
import lombok.EqualsAndHashCode;
-import lombok.ToString;
import jakarta.persistence.Column;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import java.io.Serializable;
-import java.util.List;
@Data
@EqualsAndHashCode(callSuper = true)
@@ -60,7 +58,4 @@ public class StagePO extends BasePO implements Serializable {
@Column(name = "job_id", nullable = false)
private Long jobId;
-
- @ToString.Exclude
- private List<TaskPO> tasks;
}
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
new file mode 100644
index 00000000..ecf9b911
--- /dev/null
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/factory/host/HostAddJobFactory.java
@@ -0,0 +1,49 @@
+/*
+ * 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.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.factory.cluster.AbstractClusterJobFactory;
+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.enums.CommandLevel;
+
+import org.springframework.beans.factory.config.ConfigurableBeanFactory;
+import org.springframework.context.annotation.Scope;
+import org.springframework.stereotype.Component;
+
+import lombok.extern.slf4j.Slf4j;
+
+@Slf4j
+@Component
+@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
+public class HostAddJobFactory extends AbstractClusterJobFactory {
+
+ @Override
+ public CommandIdentifier getCommandIdentifier() {
+ return new CommandIdentifier(CommandLevel.HOST, Command.ADD);
+ }
+
+ @Override
+ public Job createJob(JobContext jobContext) {
+ return new HostAddJob(jobContext);
+ }
+}
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/AbstractServiceJob.java
index 996cb3c5..8f128f1a 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/AbstractServiceJob.java
@@ -20,7 +20,6 @@ package org.apache.bigtop.manager.server.command.job;
import org.apache.bigtop.manager.common.constants.ComponentCategories;
import org.apache.bigtop.manager.common.enums.Command;
-import org.apache.bigtop.manager.common.utils.JsonUtils;
import org.apache.bigtop.manager.dao.po.ComponentPO;
import org.apache.bigtop.manager.dao.query.ComponentQuery;
import org.apache.bigtop.manager.dao.repository.ComponentDao;
@@ -147,7 +146,7 @@ public abstract class AbstractServiceJob extends
AbstractJob {
}
protected void createCacheStage() {
- StageContext stageContext =
StageContext.fromPayload(JsonUtils.writeAsString(jobContext.getCommandDTO()));
+ StageContext stageContext =
StageContext.fromCommandDTO(jobContext.getCommandDTO());
stages.add(new CacheFileUpdateStage(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/ClusterAddJob.java
index 95fe9e11..6bf52fee 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/ClusterAddJob.java
@@ -35,6 +35,8 @@ import org.apache.bigtop.manager.server.model.dto.CommandDTO;
import org.apache.bigtop.manager.server.model.dto.HostDTO;
import org.apache.bigtop.manager.server.service.HostService;
+import java.util.List;
+
public class ClusterAddJob extends AbstractJob {
private HostService hostService;
@@ -92,9 +94,11 @@ public class ClusterAddJob extends AbstractJob {
private void saveHosts() {
CommandDTO commandDTO = jobContext.getCommandDTO();
- HostDTO hostDTO = commandDTO.getClusterCommand().getHosts();
- hostDTO.setClusterId(clusterPO.getId());
- hostService.add(hostDTO);
+ List<HostDTO> hostDTOList = commandDTO.getClusterCommand().getHosts();
+ for (HostDTO hostDTO : hostDTOList) {
+ hostDTO.setClusterId(clusterPO.getId());
+ hostService.add(hostDTO);
+ }
}
private void linkJobToCluster() {
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/HostAddJob.java
similarity index 54%
copy from
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/ClusterAddJob.java
copy to
bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/job/HostAddJob.java
index 95fe9e11..6f2d9b1a 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/HostAddJob.java
@@ -18,28 +18,23 @@
*/
package org.apache.bigtop.manager.server.command.job;
-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.stage.CacheFileUpdateStage;
import org.apache.bigtop.manager.server.command.stage.HostCheckStage;
import org.apache.bigtop.manager.server.command.stage.SetupJdkStage;
-import org.apache.bigtop.manager.server.command.stage.Stage;
import org.apache.bigtop.manager.server.command.stage.StageContext;
-import org.apache.bigtop.manager.server.command.task.Task;
-import org.apache.bigtop.manager.server.enums.HealthyStatusEnum;
import org.apache.bigtop.manager.server.holder.SpringContextHolder;
-import org.apache.bigtop.manager.server.model.converter.ClusterConverter;
-import org.apache.bigtop.manager.server.model.dto.ClusterDTO;
+import org.apache.bigtop.manager.server.model.converter.HostConverter;
import org.apache.bigtop.manager.server.model.dto.CommandDTO;
import org.apache.bigtop.manager.server.model.dto.HostDTO;
import org.apache.bigtop.manager.server.service.HostService;
-public class ClusterAddJob extends AbstractJob {
+import java.util.List;
+
+public class HostAddJob extends AbstractJob {
private HostService hostService;
- public ClusterAddJob(JobContext jobContext) {
+ public HostAddJob(JobContext jobContext) {
super(jobContext);
}
@@ -66,52 +61,20 @@ public class ClusterAddJob extends AbstractJob {
return;
}
- saveCluster();
-
saveHosts();
-
- linkJobToCluster();
}
@Override
public String getName() {
- return "Add cluster";
- }
-
- private void saveCluster() {
- CommandDTO commandDTO = jobContext.getCommandDTO();
- ClusterDTO clusterDTO =
ClusterConverter.INSTANCE.fromCommand2DTO(commandDTO.getClusterCommand());
- clusterPO = clusterDao.findByName(clusterDTO.getName());
- if (clusterPO == null) {
- clusterPO = ClusterConverter.INSTANCE.fromDTO2PO(clusterDTO);
- }
-
- clusterPO.setStatus(HealthyStatusEnum.HEALTHY.getCode());
- clusterDao.save(clusterPO);
+ return "Add hosts";
}
private void saveHosts() {
CommandDTO commandDTO = jobContext.getCommandDTO();
- HostDTO hostDTO = commandDTO.getClusterCommand().getHosts();
- hostDTO.setClusterId(clusterPO.getId());
- hostService.add(hostDTO);
- }
-
- private void linkJobToCluster() {
- JobPO jobPO = getJobPO();
- jobPO.setClusterId(clusterPO.getId());
- jobDao.partialUpdateById(jobPO);
-
- for (Stage stage : getStages()) {
- StagePO stagePO = stage.getStagePO();
- stagePO.setClusterId(clusterPO.getId());
- stageDao.partialUpdateById(stagePO);
-
- for (Task task : stage.getTasks()) {
- TaskPO taskPO = task.getTaskPO();
- taskPO.setClusterId(clusterPO.getId());
- taskDao.partialUpdateById(taskPO);
- }
+ List<HostDTO> hostDTOList =
HostConverter.INSTANCE.fromCommand2DTO(commandDTO.getHostCommands());
+ for (HostDTO hostDTO : hostDTOList) {
+ hostDTO.setClusterId(clusterPO.getId());
+ hostService.add(hostDTO);
}
}
}
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/StageContext.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/StageContext.java
index cc1536ce..a3823b4c 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/StageContext.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/StageContext.java
@@ -18,7 +18,9 @@
*/
package org.apache.bigtop.manager.server.command.stage;
-import org.apache.bigtop.manager.common.utils.JsonUtils;
+import org.apache.bigtop.manager.dao.po.ClusterPO;
+import org.apache.bigtop.manager.dao.repository.ClusterDao;
+import org.apache.bigtop.manager.server.holder.SpringContextHolder;
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;
@@ -45,14 +47,17 @@ public class StageContext {
private ComponentDTO componentDTO;
- public static StageContext fromPayload(String payload) {
- CommandDTO commandDTO = JsonUtils.readFromString(payload,
CommandDTO.class);
- return fromCommandDTO(commandDTO);
- }
-
public static StageContext fromCommandDTO(CommandDTO commandDTO) {
StageContext context = new StageContext();
- context.setClusterId(commandDTO.getClusterId());
+
+ if (commandDTO.getClusterId() != null) {
+ ClusterDao clusterDao =
SpringContextHolder.getBean(ClusterDao.class);
+ ClusterPO clusterPO =
clusterDao.findById(commandDTO.getClusterId());
+ context.setClusterId(clusterPO.getId());
+ context.setClusterName(clusterPO.getName());
+ context.setUserGroup(clusterPO.getUserGroup());
+ context.setRootDir(clusterPO.getRootDir());
+ }
switch (commandDTO.getCommandLevel()) {
case CLUSTER -> fromClusterCommandPayload(context, commandDTO);
@@ -67,14 +72,22 @@ public class StageContext {
private static void fromClusterCommandPayload(StageContext context,
CommandDTO commandDTO) {
ClusterCommandDTO clusterCommand = commandDTO.getClusterCommand();
- context.setClusterName(clusterCommand.getName());
- context.setHostnames(clusterCommand.getHosts().getHostnames());
- context.setUserGroup(clusterCommand.getUserGroup());
- context.setRootDir(clusterCommand.getRootDir());
+ if (context.getClusterId() == null) {
+ List<String> hostnames = clusterCommand.getHosts().stream()
+ .flatMap(hostDTO -> hostDTO.getHostnames().stream())
+ .toList();
+ context.setHostnames(hostnames);
+ context.setClusterName(clusterCommand.getName());
+ context.setUserGroup(clusterCommand.getUserGroup());
+ context.setRootDir(clusterCommand.getRootDir());
+ }
}
private static void fromHostCommandPayload(StageContext context,
CommandDTO commandDTO) {
- // No need to set anything here, we should deal with this in the host
job factory
+ List<String> hostnames = commandDTO.getHostCommands().stream()
+ .flatMap(hostDTO -> hostDTO.getHostnames().stream())
+ .toList();
+ context.setHostnames(hostnames);
}
private static void fromServiceCommandPayload(StageContext context,
CommandDTO commandDTO) {
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/HostAddValidator.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/HostAddValidator.java
index ae20aa7d..d10e6bac 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/HostAddValidator.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/validator/HostAddValidator.java
@@ -25,7 +25,6 @@ import
org.apache.bigtop.manager.server.command.CommandIdentifier;
import org.apache.bigtop.manager.server.enums.ApiExceptionEnum;
import org.apache.bigtop.manager.server.enums.CommandLevel;
import org.apache.bigtop.manager.server.exception.ApiException;
-import org.apache.bigtop.manager.server.model.dto.command.HostCommandDTO;
import org.apache.commons.collections4.CollectionUtils;
@@ -48,7 +47,7 @@ public class HostAddValidator implements CommandValidator {
@Override
public void validate(ValidatorContext context) {
List<String> hostnames =
context.getCommandDTO().getHostCommands().stream()
- .map(HostCommandDTO::getHostname)
+ .flatMap(hostCommandDTO ->
hostCommandDTO.getHostnames().stream())
.toList();
List<HostPO> hostPOList = hostDao.findAllByHostnames(hostnames);
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/HostConverter.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/HostConverter.java
index 0b02ce23..a0ff5e0d 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/HostConverter.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/converter/HostConverter.java
@@ -21,6 +21,7 @@ package org.apache.bigtop.manager.server.model.converter;
import org.apache.bigtop.manager.dao.po.HostPO;
import org.apache.bigtop.manager.server.config.MapStructSharedConfig;
import org.apache.bigtop.manager.server.model.dto.HostDTO;
+import org.apache.bigtop.manager.server.model.dto.command.HostCommandDTO;
import org.apache.bigtop.manager.server.model.req.HostReq;
import org.apache.bigtop.manager.server.model.vo.HostVO;
@@ -37,6 +38,10 @@ public interface HostConverter {
HostDTO fromReq2DTO(HostReq hostReq);
+ HostDTO fromCommand2DTO(HostCommandDTO hostCommandDTO);
+
+ List<HostDTO> fromCommand2DTO(List<HostCommandDTO> hostCommandDTOList);
+
HostDTO fromPO2DTO(HostPO hostPO);
List<HostDTO> fromPO2DTO(List<HostPO> hostPOList);
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/dto/command/ClusterCommandDTO.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/dto/command/ClusterCommandDTO.java
index 25f40007..a9f32a7e 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/dto/command/ClusterCommandDTO.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/dto/command/ClusterCommandDTO.java
@@ -22,6 +22,8 @@ import org.apache.bigtop.manager.server.model.dto.HostDTO;
import lombok.Data;
+import java.util.List;
+
@Data
public class ClusterCommandDTO {
@@ -37,5 +39,5 @@ public class ClusterCommandDTO {
private String rootDir;
- private HostDTO hosts;
+ private List<HostDTO> hosts;
}
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/dto/command/HostCommandDTO.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/dto/command/HostCommandDTO.java
index 94764880..4c01776b 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/dto/command/HostCommandDTO.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/dto/command/HostCommandDTO.java
@@ -21,9 +21,32 @@ package org.apache.bigtop.manager.server.model.dto.command;
import lombok.Data;
import java.io.Serializable;
+import java.util.List;
@Data
public class HostCommandDTO implements Serializable {
- private String hostname;
+ private List<String> hostnames;
+
+ private String agentDir;
+
+ private Long clusterId;
+
+ private String sshUser;
+
+ private Integer sshPort;
+
+ private Integer authType;
+
+ private String sshPassword;
+
+ private String sshKeyString;
+
+ private String sshKeyFilename;
+
+ private String sshKeyPassword;
+
+ private Integer grpcPort;
+
+ private String desc;
}
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/req/command/ClusterCommandReq.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/req/command/ClusterCommandReq.java
index 1d5ae3ba..e75d71b1 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/req/command/ClusterCommandReq.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/req/command/ClusterCommandReq.java
@@ -26,6 +26,7 @@ import lombok.Data;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
+import java.util.List;
@Data
public class ClusterCommandReq {
@@ -52,5 +53,5 @@ public class ClusterCommandReq {
@NotEmpty(groups =
{CommandGroupSequenceProvider.ClusterCommandGroup.class})
@Schema(description = "Hosts info for this cluster")
- private HostReq hosts;
+ private List<HostReq> hosts;
}
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/req/command/HostCommandReq.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/req/command/HostCommandReq.java
index d7b8f653..f6ba2ee4 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/req/command/HostCommandReq.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/req/command/HostCommandReq.java
@@ -21,12 +21,44 @@ package org.apache.bigtop.manager.server.model.req.command;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
-import jakarta.validation.constraints.NotBlank;
+import java.util.List;
@Data
public class HostCommandReq {
- @NotBlank
- @Schema(description = "Host Name", example = "bigtop-manager-server")
- private String hostname;
+ @Schema(example = "[host1, host2]")
+ private List<String> hostnames;
+
+ @Schema(example = "/opt")
+ private String agentDir;
+
+ @Schema(example = "1")
+ private Long clusterId;
+
+ @Schema(example = "root")
+ private String sshUser;
+
+ @Schema(example = "22")
+ private Integer sshPort;
+
+ @Schema(example = "1")
+ private Integer authType;
+
+ @Schema(example = "password")
+ private String sshPassword;
+
+ @Schema(example = "sshKeyString")
+ private String sshKeyString;
+
+ @Schema(example = "id_rsa123")
+ private String sshKeyFilename;
+
+ @Schema(example = "password")
+ private String sshKeyPassword;
+
+ @Schema(example = "8835")
+ private Integer grpcPort;
+
+ @Schema(example = "description")
+ private String desc;
}
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/StageVO.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/StageVO.java
index f47429f4..e5ace5af 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/StageVO.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/StageVO.java
@@ -20,8 +20,6 @@ package org.apache.bigtop.manager.server.model.vo;
import lombok.Data;
-import java.util.List;
-
@Data
public class StageVO {
@@ -29,8 +27,6 @@ public class StageVO {
private String name;
- private List<TaskVO> tasks;
-
private String state;
private Integer order;