84e2f70fdf51755caef62a43cf40c65083df80e2
[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                 FILE=/opt/rapid/after_boot.sh
30                 if test -f "$FILE"; then
31                   ("$FILE")
32                   echo "Executing: $FILE">>$logfile
33                 fi
34                 touch /opt/rapid/system_ready_for_rapid
35                 exit 0
36             ;;
37             isolated_cores=*)
38                 echo "Isolated CPU(s) NOK, change the config and reboot: $line">>$logfile
39                 sed -i "/^isolated_cores=.*/c\isolated_cores=1-$MAXCOREID" $filename
40                 tuned-adm profile realtime-virtual-guest
41                 reboot
42                 exit 0
43             ;;
44             *)
45                 echo "$line"
46             ;;
47         esac
48     done < "$filename"
49     echo "isolated_cores=1-$MAXCOREID" >> $filename
50     echo "No Isolated CPU(s) defined in config, line added: $line">>$logfile
51     tuned-adm profile realtime-virtual-guest
52     reboot
53 else
54     echo "$filename not found.">>$logfile
55 fi
56