X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=lib%2Fovercloud-deploy-functions.sh;h=53c7eef2f47134c89c599d40f671488d28016b11;hb=c77e001c8334e48520fca2cf17c72b4aa044f84c;hp=df17750b5c4aeda4c47971411b7c7e1540e7b079;hpb=92ecd83a55059b938ea92bfe0c351621f0826f2c;p=apex.git diff --git a/lib/overcloud-deploy-functions.sh b/lib/overcloud-deploy-functions.sh index df17750b..53c7eef2 100755 --- a/lib/overcloud-deploy-functions.sh +++ b/lib/overcloud-deploy-functions.sh @@ -11,6 +11,9 @@ ##preping it for deployment and launch the deploy ##params: none function overcloud_deploy { + local num_compute_nodes + local num_control_nodes + if [[ "${#deploy_options_array[@]}" -eq 0 || "${deploy_options_array['sdn_controller']}" == 'opendaylight' ]]; then if [ "${deploy_options_array['sdn_l3']}" == 'True' ]; then DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/opendaylight_l3.yaml" @@ -94,6 +97,9 @@ EOF if [ "${deploy_options_array['dataplane']}" == 'fdio' ]; then sudo sed -i '/FdioEnabled:/c\ FdioEnabled: true' /usr/share/openstack-tripleo-heat-templates/environments/numa.yaml + LIBGUESTFS_BACKEND=direct virt-customize --run-command "cp -f /root/fdio_neutron_l3/namespaces.py /usr/lib/python2.7/site-packages/neutron/agent/l3/" \ + --run-command "cp -f /root/fdio_neutron_l3/router_info.py /usr/lib/python2.7/site-packages/neutron/agent/l3/" \ + -a overcloud-full.qcow2 if [ "${deploy_options_array['sdn_controller']}" == 'opendaylight' ]; then LIBGUESTFS_BACKEND=direct virt-customize --run-command "cd /root/ && tar zxvf networking-odl.tar.gz" \ --run-command "cd /root/networking-odl && git init && pip install -r requirements.txt" \ @@ -134,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 @@ -179,24 +185,33 @@ EOI # make sure ceph is installed DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml" - # scale compute nodes according to inventory - total_nodes=$(ssh -T ${SSH_OPTIONS[@]} "root@$UNDERCLOUD" "cat /home/stack/instackenv.json | grep -c memory") + # get number of nodes available in inventory + num_control_nodes=$(ssh -T ${SSH_OPTIONS[@]} "root@$UNDERCLOUD" "grep -c profile:control /home/stack/instackenv.json") + num_compute_nodes=$(ssh -T ${SSH_OPTIONS[@]} "root@$UNDERCLOUD" "grep -c profile:compute /home/stack/instackenv.json") # check if HA is enabled if [[ "$ha_enabled" == "True" ]]; then - DEPLOY_OPTIONS+=" --control-scale 3" - compute_nodes=$((total_nodes - 3)) + if [ "$num_control_nodes" -lt 3 ]; then + echo -e "${red}ERROR: Number of control nodes in inventory is less than 3 and HA is enabled: ${num_control_nodes}. Check your inventory file.${reset}" + exit 1 + else + DEPLOY_OPTIONS+=" --control-scale ${num_control_nodes}" DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/puppet-pacemaker.yaml" + echo -e "${blue}INFO: Number of control nodes set for deployment: ${num_control_nodes}${reset}" + fi else - compute_nodes=$((total_nodes - 1)) + if [ "$num_control_nodes" -lt 1 ]; then + echo -e "${red}ERROR: Number of control nodes in inventory is less than 1: ${num_control_nodes}. Check your inventory file.${reset}" + exit 1 + fi fi - if [ "$compute_nodes" -le 0 ]; then - echo -e "${red}ERROR: Invalid number of compute nodes: ${compute_nodes}. Check your inventory file.${reset}" + if [ "$num_compute_nodes" -le 0 ]; then + echo -e "${red}ERROR: Invalid number of compute nodes: ${num_compute_nodes}. Check your inventory file.${reset}" exit 1 else - echo -e "${blue}INFO: Number of compute nodes set for deployment: ${compute_nodes}${reset}" - DEPLOY_OPTIONS+=" --compute-scale ${compute_nodes}" + echo -e "${blue}INFO: Number of compute nodes set for deployment: ${num_compute_nodes}${reset}" + DEPLOY_OPTIONS+=" --compute-scale ${num_compute_nodes}" fi if [[ "$net_isolation_enabled" == "TRUE" ]]; then