Support for deploying nodes

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.
This commit is contained in:
Julia Kreger 2015-03-03 12:07:16 -05:00
parent 92c879845f
commit 32f10b5a03
8 changed files with 26 additions and 17 deletions

View File

@ -27,7 +27,7 @@
with_lines:
- cat {{ baremetal_csv_file }}
- name: "Make config drive files"
local_action: command mkisofs -R -V config-2 -o /tmp/configdrive-{{item.split(',')[9]}}.iso {{ variable_configdrive_location.stdout }}/{{item.split(',')[9]}}
local_action: command mkisofs -R -V config-2 -o {{http_boot_folder}}/configdrive-{{item.split(',')[9]}}.iso {{ variable_configdrive_location.stdout }}/{{item.split(',')[9]}}
with_lines:
- cat {{ baremetal_csv_file }}
- name: "Cleanup configdrive"

View File

@ -44,5 +44,5 @@
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
- name: "Enroll nodes in Ironic"
include: setup_nodes.yaml

View File

@ -1,21 +1,19 @@
---
- name: "Enroll Hardware"
# TODO: Conceptual idea of structure, needs image_source corrected and
#disk format clarified
# disk format clarified
os_ironic_node:
auth_plugin: None
auth: None
ironic_url: "{{ ironic_url }}"
uuid: "{{item.split(',')[9]}}"
state: active
config_drive: "/tmp/{{item.split(',')[9]}}-configdrive.iso"
deploy_kernel: "{{ deploy_kernel }}"
deploy_ramdisk: "{{ deploy_ramdisk }}"
state: present
config_drive: "http://{{ hostvars[inventory_hostname]['ansible_' + network_interface]['ipv4']['address'] }}:8080/{{item.split(',')[9]}}-configdrive.iso"
instance_info:
image_source: "http://{{ hostvars[inventory_hostname]['ansible_' + network_interface]['ipv4']['address'] }}:8080/{{deploy_image_filename}}"
image_checksum: "{{ test_deploy_image.md5 }}"
image_disk_format:
uuid: "{{item.split(',')[9]}}"
image_checksum: "{{ test_deploy_image.stat.md5 }}"
image_disk_format: "qcow"
root_gb: 10
delegate_to: localhost
with_lines:
- cat {{ baremetal_csv_file }}

View File

@ -22,7 +22,7 @@
auth_plugin: None
auth: None
ironic_url: "{{ ironic_url }}"
driver: "pxe_ipmitool"
driver: "agent_ipmitool"
# UUID determination TBD for mass enrollment.
uuid: "{{item.split(',')[9]}}"
state: present
@ -43,6 +43,9 @@
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 }}

View File

@ -19,7 +19,7 @@
auth_plugin: None
auth: None
ironic_url: "{{ ironic_url }}"
driver: "pxe_ipmitool"
driver: "agent_ipmitool"
# UUID determination TBD for mass enrollment.
uuid: "{{item.split(',')[9]}}"
state: present
@ -38,6 +38,9 @@
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 }}

View File

@ -17,10 +17,10 @@
auth_plugin: None
auth: None
ironic_url: "{{ ironic_url }}"
driver: "pxe_ipmitool"
driver: "agent_ipmitool"
# UUID determination TBD for mass enrollment.
uuid: "{{item.split(',')[9]}}"
state: present
state: absent
nics:
- mac: "{{item.split(',')[0]}}"
properties:
@ -33,6 +33,9 @@
ipmi_address: "{{item.split(',')[3]}}"
ipmi_username: "{{item.split(',')[1]}}"
ipmi_password: "{{item.split(',')[2]}}"
deploy:
deploy_kernel: "{{ deploy_kernel_url }}"
deploy_ramdisk: "{{ deploy_ramdisk_url }}"
delegate_to: localhost
with_lines:
- cat {{ baremetal_csv_file }}

View File

@ -9,6 +9,8 @@ ssh_public_key_path: ~/.ssh/id_rsa.pub
latest_os_ironic_url: https://raw.githubusercontent.com/juliakreger/ansible-modules-extras/features/new-openstack/cloud/os_ironic.py
deploy_kernel: "{{http_boot_folder}}/coreos_production_pxe.vmlinuz"
deploy_ramdisk: "{{http_boot_folder}}/coreos_production_pxe_image-oem.cpio.gz"
deploy_kernel_url: "http://{{ hostvars[inventory_hostname]['ansible_' + network_interface]['ipv4']['address'] }}:8080/coreos_production_pxe.vmlinuz"
deploy_ramdisk_url: "http://{{ hostvars[inventory_hostname]['ansible_' + network_interface]['ipv4']['address'] }}:8080/coreos_production_pxe_image-oem.cpio.gz"
deploy_image_filename: "ubuntu-14.04-server-cloudimg-amd64.tar.gz"
deploy_image: "{{http_boot_folder}}/{{deploy_image_filename}}"
node_default_network_interface: eth0

View File

@ -216,9 +216,9 @@ auth_strategy=noauth
# "ironic.drivers" entrypoint. An example may be found in the
# developer documentation online. (list value)
{% if testing %}
enabled_drivers=pxe_ssh,pxe_ipmitool
enabled_drivers=agent_ipmitool
{% else %}
enabled_drivers=pxe_ilo
enabled_drivers=agent_ipmitool
{% endif %}
#