Adds declaring disk device to use on overcloud nodes
[apex.git] / lib / undercloud-functions.sh
index 6ba9a54..6f7addb 100755 (executable)
@@ -71,12 +71,12 @@ function setup_undercloud_vm {
   CNT=10
   echo -n "${blue}Waiting for Undercloud's dhcp address${reset}"
   undercloud_mac=$(virsh domiflist undercloud | grep default | awk '{ print $5 }')
-  while ! $(arp -e | grep ${undercloud_mac} > /dev/null) && [ $CNT -gt 0 ]; do
+  while ! $(arp -en | grep ${undercloud_mac} > /dev/null) && [ $CNT -gt 0 ]; do
       echo -n "."
       sleep 10
       CNT=$((CNT-1))
   done
-  UNDERCLOUD=$(arp -e | grep ${undercloud_mac} | awk {'print $1'})
+  UNDERCLOUD=$(arp -en | grep ${undercloud_mac} | awk {'print $1'})
 
   if [ -z "$UNDERCLOUD" ]; then
     echo "\n\nCan't get IP for Undercloud. Can Not Continue."
@@ -207,6 +207,10 @@ openstack-config --set undercloud.conf DEFAULT undercloud_hostname "undercloud.$
 sudo openstack-config --set /etc/ironic/ironic.conf disk_utils iscsi_verify_attempts 30
 sudo openstack-config --set /etc/ironic/ironic.conf disk_partitioner check_device_max_retries 40
 
+if [[ -n "${deploy_options_array['ceph_device']}" ]]; then
+    sed -i '/ExtraConfig/a\\    ceph::profile::params::osds: {\\x27${deploy_options_array['ceph_device']}\\x27: {}}' ${ENV_FILE}
+fi
+
 sudo sed -i '/CephClusterFSID:/c\\  CephClusterFSID: \\x27$(cat /proc/sys/kernel/random/uuid)\\x27' /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml
 sudo sed -i '/CephMonKey:/c\\  CephMonKey: \\x27'"\$(ceph-authtool --gen-print-key)"'\\x27' /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml
 sudo sed -i '/CephAdminKey:/c\\  CephAdminKey: \\x27'"\$(ceph-authtool --gen-print-key)"'\\x27' /usr/share/openstack-tripleo-heat-templates/environments/storage-environment.yaml
@@ -249,6 +253,7 @@ sudo systemctl restart openstack-heat-api
 EOI
 
 # configure external network
+if [[ "$enabled_network_list" =~ "external" ]]; then
   ssh -T ${SSH_OPTIONS[@]} "root@$UNDERCLOUD" << EOI
 if [[ "$external_installer_vm_vlan" != "native" ]]; then
   cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-vlan${external_installer_vm_vlan}
@@ -270,6 +275,7 @@ else
   fi
 fi
 EOI
+fi
 
 # WORKAROUND: must restart the above services to fix sync problem with nova compute manager
 # TODO: revisit and file a bug if necessary. This should eventually be removed