# Example command line to use: # Create a VM: # ansible-playbook -vvvv -i inventory/localhost test-bifrost-create-vm.yaml # Set BIFROST_INVENTORY_SOURCE # export BIFROST_INVENTORY_SOURCE=/tmp/baremetal.csv # Execute the installation and VM startup test. # ansible-playbook -vvvv -i inventory/bifrost_inventory.py test-bifrost-dynamic.yaml -e use_cirros=true -e testing_user=cirros --- - hosts: localhost connection: local name: "Executes install, enrollment, and testing in one playbook" sudo: yes gather_facts: yes pre_tasks: - name: "Set ci_testing flag if a list of changes are found in the environment variables" set_fact: ci_testing: true when: lookup('env', 'ZUUL_CHANGES') != "" - name: "Set ci_testing_zuul if it appears we are running in upstream OpenStack CI" set_fact: ci_testing_zuul: true when: "'bare-trusty' in ansible_hostname" - name: "Override the ipv4_gateway setting" set_fact: ipv4_gateway: "192.168.122.1" - name: "Collect process list if running in OpenStack CI" command: ps aux when: ci_testing_zuul is defined - name: "Collect list of listening network sockets if running in OpenStack CI" shell: netstat -apn|grep LISTEN when: ci_testing_zuul is defined roles: - role: ironic-install cleaning: false testing: true - hosts: baremetal name: "Enroll node with Ironic" sudo: no connection: local roles: - role: ironic-enroll-dynamic - hosts: baremetal name: "Creat configuration drive files and deploy machines." sudo: no connection: local roles: - role: bifrost-configdrives-dynamic - role: bifrost-deploy-nodes-dynamic - role: bifrost-prepare-for-test-dynamic # The testvm Host group is added by bifrost-prepare-for-test based # on the contents of the CSV file. - hosts: test name: "Tests connectivity to the VM" sudo: no gather_facts: no remote_user: "{{ testing_user }}" roles: - role: bifrost-test-vm - hosts: baremetal connection: local name: "Unprovisions the test node" sudo: no gather_facts: no roles: - role: bifrost-unprovision-node-dynamic - role: ironic-delete-dynamic