52 lines
2.0 KiB
YAML
52 lines
2.0 KiB
YAML
---
|
|
- name: "Enroll Hardware"
|
|
# The variable definitions below seem far from ideal, however there
|
|
# seems to be no better way to handle CSV files for looping at this time.
|
|
#
|
|
# Ideally with_lines would be used with an include, however that support was removed in
|
|
# Ansible 1.6 and no direct replacement exists.
|
|
#
|
|
# mac_address: "{{item.split(',')[1]}}"
|
|
# username: "{{item.split(',')[2]}}"
|
|
# password: "{{item.split(',')[3]}}"
|
|
# management_address: "{{item.split(',')[4]}}"
|
|
# cpu_cores: "{{item.split(',')[5]}}"
|
|
# memory_MB: "{{item.split(',')[6]}}"
|
|
# disk_MB: "{{item.split(',')[7]}}"
|
|
# ipmi_target_channel: "{{item.split(',')[12]}}"
|
|
# ipmi_target_address: "{{item.split(',')[13]}}"
|
|
# ipmi_transit_channel: "{{item.split(',')[14]}}"
|
|
# ipmi_transit_address: "{{item.split(',')[15]}}"
|
|
#
|
|
os_ironic:
|
|
auth_plugin: None
|
|
auth: None
|
|
ironic_url: "{{ ironic_url }}"
|
|
driver: "agent_ipmitool"
|
|
# UUID determination TBD for mass enrollment.
|
|
uuid: "{{item.split(',')[9]}}"
|
|
state: present
|
|
nics:
|
|
- mac: "{{item.split(',')[0]}}"
|
|
properties:
|
|
cpus: "{{item.split(',')[4]}}"
|
|
cpu_arch: "x86_64"
|
|
ram: "{{item.split(',')[5]}}"
|
|
disk_size: "{{item.split(',')[6]}}"
|
|
driver_info:
|
|
power:
|
|
ipmi_address: "{{item.split(',')[3]}}"
|
|
ipmi_username: "{{item.split(',')[1]}}"
|
|
ipmi_password: "{{item.split(',')[2]}}"
|
|
ipmi_bridging: "dual"
|
|
ipmi_target_channel: "{{item.split(',')[12]}}"
|
|
ipmi_target_address: "{{item.split(',')[13]}}"
|
|
ipmi_transit_channel: "{{item.split(',')[14]}}"
|
|
ipmi_transit_address: "{{item.split(',')[15]}}"
|
|
deploy:
|
|
deploy_kernel: "{{ deploy_kernel_url }}"
|
|
deploy_ramdisk: "{{ deploy_ramdisk_url }}"
|
|
delegate_to: localhost
|
|
with_lines:
|
|
- cat {{ baremetal_csv_file }}
|