diff --git a/ansible/gather/group_vars/all.yml b/ansible/gather/group_vars/all.yml index 451d6a401..abf719aaa 100644 --- a/ansible/gather/group_vars/all.yml +++ b/ansible/gather/group_vars/all.yml @@ -1,11 +1,11 @@ --- # Adjust Browbeat user if you are deploying Browbeat on a different machine than the Undercloud -browbeat_user: stack +browbeat_user: "{{ ansible_user | default('stack') }}" # Login user for the local/jump machine (Typically Undercloud) -local_remote_user: stack +local_remote_user: "{{ ansible_user | default('stack') }}" # Login user for the Overcloud hosts host_remote_user: heat-admin -home_dir: "/home/{{browbeat_user}}" -browbeat_path: "{{home_dir}}/browbeat" +home_dir: "/home/{{ browbeat_user }}" +browbeat_path: "{{ home_dir }}/browbeat" diff --git a/ansible/generate_tripleo_hostfile.sh b/ansible/generate_tripleo_hostfile.sh index d9d4d8059..cce14b6a0 100755 --- a/ansible/generate_tripleo_hostfile.sh +++ b/ansible/generate_tripleo_hostfile.sh @@ -7,11 +7,13 @@ function usage echo "Usage: generate_tripleo_hostfile.sh" echo " [-t | --tripleo_ip_address [-l | --localhost]]" echo " [-o | --overcloud_stack_name ]" + echo " [-u | --user ]" echo " [-c | --ceph_stack_name ]" echo " [-h | --help]" echo "Generates ssh config file to use with an TripleO undercloud host as a jumpbox and creates ansible inventory file." } +user="stack" uncomment_localhost=false tripleo_ip_address= overcloud_name="overcloud" @@ -25,6 +27,10 @@ while [ "$1" != "" ]; do shift tripleo_ip_address=$1 ;; + -u | --user ) + shift + user=$1 + ;; -o | --overcloud_stack_name ) shift overcloud_name=$1 @@ -52,77 +58,77 @@ ssh_config_file=${DIR}'/ssh-config' # "Hackish" copy ssh key to self if we are on directly on the undercloud machine: if [[ "${tripleo_ip_address}" == "localhost" ]]; then - cat ~stack/.ssh/id_rsa.pub >> ~stack/.ssh/authorized_keys - chmod 0600 ~stack/.ssh/authorized_keys - sudo bash -c "cat ~stack/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys" + cat "${HOME}/.ssh/id_rsa.pub" >> "${HOME}/.ssh/authorized_keys" + chmod 0600 "${HOME}/.ssh/authorized_keys" + sudo bash -c "cat ${HOME}/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys" sudo bash -c "chmod 0600 /root/.ssh/authorized_keys" fi # Check if there are any clouds built. -clouds=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; openstack stack list | grep -i -E '$overcloud_name'") +clouds=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; openstack stack list | grep -i -E '$overcloud_name'") if [ ${#clouds} -gt 0 ]; then - nodes=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; openstack server list 2>/dev/null | grep -i -E 'active|running'") + nodes=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; openstack server list 2>/dev/null | grep -i -E 'active|running'") if [ ${#nodes} -lt 1 ]; then echo "ERROR: nova list failed to execute properly, please check the openstack-nova-api on the undercloud." exit 1 fi - ironic_uuids=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; openstack baremetal node list > >(grep -i -E 'active|running') 2>/dev/null") - controller_id=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show $overcloud_name Controller > >(grep physical_resource_id) 2>/dev/null" | awk '{print $4}') + ironic_uuids=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; openstack baremetal node list > >(grep -i -E 'active|running') 2>/dev/null") + controller_id=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show $overcloud_name Controller > >(grep physical_resource_id) 2>/dev/null" | awk '{print $4}') if [ ${#controller_id} -lt 3 ]; then echo "Error: Controller ID is not reporting correctly. Please see check the openstack-heat-api on the undercloud." exit 1 fi - controller_ids=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; openstack stack resource list ${controller_id} > >(grep -i controller) 2>/dev/null" | awk '{print $2}') + controller_ids=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; openstack stack resource list ${controller_id} > >(grep -i controller) 2>/dev/null" | awk '{print $2}') if [ ${#controller_ids} -lt 1 ]; then echo "Error: Controller IDs is not reporting correctly. Please see check the openstack-heat-api on the undercloud." exit 1 fi - networker_id=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show $overcloud_name Networker > >(grep physical_resource_id) 2>/dev/null" | awk '{print $4}') + networker_id=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show $overcloud_name Networker > >(grep physical_resource_id) 2>/dev/null" | awk '{print $4}') if [ ${#networker_id} -lt 3 ]; then echo "Info: No Networker resources." else - networker_ids=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; openstack stack resource list ${networker_id} > >(grep -i networker) 2>/dev/null" | awk '{print $2}') + networker_ids=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; openstack stack resource list ${networker_id} > >(grep -i networker) 2>/dev/null" | awk '{print $2}') if [ ${#networker_ids} -lt 1 ]; then echo "Info: No Networker resources." fi fi - blockstorage_id=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show $overcloud_name BlockStorage > >(grep physical_resource_id) 2>/dev/null" | awk '{print $4}') + blockstorage_id=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show $overcloud_name BlockStorage > >(grep physical_resource_id) 2>/dev/null" | awk '{print $4}') if [ ${#blockstorage_id} -lt 3 ]; then echo "Info: No BlockStorage resources." else - blockstorage_ids=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; openstack stack resource list ${blockstorage_id} > >(grep -i blockstorage) 2>/dev/null" | awk '{print $2}') + blockstorage_ids=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; openstack stack resource list ${blockstorage_id} > >(grep -i blockstorage) 2>/dev/null" | awk '{print $2}') if [ ${#blockstorage_ids} -lt 1 ]; then echo "Info: No BlockStorage resources." fi fi - objectstorage_id=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show $overcloud_name ObjectStorage > >(grep physical_resource_id) 2>/dev/null" | awk '{print $4}') + objectstorage_id=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show $overcloud_name ObjectStorage > >(grep physical_resource_id) 2>/dev/null" | awk '{print $4}') if [ ${#objectstorage_id} -lt 3 ]; then echo "Info: No ObjectStorage resources." else - objectstorage_ids=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; openstack stack resource list ${objectstorage_id} > >(grep -i objectstorage) 2>/dev/null" | awk '{print $2}') + objectstorage_ids=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; openstack stack resource list ${objectstorage_id} > >(grep -i objectstorage) 2>/dev/null" | awk '{print $2}') if [ ${#objectstorage_ids} -lt 1 ]; then echo "Info: No ObjectStorage resources." fi fi - cephstorage_id=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show $ceph_stack_name CephStorage > >(grep physical_resource_id) 2>/dev/null" | awk '{print $4}') + cephstorage_id=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show $ceph_stack_name CephStorage > >(grep physical_resource_id) 2>/dev/null" | awk '{print $4}') if [ ${#cephstorage_id} -lt 3 ]; then echo "Info: No CephStorage resources." else - cephstorage_ids=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; openstack stack resource list ${cephstorage_id} > >(grep -i cephstorage) 2>/dev/null" | awk '{print $2}') + cephstorage_ids=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; openstack stack resource list ${cephstorage_id} > >(grep -i cephstorage) 2>/dev/null" | awk '{print $2}') if [ ${#cephstorage_ids} -lt 1 ]; then echo "Info: No CephStorage resources." fi fi - compute_resources=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; openstack stack resource list $overcloud_name" | awk '{print $2}' | egrep -i 'Compute$|hci$') - for resource in $compute_resources; do compute_resources_arr+=($(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show $overcloud_name $resource | grep physical_resource_id")); done + compute_resources=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; openstack stack resource list $overcloud_name" | awk '{print $2}' | egrep -i 'Compute$|hci$') + for resource in $compute_resources; do compute_resources_arr+=($(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show $overcloud_name $resource | grep physical_resource_id")); done compute_resource_ids=$(for id in ${compute_resources_arr[@]}; do echo $id | grep -v '|' | grep -v physical_resource_id; done) if [ ${#compute_resource_ids} -lt 3 ]; then echo "Info: No compute resources" else for compute_id in $compute_resource_ids; do - compute_ids+=($(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; openstack stack resource list ${compute_id} > >(grep -i compute) 2>/dev/null" | awk '{print $2}')) + compute_ids+=($(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; openstack stack resource list ${compute_id} > >(grep -i compute) 2>/dev/null" | awk '{print $2}')) done compute_ids=$(for id in ${compute_ids[@]}; do echo $id; done) if [ ${#compute_ids} -lt 1 ]; then @@ -130,60 +136,60 @@ if [ ${#clouds} -gt 0 ]; then fi fi - version_tripleo=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} "rpm -qa | egrep 'openstack-tripleo-heat-templates-[[:digit:]]'" | awk -F- '{print $5}' | awk -F. '{print $1}') + version_tripleo=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} "rpm -qa | egrep 'openstack-tripleo-heat-templates-[[:digit:]]'" | awk -F- '{print $5}' | awk -F. '{print $1}') controller_uuids=() for controller in ${controller_ids} do if [[ ${version_tripleo} -lt 2 ]] ; then - controller_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; heat resource-show ${controller_id} ${controller} | grep -i nova_server_resource" | awk '{print $4}') + controller_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; heat resource-show ${controller_id} ${controller} | grep -i nova_server_resource" | awk '{print $4}') else - controller_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show ${controller_id} ${controller} > >(grep -oP \"'nova_server_resource': u'([a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+)'\") 2>/dev/null" | awk '{print $2}' | grep -oP [a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+) + controller_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show ${controller_id} ${controller} > >(grep -oP \"'nova_server_resource': u'([a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+)'\") 2>/dev/null" | awk '{print $2}' | grep -oP [a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+) fi done networker_uuids=() for networker in ${networker_ids} do if [[ ${version_tripleo} -lt 2 ]] ; then - networker_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; heat resource-show ${networker_id} ${networker} | grep -i nova_server_resource" | awk '{print $4}') + networker_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; heat resource-show ${networker_id} ${networker} | grep -i nova_server_resource" | awk '{print $4}') else - networker_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show ${networker_id} ${networker} > >(grep -oP \"'nova_server_resource': u'([a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+)'\") 2>/dev/null" | awk '{print $2}' | grep -oP [a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+) + networker_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show ${networker_id} ${networker} > >(grep -oP \"'nova_server_resource': u'([a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+)'\") 2>/dev/null" | awk '{print $2}' | grep -oP [a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+) fi done blockstorage_uuids=() for blockstorage in ${blockstorage_ids} do if [[ ${version_tripleo} -lt 2 ]] ; then - blockstorage_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; heat resource-show ${blockstorage_id} ${blockstorage} | grep -i nova_server_resource" | awk '{print $4}') + blockstorage_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; heat resource-show ${blockstorage_id} ${blockstorage} | grep -i nova_server_resource" | awk '{print $4}') else - blockstorage_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show ${blockstorage_id} ${blockstorage} > >(grep -oP \"'nova_server_resource': u'([a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+)'\") 2>/dev/null" | awk '{print $2}' | grep -oP [a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+) + blockstorage_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show ${blockstorage_id} ${blockstorage} > >(grep -oP \"'nova_server_resource': u'([a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+)'\") 2>/dev/null" | awk '{print $2}' | grep -oP [a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+) fi done objectstorage_uuids=() for objectstorage in ${objectstorage_ids} do if [[ ${version_tripleo} -lt 2 ]] ; then - objectstorage_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; heat resource-show ${objectstorage_id} ${objectstorage} | grep -i nova_server_resource" | awk '{print $4}') + objectstorage_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; heat resource-show ${objectstorage_id} ${objectstorage} | grep -i nova_server_resource" | awk '{print $4}') else - objectstorage_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show ${objectstorage_id} ${objectstorage} > >(grep -oP \"'nova_server_resource': u'([a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+)'\") 2>/dev/null" | awk '{print $2}' | grep -oP [a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+) + objectstorage_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show ${objectstorage_id} ${objectstorage} > >(grep -oP \"'nova_server_resource': u'([a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+)'\") 2>/dev/null" | awk '{print $2}' | grep -oP [a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+) fi done cephstorage_uuids=() for cephstorage in ${cephstorage_ids} do if [[ ${version_tripleo} -lt 2 ]] ; then - cephstorage_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; heat resource-show ${cephstorage_id} ${cephstorage} | grep -i nova_server_resource" | awk '{print $4}') + cephstorage_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; heat resource-show ${cephstorage_id} ${cephstorage} | grep -i nova_server_resource" | awk '{print $4}') else - cephstorage_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show ${cephstorage_id} ${cephstorage} > >(grep -oP \"'nova_server_resource': u'([a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+)'\") 2>/dev/null" | awk '{print $2}' | grep -oP [a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+) + cephstorage_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show ${cephstorage_id} ${cephstorage} > >(grep -oP \"'nova_server_resource': u'([a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+)'\") 2>/dev/null" | awk '{print $2}' | grep -oP [a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+) fi done compute_uuids=() for compute in ${compute_ids} do if [[ ${version_tripleo} -lt 2 ]] ; then - compute_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; heat resource-show ${compute_id} ${compute} | grep -i nova_server_resource" | awk '{print $4}') + compute_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; heat resource-show ${compute_id} ${compute} | grep -i nova_server_resource" | awk '{print $4}') else for compute_id in $compute_resource_ids; do - compute_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" stack@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show ${compute_id} ${compute} > >(grep -oP \"'nova_server_resource': u'([a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+)'\") 2>/dev/null" | awk '{print $2}' | grep -oP [a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+) + compute_uuids+=$(ssh -tt -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" ${user}@${tripleo_ip_address} ". ~/stackrc; openstack stack resource show ${compute_id} ${compute} > >(grep -oP \"'nova_server_resource': u'([a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+)'\") 2>/dev/null" | awk '{print $2}' | grep -oP [a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+-[a-z0-9]+) done fi done @@ -245,7 +251,7 @@ elif grep -q $uuid <<< {$networker_uuids}; then fi echo "" | tee -a ${ssh_config_file} echo "Host ${host}" | tee -a ${ssh_config_file} - echo " ProxyCommand ssh -F ${ssh_config_file} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o ConnectTimeout=60 -i ~/.ssh/id_rsa stack@${tripleo_ip_address} -W ${IP}:22" | tee -a ${ssh_config_file} + echo " ProxyCommand ssh -F ${ssh_config_file} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o ConnectTimeout=60 -i ~/.ssh/id_rsa ${user}@${tripleo_ip_address} -W ${IP}:22" | tee -a ${ssh_config_file} echo " User heat-admin" | tee -a ${ssh_config_file} echo " IdentityFile ${DIR}/heat-admin-id_rsa" | tee -a ${ssh_config_file} echo " StrictHostKeyChecking no" | tee -a ${ssh_config_file} @@ -466,4 +472,4 @@ echo "---------------------------" echo "Copying heat-admin key to local machine(~/.ssh/heat-admin-id_rsa) to for use with ssh config file" echo "---------------------------" echo "" -scp -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" "stack@${tripleo_ip_address}":/home/stack/.ssh/id_rsa heat-admin-id_rsa +scp -o "UserKnownHostsFile /dev/null" -o "StrictHostKeyChecking no" "${user}@${tripleo_ip_address}":/home/${user}/.ssh/id_rsa heat-admin-id_rsa diff --git a/ansible/install/group_vars/all.yml b/ansible/install/group_vars/all.yml index 8eefd23a1..6a77c43b6 100644 --- a/ansible/install/group_vars/all.yml +++ b/ansible/install/group_vars/all.yml @@ -5,9 +5,9 @@ ######################################## # Adjust Browbeat user if you are deploying Browbeat on a different machine than the Undercloud -browbeat_user: stack +browbeat_user: "{{ ansible_user | default('stack') }}" # Login user for the local/jump machine (Typically Undercloud) -local_remote_user: stack +local_remote_user: "{{ ansible_user | default('stack') }}" # Login user for the Overcloud hosts host_remote_user: heat-admin diff --git a/ansible/install/roles/browbeat/tasks/main.yml b/ansible/install/roles/browbeat/tasks/main.yml index 41174e0f0..9622f6189 100644 --- a/ansible/install/roles/browbeat/tasks/main.yml +++ b/ansible/install/roles/browbeat/tasks/main.yml @@ -42,6 +42,16 @@ version: 15.2.0 - name: setuptools version: 38.7.0 + when: ansible_user != "zuul" + +- name: Install virtualenv and setuptools- zuul user + pip: + name: "{{ item }}" + become: true + with_items: + - virtualenv + - setuptools + when: ansible_user == "zuul" - name: Determine if browbeat directory exists already stat: @@ -75,9 +85,13 @@ - debug: msg="Hosts file is already generated." when: hosts_file_exists.stat.exists and hosts_file_exists.stat.isreg -- name: Generate hosts and ssh-config on Browbeat Machine - shell: . {{ home_dir }}/stackrc; {{ browbeat_path }}/ansible/generate_tripleo_hostfile.sh -t localhost - when: "(tripleo == true and (hosts_file_exists.stat.exists == false or hosts_file_exists.stat.isreg == false))" +- name: Generate hosts and ssh-config on Browbeat Machine - Default(stack) + shell: . {{ home_dir }}/stackrc; {{ browbeat_path }}/ansible/generate_tripleo_hostfile.sh -t localhost --user stack + when: tripleo == true and (hosts_file_exists.stat.exists == false or hosts_file_exists.stat.isreg == false) and ansible_user!= "zuul" + +- name: Generate hosts and ssh-config on Browbeat Machine - Zuul + shell: . {{ home_dir }}/stackrc; {{ browbeat_path }}/ansible/generate_tripleo_hostfile.sh -t localhost --user zuul + when: tripleo == true and (hosts_file_exists.stat.exists == false or hosts_file_exists.stat.isreg == false) and ansible_user== "zuul" - name: Move files to correct location command: mv {{ home_dir }}/{{item}} {{ browbeat_path }}/ansible/{{item}} diff --git a/ansible/install/roles/images/tasks/main.yml b/ansible/install/roles/images/tasks/main.yml index 1cf744351..a93751575 100644 --- a/ansible/install/roles/images/tasks/main.yml +++ b/ansible/install/roles/images/tasks/main.yml @@ -10,7 +10,7 @@ with_items: "{{ browbeat_guest_images }}" - name: Determine if image exists - shell: . {{ browbeat_venv }}/bin/activate; . {{ overcloudrc }}; openstack image list | grep '{{ browbeat_guest_images[item].name }}' + shell: . {{ overcloudrc }}; openstack image list | grep '{{ browbeat_guest_images[item].name }}' register: image_exists ignore_errors: true changed_when: false @@ -19,7 +19,9 @@ - name: Remove image from dictionary of images if image exists set_fact: browbeat_guest_images: "{{ browbeat_guest_images|dict_remove(item[0]) }}" - when: "'{{ item[0] }}' in '{{ item[1].stdout }}'" + when: item[0] in item[1].stdout and + item[1] is defined and + ansible_user != "zuul" with_nested: - "{{ browbeat_guest_images }}" - "{{ image_exists.results }}" @@ -30,13 +32,13 @@ with_items: "{{ browbeat_guest_images }}" - name: Upload image into cloud (Newton and Ocata versions) - shell: . {{ browbeat_venv }}/bin/activate; . {{ overcloudrc }}; openstack image create --public --disk-format={{ browbeat_guest_images[item].type }} --container-format=bare {{ browbeat_guest_images[item].name }} < {{ home_dir }}/{{ browbeat_guest_images[item].name }}.{{ browbeat_guest_images[item].type }} + shell: . {{ overcloudrc }}; openstack image create --public --disk-format={{ browbeat_guest_images[item].type }} --container-format=bare {{ browbeat_guest_images[item].name }} < {{ home_dir }}/{{ browbeat_guest_images[item].name }}.{{ browbeat_guest_images[item].type }} ignore_errors: true when: "browbeat_guest_images[item].convert_to_raw == false" with_items: "{{ browbeat_guest_images }}" - name: Upload raw image into cloud (Newton and Ocata versions) - shell: . {{ browbeat_venv }}/bin/activate; . {{ overcloudrc }}; openstack image create --public --disk-format=raw --container-format=bare {{ browbeat_guest_images[item].name }} < {{ home_dir }}/{{ browbeat_guest_images[item].name }}.raw + shell: . {{ overcloudrc }}; openstack image create --public --disk-format=raw --container-format=bare {{ browbeat_guest_images[item].name }} < {{ home_dir }}/{{ browbeat_guest_images[item].name }}.raw ignore_errors: true when: "browbeat_guest_images[item].convert_to_raw == true" with_items: "{{ browbeat_guest_images }}" diff --git a/ansible/oooq/browbeat-minimal.yml b/ansible/oooq/browbeat-minimal.yml index c39e76080..5e32ca00b 100644 --- a/ansible/oooq/browbeat-minimal.yml +++ b/ansible/oooq/browbeat-minimal.yml @@ -1,5 +1,6 @@ --- # Browbeat integration test +# Check CI - include: configure-browbeat.yml when: enable_minimal_browbeat|default(false)|bool @@ -13,5 +14,5 @@ - name: Run Browbeat hosts: undercloud roles: - - browbeat/browbeat-run - when: enable_minimal_browbeat|default(false)|bool + - { role: browbeat/browbeat-run, + when: enable_minimal_browbeat|default(false)|bool } diff --git a/ansible/oooq/install-browbeat.yml b/ansible/oooq/install-browbeat.yml index 1e4550fe5..6a6f4eeb2 100644 --- a/ansible/oooq/install-browbeat.yml +++ b/ansible/oooq/install-browbeat.yml @@ -13,5 +13,4 @@ - browbeat/shaker - browbeat/flavors - browbeat/images - - browbeat/ci-network - browbeat/template-configs diff --git a/ansible/oooq/roles/browbeat-run/tasks/main.yml b/ansible/oooq/roles/browbeat-run/tasks/main.yml index 2b98b42d9..7c40a41af 100644 --- a/ansible/oooq/roles/browbeat-run/tasks/main.yml +++ b/ansible/oooq/roles/browbeat-run/tasks/main.yml @@ -4,4 +4,4 @@ shell: "source {{ ansible_env.HOME }}/browbeat/.browbeat-venv/bin/activate; \ cd {{ ansible_env.HOME }}/browbeat/; \ - python browbeat.py all" + python browbeat.py all | tee {{ ansible_env.HOME }}/browbeat/log/stdout-ci-run.log" diff --git a/ansible/oooq/roles/pre-install-setup/tasks/main.yml b/ansible/oooq/roles/pre-install-setup/tasks/main.yml index a3c3634a3..003ac1dfb 100644 --- a/ansible/oooq/roles/pre-install-setup/tasks/main.yml +++ b/ansible/oooq/roles/pre-install-setup/tasks/main.yml @@ -1,12 +1,26 @@ --- -- name: Make sure dependencies ar installed +- name: Make sure dependencies are installed package: name={{item}} state=present become: true with_items: "{{ browbeat_dependencies }}" - name: Copy browbeat to the undercloud synchronize: "src={{ local_working_dir }}/browbeat dest={{ ansible_env.HOME }}/ use_ssh_args=yes" + when: ansible_user != "zuul" + +- name: Register the working directory to copy from + stat: + path: "/home/zuul/workspace/" + register: zuul_workspace + +- name: Copy browbeat to the undercloud - zuul user + synchronize: "src=/home/zuul/workspace/openstack/browbeat dest={{ ansible_env.HOME }}/" + when: ansible_user == "zuul" and zuul_workspace.stat.exists + +- name: Copy browbeat to the undercloud - zuul user reproducer + synchronize: "src=/opt/stack/browbeat dest={{ ansible_env.HOME }}/" + when: ansible_user == "zuul" and not zuul_workspace.stat.exists - name: Set hosts gen as executable shell: "chmod +x {{ ansible_env.HOME }}/browbeat/ansible/generate_tripleo_hostfile.sh" @@ -18,4 +32,4 @@ flat=yes" - name: Load Browbeat vars - include_vars: /tmp/all.yml \ No newline at end of file + include_vars: /tmp/all.yml diff --git a/ansible/oooq/roles/template-configs/templates/browbeat-minimal-ci.yaml.j2 b/ansible/oooq/roles/template-configs/templates/browbeat-minimal-ci.yaml.j2 index 3bb9623d3..2fb40579d 100644 --- a/ansible/oooq/roles/template-configs/templates/browbeat-minimal-ci.yaml.j2 +++ b/ansible/oooq/roles/template-configs/templates/browbeat-minimal-ci.yaml.j2 @@ -70,17 +70,6 @@ workloads: enabled: true file: rally/authenticate/keystone-cc.yml - - name: cinder - enabled: true - type: rally - concurrency: - - 1 - times: 1 - scenarios: - - name: create-attach-volume-centos - enabled: true - file: rally/cinder/cinder-create-and-attach-volume-cc.yml - - name: keystonebasic enabled: true type: rally