Add required kernel modules for dpdk 53/15053/6
authorMichael Chapman <woppin@gmail.com>
Thu, 2 Jun 2016 05:03:47 +0000 (15:03 +1000)
committerMichael Chapman <woppin@gmail.com>
Wed, 8 Jun 2016 21:50:04 +0000 (07:50 +1000)
vfio_pci and uio_pci_generic are required for dpdk, and will now
be available on boot.

Change-Id: Ie91d0e66d2b797d909944df662f9f087f36630a1
Signed-off-by: Michael Chapman <woppin@gmail.com>
Signed-off-by: Tim Rozet <trozet@redhat.com>
ci/deploy.sh

index 1a84421..5f53053 100755 (executable)
@@ -821,6 +821,31 @@ function undercloud_prep_overcloud_deploy {
   ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" "rm -f overcloud-full.qcow2"
   scp ${SSH_OPTIONS[@]} $RESOURCES/overcloud-full-${SDN_IMAGE}.qcow2 "stack@$UNDERCLOUD":overcloud-full.qcow2
 
+  # Install ovs-dpdk inside the overcloud image if it is enabled.
+  if [ "${deploy_options_array['dataplane']}" == 'ovs_dpdk' ]; then
+    # install dpdk packages before ovs
+    echo -e "${blue}INFO: Enabling kernel modules for dpdk inside overcloud image${reset}"
+
+    ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI
+      cat << EOF > vfio_pci.modules
+#!/bin/bash
+exec /sbin/modprobe vfio_pci >/dev/null 2>&1
+EOF
+
+      cat << EOF > uio_pci_generic.modules
+#!/bin/bash
+exec /sbin/modprobe uio_pci_generic >/dev/null 2>&1
+EOF
+
+      LIBGUESTFS_BACKEND=direct virt-customize --upload vfio_pci.modules:/etc/sysconfig/modules/ \
+                                               --upload uio_pci_generic.modules:/etc/sysconfig/modules/ \
+                                               --run-command "chmod 0755 /etc/sysconfig/modules/vfio_pci.modules" \
+                                               --run-command "chmod 0755 /etc/sysconfig/modules/uio_pci_generic.modules" \
+                                               -a overcloud-full.qcow2
+EOI
+
+  fi
+
   # Add performance deploy options if they have been set
   if [ ! -z "${deploy_options_array['performance']}" ]; then