Allow configuring provisioning IP address when using inventory_dhcp

This change adds flag 'inventory_dhcp_static_ip' to the
deploy-nodes-dynamic role.

If set to true, it will read the new 'provisioning_ipv4_address'
key from the inventory machine section and use that as assigned
IP for the machine mac.
If set to false, dnsmasq will assign IPs from the configured DHCP
range.

An inventory machine example specifying provisioning_ipv4_address:

"compute00.hpuseast.ic.openstack.org": {
  "ansible_ssh_host": "15.126.48.52",
  "ipv4_address": "15.126.48.52",
  "provisioning_ipv4_address": "10.23.212.5",
  "uuid": "30303536-3734-5355-4532-333745314C41",
  "driver_info": {
    "power": {
      "ipmi_address": "1.1.1.1",
      "ipmi_username": "xxx"
      "ipmi_password": "moarxxx"
    }
  }

Change-Id: I9083cd34096aad04136564c2ded024527c88c711
This commit is contained in:
Ricardo Carrillo Cruz
2015-12-17 10:48:03 +01:00
parent 625a628887
commit f2293c5106
7 changed files with 75 additions and 15 deletions

View File

@@ -256,6 +256,7 @@ Example::
"driver": "agent_ssh",
"ansible_ssh_host": "192.168.122.2",
"ipv4_address": "192.168.122.2",
"provisioning_ipv4_address": "10.0.0.9",
"properties": {
"cpu_arch": "x86_64",
"ram": "3072",
@@ -296,10 +297,11 @@ The CSV file has the following columns:
14. ``ipmi_transit_channel`` - Requires: ``ipmi_bridging`` set to dual
15. ``ipmi_transit_address`` - Requires: ``ipmi_bridging`` set to dual
16. ironic driver
17. Host provisioning IP Address
Example definition::
00:11:22:33:44:55,root,undefined,192.168.122.1,1,8192,512,NA,NA,aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee,hostname_100,192.168.2.100,,,,agent_ipmitool
00:11:22:33:44:55,root,undefined,192.168.122.1,1,8192,512,NA,NA,aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee,hostname_100,192.168.2.100,,,,agent_ipmitool,10.0.0.9
This file format is fairly flexible and can be easily modified
although the enrollment and deployment playbooks utilize the model