bifrost/playbooks/example-deploy-all-available-nodes.yaml
Dmitry Tantsur 8b43bf00f3 Get rid of the shade dependency
Shade is being phased out in favour of openstacksdk, which also allows
to simplify the authentication code.

Change-Id: I14210a720792c3f7f0669330ccb6d2f67d624246
2020-06-03 15:57:15 +02:00

31 lines
1.3 KiB
YAML

# This is an example playbook utilizing role conditionals to permit
# deployment on available nodes.
#
# To utilize:
# export BIFROST_INVENTORY_SOURCE=ironic
# ansible-playbook -vvvv -i inventory/bifrost_inventory.py example-deploy-all-available-nodes.yaml
#
# NOTE(TheJulia): The format of this example will cause hosts to be deployed
# utilizing DHCP on eth0 of Ubuntu/Debian hosts. It is advisable you build
# your deployment image with the dhcp-all-interfaces element when deploying
# other operating systems or if your target node has multiple ethernet
# interfaces.
#
# NOTE(TheJulia): A user could utilize the os_ironic_node_info module with
# another data source such as a CSV, YAML, or JSON file formats to query
# ironic, and the example role conditionals below to query current status and
# deploy to nodes.
---
- hosts: localhost
connection: local
name: "Collect facts"
become: no
gather_facts: yes
- hosts: baremetal
name: "Create configuration drive files and deploy machines from inventory"
become: no
connection: local
roles:
- { role: bifrost-configdrives-dynamic, when: provision_state == "available" and maintenance | bool != true }
- { role: bifrost-deploy-nodes-dynamic, when: provision_state == "available" and maintenance | bool != true }