Skip to content

Commit 485c3c4

Browse files
xorelrsmontero
authored andcommitted
B #-: Fix alertmanager.yml path for arm64
Download and install also arm64 vendor bin. (cherry picked from commit 246a213) (cherry picked from commit 115236c) (cherry picked from commit 6b115f0)
1 parent 5d6b857 commit 485c3c4

File tree

3 files changed

+48
-19
lines changed

3 files changed

+48
-19
lines changed

install.sh

Lines changed: 36 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
usage() {
3030
echo
3131
echo "Usage: install.sh [-u install_user] [-g install_group] [-k keep conf]"
32-
echo " [-d ONE_LOCATION] [-c cli|ec2] [-r]"
32+
echo " [-d ONE_LOCATION] [-c cli|ec2] [-a arch] [-r]"
3333
echo " [-s] [-p] [-G] [-6] [-f] [-l] [-e] [-h]"
3434
echo
3535
echo "-u: user that will run opennebula, defaults to user executing install.sh"
@@ -50,11 +50,12 @@ usage() {
5050
echo "-r: remove Opennebula, only useful if -d was not specified, otherwise"
5151
echo " rm -rf \$ONE_LOCATION would do the job"
5252
echo "-l: creates symlinks instead of copying files, useful for development"
53+
echo "-a: architecuture of downloaded vendor artifacts, default: x86_64"
5354
echo "-h: prints this help"
5455
}
5556
#-------------------------------------------------------------------------------
5657

57-
PARAMETERS=":u:g:d:ehkrlcspFPorlfG6"
58+
PARAMETERS=":u:g:d:a:ehkrlcspFPorlfG6"
5859

5960
INSTALL_ETC="yes"
6061
UNINSTALL="no"
@@ -69,6 +70,7 @@ ONEFLOW="no"
6970
ONEADMIN_USER=`id -u`
7071
ONEADMIN_GROUP=`id -g`
7172
SRC_DIR=$PWD
73+
ARCH="x86_64"
7274

7375
while getopts $PARAMETERS opt; do
7476
case $opt in
@@ -85,13 +87,19 @@ while getopts $PARAMETERS opt; do
8587
f) ONEFLOW="yes" ;;
8688
u) ONEADMIN_USER="$OPTARG" ;;
8789
g) ONEADMIN_GROUP="$OPTARG" ;;
90+
a) ARCH="$OPTARG" ;;
8891
d) ROOT="$OPTARG" ;;
8992
\?) usage; exit 1 ;;
9093
esac
9194
done
9295

9396
shift $(($OPTIND - 1))
9497

98+
if [ "$ARCH" != x86_64 ] && [ "$ARCH" != arm64 ]; then
99+
echo "Unsupported architecture: $ARCH, only x86_64 or arm64"
100+
exit 1
101+
fi
102+
95103
#-------------------------------------------------------------------------------
96104
# Definition of locations
97105
#-------------------------------------------------------------------------------
@@ -3048,12 +3056,25 @@ CONTEXT_SHARE=$(find share/context/ -type f \( ! -iname "*.sh" ! -iname "SConstr
30483056
# PROMETHEUS
30493057
#-------------------------------------------------------------------------------
30503058

3059+
ALERTMANAGER_VENDOR_DIR='alertmanager'
3060+
NODE_EXPORTER_VENDOR_DIR='node_exporter'
3061+
PROMETHEUS_VENDOR_DIR='prometheus'
3062+
if [ $ARCH = 'arm64' ]; then
3063+
ALERTMANAGER_VENDOR_DIR='alertmanager.arm64'
3064+
NODE_EXPORTER_VENDOR_DIR='node_exporter.arm64'
3065+
PROMETHEUS_VENDOR_DIR='prometheus.arm64'
3066+
3067+
# adjust restic binary symlink
3068+
rm src/datastore_mad/remotes/restic/restic
3069+
ln -s ./vendor/bin/restic.arm64 src/datastore_mad/remotes/restic/restic
3070+
fi
3071+
30513072
# ALERTMANAGER
3052-
ONEPROMETHEUS_ALERTMANAGER_BIN_FILES="src/oneprometheus/vendor/alertmanager/alertmanager \
3053-
src/oneprometheus/vendor/alertmanager/amtool"
3073+
ONEPROMETHEUS_ALERTMANAGER_BIN_FILES="src/oneprometheus/vendor/${ALERTMANAGER_VENDOR_DIR}/alertmanager \
3074+
src/oneprometheus/vendor/${ALERTMANAGER_VENDOR_DIR}/amtool"
30543075
ONEPROMETHEUS_ALERTMANAGER_CONFIG_FILES="src/oneprometheus/alertmanager/etc/alertmanager.yml"
3055-
ONEPROMETHEUS_ALERTMANAGER_FILES="src/oneprometheus/vendor/alertmanager/LICENSE \
3056-
src/oneprometheus/vendor/alertmanager/NOTICE"
3076+
ONEPROMETHEUS_ALERTMANAGER_FILES="src/oneprometheus/vendor/${ALERTMANAGER_VENDOR_DIR}/LICENSE \
3077+
src/oneprometheus/vendor/${ALERTMANAGER_VENDOR_DIR}/NOTICE"
30573078
ONEPROMETHEUS_ALERTMANAGER_SYSTEMD_FILES="src/oneprometheus/alertmanager/systemd/opennebula-alertmanager.service"
30583079

30593080
# GRAFANA
@@ -3065,9 +3086,9 @@ ONEPROMETHEUS_LIBVIRT_EXPORTER_FILES="src/oneprometheus/opennebula-libvirt-expor
30653086
ONEPROMETHEUS_LIBVIRT_EXPORTER_SYSTEMD_FILES="src/oneprometheus/opennebula-libvirt-exporter/systemd/opennebula-libvirt-exporter.service"
30663087

30673088
# NODE-EXPORTER
3068-
ONEPROMETHEUS_NODE_EXPORTER_BIN_FILES="src/oneprometheus/vendor/node_exporter/node_exporter"
3069-
ONEPROMETHEUS_NODE_EXPORTER_FILES="src/oneprometheus/vendor/node_exporter/LICENSE \
3070-
src/oneprometheus/vendor/node_exporter/NOTICE"
3089+
ONEPROMETHEUS_NODE_EXPORTER_BIN_FILES="src/oneprometheus/vendor/${NODE_EXPORTER_VENDOR_DIR}/node_exporter"
3090+
ONEPROMETHEUS_NODE_EXPORTER_FILES="src/oneprometheus/vendor/${NODE_EXPORTER_VENDOR_DIR}/LICENSE \
3091+
src/oneprometheus/vendor/${NODE_EXPORTER_VENDOR_DIR}/NOTICE"
30713092
ONEPROMETHEUS_NODE_EXPORTER_SYSTEMD_FILES="src/oneprometheus/node_exporter/systemd/opennebula-node-exporter.service"
30723093

30733094
# OPENNEBULA-EXPORTER
@@ -3080,14 +3101,14 @@ ONEPROMETHEUS_OPENNEBULA_EXPORTER_FILES="src/oneprometheus/opennebula-exporter/s
30803101
ONEPROMETHEUS_OPENNEBULA_EXPORTER_SYSTEMD_FILES="src/oneprometheus/opennebula-exporter/systemd/opennebula-exporter.service"
30813102

30823103
# PROMETHEUS
3083-
ONEPROMETHEUS_PROMETHEUS_BIN_FILES="src/oneprometheus/vendor/prometheus/prometheus \
3084-
src/oneprometheus/vendor/prometheus/promtool"
3104+
ONEPROMETHEUS_PROMETHEUS_BIN_FILES="src/oneprometheus/vendor/${PROMETHEUS_VENDOR_DIR}/prometheus \
3105+
src/oneprometheus/vendor/${PROMETHEUS_VENDOR_DIR}/promtool"
30853106
ONEPROMETHEUS_PROMETHEUS_CONFIG_FILES="src/oneprometheus/prometheus/etc/prometheus.yml \
30863107
src/oneprometheus/prometheus/etc/rules.yml"
3087-
ONEPROMETHEUS_PROMETHEUS_FILES="src/oneprometheus/vendor/prometheus/console_libraries/ \
3088-
src/oneprometheus/vendor/prometheus/consoles/ \
3089-
src/oneprometheus/vendor/prometheus/LICENSE \
3090-
src/oneprometheus/vendor/prometheus/NOTICE"
3108+
ONEPROMETHEUS_PROMETHEUS_FILES="src/oneprometheus/vendor/${PROMETHEUS_VENDOR_DIR}/console_libraries/ \
3109+
src/oneprometheus/vendor/${PROMETHEUS_VENDOR_DIR}/consoles/ \
3110+
src/oneprometheus/vendor/${PROMETHEUS_VENDOR_DIR}/LICENSE \
3111+
src/oneprometheus/vendor/${PROMETHEUS_VENDOR_DIR}/NOTICE"
30913112
ONEPROMETHEUS_PROMETHEUS_SHARE_FILES="src/oneprometheus/prometheus/share/patch_datasources.rb"
30923113
ONEPROMETHEUS_PROMETHEUS_SYSTEMD_FILES="src/oneprometheus/prometheus/systemd/opennebula-prometheus.service"
30933114

src/datastore_mad/remotes/restic/vendor/download

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,10 @@ which curl bzip2 dirname realpath xargs 1>/dev/null
2424
readonly SELF=$(realpath "$0" | xargs dirname) && cd "$SELF/"
2525

2626
readonly RESTIC_URL="https://github.com/restic/restic/releases/download/v${RESTIC_VERSION}/restic_${RESTIC_VERSION}_linux_amd64.bz2"
27+
readonly RESTIC_URL_ARM64="https://github.com/restic/restic/releases/download/v${RESTIC_VERSION}/restic_${RESTIC_VERSION}_linux_arm64.bz2"
2728

2829
install -d "$SELF/bin/"
2930
curl -fsSL "$RESTIC_URL" | bzip2 -d -s > "$SELF/bin/restic"
31+
curl -fsSL "$RESTIC_URL_ARM64" | bzip2 -d -s > "$SELF/bin/restic.arm64"
3032

31-
chmod ugo+x "$SELF/bin/restic"
33+
chmod ugo+x "$SELF/bin/restic" "$SELF/bin/restic.arm64"

src/oneprometheus/vendor/download

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,16 +28,22 @@ which curl dirname gzip realpath tar xargs 1>/dev/null
2828
readonly SELF=$(realpath "$0" | xargs dirname) && cd "$SELF/"
2929

3030
readonly ALERTMANAGER_URL="https://github.com/prometheus/alertmanager/releases/download/v$ALERTMANAGER_VERSION/alertmanager-$ALERTMANAGER_VERSION.linux-amd64.tar.gz"
31+
readonly ALERTMANAGER_URL_ARM64="https://github.com/prometheus/alertmanager/releases/download/v$ALERTMANAGER_VERSION/alertmanager-$ALERTMANAGER_VERSION.linux-arm64.tar.gz"
3132

3233
readonly NODE_EXPORTER_URL="https://github.com/prometheus/node_exporter/releases/download/v$NODE_EXPORTER_VERSION/node_exporter-$NODE_EXPORTER_VERSION.linux-amd64.tar.gz"
34+
readonly NODE_EXPORTER_URL_ARM64="https://github.com/prometheus/node_exporter/releases/download/v$NODE_EXPORTER_VERSION/node_exporter-$NODE_EXPORTER_VERSION.linux-arm64.tar.gz"
3335

3436
readonly PROMETHEUS_URL="https://github.com/prometheus/prometheus/releases/download/v$PROMETHEUS_VERSION/prometheus-$PROMETHEUS_VERSION.linux-amd64.tar.gz"
37+
readonly PROMETHEUS_URL_ARM64="https://github.com/prometheus/prometheus/releases/download/v$PROMETHEUS_VERSION/prometheus-$PROMETHEUS_VERSION.linux-arm64.tar.gz"
3538

36-
install -d "$SELF/alertmanager/"
39+
install -d "$SELF/alertmanager/" "$SELF/alertmanager.arm64/"
3740
curl -fsSL "$ALERTMANAGER_URL" | tar -xzf- --strip-components=1 -C "$SELF/alertmanager/"
41+
curl -fsSL "$ALERTMANAGER_URL_ARM64" | tar -xzf- --strip-components=1 -C "$SELF/alertmanager.arm64/"
3842

39-
install -d "$SELF/node_exporter/"
43+
install -d "$SELF/node_exporter/" "$SELF/node_exporter.arm64/"
4044
curl -fsSL "$NODE_EXPORTER_URL" | tar -xzf- --strip-components=1 -C "$SELF/node_exporter/"
45+
curl -fsSL "$NODE_EXPORTER_URL_ARM64" | tar -xzf- --strip-components=1 -C "$SELF/node_exporter.arm64/"
4146

42-
install -d "$SELF/prometheus/"
47+
install -d "$SELF/prometheus/" "$SELF/prometheus.arm64/"
4348
curl -fsSL "$PROMETHEUS_URL" | tar -xzf- --strip-components=1 -C "$SELF/prometheus/"
49+
curl -fsSL "$PROMETHEUS_URL_ARM64" | tar -xzf- --strip-components=1 -C "$SELF/prometheus.arm64/"

0 commit comments

Comments
 (0)