6df6277096
Since Ansible 2.5, the use of jinja tests as filters has been deprecated. I've run the script provided by the ansible team to 'fix' the jinja filters to conform to the newer syntax. This fixes the deprecation warnings. Change-Id: I775c849c944f82bdfc779c8c530346e7ebedbd2a
58 lines
2.3 KiB
YAML
58 lines
2.3 KiB
YAML
---
|
|
- import_playbook: dell-compute-node-inventory.yml
|
|
|
|
- name: Ensure baremetal compute nodes are PXE booted
|
|
hosts: baremetal-compute
|
|
gather_facts: no
|
|
vars:
|
|
controller_host: "{{ groups['controllers'][0] }}"
|
|
tasks:
|
|
- name: Ensure ipmitool is installed
|
|
yum:
|
|
name: ipmitool
|
|
state: installed
|
|
become: True
|
|
run_once: True
|
|
delegate_to: "{{ controller_host }}"
|
|
vars:
|
|
# NOTE: Without this, the controller's ansible_host variable will not
|
|
# be respected when using delegate_to.
|
|
ansible_host: "{{ hostvars[controller_host].ansible_host | default(controller_host) }}"
|
|
|
|
- name: Ensure baremetal compute nodes are powered off
|
|
command: ipmitool -U {{ ipmi_username }} -P {{ ipmi_password }} -H {{ ipmi_address }} -I lanplus chassis power off
|
|
delegate_to: "{{ controller_host }}"
|
|
register: result
|
|
failed_when:
|
|
- result is failed
|
|
# Some BMCs complain if the node is already powered off.
|
|
- "'Command not supported in present state' not in result.stderr"
|
|
vars:
|
|
# NOTE: Without this, the controller's ansible_host variable will not
|
|
# be respected when using delegate_to.
|
|
ansible_host: "{{ hostvars[controller_host].ansible_host | default(controller_host) }}"
|
|
|
|
- name: Pause to prevent overwhelming BMCs
|
|
pause:
|
|
seconds: 5
|
|
|
|
- name: Ensure baremetal compute nodes are set to boot via PXE
|
|
command: ipmitool -U {{ ipmi_username }} -P {{ ipmi_password }} -H {{ ipmi_address }} -I lanplus chassis bootdev pxe
|
|
delegate_to: "{{ controller_host }}"
|
|
vars:
|
|
# NOTE: Without this, the controller's ansible_host variable will not
|
|
# be respected when using delegate_to.
|
|
ansible_host: "{{ hostvars[controller_host].ansible_host | default(controller_host) }}"
|
|
|
|
- name: Pause to prevent overwhelming BMCs
|
|
pause:
|
|
seconds: 5
|
|
|
|
- name: Ensure baremetal compute nodes are powered on
|
|
command: ipmitool -U {{ ipmi_username }} -P {{ ipmi_password }} -H {{ ipmi_address }} -I lanplus chassis power on
|
|
delegate_to: "{{ controller_host }}"
|
|
vars:
|
|
# NOTE: Without this, the controller's ansible_host variable will not
|
|
# be respected when using delegate_to.
|
|
ansible_host: "{{ hostvars[controller_host].ansible_host | default(controller_host) }}"
|