Fixes FDIO kernel settings 33/20633/1
authorTim Rozet <trozet@redhat.com>
Fri, 2 Sep 2016 18:44:47 +0000 (14:44 -0400)
committerTim Rozet <trozet@redhat.com>
Thu, 8 Sep 2016 04:39:18 +0000 (04:39 +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 943716b..0357ba0 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 30fd5e6..53c7eef 100755 (executable)
@@ -140,7 +140,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