bifrost/playbooks/roles/ironic-enroll-dynamic
Gregory Haynes 0c1fcb9abe Fix fail if network_interface contains '-'
If the specified network_interface contains a hyphen ansible munches the
hostvar key to replace the '-' with a '_'. We fail to do this munging so
we are unable to find the correct key.

Change-Id: Ied2d859e6cb32fa760597e1b09ee0d757eafa6f7
2015-10-06 05:09:03 +00:00
..
defaults Fix fail if network_interface contains '-' 2015-10-06 05:09:03 +00:00
handlers Initial dynamic enrollment role 2015-06-10 19:17:57 +00:00
meta Cleanup role meta definitions 2015-08-25 19:41:29 -04:00
tasks Pass name to os_ironic and os_ironic_node modules 2015-09-27 12:57:53 +00:00
vars Initial dynamic enrollment role 2015-06-10 19:17:57 +00:00
README.md Rename install role to bifrost-ironic-install 2015-08-14 12:17:56 -04:00

ironic-enroll-dynamic

Enrolls nodes into Ironic utilizing the os_ironic Ansible module that is installed by Bifrost.

Requirements

This role is dependent upon the os-ironic ansible module, which is dependent upon shade (https://git.openstack.org/cgit/openstack-infra/shade/), which in this case is presently dependent upon the Ironic Python Client Library (http://git.openstack.org/cgit/openstack/python-ironicclient/).

Role Variables

ironic_url: The setting defining the URL to the Ironic API. Presently defaulted to: "http://localhost:6385/"

ipa_kernel: The kernel url, image id, or file representing the kernel to utilize for deploying to this node. This should be the kernel used for the Ironic Python Agent.

ipa_ramdisk: The ramdisk url, image id, or file representing the ramdisk image to utilize to deploy this node. This should be the ramdisk used for the Ironic Python Agent.

This role expects a data structure similar to the one below, however it should be understood that the individual entries under power can vary based on power driver required.

{ "node1": { "uuid": "00000000-0000-0000-0000-000000000000", "driver_info": { "power": { "ipmi_target_channel": "0", "ipmi_username": "ADMIN", "ipmi_address": "192.168.122.1", "ipmi_target_address": "0", "ipmi_password": "undefined", "ipmi_bridging": "single" } }, "nics": [ { "mac": "00:01:02:03:04:05" }. ], "driver": "agent_ipmitool", "ip_address": "192.168.122.2", "properties": { "cpu_arch": "x86_64", "ram": "3072", "disk_size": "10", "cpus": "1" }, "name": "node1" } }

Dependencies

This role is presently dependent upon the bifrost-ironic-install role which installs the necessary requirements.

Example Playbook

  • hosts: baremetal connection: local name: "Executes enrollment of nodes into Ironic" roles:
    • role: ironic-enroll-dynamic

License

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.

Author Information

Ironic Developers