bifrost/playbooks/roles/ironic-enroll/tasks/ipmi_bridging_single_enroll...

60 lines
2.2 KiB
YAML

# Copyright (c) 2015 Hewlett-Packard Development Company, L.P.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
---
- 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]}}"
os_ironic:
auth_type: 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: "single"
ipmi_target_channel: "{{item.split(',')[12]}}"
ipmi_target_address: "{{item.split(',')[13]}}"
deploy:
deploy_kernel: "{{ deploy_kernel_url }}"
deploy_ramdisk: "{{ deploy_ramdisk_url }}"
delegate_to: localhost
with_lines:
- cat {{ baremetal_csv_file }}