X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=tests%2Flib%2Finstallers%2Fapex;h=d9c41f80323d94b931400d32e97fb8315c9ba0fb;hb=7c34d9ecbd17053ca9d14cc518b11e501b66cbeb;hp=54b3dce2bed5967ffd5524006f98799ef5826bb6;hpb=83076cf49ebd8ded4d5d5e9667fcd8e9e9be4172;p=doctor.git diff --git a/tests/lib/installers/apex b/tests/lib/installers/apex index 54b3dce2..d9c41f80 100644 --- a/tests/lib/installers/apex +++ b/tests/lib/installers/apex @@ -1,24 +1,51 @@ #!/bin/bash +COMPUTE_USER=${COMPUTE_USER:-heat-admin} +ssh_opts_cpu="$ssh_opts -i instack_key" + function get_installer_ip { - local instack_mac=$(sudo virsh domiflist instack | awk '/default/{print $5}') - INSTALLER_IP=$(/usr/sbin/arp -e | grep ${instack_mac} | awk '{print $1}') - die_if_not_set $LINENO $INSTALLER_IP "No installer IP" + is_set INSTALLER_IP && return + INSTALLER_IP=$(get_first_vnic_ip instack) } function installer_get_ssh_keys { - sudo scp $ssh_opts root@"$INSTALLER_IP":/home/stack/.ssh/id_rsa instack_key + sudo scp $ssh_opts "root@$INSTALLER_IP:/home/stack/.ssh/id_rsa" instack_key sudo chown $(whoami):$(whoami) instack_key chmod 400 instack_key - ssh_opts_cpu+=" -i instack_key" } -function installer_apply_patches { - # Noop - return +function get_controller_ips { + is_set CONTROLLER_IPS && return + get_installer_ip + CONTROLLER_IPS=$(sudo ssh $ssh_opts $INSTALLER_IP \ + "source stackrc + nova list | grep ' overcloud-controller-[0-9] ' | \ + sed -e 's/^.*ctlplane=//' -e 's/ *|\$//'") + die_if_not_set $LINENO CONTROLLER_IPS "No controller IPs" +} + +function setup_installer { + get_installer_ip + installer_get_ssh_keys + get_controller_ips + + # NOTE: while executing command as doctor user, + # 'OS_PROJECT_ID' env parameter make openstack clients confused. + unset OS_PROJECT_ID +} + +function get_compute_ip_from_hostname { + local compute_host=$1 + + compute_host_in_undercloud=${compute_host%%.*} + COMPUTE_IP=$(sudo ssh $ssh_opts $INSTALLER_IP \ + "source stackrc; + nova show $compute_host_in_undercloud | \ + awk '/ ctlplane network /{print \$5}'") + die_if_not_set $LINENO COMPUTE_IP "Could get IP address of $compute_host." } -function cleanup_installer_apex { +function cleanup_installer { # Noop return }