blob: 8c7c12e256830b6e46540a4e8e30b8b36dae99e2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#!/usr/bin/env bash
set -o errexit
set -o pipefail
# set vars from env if not provided by user as options
installer_key_file=${installer_key_file:-$HOME/installer_key_file}
opnfv_installer=${opnfv_installer:-$HOME/opnfv-installer.sh}
# Fetch INSTALLER_IP for APEX deployments
if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
echo "Gathering IP information for Apex installer VM"
ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
if sudo virsh list | grep undercloud; then
echo "Installer VM detected"
undercloud_mac=$(sudo virsh domiflist undercloud | grep default | \
grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+")
export INSTALLER_IP=$(/usr/sbin/arp -e | grep ${undercloud_mac} | awk {'print $1'})
echo "Installer ip is ${INSTALLER_IP}"
else
echo "No available installer VM exists and no credentials provided...exiting"
exit 1
fi
sudo cp /root/.ssh/id_rsa ${installer_key_file}
sudo chown `whoami`:`whoami` ${installer_key_file}
elif [[ ${INSTALLER_TYPE} == 'daisy' ]]; then
echo "Gathering IP information for Daisy installer VM"
if sudo virsh list | grep daisy; then
echo "Installer VM detected"
bridge_name=$(sudo virsh domiflist daisy | grep vnet | awk '{print $3}')
echo "Bridge is $bridge_name"
installer_mac=$(sudo virsh domiflist daisy | grep vnet | \
grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+")
export INSTALLER_IP=$(/usr/sbin/arp -e -i $bridge_name | grep ${installer_mac} | head -n 1 | awk {'print $1'})
echo "Installer ip is ${INSTALLER_IP}"
else
echo "No available installer VM exists...exiting"
exit 1
fi
fi
# Checking if destination path is valid
if [ -d $opnfv_installer ]; then
error "Please provide the full destination path for the installer ip file including the filename"
else
# Check if we can create the file (e.g. path is correct)
touch $opnfv_installer || error "Cannot create the file specified. Check that the path is correct and run the script again."
fi
# Write the installer info to the file
echo export INSTALLER_TYPE=${INSTALLER_TYPE} > $opnfv_installer
echo export INSTALLER_IP=${INSTALLER_IP} >> $opnfv_installer
echo export SSH_KEY=${installer_key_file} >> $opnfv_installer
|