7d66bd39bc9786f4ce2773a82baa13f47a267410
[samplevnf.git] / VNFs / DPPD-PROX / helper-scripts / rapid / check_prox_system_setup.sh
1 #!/usr/bin/env bash
2 ##
3 ## Copyright (c) 2010-2019 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="/home/centos/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                                 modprobe uio
30                                 insmod /root/dpdk/build/kmod/igb_uio.ko
31                                 exit 0
32                         ;;
33                         isolated_cores=*)
34                                 echo "Isolated CPU(s) NOK, change the config and reboot: $line">>$logfile
35                                 sed -i "/^isolated_cores=.*/c\isolated_cores=1-$MAXCOREID" $filename
36                                 tuned-adm profile realtime-virtual-guest
37                                 reboot
38                                 exit 0
39                         ;;
40                         *)
41                                 echo "$line"
42                         ;;
43                 esac
44         done < "$filename"
45         echo "isolated_cores=1-$MAXCOREID" >> $filename
46         echo "No Isolated CPU(s) defined in config, line added: $line">>$logfile
47         tuned-adm profile realtime-virtual-guest
48         reboot
49 else
50         echo "$filename not found.">>$logfile
51 fi
52