Adding a role and modified test playbook that can be leveraged to utilize the dynamic inventory for enrolling nodes into Ironic without any special logic in the role it's self. Change-Id: I085d81aa7fc4926cd2a1354f0cd9da403c802d2d
77 lines
2.3 KiB
YAML
77 lines
2.3 KiB
YAML
# Example command line to use:
|
|
# 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 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 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: "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: ironic-install
|
|
cleaning: false
|
|
testing: true
|
|
- hosts: baremetal
|
|
name: "Enroll node with Ironic"
|
|
sudo: no
|
|
connection: local
|
|
roles:
|
|
- role: ironic-enroll-dynamic
|
|
- hosts: localhost
|
|
connection: local
|
|
name: "Validates prior to deployment"
|
|
sudo: yes
|
|
roles:
|
|
- role: bifrost-validate-host-for-deploy
|
|
- 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
|