summaryrefslogtreecommitdiffstats
path: root/bifrost/playbooks/roles/bifrost-ironic-install/templates/ironic.conf.j2
blob: 7debdbcc680bd6f031c666fc5da921efb3a4ee78 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# {{ ansible_managed }}
# For additional details on configuring ironic, you may wish to reference
# the sample configuration file which can be located at
# http://git.openstack.org/cgit/openstack/ironic/tree/etc/ironic/ironic.conf.sample


[DEFAULT]
# NOTE(TheJulia): Until Bifrost supports neutron or some other network
# configuration besides a flat network where bifrost orchustrates the
# control instead of ironic, noop is the only available network driver.
enabled_network_interfaces = noop
{% if testing | bool == true %}
enabled_drivers = agent_ssh,pxe_ssh
debug = true
{% else %}
enabled_drivers = {{ enabled_drivers }}
debug = false
{% endif %}

rabbit_userid = ironic
rabbit_password = {{ ironic_db_password }}

{% if enable_keystone is defined and enable_keystone | bool == true %}
auth_strategy = keystone
{% else %}
auth_strategy = noauth
{% endif %}

[pxe]
pxe_append_params = systemd.journald.forward_to_console=yes {{ extra_kernel_options | default('') }}
pxe_config_template = $pybasedir/drivers/modules/ipxe_config.template
tftp_server = {{ hostvars[inventory_hostname]['ansible_' + ans_network_interface]['ipv4']['address'] }}
tftp_root = /tftpboot
pxe_bootfile_name = undionly.kpxe
ipxe_enabled = true
ipxe_boot_script = /etc/ironic/boot.ipxe

[deploy]
http_url = http://{{ hostvars[inventory_hostname]['ansible_' + ans_network_interface]['ipv4']['address'] }}:{{ file_url_port }}/
http_root = {{ http_boot_folder }}

[conductor]
api_url = http://{{ hostvars[inventory_hostname]['ansible_' + ans_network_interface]['ipv4']['address'] }}:6385/
clean_nodes = {{ cleaning | lower }}
automated_clean = {{ cleaning | lower }}

[database]
connection = mysql+pymysql://ironic:{{ ironic_db_password }}@localhost/ironic?charset=utf8
min_pool_size = 1
max_pool_size = 5

[dhcp]
dhcp_provider = none

{% if testing | bool == true %}
[ssh]
libvirt_uri = qemu:///system
{% endif %}

{% if enable_cors | bool == true %}
[cors]
allowed_origin = {{ cors_allowed_origin | default('allowed_origin=http://localhost:8000') }}
allow_credentials = {{ enable_cors_credential_support | default('true') }}
{% endif %}

[ilo]
use_web_server_for_images = true

{% if enable_inspector | bool == true %}
[inspector]
enabled = true
{% endif %}

{% if enable_keystone is defined and enable_keystone | bool == true %}
[keystone]
region_name = {{ keystone.bootstrap.region_name | default('RegionOne')}}
[keystone_authtoken]
auth_plugin = password
auth_url = {{ ironic.service_catalog.auth_url }}
username = {{ ironic.service_catalog.username }}
password = {{ ironic.service_catalog.password }}
user_domain_id = default
project_name = {{ ironic.service_catalog.project_name }}
project_domain_id = default

[service_catalog]
auth_url = {{ ironic.service_catalog.auth_url }}
auth_type = password
tenant_name = {{ ironic.service_catalog.project_name }}
username = {{ ironic.service_catalog.username }}
password = {{ ironic.service_catalog.password }}
{% endif %}