- name: self-standing testsuite remote_user: root gather_facts: False hosts: localhost vars_files: - "{{ opt_credsfile }}" tasks: - name: generate builder name local_action: shell echo `dd if=/dev/urandom bs=1k count=10 | md5sum ; echo DBTESTS` register: vm_name - debug: msg="osusername={{ os_username }}" - name: spin it up local_action: nova_compute auth_url={{os_auth_url}} flavor_id={{os_flavor_id}} image_id="{{ os_image_id }}" key_name={{ os_keypair }} login_password={{os_nova_password}} login_tenant_name="{{os_tenant_name}}" login_username={{os_username}} security_groups={{os_security_group}} wait=yes name="{{vm_name.stdout}}" wait_for=600 register: nova - debug: msg="{{ nova.info.addresses }}" # This is ugly as hell... Hopefully nothing will be changing. - local_action: command echo "{{ nova.info.addresses[os_network_dev][1].addr }}" register: machine_ip - debug: msg="{{ machine_ip.stdout }}" - name: wait for the host to be hot local_action: wait_for host={{ machine_ip.stdout }} port=22 delay=5 timeout=600 - local_action: shell ../ansible_helpers/wait-for-ssh "root@{{ machine_ip.stdout }}" - name: add it to the special group local_action: add_host hostname={{ machine_ip.stdout }} groupname=temp_group - hosts: temp_group user: root gather_facts: False tasks: - copy: src={{ opt_workdir }}/{{ opt_testsuite_name }}.tar.gz dest=/root/{{ opt_testsuite_name }}.tar.gz - include: include/beakerlib.yml - include: include/prepare-testenv.yml - include: include/additional-packages.yml when: dtf_rpm_files_list is defined - shell: cd /root && tar -xf {{ opt_testsuite_name }}.tar.gz - shell: cd /root/{{ opt_testsuite_name }}&& ./run &>/var/tmp/dtf-run.overview register: test_result ignore_errors: yes - include: include/download-results.yml - name: stop the vm shell: echo "not implemented yet" when: test_result.rc == 0