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 fe9a3200 BIGTOP-4286: Fix Prometheus installation issues after
refactor APIs (#111)
fe9a3200 is described below
commit fe9a3200316c64d67f674015e44f0e5b51935732
Author: Zhiguo Wu <[email protected]>
AuthorDate: Tue Nov 26 16:47:50 2024 +0800
BIGTOP-4286: Fix Prometheus installation issues after refactor APIs (#111)
---
.../apache/bigtop/manager/common/enums/OSType.java | 2 +
.../message/entity/payload/CommandPayload.java | 2 -
.../manager/common/utils/ProjectPathUtils.java | 19 +++++++
.../apache/bigtop/manager/dao/po/SettingPO.java | 43 ----------------
.../bigtop/manager/dao/repository/SettingDao.java | 24 ---------
.../command/stage/AbstractComponentStage.java | 1 +
.../server/command/stage/CacheFileUpdateStage.java | 6 +--
.../server/command/stage/HostCheckStage.java | 3 --
.../manager/server/command/stage/StageContext.java | 6 +++
.../server/command/task/AbstractComponentTask.java | 12 +++--
.../server/command/task/CacheFileUpdateTask.java | 58 ++++++++++++++--------
.../manager/server/command/task/TaskContext.java | 6 +--
.../bigtop/manager/server/utils/StackUtils.java | 18 +++----
.../src/main/resources/bin/start.sh | 1 -
.../src/main/resources/ddl/MySQL-DDL-CREATE.sql | 12 -----
.../main/resources/ddl/PostgreSQL-DDL-CREATE.sql | 12 -----
.../infra/1.0.0/services/prometheus/metainfo.xml | 2 +
.../manager/stack/bigtop/param/BigtopParams.java | 3 +-
.../manager/stack/core/param/BaseParams.java | 13 +++--
.../manager/stack/infra/param/InfraParams.java | 11 ----
20 files changed, 98 insertions(+), 156 deletions(-)
diff --git
a/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/OSType.java
b/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/OSType.java
index 521f081e..d212a520 100644
---
a/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/OSType.java
+++
b/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/enums/OSType.java
@@ -37,5 +37,7 @@ public enum OSType {
FEDORA36,
OPENEULER22,
+
+ OPENEULER24,
;
}
diff --git
a/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/message/entity/payload/CommandPayload.java
b/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/message/entity/payload/CommandPayload.java
index 142f7d4f..2ec55ff4 100644
---
a/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/message/entity/payload/CommandPayload.java
+++
b/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/message/entity/payload/CommandPayload.java
@@ -52,8 +52,6 @@ public class CommandPayload extends BasePayload {
private String stackVersion;
- private String rootDir;
-
private String componentName;
private List<PackageSpecificInfo> packageSpecifics;
diff --git
a/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/utils/ProjectPathUtils.java
b/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/utils/ProjectPathUtils.java
index 779f209d..44d03999 100644
---
a/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/utils/ProjectPathUtils.java
+++
b/bigtop-manager-common/src/main/java/org/apache/bigtop/manager/common/utils/ProjectPathUtils.java
@@ -26,6 +26,7 @@ import java.io.File;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
+import java.util.Objects;
@Slf4j
public class ProjectPathUtils {
@@ -38,10 +39,28 @@ public class ProjectPathUtils {
return getProjectStoreDir() + File.separator + "keys";
}
+ public static String getServerStackPath() {
+ return getProjectResourcesDir() + File.separator + "stacks";
+ }
+
public static String getAgentCachePath() {
return getProjectStoreDir() + File.separator + "agent-caches";
}
+ private static String getProjectResourcesDir() {
+ if (Environments.isDevMode()) {
+ return
Objects.requireNonNull(ProjectPathUtils.class.getResource("/"))
+ .getPath();
+ } else {
+ File file = new File(ProjectPathUtils.class
+ .getProtectionDomain()
+ .getCodeSource()
+ .getLocation()
+ .getPath());
+ return file.getParentFile().getParentFile().getPath();
+ }
+ }
+
private static String getProjectBaseDir() {
if (Environments.isDevMode()) {
return SystemUtils.getUserDir().getPath();
diff --git
a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/SettingPO.java
b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/SettingPO.java
deleted file mode 100644
index e0c85d8f..00000000
---
a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/SettingPO.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * 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.dao.po;
-
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-import jakarta.persistence.Column;
-import jakarta.persistence.Id;
-import jakarta.persistence.Table;
-import java.io.Serializable;
-
-@Data
-@EqualsAndHashCode(callSuper = true)
-@Table(name = "setting")
-public class SettingPO extends BasePO implements Serializable {
-
- @Id
- @Column(name = "id")
- private Long id;
-
- @Column(name = "type_name")
- private String typeName;
-
- @Column(name = "config_data")
- private String configData;
-}
diff --git
a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/SettingDao.java
b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/SettingDao.java
deleted file mode 100644
index c719b760..00000000
---
a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/SettingDao.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 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
- *
- * http://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.dao.repository;
-
-import org.apache.bigtop.manager.dao.po.SettingPO;
-
-public interface SettingDao extends BaseDao<SettingPO> {}
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractComponentStage.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractComponentStage.java
index 15d8bbdc..9eca5cb8 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractComponentStage.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractComponentStage.java
@@ -73,6 +73,7 @@ public abstract class AbstractComponentStage extends
AbstractStage {
taskContext.setComponentName(componentDTO.getName());
taskContext.setComponentDisplayName(componentDTO.getDisplayName());
taskContext.setServiceUser(serviceDTO.getUser());
+ taskContext.setUserGroup(clusterPO.getUserGroup());
taskContext.setRootDir(clusterPO.getRootDir());
Map<String, Object> properties = new HashMap<>();
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/CacheFileUpdateStage.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/CacheFileUpdateStage.java
index 1e2b7081..0d25c0a8 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/CacheFileUpdateStage.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/CacheFileUpdateStage.java
@@ -18,7 +18,6 @@
*/
package org.apache.bigtop.manager.server.command.stage;
-import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.dao.po.HostPO;
import org.apache.bigtop.manager.server.command.task.CacheFileUpdateTask;
import org.apache.bigtop.manager.server.command.task.Task;
@@ -63,14 +62,15 @@ public class CacheFileUpdateStage extends AbstractStage {
taskContext.setHostDTO(hostDTO);
taskContext.setClusterId(stageContext.getClusterId());
taskContext.setClusterName(stageContext.getClusterName());
+ taskContext.setUserGroup(stageContext.getUserGroup());
+ taskContext.setRootDir(stageContext.getRootDir());
taskContext.setServiceName("cluster");
taskContext.setServiceUser("root");
taskContext.setComponentName("agent");
taskContext.setComponentDisplayName("Agent");
- taskContext.setCommand(Command.CUSTOM);
- taskContext.setCustomCommand("update_cache_files");
Map<String, Object> properties = new HashMap<>();
+ properties.put("hostIds", stageContext.getHostIds());
taskContext.setProperties(properties);
return new CacheFileUpdateTask(taskContext);
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/HostCheckStage.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/HostCheckStage.java
index 808ea635..49ca5f62 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/HostCheckStage.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/HostCheckStage.java
@@ -18,7 +18,6 @@
*/
package org.apache.bigtop.manager.server.command.stage;
-import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.server.command.task.HostCheckTask;
import org.apache.bigtop.manager.server.command.task.Task;
import org.apache.bigtop.manager.server.command.task.TaskContext;
@@ -48,8 +47,6 @@ public class HostCheckStage extends AbstractStage {
taskContext.setServiceUser("root");
taskContext.setComponentName("agent");
taskContext.setComponentDisplayName("Agent");
- taskContext.setCommand(Command.CUSTOM);
- taskContext.setCustomCommand("check_host");
return new HostCheckTask(taskContext);
}
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 0b23cf00..ec699506 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
@@ -35,6 +35,10 @@ public class StageContext {
private String clusterName;
+ private String userGroup;
+
+ private String rootDir;
+
private List<Long> hostIds;
private ServiceDTO serviceDTO;
@@ -65,6 +69,8 @@ public class StageContext {
context.setClusterName(clusterCommand.getName());
context.setHostIds(clusterCommand.getHostIds());
+ context.setUserGroup(clusterCommand.getUserGroup());
+ context.setRootDir(clusterCommand.getRootDir());
}
private static void fromHostCommandPayload(StageContext context,
CommandDTO commandDTO) {
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractComponentTask.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractComponentTask.java
index 5aeb19e8..ea58327c 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractComponentTask.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/AbstractComponentTask.java
@@ -32,6 +32,8 @@ import
org.apache.bigtop.manager.server.model.dto.CustomCommandDTO;
import org.apache.bigtop.manager.server.model.dto.PackageDTO;
import org.apache.bigtop.manager.server.model.dto.PackageSpecificDTO;
import org.apache.bigtop.manager.server.model.dto.ScriptDTO;
+import org.apache.bigtop.manager.server.model.dto.StackDTO;
+import org.apache.bigtop.manager.server.utils.StackUtils;
import java.util.ArrayList;
import java.util.List;
@@ -55,12 +57,15 @@ public abstract class AbstractComponentTask extends
AbstractTask {
@Override
@SuppressWarnings("unchecked")
protected CommandRequest getCommandRequest() {
+ StackDTO stackDTO =
StackUtils.getServiceStack(taskContext.getServiceName());
CommandPayload commandPayload = new CommandPayload();
commandPayload.setServiceName(taskContext.getServiceName());
- commandPayload.setCommand(getCommand());
- commandPayload.setServiceUser(taskContext.getServiceUser());
commandPayload.setComponentName(taskContext.getComponentName());
- commandPayload.setRootDir(taskContext.getRootDir());
+ commandPayload.setServiceUser(taskContext.getServiceUser());
+ commandPayload.setStackName(stackDTO.getStackName());
+ commandPayload.setStackVersion(stackDTO.getStackVersion());
+ commandPayload.setCommand(getCommand());
+ commandPayload.setCustomCommand(getCustomCommand());
Map<String, Object> properties = taskContext.getProperties();
@@ -97,7 +102,6 @@ public abstract class AbstractComponentTask extends
AbstractTask {
List<PackageSpecificInfo> packageSpecificInfos = new ArrayList<>();
for (PackageSpecificDTO packageSpecificDTO : packageSpecificDTOList) {
PackageSpecificInfo packageSpecificInfo = new
PackageSpecificInfo();
- packageSpecificInfo.setOs(packageSpecificDTO.getOs());
packageSpecificInfo.setArch(packageSpecificDTO.getArch());
List<PackageInfo> packageInfoList = new ArrayList<>();
for (PackageDTO packageDTO : packageSpecificDTO.getPackages()) {
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/CacheFileUpdateTask.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/CacheFileUpdateTask.java
index cbd45153..6a41a73f 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/CacheFileUpdateTask.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/CacheFileUpdateTask.java
@@ -29,20 +29,19 @@ import org.apache.bigtop.manager.dao.po.ComponentPO;
import org.apache.bigtop.manager.dao.po.HostPO;
import org.apache.bigtop.manager.dao.po.RepoPO;
import org.apache.bigtop.manager.dao.po.ServiceConfigPO;
-import org.apache.bigtop.manager.dao.po.ServicePO;
-import org.apache.bigtop.manager.dao.po.SettingPO;
import org.apache.bigtop.manager.dao.query.ComponentQuery;
import org.apache.bigtop.manager.dao.repository.ClusterDao;
import org.apache.bigtop.manager.dao.repository.ComponentDao;
import org.apache.bigtop.manager.dao.repository.HostDao;
import org.apache.bigtop.manager.dao.repository.RepoDao;
import org.apache.bigtop.manager.dao.repository.ServiceConfigDao;
-import org.apache.bigtop.manager.dao.repository.ServiceDao;
-import org.apache.bigtop.manager.dao.repository.SettingDao;
import org.apache.bigtop.manager.grpc.generated.CommandRequest;
import org.apache.bigtop.manager.grpc.generated.CommandType;
import org.apache.bigtop.manager.server.holder.SpringContextHolder;
import org.apache.bigtop.manager.server.model.converter.RepoConverter;
+import org.apache.bigtop.manager.server.model.dto.ServiceDTO;
+import org.apache.bigtop.manager.server.model.dto.StackDTO;
+import org.apache.bigtop.manager.server.utils.StackUtils;
import java.util.ArrayList;
import java.util.HashMap;
@@ -57,10 +56,8 @@ import static
org.apache.bigtop.manager.common.constants.Constants.ALL_HOST_KEY;
public class CacheFileUpdateTask extends AbstractTask {
private ClusterDao clusterDao;
- private ServiceDao serviceDao;
private ServiceConfigDao serviceConfigDao;
private RepoDao repoDao;
- private SettingDao settingDao;
private HostDao hostDao;
private ComponentDao componentDao;
@@ -81,10 +78,8 @@ public class CacheFileUpdateTask extends AbstractTask {
super.injectBeans();
this.clusterDao = SpringContextHolder.getBean(ClusterDao.class);
- this.serviceDao = SpringContextHolder.getBean(ServiceDao.class);
this.serviceConfigDao =
SpringContextHolder.getBean(ServiceConfigDao.class);
this.repoDao = SpringContextHolder.getBean(RepoDao.class);
- this.settingDao = SpringContextHolder.getBean(SettingDao.class);
this.hostDao = SpringContextHolder.getBean(HostDao.class);
this.componentDao = SpringContextHolder.getBean(ComponentDao.class);
}
@@ -104,20 +99,19 @@ public class CacheFileUpdateTask extends AbstractTask {
}
}
+ @SuppressWarnings("unchecked")
private void genFullCaches() {
- ClusterPO clusterPO = clusterDao.findById(taskContext.getClusterId());
-
- Long clusterId = clusterPO.getId();
+ Long clusterId = taskContext.getClusterId();
+ List<Long> hostIds = (List<Long>)
taskContext.getProperties().get("hostIds");
+ ClusterPO clusterPO = clusterDao.findById(clusterId);
ComponentQuery componentQuery =
ComponentQuery.builder().clusterId(clusterId).build();
- List<ServicePO> servicePOList = serviceDao.findByClusterId(clusterId);
List<ServiceConfigPO> serviceConfigPOList =
serviceConfigDao.findByClusterId(clusterPO.getId());
List<ComponentPO> componentPOList =
componentDao.findByQuery(componentQuery);
List<RepoPO> repoPOList = repoDao.findAll();
- Iterable<SettingPO> settings = settingDao.findAll();
- List<HostPO> hostPOList = hostDao.findAllByClusterId(clusterId);
+ List<HostPO> hostPOList = hostDao.findByIds(hostIds);
clusterInfo = new ClusterInfo();
clusterInfo.setUserGroup(clusterPO.getUserGroup());
@@ -158,21 +152,43 @@ public class CacheFileUpdateTask extends AbstractTask {
});
userMap = new HashMap<>();
- servicePOList.forEach(x -> userMap.put(x.getName(), x.getUser()));
-
- settingsMap = new HashMap<>();
- settings.forEach(x -> settingsMap.put(x.getTypeName(),
x.getConfigData()));
+ for (StackDTO stackDTO : StackUtils.getAllStacks()) {
+ for (ServiceDTO serviceDTO :
StackUtils.getServiceDTOList(stackDTO)) {
+ userMap.put(serviceDTO.getName(), serviceDTO.getUser());
+ }
+ }
}
@SuppressWarnings("unchecked")
private void genEmptyCaches() {
+ List<Long> hostIds = (List<Long>)
taskContext.getProperties().get("hostIds");
+
+ List<RepoPO> repoPOList = repoDao.findAll();
+ List<HostPO> hostPOList = hostDao.findByIds(hostIds);
+
componentInfoMap = new HashMap<>();
serviceConfigMap = new HashMap<>();
+
+ clusterInfo = new ClusterInfo();
+ clusterInfo.setUserGroup(taskContext.getUserGroup());
+ clusterInfo.setRootDir(taskContext.getRootDir());
+
hostMap = new HashMap<>();
- userMap = new HashMap<>();
- settingsMap = new HashMap<>();
+ Set<String> hostNameSet =
hostPOList.stream().map(HostPO::getHostname).collect(Collectors.toSet());
+ hostMap.put(ALL_HOST_KEY, hostNameSet);
+
repoList = new ArrayList<>();
- clusterInfo = new ClusterInfo();
+ repoPOList.forEach(repoPO -> {
+ RepoInfo repoInfo = RepoConverter.INSTANCE.fromPO2Message(repoPO);
+ repoList.add(repoInfo);
+ });
+
+ userMap = new HashMap<>();
+ for (StackDTO stackDTO : StackUtils.getAllStacks()) {
+ for (ServiceDTO serviceDTO :
StackUtils.getServiceDTOList(stackDTO)) {
+ userMap.put(serviceDTO.getName(), serviceDTO.getUser());
+ }
+ }
}
@Override
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/TaskContext.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/TaskContext.java
index 69bf8715..934d0d24 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/TaskContext.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/task/TaskContext.java
@@ -18,7 +18,6 @@
*/
package org.apache.bigtop.manager.server.command.task;
-import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.server.model.dto.HostDTO;
import lombok.Data;
@@ -40,11 +39,10 @@ public class TaskContext {
private String componentName;
+ // This is for display purpose for task info(eg. task name) only
private String componentDisplayName;
- private Command command;
-
- private String customCommand;
+ private String userGroup;
private String rootDir;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/utils/StackUtils.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/utils/StackUtils.java
index 3502b899..3b47310e 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/utils/StackUtils.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/utils/StackUtils.java
@@ -21,6 +21,7 @@ package org.apache.bigtop.manager.server.utils;
import org.apache.bigtop.manager.common.enums.Command;
import org.apache.bigtop.manager.common.utils.CaseUtils;
import org.apache.bigtop.manager.common.utils.JsonUtils;
+import org.apache.bigtop.manager.common.utils.ProjectPathUtils;
import org.apache.bigtop.manager.server.exception.ApiException;
import org.apache.bigtop.manager.server.exception.ServerException;
import org.apache.bigtop.manager.server.model.converter.ServiceConverter;
@@ -43,7 +44,6 @@ import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import java.io.File;
-import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -58,8 +58,6 @@ public class StackUtils {
private static final String META_FILE = "metainfo.xml";
- private static final String STACKS_FOLDER_NAME = "stacks";
-
private static final String SERVICES_FOLDER_NAME = "services";
private static final String CONFIGURATION_FOLDER = "configuration";
@@ -78,9 +76,6 @@ public class StackUtils {
parseStack();
}
- /**
- *
- */
private static void parseStack() {
File stacksFolder = loadStacksFolder();
File[] stackFolders =
Optional.ofNullable(stacksFolder.listFiles()).orElse(new File[0]);
@@ -194,12 +189,7 @@ public class StackUtils {
* Load stack folder as file
*/
private static File loadStacksFolder() throws ApiException {
- URL url =
StackUtils.class.getClassLoader().getResource(STACKS_FOLDER_NAME);
- if (url == null) {
- throw new ServerException("Can't find stack folder");
- }
-
- String stackPath = url.getPath();
+ String stackPath = ProjectPathUtils.getServerStackPath();
File file = new File(stackPath);
if (!file.exists()) {
throw new ServerException("Can't find stack folder");
@@ -213,6 +203,10 @@ public class StackUtils {
return CaseUtils.toCamelCase(stackDTO.getStackName()) + "-" +
stackDTO.getStackVersion();
}
+ public static List<StackDTO> getAllStacks() {
+ return new ArrayList<>(STACK_SERVICE_MAP.keySet());
+ }
+
public static StackDTO getServiceStack(String serviceName) {
for (Map.Entry<StackDTO, List<ServiceDTO>> entry :
STACK_SERVICE_MAP.entrySet()) {
for (ServiceDTO serviceDTO : entry.getValue()) {
diff --git a/bigtop-manager-server/src/main/resources/bin/start.sh
b/bigtop-manager-server/src/main/resources/bin/start.sh
index 7769d50b..9e79c8f9 100755
--- a/bigtop-manager-server/src/main/resources/bin/start.sh
+++ b/bigtop-manager-server/src/main/resources/bin/start.sh
@@ -62,5 +62,4 @@ cd $BIGTOP_MANAGER_HOME
$JAVA_HOME/bin/java $JAVA_OPTS \
-cp "${BIGTOP_MANAGER_HOME}/conf":"${BIGTOP_MANAGER_HOME}/libs/*" \
- -Dbigtop.manager.stack.path="${BIGTOP_MANAGER_HOME}/stacks" \
org.apache.bigtop.manager.server.ServerApplication
diff --git a/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql
b/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql
index 1255de27..db5dcbd7 100644
--- a/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql
+++ b/bigtop-manager-server/src/main/resources/ddl/MySQL-DDL-CREATE.sql
@@ -265,18 +265,6 @@ CREATE TABLE `task`
KEY idx_task_stage_id (stage_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-CREATE TABLE `setting`
-(
- `id` BIGINT NOT NULL AUTO_INCREMENT,
- `config_data` TEXT,
- `create_by` BIGINT,
- `create_time` DATETIME,
- `type_name` VARCHAR(255),
- `update_by` BIGINT,
- `update_time` DATETIME,
- PRIMARY KEY (id)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
CREATE TABLE `llm_platform`
(
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
diff --git
a/bigtop-manager-server/src/main/resources/ddl/PostgreSQL-DDL-CREATE.sql
b/bigtop-manager-server/src/main/resources/ddl/PostgreSQL-DDL-CREATE.sql
index 98c8173c..9cdff18d 100644
--- a/bigtop-manager-server/src/main/resources/ddl/PostgreSQL-DDL-CREATE.sql
+++ b/bigtop-manager-server/src/main/resources/ddl/PostgreSQL-DDL-CREATE.sql
@@ -275,18 +275,6 @@ CREATE INDEX idx_task_cluster_id ON task (cluster_id);
CREATE INDEX idx_task_job_id ON task (job_id);
CREATE INDEX idx_task_stage_id ON task (stage_id);
-CREATE TABLE setting
-(
- id BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY,
- config_data TEXT,
- create_by BIGINT,
- create_time TIMESTAMP(0),
- type_name VARCHAR(255),
- update_by BIGINT,
- update_time TIMESTAMP(0),
- PRIMARY KEY (id)
-);
-
CREATE TABLE llm_platform
(
id BIGINT CHECK (id > 0) NOT NULL GENERATED ALWAYS AS IDENTITY,
diff --git
a/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/prometheus/metainfo.xml
b/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/prometheus/metainfo.xml
index ec1ec1e9..30289202 100644
---
a/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/prometheus/metainfo.xml
+++
b/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/prometheus/metainfo.xml
@@ -50,6 +50,7 @@
<os>centos7</os>
<os>rocky8</os>
<os>openeuler22</os>
+ <os>openeuler24</os>
</operating-systems>
<architectures>
<arch>x86_64</arch>
@@ -64,6 +65,7 @@
<package-specific>
<operating-systems>
<os>openeuler22</os>
+ <os>openeuler24</os>
</operating-systems>
<architectures>
<arch>aarch64</arch>
diff --git
a/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/param/BigtopParams.java
b/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/param/BigtopParams.java
index b79bb0a0..b57d9ee9 100644
---
a/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/param/BigtopParams.java
+++
b/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/param/BigtopParams.java
@@ -20,6 +20,7 @@ package org.apache.bigtop.manager.stack.bigtop.param;
import org.apache.bigtop.manager.common.message.entity.payload.CommandPayload;
import org.apache.bigtop.manager.stack.core.param.BaseParams;
+import org.apache.bigtop.manager.stack.core.utils.LocalSettings;
public abstract class BigtopParams extends BaseParams {
@@ -40,7 +41,7 @@ public abstract class BigtopParams extends BaseParams {
*/
@Override
public String serviceHome() {
- String rootDir = this.commandPayload.getRootDir();
+ String rootDir = LocalSettings.cluster().getRootDir();
String service = this.commandPayload.getServiceName();
return rootDir + "/" + service.toLowerCase();
}
diff --git
a/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/param/BaseParams.java
b/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/param/BaseParams.java
index 514ae5fb..ff3eb7f0 100644
---
a/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/param/BaseParams.java
+++
b/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/param/BaseParams.java
@@ -103,7 +103,8 @@ public abstract class BaseParams implements Params {
@Override
public RepoInfo repo() {
return LocalSettings.repos().stream()
- .filter(r -> OSDetection.getArch().equals(r.getArch()))
+ // Use service tarballs repo(type == 1)
+ .filter(r -> OSDetection.getArch().equals(r.getArch()) &&
r.getType() == 1)
.findFirst()
.orElseThrow(() -> new StackException(
"Cannot find repo for os: [{0}] and arch: [{1}]",
OSDetection.getOS(), OSDetection.getArch()));
@@ -114,7 +115,7 @@ public abstract class BaseParams implements Params {
RepoInfo repo = this.repo();
List<PackageInfo> packageInfoList = new ArrayList<>();
for (PackageSpecificInfo packageSpecificInfo :
this.commandPayload.getPackageSpecifics()) {
- if (packageSpecificInfo.getArch().contains(repo.getArch())) {
+ if (!packageSpecificInfo.getArch().contains(repo.getArch())) {
continue;
}
@@ -133,7 +134,13 @@ public abstract class BaseParams implements Params {
public String stackHome() {
String stackName = this.commandPayload.getStackName();
String stackVersion = this.commandPayload.getStackVersion();
- String root = this.commandPayload.getRootDir();
+ String root = LocalSettings.cluster().getRootDir();
return MessageFormat.format("{0}/{1}/{2}", root,
stackName.toLowerCase(), stackVersion);
}
+
+ @Override
+ public String serviceHome() {
+ String service = this.commandPayload.getServiceName();
+ return MessageFormat.format("{0}/{1}", stackHome(),
service.toLowerCase());
+ }
}
diff --git
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/param/InfraParams.java
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/param/InfraParams.java
index f78f8058..89e5ad3b 100644
---
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/param/InfraParams.java
+++
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/param/InfraParams.java
@@ -23,21 +23,10 @@ import
org.apache.bigtop.manager.stack.core.param.BaseParams;
import lombok.extern.slf4j.Slf4j;
-import java.text.MessageFormat;
-
@Slf4j
public abstract class InfraParams extends BaseParams {
protected InfraParams(CommandPayload commandPayload) {
super(commandPayload);
}
-
- /**
- * service home dir
- */
- @Override
- public String serviceHome() {
- String service = this.commandPayload.getServiceName();
- return MessageFormat.format("{0}/{1}", stackHome(),
service.toLowerCase());
- }
}