5d8ae1ed722375ea1b9b9cc0302d6dda9812158f
[samplevnf.git] / VNFs / DPPD-PROX / helper-scripts / rapid / check_prox_system_setup.sh
1 #!/usr/bin/env bash
2 ##
3 ## Copyright (c) 2010-2020 Intel Corporation
4 ##
5 ## Licensed under the Apache License, Version 2.0 (the "License");
6 ## you may not use this file except in compliance with the License.
7 ## You may obtain a copy of the License at
8 ##
9 ##     http://www.apache.org/licenses/LICENSE-2.0
10 ##
11 ## Unless required by applicable law or agreed to in writing, software
12 ## distributed under the License is distributed on an "AS IS" BASIS,
13 ## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 ## See the License for the specific language governing permissions and
15 ## limitations under the License.
16 ##
17 NCPUS="$(lscpu | egrep '^CPU\(s\):' | awk '{ print $2 }')"
18 MAXCOREID="$((NCPUS-1))"
19
20 filename="/etc/tuned/realtime-virtual-guest-variables.conf"
21 logfile="/opt/rapid/prox_system_setup.log"
22 if [ -f "$filename" ]
23 then
24     while read -r line
25     do
26         case $line in
27             isolated_cores=1-$MAXCOREID*)
28                 echo "Isolated CPU(s) OK, no reboot: $line">>$logfile
29                 sed -i 's/PubkeyAuthentication no/PubkeyAuthentication yes/g' /etc/ssh/sshd_config
30                 service sshd restart
31                 modprobe uio
32                 insmod /opt/rapid/dpdk/build/kmod/igb_uio.ko
33                 exit 0
34             ;;
35             isolated_cores=*)
36                 echo "Isolated CPU(s) NOK, change the config and reboot: $line">>$logfile
37                 sed -i "/^isolated_cores=.*/c\isolated_cores=1-$MAXCOREID" $filename
38                 tuned-adm profile realtime-virtual-guest
39                 reboot
40                 exit 0
41             ;;
42             *)
43                 echo "$line"
44             ;;
45         esac
46     done < "$filename"
47     echo "isolated_cores=1-$MAXCOREID" >> $filename
48     echo "No Isolated CPU(s) defined in config, line added: $line">>$logfile
49     tuned-adm profile realtime-virtual-guest
50     reboot
51 else
52     echo "$filename not found.">>$logfile
53 fi
54