Fixes FDIO kernel settings 69/20269/2
authorTim Rozet <trozet@redhat.com>
Fri, 2 Sep 2016 18:44:47 +0000 (14:44 -0400)
committerTim Rozet <trozet@redhat.com>
Wed, 7 Sep 2016 17:42:28 +0000 (17:42 +0000)
VPP was overriding kernel settings with its defaults for all deployments
by installing the VPP RPM.  This removes that file, and sets the
settings appropriately for the FDIO scenarios only, based on number of
huge pages per profile.

JIRA: APEX-255

Change-Id: If39b220a7c34cbfd673afe1881c1a9bdb3fdc2e0
Signed-off-by: Tim Rozet <trozet@redhat.com>
build/build_perf_image.sh
build/overcloud-full.sh
lib/overcloud-deploy-functions.sh

index a6ca066..68a1804 100644 (file)
@@ -32,5 +32,12 @@ fi
 
 if [ "$CATEGORY" == "kernel" ]; then
   echo "${KEY}=${VALUE}" >> $ROLE-kernel_params.txt
+  if [[ "$dataplane" == 'fdio' && "$KEY" == 'hugepages' ]]; then
+    # set kernel hugepages params for fdio
+    LIBGUESTFS_BACKEND=direct virt-customize --run-command "echo vm.hugetlb_shm_group=0 >> /usr/lib/sysctl.d/00-system.conf" \
+                                             --run-command "echo vm.max_map_count=$(printf "%.0f" $(echo 2.2*$VALUE | bc)) >> /usr/lib/sysctl.d/00-system.conf" \
+                                             --run-command "echo kernel.shmmax==$((VALUE * 2 * 1024 * 1024)) >> /usr/lib/sysctl.d/00-system.conf" \
+                                             -a ${IMAGE}
+  fi
 fi
 
index 5166bff..7843f21 100755 (executable)
@@ -130,6 +130,7 @@ LIBGUESTFS_BACKEND=direct virt-customize \
     --run-command "cd /usr/lib/python2.7/site-packages/congress/datasources && curl -O $doctor_driver" \
     --run-command "sed -i \"s/'--detailed-exitcodes',/'--detailed-exitcodes','-l','syslog','-l','console',/g\" /var/lib/heat-config/hooks/puppet" \
     --run-command "yum install -y /root/fdio/*.rpm" \
+    --run-command "rm -f /etc/sysctl.d/80-vpp.conf" \
     --run-command "tar zxvf /root/fdio/vpp_papi*.tar.gz -C /" \
     --install unzip \
     --upload puppet-fdio.tar.gz:/etc/puppet/modules \
index 1127f04..4d6bdad 100755 (executable)
@@ -137,7 +137,7 @@ EOI
     # Push performance options to subscript to modify per-role images as needed
     for option in "${performance_options[@]}" ; do
       echo -e "${blue}Setting performance option $option${reset}"
-      ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" "bash build_perf_image.sh $option"
+      ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" "dataplane=${deploy_options_array['dataplane']} bash build_perf_image.sh $option"
     done
 
     # Build IPA kernel option ramdisks