forked from kisakthi/helm-charts
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup-nfs.sh
More file actions
103 lines (87 loc) · 2.89 KB
/
setup-nfs.sh
File metadata and controls
103 lines (87 loc) · 2.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#!/bin/bash
# This script should be executed on Linux RHEL Virtual Machine
EXPORT_DIRECTORY=${1}
USER_ID=${2}
CURR_DIR=`pwd`
WORKER_NODE_SUBNET=${3}
SERVICES="cms ihub kbs isecl-k8s-scheduler isecl-k8s-controller admission-controller sqvs"
SERVICES_WITH_DB="wls hvs authservice scs shvs"
BASE_PATH=$EXPORT_DIRECTORY/isecl
LOG_PATH=logs
CONFIG_PATH=config
DB_PATH=db
VERSION=${VERSION:-v5.1.0}
if [ -z "$EXPORT_DIRECTORY" ]; then
echo "Error: missing export directory. Aborting..."
exit 1
fi
if [ -z "$USER_ID" ]; then
echo "Error: missing user id. Aborting..."
exit 1
fi
if [ -z "$WORKER_NODE_SUBNET" ]; then
echo "Error: missing worker node subnet/ip. Aborting..."
exit 1
fi
# Check OS
OS=$(cat /etc/os-release | grep ^ID= | cut -d'=' -f2)
temp="${OS%\"}"
temp="${temp#\"}"
OS="$temp"
if [ "$OS" == "rhel" ]
then
echo "Installing NFS Utils"
dnf install -y nfs-utils
systemctl enable --now nfs-server rpcbind
elif [ "$OS" == "ubuntu" ]
then
apt install -y nfs-kernel-server
fi
echo "Making new directory to be: ${EXPORT_DIRECTORY}"
mkdir -p ${EXPORT_DIRECTORY}
echo "Create directories for isecl services and set permissions"
services=$(eval "echo \$SERVICES")
services_db=$(eval "echo \$SERVICES_WITH_DB")
mkdir -p $BASE_PATH && chmod 711 -R $BASE_PATH
for base_service in $services; do
service=$BASE_PATH/$base_service/$VERSION
mkdir -p $service && chown -R $USER_ID:$USER_ID $service
mkdir -p $service/$LOG_PATH
mkdir -p $service/$CONFIG_PATH
chown -R $USER_ID:$USER_ID $service/$CONFIG_PATH
chown -R $USER_ID:$USER_ID $service/$LOG_PATH
if [ $base_service == "kbs" ]; then
mkdir -p $service/opt
chown -R $USER_ID:$USER_ID $service/opt
cd $BASE_PATH/$base_service
ln -sfT $VERSION/opt opt
fi
cd $BASE_PATH/$base_service
ln -sfT $VERSION/$CONFIG_PATH $CONFIG_PATH
ln -sfT $VERSION/$LOG_PATH $LOG_PATH
done
cd $CURR_DIR
for base_service in $services_db; do
service=$BASE_PATH/$base_service/$VERSION
mkdir -p $service && chown -R $USER_ID:$USER_ID $service
mkdir -p $service/$LOG_PATH
mkdir -p $service/$CONFIG_PATH
mkdir -p $service/$DB_PATH
chown -R $USER_ID:$USER_ID $service/$CONFIG_PATH
chown -R $USER_ID:$USER_ID $service/$LOG_PATH
chown -R $USER_ID:$USER_ID $service/$DB_PATH
cd $BASE_PATH/$base_service
ln -sfT $VERSION/$CONFIG_PATH $CONFIG_PATH
ln -sfT $VERSION/$LOG_PATH $LOG_PATH
ln -sfT $VERSION/$DB_PATH $DB_PATH
done
cd $CURR_DIR
chown -R $USER_ID:$USER_ID $BASE_PATH
echo "Appending NFS path and Worker Node Subnet to exports configuration file if export directory does not exist"
grep -qx "${BASE_PATH}/ ${WORKER_NODE_SUBNET}(rw,sync,no_all_squash,root_squash)" /etc/exports || echo "${BASE_PATH}/ ${WORKER_NODE_SUBNET}(rw,sync,no_all_squash,root_squash)" >> /etc/exports
echo "Restarting nfs-utils & exporting"
nohup service nfs-utils restart
exportfs -arv
if [ "$OS" == "ubuntu" ]; then
nohup service nfs-kernel-server restart
fi