This is an automated email from the ASF dual-hosted git repository.
houyu 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 1537fc87 BIGTOP-4467: Merge tool table data into repo table (#244)
1537fc87 is described below
commit 1537fc87d473ec24388a9719fb58e148b2508e58
Author: Zhiguo Wu <[email protected]>
AuthorDate: Thu Jul 17 22:59:16 2025 +0800
BIGTOP-4467: Merge tool table data into repo table (#244)
---
.../grpc/service/SetupJdkServiceGrpcImpl.java | 17 ++++---
.../org/apache/bigtop/manager/dao/po/RepoPO.java | 9 ++++
.../org/apache/bigtop/manager/dao/po/ToolPO.java | 52 ----------------------
.../bigtop/manager/dao/repository/RepoDao.java | 7 ++-
.../bigtop/manager/dao/repository/ToolDao.java | 29 ------------
.../src/main/resources/mapper/mysql/RepoMapper.xml | 16 ++++++-
.../src/main/resources/mapper/mysql/ToolMapper.xml | 41 -----------------
.../resources/mapper/postgresql/RepoMapper.xml | 16 ++++++-
.../resources/mapper/postgresql/ToolMapper.xml | 41 -----------------
.../bigtop/manager/grpc/pojo/ClusterInfo.java | 4 --
.../bigtop/manager/grpc/pojo/PackageInfo.java | 2 -
.../apache/bigtop/manager/grpc/pojo/RepoInfo.java | 6 +++
.../apache/bigtop/manager/grpc/pojo/ToolInfo.java | 35 ---------------
.../server/command/helper/JobCacheHelper.java | 21 ++-------
.../server/command/task/AbstractComponentTask.java | 1 -
.../manager/server/model/dto/PackageDTO.java | 2 -
.../bigtop/manager/server/model/dto/RepoDTO.java | 6 +++
.../bigtop/manager/server/model/vo/RepoVO.java | 6 +++
.../manager/server/prometheus/PrometheusProxy.java | 6 +--
.../server/service/impl/HostServiceImpl.java | 9 ++--
.../manager/server/stack/model/PackageModel.java | 2 -
.../src/main/resources/ddl/MySQL-DDL-CREATE.sql | 37 +++++----------
.../main/resources/ddl/PostgreSQL-DDL-CREATE.sql | 38 ++++++----------
.../infra/1.0.0/services/grafana/metainfo.xml | 2 -
.../stacks/infra/1.0.0/services/mysql/metainfo.xml | 2 -
.../bigtop/v3_3_0/hive/HiveMetastoreScript.java | 8 ++--
.../manager/stack/core/spi/param/BaseParams.java | 12 ++---
.../manager/stack/core/tarball/FileDownloader.java | 10 ++---
.../manager/stack/core/utils/LocalSettings.java | 29 +++++-------
.../manager/stack/core/utils/TarballUtils.java | 6 +--
.../stack/core/spi/param/BaseParamsTest.java | 16 ++++---
.../stack/core/utils/LocalSettingsTest.java | 8 ++--
.../stack/infra/v1_0_0/grafana/GrafanaParams.java | 16 ++++---
.../stack/infra/v1_0_0/mysql/MySQLParams.java | 6 +++
34 files changed, 158 insertions(+), 360 deletions(-)
diff --git
a/bigtop-manager-agent/src/main/java/org/apache/bigtop/manager/agent/grpc/service/SetupJdkServiceGrpcImpl.java
b/bigtop-manager-agent/src/main/java/org/apache/bigtop/manager/agent/grpc/service/SetupJdkServiceGrpcImpl.java
index 4a999454..5edc6f06 100644
---
a/bigtop-manager-agent/src/main/java/org/apache/bigtop/manager/agent/grpc/service/SetupJdkServiceGrpcImpl.java
+++
b/bigtop-manager-agent/src/main/java/org/apache/bigtop/manager/agent/grpc/service/SetupJdkServiceGrpcImpl.java
@@ -26,7 +26,7 @@ import
org.apache.bigtop.manager.grpc.generated.SetupJdkRequest;
import org.apache.bigtop.manager.grpc.generated.SetupJdkServiceGrpc;
import org.apache.bigtop.manager.grpc.pojo.ClusterInfo;
import org.apache.bigtop.manager.grpc.pojo.PackageInfo;
-import org.apache.bigtop.manager.grpc.pojo.ToolInfo;
+import org.apache.bigtop.manager.grpc.pojo.RepoInfo;
import org.apache.bigtop.manager.stack.core.utils.LocalSettings;
import org.apache.bigtop.manager.stack.core.utils.TarballUtils;
import org.apache.bigtop.manager.stack.core.utils.linux.LinuxFileUtils;
@@ -53,17 +53,16 @@ public class SetupJdkServiceGrpcImpl extends
SetupJdkServiceGrpc.SetupJdkService
log.info("Setting up cluster jdk...");
ClusterInfo clusterInfo = LocalSettings.cluster();
- String toolsHome = clusterInfo.getRootDir() + "/tools";
+ String dependenciesHome = clusterInfo.getRootDir() +
"/dependencies";
String user = System.getProperty("user.name");
- LinuxFileUtils.createDirectories(toolsHome, user, user,
Constants.PERMISSION_755, true);
+ LinuxFileUtils.createDirectories(dependenciesHome, user, user,
Constants.PERMISSION_755, true);
- String jdkHome = toolsHome + "/jdk";
- ToolInfo tool = LocalSettings.getTool("jdk8");
+ String jdkHome = dependenciesHome + "/jdk";
+ RepoInfo repoInfo = LocalSettings.repo("jdk8");
PackageInfo packageInfo = new PackageInfo();
- packageInfo.setUrl(tool.getBaseUrl());
- packageInfo.setName(tool.getPkgName());
- packageInfo.setChecksum(tool.getChecksum());
- TarballUtils.installPackage(null, toolsHome, jdkHome, packageInfo,
1);
+ packageInfo.setName(repoInfo.getPkgName());
+ packageInfo.setChecksum(repoInfo.getChecksum());
+ TarballUtils.installPackage(repoInfo.getBaseUrl(),
dependenciesHome, jdkHome, packageInfo, 1);
LinuxFileUtils.createDirectories(jdkHome, user, user,
Constants.PERMISSION_755, true);
SetupJdkReply reply = SetupJdkReply.newBuilder()
diff --git
a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/RepoPO.java
b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/RepoPO.java
index bd64fc49..ae995fd7 100644
---
a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/RepoPO.java
+++
b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/RepoPO.java
@@ -43,4 +43,13 @@ public class RepoPO extends BasePO implements Serializable {
@Column(name = "base_url")
private String baseUrl;
+
+ @Column(name = "pkg_name")
+ private String pkgName;
+
+ @Column(name = "checksum")
+ private String checksum;
+
+ @Column(name = "type")
+ private Integer type;
}
diff --git
a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ToolPO.java
b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ToolPO.java
deleted file mode 100644
index b7e16ca9..00000000
---
a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/po/ToolPO.java
+++ /dev/null
@@ -1,52 +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 = "tool")
-public class ToolPO extends BasePO implements Serializable {
-
- @Id
- @Column(name = "id")
- private Long id;
-
- @Column(name = "name")
- private String name;
-
- @Column(name = "base_url")
- private String baseUrl;
-
- @Column(name = "pkg_name")
- private String pkgName;
-
- @Column(name = "arch")
- private String arch;
-
- @Column(name = "checksum")
- private String checksum;
-}
diff --git
a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/RepoDao.java
b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/RepoDao.java
index 32e4cb08..62870c84 100644
---
a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/RepoDao.java
+++
b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/RepoDao.java
@@ -21,4 +21,9 @@ package org.apache.bigtop.manager.dao.repository;
import org.apache.bigtop.manager.dao.po.RepoPO;
-public interface RepoDao extends BaseDao<RepoPO> {}
+import org.apache.ibatis.annotations.Param;
+
+public interface RepoDao extends BaseDao<RepoPO> {
+
+ RepoPO findByName(@Param("name") String name);
+}
diff --git
a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ToolDao.java
b/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ToolDao.java
deleted file mode 100644
index b09f60ba..00000000
---
a/bigtop-manager-dao/src/main/java/org/apache/bigtop/manager/dao/repository/ToolDao.java
+++ /dev/null
@@ -1,29 +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.ToolPO;
-
-import org.apache.ibatis.annotations.Param;
-
-public interface ToolDao extends BaseDao<ToolPO> {
-
- ToolPO findByName(@Param("name") String name);
-}
diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/RepoMapper.xml
b/bigtop-manager-dao/src/main/resources/mapper/mysql/RepoMapper.xml
index fe0670ea..f94f35a6 100644
--- a/bigtop-manager-dao/src/main/resources/mapper/mysql/RepoMapper.xml
+++ b/bigtop-manager-dao/src/main/resources/mapper/mysql/RepoMapper.xml
@@ -24,6 +24,18 @@
<mapper namespace="org.apache.bigtop.manager.dao.repository.RepoDao">
<sql id="baseColumns">
- id, name, arch, base_url, type
+ id, name, arch, base_url, pkg_name, checksum, type
</sql>
-</mapper>
\ No newline at end of file
+ <sql id="baseColumnsV2">
+ ${alias}.id, ${alias}.name, ${alias}.arch, ${alias}.base_url,
${alias}.pkg_name, ${alias}.checksum, ${alias}.type
+ </sql>
+
+ <select id="findByName"
resultType="org.apache.bigtop.manager.dao.po.RepoPO">
+ select
+ <include refid="baseColumns"/>
+ from
+ repo
+ where name = #{name}
+ limit 1
+ </select>
+</mapper>
diff --git a/bigtop-manager-dao/src/main/resources/mapper/mysql/ToolMapper.xml
b/bigtop-manager-dao/src/main/resources/mapper/mysql/ToolMapper.xml
deleted file mode 100644
index bf95e536..00000000
--- a/bigtop-manager-dao/src/main/resources/mapper/mysql/ToolMapper.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- ~ 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.
--->
-
-<!DOCTYPE mapper
- PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.apache.bigtop.manager.dao.repository.ToolDao">
-
- <sql id="baseColumns">
- id, name, base_url, pkg_name, arch, checksum
- </sql>
- <sql id="baseColumnsV2">
- ${alias}.id, ${alias}.name, ${alias}.base_url, ${alias}.pkg_name,
${alias}.arch, ${alias}.checksum
- </sql>
-
- <select id="findByName"
resultType="org.apache.bigtop.manager.dao.po.ToolPO">
- select
- <include refid="baseColumns"/>
- from
- tool
- where name = #{name}
- limit 1
- </select>
-</mapper>
\ No newline at end of file
diff --git
a/bigtop-manager-dao/src/main/resources/mapper/postgresql/RepoMapper.xml
b/bigtop-manager-dao/src/main/resources/mapper/postgresql/RepoMapper.xml
index fe0670ea..f94f35a6 100644
--- a/bigtop-manager-dao/src/main/resources/mapper/postgresql/RepoMapper.xml
+++ b/bigtop-manager-dao/src/main/resources/mapper/postgresql/RepoMapper.xml
@@ -24,6 +24,18 @@
<mapper namespace="org.apache.bigtop.manager.dao.repository.RepoDao">
<sql id="baseColumns">
- id, name, arch, base_url, type
+ id, name, arch, base_url, pkg_name, checksum, type
</sql>
-</mapper>
\ No newline at end of file
+ <sql id="baseColumnsV2">
+ ${alias}.id, ${alias}.name, ${alias}.arch, ${alias}.base_url,
${alias}.pkg_name, ${alias}.checksum, ${alias}.type
+ </sql>
+
+ <select id="findByName"
resultType="org.apache.bigtop.manager.dao.po.RepoPO">
+ select
+ <include refid="baseColumns"/>
+ from
+ repo
+ where name = #{name}
+ limit 1
+ </select>
+</mapper>
diff --git
a/bigtop-manager-dao/src/main/resources/mapper/postgresql/ToolMapper.xml
b/bigtop-manager-dao/src/main/resources/mapper/postgresql/ToolMapper.xml
deleted file mode 100644
index bf95e536..00000000
--- a/bigtop-manager-dao/src/main/resources/mapper/postgresql/ToolMapper.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!--
- ~ 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.
--->
-
-<!DOCTYPE mapper
- PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.apache.bigtop.manager.dao.repository.ToolDao">
-
- <sql id="baseColumns">
- id, name, base_url, pkg_name, arch, checksum
- </sql>
- <sql id="baseColumnsV2">
- ${alias}.id, ${alias}.name, ${alias}.base_url, ${alias}.pkg_name,
${alias}.arch, ${alias}.checksum
- </sql>
-
- <select id="findByName"
resultType="org.apache.bigtop.manager.dao.po.ToolPO">
- select
- <include refid="baseColumns"/>
- from
- tool
- where name = #{name}
- limit 1
- </select>
-</mapper>
\ No newline at end of file
diff --git
a/bigtop-manager-grpc/src/main/java/org/apache/bigtop/manager/grpc/pojo/ClusterInfo.java
b/bigtop-manager-grpc/src/main/java/org/apache/bigtop/manager/grpc/pojo/ClusterInfo.java
index 358e646a..957e0c86 100644
---
a/bigtop-manager-grpc/src/main/java/org/apache/bigtop/manager/grpc/pojo/ClusterInfo.java
+++
b/bigtop-manager-grpc/src/main/java/org/apache/bigtop/manager/grpc/pojo/ClusterInfo.java
@@ -20,8 +20,6 @@ package org.apache.bigtop.manager.grpc.pojo;
import lombok.Data;
-import java.util.List;
-
@Data
public class ClusterInfo {
@@ -30,6 +28,4 @@ public class ClusterInfo {
private String userGroup;
private String rootDir;
-
- private List<ToolInfo> tools;
}
diff --git
a/bigtop-manager-grpc/src/main/java/org/apache/bigtop/manager/grpc/pojo/PackageInfo.java
b/bigtop-manager-grpc/src/main/java/org/apache/bigtop/manager/grpc/pojo/PackageInfo.java
index 4dada510..ca8ace38 100644
---
a/bigtop-manager-grpc/src/main/java/org/apache/bigtop/manager/grpc/pojo/PackageInfo.java
+++
b/bigtop-manager-grpc/src/main/java/org/apache/bigtop/manager/grpc/pojo/PackageInfo.java
@@ -27,8 +27,6 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor
public class PackageInfo {
- private String url;
-
private String name;
private String checksum;
diff --git
a/bigtop-manager-grpc/src/main/java/org/apache/bigtop/manager/grpc/pojo/RepoInfo.java
b/bigtop-manager-grpc/src/main/java/org/apache/bigtop/manager/grpc/pojo/RepoInfo.java
index e92415b2..97eca2ac 100644
---
a/bigtop-manager-grpc/src/main/java/org/apache/bigtop/manager/grpc/pojo/RepoInfo.java
+++
b/bigtop-manager-grpc/src/main/java/org/apache/bigtop/manager/grpc/pojo/RepoInfo.java
@@ -32,4 +32,10 @@ public class RepoInfo {
private String arch;
private String baseUrl;
+
+ private String pkgName;
+
+ private String checksum;
+
+ private Integer type;
}
diff --git
a/bigtop-manager-grpc/src/main/java/org/apache/bigtop/manager/grpc/pojo/ToolInfo.java
b/bigtop-manager-grpc/src/main/java/org/apache/bigtop/manager/grpc/pojo/ToolInfo.java
deleted file mode 100644
index 6069809e..00000000
---
a/bigtop-manager-grpc/src/main/java/org/apache/bigtop/manager/grpc/pojo/ToolInfo.java
+++ /dev/null
@@ -1,35 +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.grpc.pojo;
-
-import lombok.Data;
-
-@Data
-public class ToolInfo {
-
- private String name;
-
- private String baseUrl;
-
- private String pkgName;
-
- private String arch;
-
- private String checksum;
-}
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/helper/JobCacheHelper.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/helper/JobCacheHelper.java
index 6abf0f2c..d02f4fb5 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/helper/JobCacheHelper.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/helper/JobCacheHelper.java
@@ -25,21 +25,18 @@ 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.ToolPO;
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.ToolDao;
import org.apache.bigtop.manager.grpc.generated.JobCacheReply;
import org.apache.bigtop.manager.grpc.generated.JobCacheRequest;
import org.apache.bigtop.manager.grpc.generated.JobCacheServiceGrpc;
import org.apache.bigtop.manager.grpc.payload.JobCachePayload;
import org.apache.bigtop.manager.grpc.pojo.ClusterInfo;
import org.apache.bigtop.manager.grpc.pojo.RepoInfo;
-import org.apache.bigtop.manager.grpc.pojo.ToolInfo;
import org.apache.bigtop.manager.server.exception.ServerException;
import org.apache.bigtop.manager.server.grpc.GrpcClient;
import org.apache.bigtop.manager.server.holder.SpringContextHolder;
@@ -66,7 +63,6 @@ public class JobCacheHelper {
private static RepoDao repoDao;
private static HostDao hostDao;
private static ComponentDao componentDao;
- private static ToolDao toolDao;
private static final AtomicBoolean INITIALIZED = new AtomicBoolean(false);
@@ -76,7 +72,6 @@ public class JobCacheHelper {
repoDao = SpringContextHolder.getBean(RepoDao.class);
hostDao = SpringContextHolder.getBean(HostDao.class);
componentDao = SpringContextHolder.getBean(ComponentDao.class);
- toolDao = SpringContextHolder.getBean(ToolDao.class);
INITIALIZED.set(true);
}
@@ -132,25 +127,12 @@ public class JobCacheHelper {
}
ClusterPO clusterPO = clusterDao.findById(clusterId);
- List<ToolPO> toolPOList = toolDao.findAll();
ClusterInfo clusterInfo = new ClusterInfo();
clusterInfo.setName(clusterPO.getName());
clusterInfo.setUserGroup(clusterPO.getUserGroup());
clusterInfo.setRootDir(clusterPO.getRootDir());
- List<ToolInfo> toolInfoList = new ArrayList<>();
- for (ToolPO toolPO : toolPOList) {
- ToolInfo toolInfo = new ToolInfo();
- toolInfo.setName(toolPO.getName());
- toolInfo.setBaseUrl(toolPO.getBaseUrl());
- toolInfo.setPkgName(toolPO.getPkgName());
- toolInfo.setArch(toolPO.getArch());
- toolInfo.setChecksum(toolPO.getChecksum());
- toolInfoList.add(toolInfo);
- }
- clusterInfo.setTools(toolInfoList);
-
Map<String, Map<String, String>> serviceConfigMap =
payload.getConfigurations();
serviceConfigMap.putAll(getServiceConfigMap(clusterId));
@@ -180,6 +162,9 @@ public class JobCacheHelper {
repoInfo.setName(repoPO.getName());
repoInfo.setArch(repoPO.getArch());
repoInfo.setBaseUrl(repoPO.getBaseUrl());
+ repoInfo.setPkgName(repoPO.getPkgName());
+ repoInfo.setChecksum(repoPO.getChecksum());
+ repoInfo.setType(repoPO.getType());
repoList.add(repoInfo);
});
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 3f50a4a1..9d141fc2 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
@@ -127,7 +127,6 @@ public abstract class AbstractComponentTask extends
AbstractTask {
List<PackageInfo> packageInfoList = new ArrayList<>();
for (PackageDTO packageDTO : packageSpecificDTO.getPackages()) {
PackageInfo packageInfo = new PackageInfo();
- packageInfo.setUrl(packageDTO.getUrl());
packageInfo.setName(packageDTO.getName());
packageInfo.setChecksum(packageDTO.getChecksum());
packageInfoList.add(packageInfo);
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/dto/PackageDTO.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/dto/PackageDTO.java
index eb0c37ab..8cabb51a 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/dto/PackageDTO.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/dto/PackageDTO.java
@@ -27,8 +27,6 @@ import lombok.NoArgsConstructor;
@NoArgsConstructor
public class PackageDTO {
- private String url;
-
private String name;
private String checksum;
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/dto/RepoDTO.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/dto/RepoDTO.java
index 28c1dd84..7fbc41ea 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/dto/RepoDTO.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/dto/RepoDTO.java
@@ -34,4 +34,10 @@ public class RepoDTO {
private String arch;
private String baseUrl;
+
+ private String pkgName;
+
+ private String checksum;
+
+ private Integer type;
}
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/RepoVO.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/RepoVO.java
index 6c3143b9..7a49a2a9 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/RepoVO.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/model/vo/RepoVO.java
@@ -30,4 +30,10 @@ public class RepoVO {
private String arch;
private String baseUrl;
+
+ private String pkgName;
+
+ private String checksum;
+
+ private Integer type;
}
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/prometheus/PrometheusProxy.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/prometheus/PrometheusProxy.java
index 07984207..a41cfc0a 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/prometheus/PrometheusProxy.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/prometheus/PrometheusProxy.java
@@ -436,15 +436,11 @@ public class PrometheusProxy {
private List<String> convertList(List<BigDecimal> list, Integer multiply) {
List<String> resultList = getEmptyList();
- if (list == null) {
- Collections.fill(resultList, "");
- } else {
+ if (list != null) {
for (int i = 0; i < list.size(); i++) {
BigDecimal value = list.get(i);
if (value != null) {
resultList.set(i, value.multiply(new
BigDecimal(multiply)).toString());
- } else {
- resultList.set(i, "");
}
}
}
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java
index 969b8977..e726ae9b 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/service/impl/HostServiceImpl.java
@@ -28,7 +28,7 @@ import org.apache.bigtop.manager.dao.query.ComponentQuery;
import org.apache.bigtop.manager.dao.query.HostQuery;
import org.apache.bigtop.manager.dao.repository.ComponentDao;
import org.apache.bigtop.manager.dao.repository.HostDao;
-import org.apache.bigtop.manager.dao.repository.ToolDao;
+import org.apache.bigtop.manager.dao.repository.RepoDao;
import org.apache.bigtop.manager.server.enums.ApiExceptionEnum;
import org.apache.bigtop.manager.server.enums.HealthyStatusEnum;
import org.apache.bigtop.manager.server.enums.HostAuthTypeEnum;
@@ -47,6 +47,7 @@ import org.apache.bigtop.manager.server.utils.PageUtils;
import org.apache.bigtop.manager.server.utils.RemoteSSHUtils;
import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@@ -80,7 +81,7 @@ public class HostServiceImpl implements HostService {
private ComponentDao componentDao;
@Resource
- private ToolDao toolDao;
+ private RepoDao repoDao;
private final List<InstalledStatusVO> installedStatus = new
CopyOnWriteArrayList<>();
@@ -273,7 +274,7 @@ public class HostServiceImpl implements HostService {
public void installDependencies(HostDTO hostDTO, String hostname,
InstalledStatusVO installedStatusVO) {
String path = hostDTO.getAgentDir();
- String repoUrl = toolDao.findByName("agent").getBaseUrl();
+ String repoUrl = repoDao.findByName("agent").getBaseUrl();
int grpcPort = hostDTO.getGrpcPort();
String command;
@@ -340,7 +341,7 @@ public class HostServiceImpl implements HostService {
if (hostDTO.getSshPort() == null) {
hostDTO.setSshPort(DEFAULT_SSH_PORT);
}
- if (hostDTO.getAgentDir() == null) {
+ if (StringUtils.isBlank(hostDTO.getAgentDir())) {
hostDTO.setAgentDir(DEFAULT_AGENT_DIR);
}
}
diff --git
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/stack/model/PackageModel.java
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/stack/model/PackageModel.java
index df9a8f45..ca9b2bea 100644
---
a/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/stack/model/PackageModel.java
+++
b/bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/stack/model/PackageModel.java
@@ -27,8 +27,6 @@ import jakarta.xml.bind.annotation.XmlAccessorType;
@XmlAccessorType(XmlAccessType.FIELD)
public class PackageModel {
- private String url;
-
private String name;
private String checksum;
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 9ab4f66f..e9118535 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
@@ -127,6 +127,9 @@ CREATE TABLE `repo`
`name` VARCHAR(32) DEFAULT NULL,
`arch` VARCHAR(32) DEFAULT NULL,
`base_url` VARCHAR(255) DEFAULT NULL,
+ `pkg_name` VARCHAR(64) DEFAULT NULL,
+ `checksum` VARCHAR(255) DEFAULT NULL,
+ `type` INTEGER DEFAULT NULL COMMENT '1-service, 2-dependency',
`create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
`update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP,
`create_by` BIGINT,
@@ -331,29 +334,20 @@ CREATE TABLE `llm_chat_message`
KEY `idx_user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-CREATE TABLE `tool`
-(
- `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
- `name` VARCHAR(64) DEFAULT NULL,
- `base_url` VARCHAR(255) DEFAULT NULL,
- `pkg_name` VARCHAR(64) DEFAULT NULL,
- `arch` VARCHAR(64) DEFAULT NULL,
- `checksum` VARCHAR(255) DEFAULT NULL,
- `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP,
- `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE
CURRENT_TIMESTAMP,
- `create_by` BIGINT,
- `update_by` BIGINT,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-
-- Adding default admin user
INSERT INTO user (username, password, nickname, status)
VALUES ('admin',
'$2b$10$bdTvADKA0dSJYT3wMU3LFeIEnxzKQHeWN3XcHJ5jQpsIo7ju1U5Yi',
'Administrator', true);
-INSERT INTO repo (name, arch, base_url)
+INSERT INTO repo (name, arch, base_url, pkg_name, checksum, type)
VALUES
-('Service tarballs', 'x86_64', 'http://your-repo/'),
-('Service tarballs', 'aarch64', 'http://your-repo/');
+('general', 'x86_64,aarch64', 'http://your-repo/', null, null, 1),
+('mysql', 'x86_64,aarch64', 'https://dev.mysql.com/get/Downloads/MySQL-8.0/',
null, null, 1),
+('grafana', 'x86_64,aarch64', 'https://dl.grafana.com/oss/release/', null,
null, 1),
+('agent', 'x86_64,aarch64', 'http://your-repo/',
'bigtop-manager-agent.tar.gz', null, 2),
+('jdk8', 'x86_64',
'https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u452-b09/',
'OpenJDK8U-jdk_x64_linux_hotspot_8u452b09.tar.gz',
'SHA-256:9448308a21841960a591b47927cf2d44fdc4c0533a5f8111a4b243a6bafb5d27', 2),
+('jdk8', 'aarch64',
'https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u452-b09/',
'OpenJDK8U-jdk_aarch64_linux_hotspot_8u452b09.tar.gz',
'SHA-256:d8a1aecea0913b7a1e0d737ba6f7ea99059b3f6fd17813d4a24e8b3fc3aee278', 2),
+('mysql-connector-j', 'x86_64,aarch64',
'https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/8.0.33/',
'mysql-connector-j-8.0.33.jar',
'SHA-256:e2a3b2fc726a1ac64e998585db86b30fa8bf3f706195b78bb77c5f99bf877bd9', 2);
+
-- Adding default llm platform
INSERT INTO llm_platform (credential, name, support_models)
@@ -378,10 +372,3 @@ WHERE `name` = 'QianFan';
UPDATE `llm_platform`
SET `desc` = 'Get your API Key in https://platform.deepseek.com'
WHERE `name` = 'DeepSeek';
-
-INSERT INTO tool (name, base_url, pkg_name, arch, checksum)
-VALUES
-('agent', 'http://your-repo/', 'bigtop-manager-agent.tar.gz',
'x86_64,aarch64', null),
-('jdk8',
'https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u452-b09/',
'OpenJDK8U-jdk_x64_linux_hotspot_8u452b09.tar.gz', 'x86_64',
'SHA-256:9448308a21841960a591b47927cf2d44fdc4c0533a5f8111a4b243a6bafb5d27'),
-('jdk8',
'https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u452-b09/',
'OpenJDK8U-jdk_aarch64_linux_hotspot_8u452b09.tar.gz', 'aarch64',
'SHA-256:d8a1aecea0913b7a1e0d737ba6f7ea99059b3f6fd17813d4a24e8b3fc3aee278'),
-('mysql-connector-j',
'https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/8.0.33/',
'mysql-connector-j-8.0.33.jar', 'x86_64,aarch64',
'SHA-256:e2a3b2fc726a1ac64e998585db86b30fa8bf3f706195b78bb77c5f99bf877bd9');
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 76eee364..71001cf4 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
@@ -121,6 +121,9 @@ CREATE TABLE repo
name VARCHAR(32) DEFAULT NULL,
arch VARCHAR(32) DEFAULT NULL,
base_url VARCHAR(255) DEFAULT NULL,
+ pkg_name VARCHAR(64) DEFAULT NULL,
+ checksum VARCHAR(255) DEFAULT NULL,
+ type INT DEFAULT NULL,
create_time TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP,
update_time TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP,
create_by BIGINT,
@@ -128,6 +131,8 @@ CREATE TABLE repo
PRIMARY KEY (id)
);
+COMMENT ON COLUMN repo.type IS '1-service, 2-dependency';
+
CREATE TABLE service
(
id BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY,
@@ -340,31 +345,21 @@ CREATE TABLE llm_chat_message
PRIMARY KEY (id)
);
-CREATE TABLE tool
-(
- id BIGINT CHECK (id > 0) NOT NULL GENERATED ALWAYS AS
IDENTITY,
- name VARCHAR(64) NOT NULL,
- base_url VARCHAR(255) DEFAULT NULL,
- pkg_name VARCHAR(64) DEFAULT NULL,
- arch VARCHAR(64) DEFAULT NULL,
- checksum VARCHAR(255) DEFAULT NULL,
- create_time TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP,
- update_time TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP,
- create_by BIGINT,
- update_by BIGINT,
- PRIMARY KEY (id)
-);
-
CREATE INDEX idx_thread_id ON llm_chat_message (thread_id);
CREATE INDEX idx_message_user_id ON llm_chat_message (user_id);
INSERT INTO "user" (username, password, nickname, status)
VALUES ('admin',
'$2b$10$bdTvADKA0dSJYT3wMU3LFeIEnxzKQHeWN3XcHJ5jQpsIo7ju1U5Yi',
'Administrator', true);
-INSERT INTO repo (name, arch, base_url)
+INSERT INTO repo (name, arch, base_url, pkg_name, checksum, type)
VALUES
-('Service tarballs', 'x86_64', 'http://your-repo/'),
-('Service tarballs', 'aarch64', 'http://your-repo/');
+('general', 'x86_64,aarch64', 'http://your-repo/', null, null, 1),
+('mysql', 'x86_64,aarch64', 'https://dev.mysql.com/get/Downloads/MySQL-8.0/',
null, null, 1),
+('grafana', 'x86_64,aarch64', 'https://dl.grafana.com/oss/release/', null,
null, 1),
+('agent', 'x86_64,aarch64', 'http://your-repo/',
'bigtop-manager-agent.tar.gz', null, 2),
+('jdk8', 'x86_64',
'https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u452-b09/',
'OpenJDK8U-jdk_x64_linux_hotspot_8u452b09.tar.gz',
'SHA-256:9448308a21841960a591b47927cf2d44fdc4c0533a5f8111a4b243a6bafb5d27', 2),
+('jdk8', 'aarch64',
'https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u452-b09/',
'OpenJDK8U-jdk_aarch64_linux_hotspot_8u452b09.tar.gz',
'SHA-256:d8a1aecea0913b7a1e0d737ba6f7ea99059b3f6fd17813d4a24e8b3fc3aee278', 2),
+('mysql-connector-j', 'x86_64,aarch64',
'https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/8.0.33/',
'mysql-connector-j-8.0.33.jar',
'SHA-256:e2a3b2fc726a1ac64e998585db86b30fa8bf3f706195b78bb77c5f99bf877bd9', 2);
INSERT INTO llm_platform (credential, name, support_models)
VALUES
@@ -388,10 +383,3 @@ WHERE "name" = 'QianFan';
UPDATE llm_platform
SET "desc" = 'Get your API Key in https://platform.deepseek.com'
WHERE "name" = 'DeepSeek';
-
-INSERT INTO tool (name, base_url, pkg_name, arch, checksum)
-VALUES
-('agent', 'http://your-repo/', 'bigtop-manager-agent.tar.gz',
'x86_64,aarch64', null),
-('jdk8',
'https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u452-b09/',
'OpenJDK8U-jdk_x64_linux_hotspot_8u452b09.tar.gz', 'x86_64',
'SHA-256:9448308a21841960a591b47927cf2d44fdc4c0533a5f8111a4b243a6bafb5d27'),
-('jdk8',
'https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u452-b09/',
'OpenJDK8U-jdk_aarch64_linux_hotspot_8u452b09.tar.gz', 'aarch64',
'SHA-256:d8a1aecea0913b7a1e0d737ba6f7ea99059b3f6fd17813d4a24e8b3fc3aee278'),
-('mysql-connector-j',
'https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/8.0.33/',
'mysql-connector-j-8.0.33.jar', 'x86_64,aarch64',
'SHA-256:e2a3b2fc726a1ac64e998585db86b30fa8bf3f706195b78bb77c5f99bf877bd9');
diff --git
a/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/grafana/metainfo.xml
b/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/grafana/metainfo.xml
index ee540d94..45465e02 100644
---
a/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/grafana/metainfo.xml
+++
b/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/grafana/metainfo.xml
@@ -54,7 +54,6 @@
</architectures>
<packages>
<package>
- <url>https://dl.grafana.com/oss/release</url>
<name>grafana-11.4.0.linux-amd64.tar.gz</name>
<checksum>SHA-256:3550c73f4455435642976e82cc89aa354f076a75b766a408781107f4f5d4744c</checksum>
</package>
@@ -66,7 +65,6 @@
</architectures>
<packages>
<package>
- <url>https://dl.grafana.com/oss/release</url>
<name>grafana-11.4.0.linux-arm64.tar.gz</name>
<checksum>SHA-256:c978b46a61d92883119131641c03b8a1323a284e74ab9a20e7e48207dc1a11e1</checksum>
</package>
diff --git
a/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/mysql/metainfo.xml
b/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/mysql/metainfo.xml
index b3a38ae2..302df203 100644
---
a/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/mysql/metainfo.xml
+++
b/bigtop-manager-server/src/main/resources/stacks/infra/1.0.0/services/mysql/metainfo.xml
@@ -53,7 +53,6 @@
</architectures>
<packages>
<package>
-
<url>https://dev.mysql.com/get/Downloads/MySQL-8.0</url>
<name>mysql-8.0.40-linux-glibc2.28-x86_64.tar.xz</name>
<checksum>MD5:dcf2702f953d1969be44083f4f063f18</checksum>
</package>
@@ -65,7 +64,6 @@
</architectures>
<packages>
<package>
-
<url>https://dev.mysql.com/get/Downloads/MySQL-8.0</url>
<name>mysql-8.0.40-linux-glibc2.28-aarch64.tar.xz</name>
<checksum>MD5:a79f41ce62784a1a0e081c76116008de</checksum>
</package>
diff --git
a/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/hive/HiveMetastoreScript.java
b/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/hive/HiveMetastoreScript.java
index 065a6d2a..7da71bad 100644
---
a/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/hive/HiveMetastoreScript.java
+++
b/bigtop-manager-stack/bigtop-manager-stack-bigtop/src/main/java/org/apache/bigtop/manager/stack/bigtop/v3_3_0/hive/HiveMetastoreScript.java
@@ -21,7 +21,7 @@ package org.apache.bigtop.manager.stack.bigtop.v3_3_0.hive;
import org.apache.bigtop.manager.common.constants.Constants;
import org.apache.bigtop.manager.common.constants.MessageConstants;
import org.apache.bigtop.manager.common.shell.ShellResult;
-import org.apache.bigtop.manager.grpc.pojo.ToolInfo;
+import org.apache.bigtop.manager.grpc.pojo.RepoInfo;
import org.apache.bigtop.manager.stack.core.exception.StackException;
import org.apache.bigtop.manager.stack.core.spi.param.Params;
import org.apache.bigtop.manager.stack.core.spi.script.AbstractServerScript;
@@ -34,7 +34,6 @@ import
org.apache.bigtop.manager.stack.core.utils.linux.LinuxOSUtils;
import com.google.auto.service.AutoService;
import lombok.extern.slf4j.Slf4j;
-import java.io.File;
import java.io.IOException;
import java.text.MessageFormat;
import java.util.Properties;
@@ -115,9 +114,8 @@ public class HiveMetastoreScript extends
AbstractServerScript {
}
private void downloadMySQLJdbcDriver(Params params) {
- ToolInfo tool = LocalSettings.getTool("mysql-connector-j");
- String downloadUrl = tool.getBaseUrl() + File.separator +
tool.getPkgName();
- FileDownloader.download(downloadUrl, params.stackHome(), tool);
+ RepoInfo repoInfo = LocalSettings.repo("mysql-connector-j");
+ FileDownloader.download(params.stackHome(), repoInfo);
LinuxFileUtils.moveFile(params.stackHome() +
"/mysql-connector-j-8.0.33.jar", params.serviceHome() + "/lib/");
LinuxFileUtils.updateOwner(params.serviceHome() + "/lib",
params.user(), params.group(), true);
LinuxFileUtils.updatePermissions(params.serviceHome() + "/lib",
Constants.PERMISSION_755, true);
diff --git
a/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/spi/param/BaseParams.java
b/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/spi/param/BaseParams.java
index 80693276..d47a3c8d 100644
---
a/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/spi/param/BaseParams.java
+++
b/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/spi/param/BaseParams.java
@@ -26,7 +26,6 @@ import
org.apache.bigtop.manager.grpc.pojo.PackageSpecificInfo;
import org.apache.bigtop.manager.grpc.pojo.RepoInfo;
import org.apache.bigtop.manager.grpc.pojo.TemplateInfo;
import org.apache.bigtop.manager.stack.core.annotations.GlobalParams;
-import org.apache.bigtop.manager.stack.core.exception.StackException;
import org.apache.bigtop.manager.stack.core.utils.LocalSettings;
import lombok.NoArgsConstructor;
@@ -172,19 +171,14 @@ public abstract class BaseParams implements Params {
@Override
public RepoInfo repo() {
- return LocalSettings.repos().stream()
- .filter(r -> OSDetection.getArch().equals(r.getArch()))
- .findFirst()
- .orElseThrow(() -> new StackException(
- "Cannot find repo for os: [{0}] and arch: [{1}]",
OSDetection.getOS(), OSDetection.getArch()));
+ return LocalSettings.repo("general");
}
@Override
public List<PackageInfo> packages() {
- RepoInfo repo = this.repo();
List<PackageInfo> packageInfoList = new ArrayList<>();
for (PackageSpecificInfo packageSpecificInfo :
this.payload.getPackageSpecifics()) {
- if (!packageSpecificInfo.getArch().contains(repo.getArch())) {
+ if
(!packageSpecificInfo.getArch().contains(OSDetection.getArch())) {
continue;
}
@@ -202,7 +196,7 @@ public abstract class BaseParams implements Params {
@Override
public String javaHome() {
String root = LocalSettings.cluster().getRootDir();
- return MessageFormat.format("{0}/tools/jdk", root);
+ return MessageFormat.format("{0}/dependencies/jdk", root);
}
@Override
diff --git
a/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/tarball/FileDownloader.java
b/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/tarball/FileDownloader.java
index 1e5608ba..2d623495 100644
---
a/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/tarball/FileDownloader.java
+++
b/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/tarball/FileDownloader.java
@@ -19,7 +19,7 @@
package org.apache.bigtop.manager.stack.core.tarball;
import org.apache.bigtop.manager.grpc.pojo.PackageInfo;
-import org.apache.bigtop.manager.grpc.pojo.ToolInfo;
+import org.apache.bigtop.manager.grpc.pojo.RepoInfo;
import org.apache.bigtop.manager.stack.core.exception.StackException;
import lombok.extern.slf4j.Slf4j;
@@ -33,12 +33,12 @@ import java.net.URL;
@Slf4j
public class FileDownloader {
- public static void download(String remoteUrl, String saveDir, ToolInfo
toolInfo) {
+ public static void download(String saveDir, RepoInfo repoInfo) {
PackageInfo packageInfo = new PackageInfo();
- packageInfo.setUrl(toolInfo.getBaseUrl());
- packageInfo.setName(toolInfo.getPkgName());
- packageInfo.setChecksum(toolInfo.getChecksum());
+ packageInfo.setName(repoInfo.getPkgName());
+ packageInfo.setChecksum(repoInfo.getChecksum());
+ String remoteUrl = repoInfo.getBaseUrl() + File.separator +
repoInfo.getPkgName();
download(remoteUrl, saveDir, packageInfo);
}
diff --git
a/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/utils/LocalSettings.java
b/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/utils/LocalSettings.java
index 7e90001d..f8690599 100644
---
a/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/utils/LocalSettings.java
+++
b/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/utils/LocalSettings.java
@@ -24,7 +24,6 @@ import
org.apache.bigtop.manager.common.utils.ProjectPathUtils;
import org.apache.bigtop.manager.common.utils.os.OSDetection;
import org.apache.bigtop.manager.grpc.pojo.ClusterInfo;
import org.apache.bigtop.manager.grpc.pojo.RepoInfo;
-import org.apache.bigtop.manager.grpc.pojo.ToolInfo;
import org.apache.bigtop.manager.stack.core.exception.StackException;
import com.fasterxml.jackson.core.type.TypeReference;
@@ -97,6 +96,18 @@ public class LocalSettings {
return List.of();
}
+ public static RepoInfo repo(String name) {
+ String arch = OSDetection.getArch();
+ List<RepoInfo> repoInfoList = repos();
+ for (RepoInfo repoInfo : repoInfoList) {
+ if (repoInfo.getName().equals(name) &&
repoInfo.getArch().contains(arch)) {
+ return repoInfo;
+ }
+ }
+ log.error("Cannot find repo: [{}], arch: [{}]", name, arch);
+ throw new StackException("Repo not found: " + name);
+ }
+
public static List<RepoInfo> repos() {
List<RepoInfo> repoInfoList = List.of();
File file = createFile(ProjectPathUtils.getAgentCachePath() +
CacheFiles.REPOS_INFO);
@@ -115,22 +126,6 @@ public class LocalSettings {
return clusterInfo;
}
- public static ToolInfo getTool(String name) {
- return getTool(name, OSDetection.getArch());
- }
-
- public static ToolInfo getTool(String name, String arch) {
- ClusterInfo clusterInfo = cluster();
- for (ToolInfo toolInfo : clusterInfo.getTools()) {
- if (toolInfo.getName().equals(name) &&
toolInfo.getArch().contains(arch)) {
- return toolInfo;
- }
- }
-
- log.error("Cannot find tool: [{}] for arch: [{}]", name, arch);
- throw new StackException("Tool not found: " + name);
- }
-
protected static File createFile(String fileName) {
return new File(fileName);
}
diff --git
a/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/utils/TarballUtils.java
b/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/utils/TarballUtils.java
index bed366e6..1939cda2 100644
---
a/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/utils/TarballUtils.java
+++
b/bigtop-manager-stack/bigtop-manager-stack-core/src/main/java/org/apache/bigtop/manager/stack/core/utils/TarballUtils.java
@@ -22,8 +22,6 @@ import org.apache.bigtop.manager.grpc.pojo.PackageInfo;
import org.apache.bigtop.manager.stack.core.tarball.FileDownloader;
import org.apache.bigtop.manager.stack.core.tarball.TarballExtractor;
-import org.apache.commons.lang3.StringUtils;
-
import lombok.extern.slf4j.Slf4j;
import java.io.File;
@@ -40,9 +38,7 @@ public class TarballUtils {
return;
}
- String remoteUrl = StringUtils.isEmpty(packageInfo.getUrl())
- ? repoUrl + File.separator + packageInfo.getName()
- : packageInfo.getUrl() + File.separator +
packageInfo.getName();
+ String remoteUrl = repoUrl + File.separator + packageInfo.getName();
File localFile = new File(stackHome + File.separator +
packageInfo.getName());
FileDownloader.download(remoteUrl, stackHome, packageInfo);
diff --git
a/bigtop-manager-stack/bigtop-manager-stack-core/src/test/java/org/apache/bigtop/manager/stack/core/spi/param/BaseParamsTest.java
b/bigtop-manager-stack/bigtop-manager-stack-core/src/test/java/org/apache/bigtop/manager/stack/core/spi/param/BaseParamsTest.java
index 782e6d36..6300a47c 100644
---
a/bigtop-manager-stack/bigtop-manager-stack-core/src/test/java/org/apache/bigtop/manager/stack/core/spi/param/BaseParamsTest.java
+++
b/bigtop-manager-stack/bigtop-manager-stack-core/src/test/java/org/apache/bigtop/manager/stack/core/spi/param/BaseParamsTest.java
@@ -40,6 +40,7 @@ import java.util.List;
import java.util.Map;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mockStatic;
@ExtendWith(MockitoExtension.class)
@@ -58,15 +59,17 @@ public class BaseParamsTest {
@BeforeEach
public void setUp() {
List<RepoInfo> repos = new ArrayList<>();
- repos.add(new RepoInfo("repo2", "mockArch", "testURL"));
- repos.add(new RepoInfo("repo3", "mockArch", "testURL"));
+ RepoInfo general = new RepoInfo("general", "mockArch", "testURL",
"testPkgName", "testChecksum", 1);
+ RepoInfo test = new RepoInfo("test", "mockArch", "testURL",
"testPkgName", "testChecksum", 1);
+ repos.add(general);
+ repos.add(test);
List<String> arch = new ArrayList<>();
arch.add("mockArch");
List<PackageInfo> packages = new ArrayList<>();
- packages.add(new PackageInfo(null, "package1", "testChecksum1"));
- packages.add(new PackageInfo(null, "package2", "testChecksum2"));
+ packages.add(new PackageInfo("package1", "testChecksum1"));
+ packages.add(new PackageInfo("package2", "testChecksum2"));
List<PackageSpecificInfo> packageSpecifics = new ArrayList<>();
PackageSpecificInfo packageSpecific = new PackageSpecificInfo();
@@ -94,6 +97,7 @@ public class BaseParamsTest {
osDetectionMockedStatic = mockStatic(OSDetection.class);
netUtilsMockedStatic = mockStatic(NetUtils.class);
netUtilsMockedStatic.when(NetUtils::getHostname).thenReturn("mockHostname");
+ localSettingsMockedStatic.when(() ->
LocalSettings.repo(any())).thenReturn(general);
localSettingsMockedStatic.when(LocalSettings::repos).thenReturn(repos);
localSettingsMockedStatic.when(LocalSettings::cluster).thenReturn(clusterInfo);
osDetectionMockedStatic.when(OSDetection::getArch).thenReturn("mockArch");
@@ -154,7 +158,7 @@ public class BaseParamsTest {
@Test
public void testRepo() {
RepoInfo repo = mockBaseParams.repo();
- assertEquals("repo2", repo.getName());
+ assertEquals("general", repo.getName());
assertEquals("mockArch", repo.getArch());
}
@@ -178,7 +182,7 @@ public class BaseParamsTest {
@Test
public void testJavaHome() {
String javaHome = mockBaseParams.javaHome();
- assertEquals("/mockRoot/tools/jdk", javaHome);
+ assertEquals("/mockRoot/dependencies/jdk", javaHome);
}
@Test
diff --git
a/bigtop-manager-stack/bigtop-manager-stack-core/src/test/java/org/apache/bigtop/manager/stack/core/utils/LocalSettingsTest.java
b/bigtop-manager-stack/bigtop-manager-stack-core/src/test/java/org/apache/bigtop/manager/stack/core/utils/LocalSettingsTest.java
index b5f31d45..73d0ca87 100644
---
a/bigtop-manager-stack/bigtop-manager-stack-core/src/test/java/org/apache/bigtop/manager/stack/core/utils/LocalSettingsTest.java
+++
b/bigtop-manager-stack/bigtop-manager-stack-core/src/test/java/org/apache/bigtop/manager/stack/core/utils/LocalSettingsTest.java
@@ -174,8 +174,8 @@ public class LocalSettingsTest {
@Test
public void testRepos() {
- RepoInfo repo1 = new RepoInfo("repo1", "x86_64", "http://repo1.com");
- RepoInfo repo2 = new RepoInfo("repo2", "arch64", "http://repo2.com");
+ RepoInfo repo1 = new RepoInfo("repo1", "x86_64", "http://repo1.com",
"pkg", "MD5:123", 1);
+ RepoInfo repo2 = new RepoInfo("repo2", "arch64", "http://repo2.com",
"pkg", "MD5:123", 1);
List<RepoInfo> repoInfoList = List.of(repo1, repo2);
File file = mock(File.class);
@@ -190,8 +190,8 @@ public class LocalSettingsTest {
localSettingsMockedStatic.when(LocalSettings::repos).thenCallRealMethod();
List<RepoInfo> expectedRepoInfoList = List.of(
- new RepoInfo("repo1", "x86_64", "http://repo1.com"),
- new RepoInfo("repo2", "arch64", "http://repo2.com"));
+ new RepoInfo("repo1", "x86_64", "http://repo1.com", "pkg",
"MD5:123", 1),
+ new RepoInfo("repo2", "arch64", "http://repo2.com", "pkg",
"MD5:123", 1));
assertEquals(expectedRepoInfoList, LocalSettings.repos());
}
diff --git
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/grafana/GrafanaParams.java
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/grafana/GrafanaParams.java
index 692fa737..22a215ef 100644
---
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/grafana/GrafanaParams.java
+++
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/grafana/GrafanaParams.java
@@ -19,6 +19,7 @@
package org.apache.bigtop.manager.stack.infra.v1_0_0.grafana;
import org.apache.bigtop.manager.grpc.payload.ComponentCommandPayload;
+import org.apache.bigtop.manager.grpc.pojo.RepoInfo;
import org.apache.bigtop.manager.stack.core.annotations.GlobalParams;
import org.apache.bigtop.manager.stack.core.spi.param.Params;
import org.apache.bigtop.manager.stack.core.utils.LocalSettings;
@@ -138,11 +139,6 @@ public class GrafanaParams extends InfraParams {
return configuration;
}
- @Override
- public String getServiceName() {
- return "grafana";
- }
-
public List<String> getClusters() {
if (getClusterHosts() == null) {
return null;
@@ -181,4 +177,14 @@ public class GrafanaParams extends InfraParams {
globalParamsMap.put("default_host_name", defaultHost);
}
}
+
+ @Override
+ public RepoInfo repo() {
+ return LocalSettings.repo("grafana");
+ }
+
+ @Override
+ public String getServiceName() {
+ return "grafana";
+ }
}
diff --git
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLParams.java
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLParams.java
index b7bc49b0..4ca7cf00 100644
---
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLParams.java
+++
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/mysql/MySQLParams.java
@@ -19,6 +19,7 @@
package org.apache.bigtop.manager.stack.infra.v1_0_0.mysql;
import org.apache.bigtop.manager.grpc.payload.ComponentCommandPayload;
+import org.apache.bigtop.manager.grpc.pojo.RepoInfo;
import org.apache.bigtop.manager.stack.core.annotations.GlobalParams;
import org.apache.bigtop.manager.stack.core.spi.param.Params;
import org.apache.bigtop.manager.stack.core.utils.LocalSettings;
@@ -78,6 +79,11 @@ public class MySQLParams extends InfraParams {
return myCnf;
}
+ @Override
+ public RepoInfo repo() {
+ return LocalSettings.repo("mysql");
+ }
+
@Override
public String getServiceName() {
return "mysql";