Skip to content

Commit cb08260

Browse files
committed
packaging: add pre-check.sh
1 parent be22bfe commit cb08260

File tree

4 files changed

+41
-0
lines changed

4 files changed

+41
-0
lines changed

packaging/systemd/cloudstack-agent.service

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ After=libvirtd.service
2828
[Service]
2929
Type=simple
3030
EnvironmentFile=/etc/default/cloudstack-agent
31+
ExecStartPre=/usr/share/cloudstack-common/scripts/installer/pre-check.sh
3132
ExecStart=/usr/bin/java $JAVA_OPTS $JAVA_DEBUG -cp $CLASSPATH $JAVA_CLASS
3233
Restart=always
3334
RestartSec=10s

packaging/systemd/cloudstack-management.service

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ User=cloud
3434
EnvironmentFile=/etc/default/cloudstack-management
3535
WorkingDirectory=/var/log/cloudstack/management
3636
PIDFile=/var/run/cloudstack-management.pid
37+
ExecStartPre=/usr/share/cloudstack-common/scripts/installer/pre-check.sh
3738
ExecStart=/usr/bin/java $JAVA_DEBUG $JAVA_OPTS -cp $CLASSPATH $BOOTSTRAP_CLASS
3839
StandardOutput=append:/var/log/cloudstack/management/management-server.out
3940
StandardError=append:/var/log/cloudstack/management/management-server.err

packaging/systemd/cloudstack-usage.service

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ After=network.target network-online.target mariadb.service mysqld.service mysql.
3232
Type=simple
3333
EnvironmentFile=/etc/default/cloudstack-usage
3434
Environment=JAVA_PID=$$
35+
ExecStartPre=/usr/share/cloudstack-common/scripts/installer/pre-check.sh
3536
ExecStart=/bin/sh -ec '/usr/bin/java -Dpid=${JAVA_PID} $JAVA_OPTS $JAVA_DEBUG -cp $CLASSPATH $JAVA_CLASS'
3637
Restart=always
3738
RestartSec=10s

scripts/installer/pre-check.sh

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/bin/bash
2+
# Licensed to the Apache Software Foundation (ASF) under one
3+
# or more contributor license agreements. See the NOTICE file
4+
# distributed with this work for additional information
5+
# regarding copyright ownership. The ASF licenses this file
6+
# to you under the Apache License, Version 2.0 (the
7+
# "License"); you may not use this file except in compliance
8+
# with the License. You may obtain a copy of the License at
9+
#
10+
# http://www.apache.org/licenses/LICENSE-2.0
11+
#
12+
# Unless required by applicable law or agreed to in writing,
13+
# software distributed under the License is distributed on an
14+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
# KIND, either express or implied. See the License for the
16+
# specific language governing permissions and limitations
17+
# under the License.
18+
19+
if [ ! -f "/usr/bin/java" ];then
20+
echo "ERROR: /usr/bin/java does not exist"
21+
exit 1
22+
fi
23+
24+
JAVA_MAJOR_VERSION=$(/usr/bin/java --version | grep -oE '[0-9]+\.[0-9]+(\.[0-9]+)?' | head -n 1 |cut -d "." -f1)
25+
26+
if [ -z $JAVA_MAJOR_VERSION ];then
27+
echo "WARNING: Cannot determine the JAVA version"
28+
exit 0
29+
fi
30+
31+
if [ "$JAVA_MAJOR_VERSION" != "17" ] && [ "$JAVA_MAJOR_VERSION" != "11" ];then
32+
echo "ERROR: JAVA $JAVA_MAJOR_VERSION is not supported. Currently only JAVA 17 and JAVA 11 are supported."
33+
exit 1
34+
fi
35+
36+
if [ "$JAVA_MAJOR_VERSION" != "17" ];then
37+
echo "WARNING: JAVA version is $JAVA_MAJOR_VERSION. JAVA 17 is recommended."
38+
fi

0 commit comments

Comments
 (0)