summaryrefslogtreecommitdiffstats
path: root/prototypes/bifrost/playbooks/roles/bifrost-ironic-install/templates/ironic.conf.j2
diff options
context:
space:
mode:
Diffstat (limited to 'prototypes/bifrost/playbooks/roles/bifrost-ironic-install/templates/ironic.conf.j2')
-rw-r--r--prototypes/bifrost/playbooks/roles/bifrost-ironic-install/templates/ironic.conf.j292
1 files changed, 92 insertions, 0 deletions
diff --git a/prototypes/bifrost/playbooks/roles/bifrost-ironic-install/templates/ironic.conf.j2 b/prototypes/bifrost/playbooks/roles/bifrost-ironic-install/templates/ironic.conf.j2
new file mode 100644
index 000000000..d8896fa9e
--- /dev/null
+++ b/prototypes/bifrost/playbooks/roles/bifrost-ironic-install/templates/ironic.conf.j2
@@ -0,0 +1,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_ipmitool,pxe_ipmitool
+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 %}