bifrost/playbooks/test-bifrost.yaml

77 lines
2.6 KiB
YAML

---
- hosts: localhost
connection: local
name: "Executes install, enrollment, and testing in one playbook"
sudo: yes
gather_facts: yes
pre_tasks:
- name: "Set default baremetal.csv file if not already defined"
set_fact:
baremetal_csv_file: "/tmp/baremetal.csv"
when: baremetal_csv_file is not defined
- name: "Set OpenStack CI settings if it appears we are running in upstream OpenStack CI"
set_fact:
ci_testing: true
ci_testing_zuul: true
ironic_git_folder: /opt/git/openstack/ironic
ironicclient_git_folder: /opt/git/openstack/python-ironicclient
shade_git_folder: /opt/git/openstack-infra/shade
when: lookup('env', 'ZUUL_BRANCH') != ""
- name: "Set ci_testing_zuul_changes if ZUUL_CHANGES is set"
set_fact:
ci_testing_zuul_changes: true
when: lookup('env', 'ZUUL_CHANGES') != ""
- 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: bifrost-create-vm-nodes
- { role: bifrost-prep-for-install, when: skip_install is not defined }
- { role: bifrost-openstack-ci-prep, when: ci_testing_zuul is defined }
- role: ironic-install
cleaning: false
testing: true
- { role: bifrost-create-dib-image, when: create_image_via_dib == true and transform_boot_image == false }
- { role: bifrost-create-bootable-image, when: create_image_via_dib == false and transform_boot_image == true }
- role: ironic-enroll
testing: true
- role: bifrost-validate-host-for-deploy
environment:
http_proxy: "{{ lookup('env','http_proxy') }}"
https_proxy: "{{ lookup('env','https_proxy') }}"
- hosts: localhost
connection: local
name: "Executes install, enrollment, and testing in one playbook"
sudo: no
gather_facts: yes
roles:
- role: bifrost-configdrives
- role: bifrost-setup-nodes
- role: bifrost-prepare-for-test
# The testvm Host group is added by bifrost-prepare-for-test based
# on the contents of the CSV file.
- hosts: testvm
name: "Tests connectivity to the VM"
sudo: no
gather_facts: no
remote_user: "{{testing_user}}"
roles:
- role: bifrost-test-vm
- hosts: localhost
connection: local
name: "Unprovisions the test node"
sudo: no
gather_facts: no
roles:
- role: bifrost-unprovision-nodes
- hosts: localhost
connection: local
name: "Unprovisions the test node"
sudo: no
gather_facts: no
roles:
- role: ironic-delete