bifrost/playbooks/roles/bifrost-deploy-nodes-dynamic/README.md
stephane 1920428599 Migrate playbooks to use 'become'
Ansible is scheduled to remove the 'sudo' module
and replace it with 'become'. Switch to using this
now since it is already supported in 1.9.

Closes-Bug: #1504535

Change-Id: Ie63816e36a95c86d54fea5f50325522b41597047
2015-10-15 07:32:05 -07:00

100 lines
4.0 KiB
Markdown

bifrost-deploy-nodes-dynamic
============================
Provisions nodes based on inventory utilizing the os_ironic_node module
installed by Bifrost.
Requirements
------------
This role is expected to be executed on a node that the
"bifrost-ironic-install" node has been executed upon.
This role expects to be executed in a sequence with
bifrost-configdrives-dynamic, however that is unnecessary IF the host has a
dictionary named instance_info defined as that will be used as overriding
values.
Role Variables
--------------
ironic_url: This is the URL to the ironic server. By default, this is set to
"http://localhost:6385/"
network_interface: This is the network interface that the nodes receive
DHCP/PXE/iPXE. This is utilized to generate the url that
Ironic is configured with for image retrieval. This
variable does not have a default in this role and expects to
receive this information from the calling playbook.
deploy_image_filename: This is the filename of the image to deploy, which is
combined with the network_interface variable to generate
a URL used to set the ironic instance image_source. This
variable does not have a default in this role and
expects to receive this information from the calling
playbook.
deploy_image: This is the full path to the image to be deployed to the system.
This is as ironic requires the MD5 hash of the file to be
deployed for validation during the deployment process. As a
result of this requirement, the hash is automatically collected
and submitted to ironic with the node deployment request. This
variable does not have a default in this role and expects to
receive this information from the calling playbook.
instance_info: A dictionary containing the information to define an instance.
By default, this is NOT expected to be defined, however if
defined it is passed in whole to the deployment step. This
value will override deploy_image_filename, deploy_image, and
network_interface variables. Key-value pairs that are generally
expected are image_source, image_checksum, root_gb, however,
any supported key/value can be submitted to the API.
inventory_dhcp: A boolean value, defaulted to false, which causes the role
to update a template file and reload dhsmasq upon each update
in order to perform static dhcp assignments utilizing the
ipv4_address parameter.
Dependencies
------------
This role is intended to be executed upon a node that the
bifrost-ironic-install role has been executed upon. The configuration that
is leveraged by this role utilizes a configuration drive to place network
configuration and an SSH key on the newly deployed host. As such, the
bifrost-configdrives role is required.
Example Playbook
----------------
NOTE: The example below assumes bifrost's default and that an instance_info
variable is not defined.
- hosts: baremetal
connection: local
become: no
roles:
- role: bifrost-configdrives
- role: bifrost-deploy-nodes-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