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 3e23f386 BIGTOP-4258: Support prometheus on openeuler22 aarch64 (#98)
3e23f386 is described below
commit 3e23f38657ebae619e4027ba66d0bdf1d3c50fee
Author: haopeng <[email protected]>
AuthorDate: Fri Nov 1 14:47:32 2024 +0800
BIGTOP-4258: Support prometheus on openeuler22 aarch64 (#98)
---
.../infra/1.0.0/services/prometheus/metainfo.xml | 14 ++++++++++++++
.../bigtop/manager/stack/core/param/BaseParams.java | 2 +-
.../v1_0_0/prometheus/PrometheusServerScript.java | 19 ++++++++++++++++---
3 files changed, 31 insertions(+), 4 deletions(-)
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 97cc63e6..ec1ec1e9 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
@@ -61,6 +61,20 @@
</package>
</packages>
</package-specific>
+ <package-specific>
+ <operating-systems>
+ <os>openeuler22</os>
+ </operating-systems>
+ <architectures>
+ <arch>aarch64</arch>
+ </architectures>
+ <packages>
+ <package>
+ <name>prometheus-2.54.0.linux-arm64.tar.gz</name>
+
<checksum>SHA-256:ed50b67cb833a225ec2a53b487c6e20372b20e56dce226423fa8611c8aa50392</checksum>
+ </package>
+ </packages>
+ </package-specific>
</package-specifics>
</service>
</metainfo>
\ No newline at end of file
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 d5df7a46..e17f47de 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
@@ -106,7 +106,7 @@ public abstract class BaseParams implements Params {
.filter(r -> OSDetection.getArch().equals(r.getArch()))
.findFirst()
.orElseThrow(() -> new StackException(
- "Cannot find repo for os: [{}] and arch: [{}]",
OSDetection.getOS(), OSDetection.getArch()));
+ "Cannot find repo for os: [{0}] and arch: [{1}]",
OSDetection.getOS(), OSDetection.getArch()));
}
@Override
diff --git
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/prometheus/PrometheusServerScript.java
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/prometheus/PrometheusServerScript.java
index 581ddb67..c9341607 100644
---
a/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/prometheus/PrometheusServerScript.java
+++
b/bigtop-manager-stack/bigtop-manager-stack-infra/src/main/java/org/apache/bigtop/manager/stack/infra/v1_0_0/prometheus/PrometheusServerScript.java
@@ -54,7 +54,19 @@ public class PrometheusServerScript extends
AbstractServerScript {
"nohup {0}/prometheus --config.file={0}/prometheus.yml
--storage.tsdb.path={0}/data > {0}/nohup.out 2>&1 &",
prometheusParams.serviceHome());
try {
- return LinuxOSUtils.sudoExecCmd(cmd, prometheusParams.user());
+ LinuxOSUtils.sudoExecCmd(cmd, prometheusParams.user());
+ long startTime = System.currentTimeMillis();
+ long maxWaitTime = 5000;
+ long pollInterval = 500;
+
+ while (System.currentTimeMillis() - startTime < maxWaitTime) {
+ ShellResult statusResult = status(params);
+ if (statusResult.getExitCode() == 0) {
+ return statusResult;
+ }
+ Thread.sleep(pollInterval);
+ }
+ return status(params);
} catch (Exception e) {
throw new StackException(e);
}
@@ -63,7 +75,7 @@ public class PrometheusServerScript extends
AbstractServerScript {
@Override
public ShellResult stop(Params params) {
PrometheusParams prometheusParams = (PrometheusParams) params;
- String cmd = "pkill -f prometheus";
+ String cmd = MessageFormat.format("pkill -f {0}/prometheus",
prometheusParams.serviceHome());
try {
return LinuxOSUtils.sudoExecCmd(cmd, prometheusParams.user());
} catch (Exception e) {
@@ -73,7 +85,8 @@ public class PrometheusServerScript extends
AbstractServerScript {
@Override
public ShellResult status(Params params) {
- String cmd = "pgrep -f prometheus";
+ PrometheusParams prometheusParams = (PrometheusParams) params;
+ String cmd = MessageFormat.format("pgrep -f {0}/prometheus",
prometheusParams.serviceHome());
try {
ShellResult result = LinuxOSUtils.execCmd(cmd);
if (result.getExitCode() == 0) {