8b43bf00f3
Shade is being phased out in favour of openstacksdk, which also allows to simplify the authentication code. Change-Id: I14210a720792c3f7f0669330ccb6d2f67d624246
31 lines
1.3 KiB
YAML
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 }
|