Merge "Deprecate Classic Drivers"
This commit is contained in:
commit
9a7d9aac45
@ -99,7 +99,7 @@ Example JSON Element:
|
|||||||
"mac": "00:01:02:03:04:06"
|
"mac": "00:01:02:03:04:06"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"driver": "agent_ipmitool",
|
"driver": "ipmi",
|
||||||
"ipv4_address": "192.168.122.2",
|
"ipv4_address": "192.168.122.2",
|
||||||
"properties": {
|
"properties": {
|
||||||
"cpu_arch": "x86_64",
|
"cpu_arch": "x86_64",
|
||||||
@ -269,7 +269,7 @@ def _process_baremetal_csv(data_source, groups, hostvars):
|
|||||||
host['provisioning_ipv4_address'] = host['ipv4_address']
|
host['provisioning_ipv4_address'] = host['ipv4_address']
|
||||||
|
|
||||||
# Default Driver unless otherwise defined or determined.
|
# Default Driver unless otherwise defined or determined.
|
||||||
host['driver'] = "agent_ipmitool"
|
host['driver'] = "ipmi"
|
||||||
|
|
||||||
if len(row) > 15:
|
if len(row) > 15:
|
||||||
driver = _val_or_none(row, 16)
|
driver = _val_or_none(row, 16)
|
||||||
@ -277,8 +277,8 @@ def _process_baremetal_csv(data_source, groups, hostvars):
|
|||||||
host['driver'] = driver
|
host['driver'] = driver
|
||||||
|
|
||||||
if "ipmi" in host['driver']:
|
if "ipmi" in host['driver']:
|
||||||
# Set agent_ipmitool by default
|
# Set ipmi by default
|
||||||
host['driver'] = "agent_ipmitool"
|
host['driver'] = "ipmi"
|
||||||
power['ipmi_address'] = management_address
|
power['ipmi_address'] = management_address
|
||||||
power['ipmi_username'] = management_username
|
power['ipmi_username'] = management_username
|
||||||
power['ipmi_password'] = management_password
|
power['ipmi_password'] = management_password
|
||||||
|
@ -38,9 +38,9 @@ unused,,00000000-0000-0000-0000-000000000001,hostname0,
|
|||||||
192.168.1.2,,,,|
|
192.168.1.2,,,,|
|
||||||
00:01:02:03:04:06,root,undefined,192.0.2.3,2,8192,1024,
|
00:01:02:03:04:06,root,undefined,192.0.2.3,2,8192,1024,
|
||||||
unused,,00000000-0000-0000-0000-000000000002,hostname1,
|
unused,,00000000-0000-0000-0000-000000000002,hostname1,
|
||||||
192.168.1.3,,,,,agent_ipmitool""".replace('\n', '').replace('|', '\n')
|
192.168.1.3,,,,,ipmi""".replace('\n', '').replace('|', '\n')
|
||||||
expected_hostvars = """{"hostname1":
|
expected_hostvars = """{"hostname1":
|
||||||
{"uuid": "00000000-0000-0000-0000-000000000002", "driver": "agent_ipmitool",
|
{"uuid": "00000000-0000-0000-0000-000000000002", "driver": "ipmi",
|
||||||
"name": "hostname1", "ipv4_address": "192.168.1.3",
|
"name": "hostname1", "ipv4_address": "192.168.1.3",
|
||||||
"provisioning_ipv4_address": "192.168.1.3" ,"ansible_ssh_host":
|
"provisioning_ipv4_address": "192.168.1.3" ,"ansible_ssh_host":
|
||||||
"192.168.1.3", "driver_info": {"power": {"ipmi_address": "192.0.2.3",
|
"192.168.1.3", "driver_info": {"power": {"ipmi_address": "192.0.2.3",
|
||||||
@ -50,7 +50,7 @@ unused,,00000000-0000-0000-0000-000000000002,hostname1,
|
|||||||
[{"mac": "00:01:02:03:04:06"}], "properties": {"ram": "8192", "cpu_arch":
|
[{"mac": "00:01:02:03:04:06"}], "properties": {"ram": "8192", "cpu_arch":
|
||||||
"x86_64", "disk_size": "1024", "cpus": "2"}, "host_groups": ["baremetal"]},
|
"x86_64", "disk_size": "1024", "cpus": "2"}, "host_groups": ["baremetal"]},
|
||||||
"hostname0":
|
"hostname0":
|
||||||
{"uuid": "00000000-0000-0000-0000-000000000001", "driver": "agent_ipmitool",
|
{"uuid": "00000000-0000-0000-0000-000000000001", "driver": "ipmi",
|
||||||
"name": "hostname0", "ipv4_address": "192.168.1.2",
|
"name": "hostname0", "ipv4_address": "192.168.1.2",
|
||||||
"provisioning_ipv4_address": "192.168.1.2", "ansible_ssh_host":
|
"provisioning_ipv4_address": "192.168.1.2", "ansible_ssh_host":
|
||||||
"192.168.1.2", "driver_info": {"power": {"ipmi_address": "192.0.2.2",
|
"192.168.1.2", "driver_info": {"power": {"ipmi_address": "192.0.2.2",
|
||||||
@ -70,10 +70,10 @@ unused,,00000000-0000-0000-0000-000000000002,hostname1,
|
|||||||
def test_csv_file_conversion_ipmi_dual_bridging(self):
|
def test_csv_file_conversion_ipmi_dual_bridging(self):
|
||||||
CSV = """00:01:02:03:04:06,root,undefined,192.0.2.3,2,8192,1024,
|
CSV = """00:01:02:03:04:06,root,undefined,192.0.2.3,2,8192,1024,
|
||||||
unused,,00000000-0000-0000-0000-000000000002,hostname1,
|
unused,,00000000-0000-0000-0000-000000000002,hostname1,
|
||||||
192.168.1.3,10,20,30,40,agent_ipmitool""".replace('\n', '').replace('|', '\n')
|
192.168.1.3,10,20,30,40,ipmi""".replace('\n', '').replace('|', '\n')
|
||||||
|
|
||||||
expected_hostvars = """{"hostname1":
|
expected_hostvars = """{"hostname1":
|
||||||
{"uuid": "00000000-0000-0000-0000-000000000002", "driver": "agent_ipmitool",
|
{"uuid": "00000000-0000-0000-0000-000000000002", "driver": "ipmi",
|
||||||
"name": "hostname1", "ipv4_address": "192.168.1.3",
|
"name": "hostname1", "ipv4_address": "192.168.1.3",
|
||||||
"provisioning_ipv4_address": "192.168.1.3", "ansible_ssh_host":
|
"provisioning_ipv4_address": "192.168.1.3", "ansible_ssh_host":
|
||||||
"192.168.1.3", "driver_info": {"power": {"ipmi_address": "192.0.2.3",
|
"192.168.1.3", "driver_info": {"power": {"ipmi_address": "192.0.2.3",
|
||||||
@ -95,10 +95,10 @@ unused,,00000000-0000-0000-0000-000000000002,hostname1,
|
|||||||
def test_csv_file_conversion_ipmi_single_bridging(self):
|
def test_csv_file_conversion_ipmi_single_bridging(self):
|
||||||
CSV = """00:01:02:03:04:06,root,undefined,192.0.2.3,2,8192,1024,
|
CSV = """00:01:02:03:04:06,root,undefined,192.0.2.3,2,8192,1024,
|
||||||
unused,,00000000-0000-0000-0000-000000000002,hostname1,
|
unused,,00000000-0000-0000-0000-000000000002,hostname1,
|
||||||
192.168.1.3,10,20,,,agent_ipmitool""".replace('\n', '').replace('|', '\n')
|
192.168.1.3,10,20,,,ipmi""".replace('\n', '').replace('|', '\n')
|
||||||
|
|
||||||
expected_hostvars = """{"hostname1":
|
expected_hostvars = """{"hostname1":
|
||||||
{"uuid": "00000000-0000-0000-0000-000000000002", "driver": "agent_ipmitool",
|
{"uuid": "00000000-0000-0000-0000-000000000002", "driver": "ipmi",
|
||||||
"name": "hostname1", "ipv4_address": "192.168.1.3",
|
"name": "hostname1", "ipv4_address": "192.168.1.3",
|
||||||
"provisioning_ipv4_address": "192.168.1.3", "ansible_ssh_host":
|
"provisioning_ipv4_address": "192.168.1.3", "ansible_ssh_host":
|
||||||
"192.168.1.3", "driver_info": {"power": {"ipmi_address": "192.0.2.3",
|
"192.168.1.3", "driver_info": {"power": {"ipmi_address": "192.0.2.3",
|
||||||
@ -116,10 +116,10 @@ unused,,00000000-0000-0000-0000-000000000002,hostname1,
|
|||||||
def test_csv_file_conversion_dhcp(self):
|
def test_csv_file_conversion_dhcp(self):
|
||||||
CSV = """00:01:02:03:04:06,root,undefined,192.0.2.3,2,8192,1024,
|
CSV = """00:01:02:03:04:06,root,undefined,192.0.2.3,2,8192,1024,
|
||||||
unused,,00000000-0000-0000-0000-000000000002,hostname1
|
unused,,00000000-0000-0000-0000-000000000002,hostname1
|
||||||
,,,,,,agent_ipmitool""".replace('\n', '').replace('|', '\n')
|
,,,,,,ipmi""".replace('\n', '').replace('|', '\n')
|
||||||
|
|
||||||
expected_hostvars = """{"hostname1":
|
expected_hostvars = """{"hostname1":
|
||||||
{"uuid": "00000000-0000-0000-0000-000000000002", "driver": "agent_ipmitool",
|
{"uuid": "00000000-0000-0000-0000-000000000002", "driver": "ipmi",
|
||||||
"name": "hostname1", "addressing_mode": "dhcp", "ipv4_address": null,
|
"name": "hostname1", "addressing_mode": "dhcp", "ipv4_address": null,
|
||||||
"provisioning_ipv4_address": null,
|
"provisioning_ipv4_address": null,
|
||||||
"driver_info": {"power": {"ipmi_address": "192.0.2.3", "ipmi_password":
|
"driver_info": {"power": {"ipmi_address": "192.0.2.3", "ipmi_password":
|
||||||
@ -140,10 +140,10 @@ unused,,00000000-0000-0000-0000-000000000002,hostname1
|
|||||||
# is identical.
|
# is identical.
|
||||||
CSV = """00:01:02:03:04:06,root,undefined,192.0.2.3,2,8192,1024,
|
CSV = """00:01:02:03:04:06,root,undefined,192.0.2.3,2,8192,1024,
|
||||||
unused,,00000000-0000-0000-0000-000000000002,hostname1
|
unused,,00000000-0000-0000-0000-000000000002,hostname1
|
||||||
,,,,,,agent_ipmitool""".replace('\n', '')
|
,,,,,,ipmi""".replace('\n', '')
|
||||||
|
|
||||||
expected_hostvars = """{"hostname1":
|
expected_hostvars = """{"hostname1":
|
||||||
{"uuid": "00000000-0000-0000-0000-000000000002", "driver": "agent_ipmitool",
|
{"uuid": "00000000-0000-0000-0000-000000000002", "driver": "ipmi",
|
||||||
"name": "hostname1", "addressing_mode": "dhcp", "ipv4_address": null,
|
"name": "hostname1", "addressing_mode": "dhcp", "ipv4_address": null,
|
||||||
"provisioning_ipv4_address": null,
|
"provisioning_ipv4_address": null,
|
||||||
"driver_info": {"power": {"ipmi_address": "192.0.2.3", "ipmi_password":
|
"driver_info": {"power": {"ipmi_address": "192.0.2.3", "ipmi_password":
|
||||||
@ -166,9 +166,9 @@ unused,,00000000-0000-0000-0000-000000000001,hostname0,
|
|||||||
192.168.1.2,,,,|
|
192.168.1.2,,,,|
|
||||||
00:01:02:03:04:06,root,undefined,192.0.2.3,2,8192,1024,
|
00:01:02:03:04:06,root,undefined,192.0.2.3,2,8192,1024,
|
||||||
unused,,00000000-0000-0000-0000-000000000002,hostname1,
|
unused,,00000000-0000-0000-0000-000000000002,hostname1,
|
||||||
192.168.1.3,,,,,agent_ipmitool""".replace('\n', '').replace('|', '\n')
|
192.168.1.3,,,,,ipmi""".replace('\n', '').replace('|', '\n')
|
||||||
expected_hostvars = """{"hostname1":
|
expected_hostvars = """{"hostname1":
|
||||||
{"uuid": "00000000-0000-0000-0000-000000000002", "driver": "agent_ipmitool",
|
{"uuid": "00000000-0000-0000-0000-000000000002", "driver": "ipmi",
|
||||||
"name": "hostname1", "ipv4_address": "192.168.1.3", "ansible_ssh_host":
|
"name": "hostname1", "ipv4_address": "192.168.1.3", "ansible_ssh_host":
|
||||||
"192.168.1.3", "provisioning_ipv4_address": "192.168.1.3",
|
"192.168.1.3", "provisioning_ipv4_address": "192.168.1.3",
|
||||||
"driver_info": {"power": {"ipmi_address": "192.0.2.3",
|
"driver_info": {"power": {"ipmi_address": "192.0.2.3",
|
||||||
@ -178,7 +178,7 @@ unused,,00000000-0000-0000-0000-000000000002,hostname1,
|
|||||||
[{"mac": "00:01:02:03:04:06"}], "properties": {"ram": "8192", "cpu_arch":
|
[{"mac": "00:01:02:03:04:06"}], "properties": {"ram": "8192", "cpu_arch":
|
||||||
"x86_64", "disk_size": "1024", "cpus": "2"}, "host_groups": ["baremetal"]},
|
"x86_64", "disk_size": "1024", "cpus": "2"}, "host_groups": ["baremetal"]},
|
||||||
"hostname0":
|
"hostname0":
|
||||||
{"uuid": "00000000-0000-0000-0000-000000000001", "driver": "agent_ipmitool",
|
{"uuid": "00000000-0000-0000-0000-000000000001", "driver": "ipmi",
|
||||||
"name": "hostname0", "ipv4_address": "192.168.1.2", "ansible_ssh_host":
|
"name": "hostname0", "ipv4_address": "192.168.1.2", "ansible_ssh_host":
|
||||||
"192.168.1.2", "provisioning_ipv4_address": "192.168.1.2",
|
"192.168.1.2", "provisioning_ipv4_address": "192.168.1.2",
|
||||||
"driver_info": {"power": {"ipmi_address": "192.0.2.2",
|
"driver_info": {"power": {"ipmi_address": "192.0.2.2",
|
||||||
@ -200,7 +200,7 @@ unused,,00000000-0000-0000-0000-000000000002,hostname1,
|
|||||||
# that we get the same output when we pass something
|
# that we get the same output when we pass something
|
||||||
# in as YAML
|
# in as YAML
|
||||||
expected_hostvars = """{"hostname1":
|
expected_hostvars = """{"hostname1":
|
||||||
{"uuid": "00000000-0000-0000-0000-000000000002", "driver": "agent_ipmitool",
|
{"uuid": "00000000-0000-0000-0000-000000000002", "driver": "ipmi",
|
||||||
"name": "hostname1", "ipv4_address": "192.168.1.3", "ansible_ssh_host":
|
"name": "hostname1", "ipv4_address": "192.168.1.3", "ansible_ssh_host":
|
||||||
"192.168.1.3", "provisioning_ipv4_address": "192.168.1.3",
|
"192.168.1.3", "provisioning_ipv4_address": "192.168.1.3",
|
||||||
"driver_info": {"power": {"ipmi_address": "192.0.2.3",
|
"driver_info": {"power": {"ipmi_address": "192.0.2.3",
|
||||||
@ -210,7 +210,7 @@ unused,,00000000-0000-0000-0000-000000000002,hostname1,
|
|||||||
[{"mac": "00:01:02:03:04:06"}], "properties": {"ram": "8192", "cpu_arch":
|
[{"mac": "00:01:02:03:04:06"}], "properties": {"ram": "8192", "cpu_arch":
|
||||||
"x86_64", "disk_size": "1024", "cpus": "2"}, "host_groups":
|
"x86_64", "disk_size": "1024", "cpus": "2"}, "host_groups":
|
||||||
["baremetal", "nova"]}, "hostname0":
|
["baremetal", "nova"]}, "hostname0":
|
||||||
{"uuid": "00000000-0000-0000-0000-000000000001", "driver": "agent_ipmitool",
|
{"uuid": "00000000-0000-0000-0000-000000000001", "driver": "ipmi",
|
||||||
"name": "hostname0", "ipv4_address": "192.168.1.2", "ansible_ssh_host":
|
"name": "hostname0", "ipv4_address": "192.168.1.2", "ansible_ssh_host":
|
||||||
"192.168.1.2", "provisioning_ipv4_address": "192.168.1.2",
|
"192.168.1.2", "provisioning_ipv4_address": "192.168.1.2",
|
||||||
"driver_info": {"power": {}}, "nics":
|
"driver_info": {"power": {}}, "nics":
|
||||||
@ -225,11 +225,11 @@ unused,,00000000-0000-0000-0000-000000000002,hostname1,
|
|||||||
input_json = """{"h0000-01":{"uuid":
|
input_json = """{"h0000-01":{"uuid":
|
||||||
"00000000-0000-0000-0001-bad00000010","name":"h0000-01","driver_info"
|
"00000000-0000-0000-0001-bad00000010","name":"h0000-01","driver_info"
|
||||||
:{"power":{"ipmi_address":"10.0.0.78","ipmi_username":"ADMIN","
|
:{"power":{"ipmi_address":"10.0.0.78","ipmi_username":"ADMIN","
|
||||||
ipmi_password":"ADMIN"}},"driver":"agent_ipmitool"}}""".replace('\n', '')
|
ipmi_password":"ADMIN"}},"driver":"ipmi"}}""".replace('\n', '')
|
||||||
expected_json = """{"h0000-01":{"uuid":
|
expected_json = """{"h0000-01":{"uuid":
|
||||||
"00000000-0000-0000-0001-bad00000010","name":"h0000-01","driver_info"
|
"00000000-0000-0000-0001-bad00000010","name":"h0000-01","driver_info"
|
||||||
:{"power":{"ipmi_address":"10.0.0.78","ipmi_username":"ADMIN","
|
:{"power":{"ipmi_address":"10.0.0.78","ipmi_username":"ADMIN","
|
||||||
ipmi_password":"ADMIN"}},"driver":"agent_ipmitool","addressing_mode":
|
ipmi_password":"ADMIN"}},"driver":"ipmi","addressing_mode":
|
||||||
"dhcp","host_groups": ["baremetal"]}}""".replace('\n', '')
|
"dhcp","host_groups": ["baremetal"]}}""".replace('\n', '')
|
||||||
(groups, hostvars) = utils.bifrost_data_conversion(input_json)
|
(groups, hostvars) = utils.bifrost_data_conversion(input_json)
|
||||||
self.assertDictEqual(json.loads(str(expected_json)), hostvars)
|
self.assertDictEqual(json.loads(str(expected_json)), hostvars)
|
||||||
|
@ -140,7 +140,7 @@ The CSV file has the following columns:
|
|||||||
|
|
||||||
Example definition::
|
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,10.0.0.9
|
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,,,,ipmi,10.0.0.9
|
||||||
|
|
||||||
This file format is fairly flexible and can be easily modified
|
This file format is fairly flexible and can be easily modified
|
||||||
although the enrollment and deployment playbooks utilize the model
|
although the enrollment and deployment playbooks utilize the model
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
"mac": "00:00:00:12:34:57"
|
"mac": "00:00:00:12:34:57"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"driver": "agent_ipmitool",
|
"driver": "ipmi",
|
||||||
"ipv4_address": "192.168.1.2",
|
"ipv4_address": "192.168.1.2",
|
||||||
"properties": {
|
"properties": {
|
||||||
"cpu_arch": "x86_64",
|
"cpu_arch": "x86_64",
|
||||||
@ -54,7 +54,7 @@
|
|||||||
"image_source": "http://192.168.1.1:8080/custom_deployment_image.qcow2",
|
"image_source": "http://192.168.1.1:8080/custom_deployment_image.qcow2",
|
||||||
"image_checksum": "493972895dc465a09702ce6e85a836c5"
|
"image_checksum": "493972895dc465a09702ce6e85a836c5"
|
||||||
},
|
},
|
||||||
"driver": "agent_ipmitool",
|
"driver": "ipmi",
|
||||||
"ipv4_address": "192.168.1.3",
|
"ipv4_address": "192.168.1.3",
|
||||||
"properties": {
|
"properties": {
|
||||||
"cpu_arch": "x86_64",
|
"cpu_arch": "x86_64",
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
mac: "00:00:00:23:34:56"
|
mac: "00:00:00:23:34:56"
|
||||||
-
|
-
|
||||||
mac: "00:00:00:12:34:57"
|
mac: "00:00:00:12:34:57"
|
||||||
driver: "agent_ipmitool"
|
driver: "ipmi"
|
||||||
ipv4_address: "192.168.1.2"
|
ipv4_address: "192.168.1.2"
|
||||||
properties:
|
properties:
|
||||||
cpu_arch: "x86_64"
|
cpu_arch: "x86_64"
|
||||||
@ -41,7 +41,7 @@
|
|||||||
instance_info:
|
instance_info:
|
||||||
image_source: "http://192.168.1.1:8080/custom_deployment_image.qcow2"
|
image_source: "http://192.168.1.1:8080/custom_deployment_image.qcow2"
|
||||||
image_checksum: "493972895dc465a09702ce6e85a836c5"
|
image_checksum: "493972895dc465a09702ce6e85a836c5"
|
||||||
driver: "agent_ipmitool"
|
driver: "ipmi"
|
||||||
ipv4_address: "192.168.1.3"
|
ipv4_address: "192.168.1.3"
|
||||||
properties:
|
properties:
|
||||||
cpu_arch: "x86_64"
|
cpu_arch: "x86_64"
|
||||||
|
@ -136,7 +136,7 @@
|
|||||||
name: "{{ vm_name }}"
|
name: "{{ vm_name }}"
|
||||||
uuid: "{{ vm_name | to_uuid }}"
|
uuid: "{{ vm_name | to_uuid }}"
|
||||||
host_groups: "{{ vm_host_group }}"
|
host_groups: "{{ vm_host_group }}"
|
||||||
driver: "{{ test_vm_node_driver|default('agent_ipmitool') }}"
|
driver: "{{ test_vm_node_driver|default('ipmi') }}"
|
||||||
driver_info:
|
driver_info:
|
||||||
power:
|
power:
|
||||||
ipmi_address: "192.168.122.1"
|
ipmi_address: "192.168.122.1"
|
||||||
|
@ -19,8 +19,8 @@ Role Variables
|
|||||||
--------------
|
--------------
|
||||||
|
|
||||||
Testing mode is intended to help facilitate testing of the bifrost roles and
|
Testing mode is intended to help facilitate testing of the bifrost roles and
|
||||||
ironic by utilizing virtual machines on the localhost and the agent_ipmitool
|
ironic by utilizing virtual machines on the localhost and the ipmi hardware
|
||||||
driver. This variable should be set globally for playbooks utilizing the
|
type. This variable should be set globally for playbooks utilizing the
|
||||||
bifrost-ironic-install role.
|
bifrost-ironic-install role.
|
||||||
|
|
||||||
testing: false
|
testing: false
|
||||||
@ -84,9 +84,9 @@ In case your HW needs a kernel option to boot, set the following variable:
|
|||||||
|
|
||||||
extra_kernel_options: Default undefined.
|
extra_kernel_options: Default undefined.
|
||||||
|
|
||||||
When testing, the default ironic conductor driver is "agent_ipmitool". When
|
When testing, the default ironic conductor hardware type is "ipmi". When
|
||||||
testing mode has not been engaged, drivers can be set via the enabled_drivers
|
testing mode has not been engaged, hardware types can be enabled using
|
||||||
variable which defaults to: "agent_ipmitool,agent_ilo,agent_ucs"
|
the "enabled_hardare_types" variable, which defaults to "ipmi, ilo, ucs".
|
||||||
|
|
||||||
By default, PXE driver baseline support, in terms of installation of the
|
By default, PXE driver baseline support, in terms of installation of the
|
||||||
iSCSI client and configuration of sudoers and rootwrap configuration is
|
iSCSI client and configuration of sudoers and rootwrap configuration is
|
||||||
@ -215,7 +215,7 @@ enable_inspector_discovery: Boolean value, default true. This instructs
|
|||||||
inspector_default_node_driver: The default driver to utilize when adding
|
inspector_default_node_driver: The default driver to utilize when adding
|
||||||
discovered nodes to ironic.
|
discovered nodes to ironic.
|
||||||
The default value set by bifrost is
|
The default value set by bifrost is
|
||||||
`agent_ipmitool`. Users should change this
|
`ipmi`. Users should change this
|
||||||
setting for their install environment if
|
setting for their install environment if
|
||||||
an alternative default driver is required.
|
an alternative default driver is required.
|
||||||
|
|
||||||
|
@ -82,6 +82,12 @@ ironicinspector_git_folder: /opt/stack/ironic-inspector
|
|||||||
ironicinspectorclient_git_folder: /opt/stack/python-ironic-inspector-client
|
ironicinspectorclient_git_folder: /opt/stack/python-ironic-inspector-client
|
||||||
staging_drivers_git_url: http://git.openstack.org/cgit/openstack/ironic-staging-drivers
|
staging_drivers_git_url: http://git.openstack.org/cgit/openstack/ironic-staging-drivers
|
||||||
|
|
||||||
|
# TODO(TheJulia): Add redfish to this list.
|
||||||
|
enabled_hardware_types: "ipmi,ilo,ucs"
|
||||||
|
default_deploy_interface: "direct"
|
||||||
|
|
||||||
|
# DEPRECATED: Ironic is removing classic drivers in Rocky. Please see
|
||||||
|
# enabled_hardware_types.
|
||||||
# Comma-separated list, in the format of a string, of drivers that are enabled
|
# Comma-separated list, in the format of a string, of drivers that are enabled
|
||||||
# by default. This is intended to be a list of agent based drivers.
|
# by default. This is intended to be a list of agent based drivers.
|
||||||
# PXE drivers can be found in the setting pxe_drivers that can be found below.
|
# PXE drivers can be found in the setting pxe_drivers that can be found below.
|
||||||
@ -162,18 +168,25 @@ inspector_keep_ports: "present"
|
|||||||
inspector:
|
inspector:
|
||||||
discovery:
|
discovery:
|
||||||
enabled: "{{ enable_inspector_discovery | default(true) }}"
|
enabled: "{{ enable_inspector_discovery | default(true) }}"
|
||||||
default_node_driver: "{{ inspector_default_node_driver | default('agent_ipmitool')}}"
|
default_node_driver: "{{ inspector_default_node_driver | default('ipmi')}}"
|
||||||
|
|
||||||
# We may not have packaged iPXE files on some distros, or may want to
|
# We may not have packaged iPXE files on some distros, or may want to
|
||||||
# download them on their own.
|
# download them on their own.
|
||||||
download_ipxe: false
|
download_ipxe: false
|
||||||
|
|
||||||
|
|
||||||
|
# DEPRECATED: Please see enabled_hardware_types
|
||||||
# This enables installation of substrate for PXE driver support
|
# This enables installation of substrate for PXE driver support
|
||||||
enable_pxe_drivers: true
|
enable_pxe_drivers: true
|
||||||
|
|
||||||
|
# DEPRECATED: Please see enabled_hardware_types
|
||||||
# Comma-separated list of PXE drivers to enable when
|
# Comma-separated list of PXE drivers to enable when
|
||||||
# enable_pxe_drivers is set to true
|
# enable_pxe_drivers is set to true
|
||||||
pxe_drivers: "pxe_ipmitool,pxe_ilo"
|
pxe_drivers: "pxe_ipmitool,pxe_ilo"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Settings related to installing bifrost in a virtual environment
|
# Settings related to installing bifrost in a virtual environment
|
||||||
enable_venv: false
|
enable_venv: false
|
||||||
bifrost_venv_dir: "{{ lookup('env', 'VENV') | default('/opt/stack/bifrost') }}"
|
bifrost_venv_dir: "{{ lookup('env', 'VENV') | default('/opt/stack/bifrost') }}"
|
||||||
|
@ -25,6 +25,9 @@
|
|||||||
The configured network interface {{ network_interface }} does
|
The configured network interface {{ network_interface }} does
|
||||||
not have an IP address assigned
|
not have an IP address assigned
|
||||||
when: not hostvars[inventory_hostname]['ansible_' ~ network_interface].get('ipv4', {}).get('address')
|
when: not hostvars[inventory_hostname]['ansible_' ~ network_interface].get('ipv4', {}).get('address')
|
||||||
|
# DEPRECATED: enabled_drivers, pxe_drivers, and enable_pxe_drivers has
|
||||||
|
# been deprecated and will be removed in the Rocky release. Please consult
|
||||||
|
# enabled_hardware_types.
|
||||||
- name: "Update driver list if PXE drivers are enabled"
|
- name: "Update driver list if PXE drivers are enabled"
|
||||||
set_fact:
|
set_fact:
|
||||||
enabled_drivers: "{{ enabled_drivers }},{{ pxe_drivers }}"
|
enabled_drivers: "{{ enabled_drivers }},{{ pxe_drivers }}"
|
||||||
|
@ -9,10 +9,18 @@
|
|||||||
# configuration besides a flat network where bifrost orchustrates the
|
# configuration besides a flat network where bifrost orchustrates the
|
||||||
# control instead of ironic, noop is the only available network driver.
|
# control instead of ironic, noop is the only available network driver.
|
||||||
enabled_network_interfaces = noop
|
enabled_network_interfaces = noop
|
||||||
|
default_deploy_interface = {{ default_deploy_interface }}
|
||||||
|
{% if enable_inspector | bool == true %}
|
||||||
|
enabled_inspect_interfaces = no-inspect,inspector
|
||||||
|
default_inspect_interface = inspector
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% if testing | bool == true %}
|
{% if testing | bool == true %}
|
||||||
enabled_drivers = agent_ipmitool,pxe_ipmitool
|
|
||||||
debug = true
|
debug = true
|
||||||
|
# Default enable ipmi for CI testing
|
||||||
|
enabled_hardware_types = ipmi
|
||||||
{% else %}
|
{% else %}
|
||||||
|
enabled_hardware_types = {{ enabled_hardware_types }}
|
||||||
enabled_drivers = {{ enabled_drivers }}
|
enabled_drivers = {{ enabled_drivers }}
|
||||||
debug = false
|
debug = false
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
The ``enabled_hardware_types`` variable has been introduced to support
|
||||||
|
use of hardware types.
|
||||||
|
The ``default_deploy_interface`` variable has been introduced to support
|
||||||
|
setting a default method of deployment for new nodes. It defaults to the
|
||||||
|
``direct`` deployment interface.
|
||||||
|
deprecations:
|
||||||
|
- |
|
||||||
|
Ironic has deprecated support for classic drivers. These were the drivers
|
||||||
|
that were prepended with ``agent`` or ``pxe``. The new default hardware type,
|
||||||
|
which superceeds drivers, is ``ipmi``. The default deployment interface is
|
||||||
|
``direct``, which superceeds the ``agent`` driver type. Support for classic
|
||||||
|
Drivers, will be removed from Bifrost in the Rocky release cycle.
|
||||||
|
issues:
|
||||||
|
- |
|
||||||
|
Support for hardware types is in the beginning stages in Bifrost. Presently
|
||||||
|
the ``os_ironic`` ansible module does not yet understand hardware types.
|
Loading…
Reference in New Issue
Block a user