
Updated the ironic conductor driver configuration, along with the enrollment templates to set the driver to "agent_ipmitool". Engaged setup_nodes.yaml to make use of a new in development ansible module. Updated configdrives so they are loaded to HTTP, and as such minor property updates have occured.
49 lines
2.6 KiB
YAML
49 lines
2.6 KiB
YAML
---
|
|
- hosts: localhost
|
|
connection: local
|
|
name: "Enroll hardware from baremetal.csv into Ironic"
|
|
sudo: yes
|
|
gather_facts: yes
|
|
# Todo: Rip vars out, refactor.
|
|
tasks:
|
|
- name: "Error if variable baremetal_csv_file is not defined"
|
|
local_action: fail msg="baremetal_csv_file must be defined for this playbook to execute, please pass option '-e baremetal_csv_file=<path/to/file>'"
|
|
when: baremetal_csv_file is not defined
|
|
- name: "Validate that CSV file exists"
|
|
local_action: stat path={{ baremetal_csv_file }}
|
|
register: test_baremetal_csv_file
|
|
- name: "Error if file does not exist."
|
|
local_action: fail msg="The variable defined for baremetal_csv_file is not to a file. Please define a file and try again."
|
|
when: test_baremetal_csv_file.stat.isreg == false
|
|
- name: "Verify CoreOS kernel is present."
|
|
local_action: stat path={{ http_boot_folder }}/coreos_production_pxe.vmlinuz
|
|
register: test_core_os_kernel_present
|
|
- name: "Error if the CoreOS kernel is missing."
|
|
local_action: error msg="CoreOS kernel not found. Consider re-running setup."
|
|
when: test_core_os_kernel_present.stat.exists == false
|
|
- name: "Verify CoreOS ramdisk is present."
|
|
local_action: stat path={{ http_boot_folder }}/coreos_production_pxe_image-oem.cpio.gz
|
|
register: test_core_os_image_present
|
|
- name: "Error if the CoreOS ramdisk is missing."
|
|
local_action: error msg="CoreOS ramdisk was not. Consider re-running setup."
|
|
when: test_core_os_image_present.stat.exists == false
|
|
- name: "Verify that deployment image is present."
|
|
local_action: stat path={{deploy_image}}
|
|
register: test_deploy_image
|
|
# TODO: checksum for the above stat operation will be required for deployment.
|
|
- name: "Error if deployment image is missing."
|
|
local_action: error msg="Deployment image is missing. Consider re-running setup."
|
|
when: test_deploy_image.stat.exists == false
|
|
- name: "Check to see if there is a file where the ssh_key_path is defined"
|
|
local_action: stat path={{ ssh_public_key_path }}
|
|
register: test_ssh_public_key_path
|
|
- name: "Error if ssh_public_key_path is not valid"
|
|
local_action: error msg="CoreOS ramdisk was not. Consider re-running setup."
|
|
when: test_ssh_public_key_path.stat.exists == false
|
|
- name: "Read ssh public key in"
|
|
local_action: set_fact ssh_public_key="{{ lookup('file', ssh_public_key_path ) }}"
|
|
- name: "Create configdrives"
|
|
include: configdrive.yaml
|
|
- name: "Enroll nodes in Ironic"
|
|
include: setup_nodes.yaml
|