Merge "Fix network_isolation argparse issue"
[apex.git] / lib / overcloud-deploy-functions.sh
index c717733..2d35232 100755 (executable)
@@ -71,7 +71,7 @@ function overcloud_deploy {
   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
+  if [[ "${deploy_options_array['dataplane']}" == 'ovs_dpdk' || "${deploy_options_array['dataplane']}" == 'fdio' ]]; then
     # install dpdk packages before ovs
     echo -e "${blue}INFO: Enabling kernel modules for dpdk inside overcloud image${reset}"
 
@@ -90,14 +90,25 @@ EOF
                                                --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" \
-                                               --run-command "yum install -y /root/dpdk_rpms/*" \
                                                -a overcloud-full.qcow2
+
+      if [ "${deploy_options_array['dataplane']}" == 'fdio' ]; then
+        sed -i '/FdioEnabled:/c\  FdioEnabled: true' opnfv-environment.yaml
+      else
+        LIBGUESTFS_BACKEND=direct virt-customize --run-command "yum install -y /root/dpdk_rpms/*" \
+                                                 -a overcloud-full.qcow2
+      fi
 EOI
+
   elif [ "${deploy_options_array['dataplane']}" != 'ovs' ]; then
     echo "${red}${deploy_options_array['dataplane']} not supported${reset}"
     exit 1
   fi
 
+  if [ "$debug" == 'TRUE' ]; then
+    ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" "LIBGUESTFS_BACKEND=direct virt-customize -a overcloud-full.qcow2 --root-password password:opnfvapex"
+  fi
+
   # Set ODL version accordingly
   if [[ "${deploy_options_array['sdn_controller']}" == 'opendaylight' && "${deploy_options_array['odl_version']}" == 'boron' ]]; then
     ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI
@@ -148,6 +159,12 @@ find . | cpio -o -H newc | gzip > /home/stack/Controller-ironic-python-agent.ini
 chown stack /home/stack/Controller-ironic-python-agent.initramfs
 popd
 /bin/rm -rf ipa/
+EOI
+
+    # set NIC heat params and resource registry
+    ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI
+sed -i '/TenantNIC:/c\  TenantNIC: '${private_network_compute_interface} opnfv-environment.yaml
+sed -i '/PublicNIC:/c\  PublicNIC: '${public_network_compute_interface} opnfv-environment.yaml
 EOI
 
     DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/numa.yaml"
@@ -195,12 +212,24 @@ EOI
   echo -e "${blue}INFO: Deploy options set:\n${DEPLOY_OPTIONS}${reset}"
 
   ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI
-if [ "$debug" == 'TRUE' ]; then
-    LIBGUESTFS_BACKEND=direct virt-customize -a overcloud-full.qcow2 --root-password password:opnfvapex
+if [ "${deploy_options_array['tacker']}" == 'False' ]; then
+    sed -i '/EnableTacker:/c\  EnableTacker: false' opnfv-environment.yaml
 fi
 
+# Create a key for use by nova for live migration
+echo "Creating nova SSH key for nova resize support"
+ssh-keygen -f nova_id_rsa -b 1024 -P ""
+public_key=\'\$(cat nova_id_rsa.pub | cut -d ' ' -f 2)\'
+sed -i "s#replace_public_key:#key: \$public_key#g" opnfv-environment.yaml
+python -c 'open("opnfv-environment-new.yaml", "w").write((open("opnfv-environment.yaml").read().replace("replace_private_key:", "key: \"" + "".join(open("nova_id_rsa").readlines()).replace("\\n","\\\n") + "\"")))'
+mv -f opnfv-environment-new.yaml opnfv-environment.yaml
+
 source stackrc
 set -o errexit
+# Workaround for APEX-207 where sometimes swift proxy is down
+if ! sudo systemctl status openstack-swift-proxy > /dev/null; then
+  sudo systemctl restart openstack-swift-proxy
+fi
 echo "Uploading overcloud glance images"
 openstack overcloud image upload