
Without this test, the Ironic services might end up misconfigured and machines can not be provisioned properly. The Ironic configuration templates that Bifrost uses should be validated for both Keystone enabled and disabled. Change-Id: Iab4457a6dcea232b5c19e681dc87b08570c2a120 Depends-On: I4c733dba8e65fe624c9de5b9c5722cef2df59109
117 lines
4.2 KiB
Django/Jinja
117 lines
4.2 KiB
Django/Jinja
# {{ 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]
|
|
debug = {{ testing | bool }}
|
|
# 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
|
|
default_deploy_interface = {{ default_deploy_interface }}
|
|
{% if enable_inspector | bool == true %}
|
|
enabled_inspect_interfaces = no-inspect,inspector
|
|
default_inspect_interface = inspector
|
|
{% endif %}
|
|
enabled_boot_interfaces = {{ enabled_boot_interfaces }}
|
|
enabled_management_interfaces = {{ enabled_management_interfaces }}
|
|
enabled_power_interfaces = {{ enabled_power_interfaces }}
|
|
enabled_deploy_interfaces = {{ enabled_deploy_interfaces }}
|
|
|
|
enabled_hardware_types = {{ enabled_hardware_types }}
|
|
|
|
transport_url = rabbit://ironic:{{ironic_db_password }}@{{ message_queue_host | default('127.0.0.1') }}:{{ message_queue_port | default('5672') }}/{{ rabbit_virtual_host | default('') }}
|
|
|
|
{% if enable_keystone is defined and enable_keystone | bool == true %}
|
|
auth_strategy = keystone
|
|
{% else %}
|
|
auth_strategy = noauth
|
|
{% endif %}
|
|
|
|
{% if ironic_log_dir is defined %}
|
|
log_dir = {{ ironic_log_dir }}
|
|
{% endif %}
|
|
|
|
[pxe]
|
|
{% if testing | bool %}
|
|
pxe_append_params = console=/dev/ttyS0
|
|
{% else %}
|
|
pxe_append_params = systemd.journald.forward_to_console=yes {{ extra_kernel_options | default('') }}
|
|
{% endif %}
|
|
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
|
|
tftp_master_path = {{ ironic_tftp_master_path }}
|
|
|
|
[deploy]
|
|
http_url = http://{{ hostvars[inventory_hostname]['ansible_' + ans_network_interface]['ipv4']['address'] }}:{{ file_url_port }}/
|
|
http_root = {{ http_boot_folder }}
|
|
|
|
[conductor]
|
|
clean_nodes = {{ cleaning | lower }}
|
|
automated_clean = {{ cleaning | lower }}
|
|
|
|
[database]
|
|
connection = mysql+pymysql://{{ ironic.database.username }}:{{ ironic.database.password }}@{{ ironic.database.host }}/{{ ironic.database.name }}?charset=utf8
|
|
|
|
[dhcp]
|
|
dhcp_provider = none
|
|
|
|
{% 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
|
|
{% if enable_keystone is defined and enable_keystone | bool == true %}
|
|
auth_type = 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
|
|
region_name = {{ keystone.bootstrap.region_name | default('RegionOne')}}
|
|
{% else %}
|
|
auth_type=none
|
|
endpoint_override=http://127.0.0.1:5050
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
{% if enable_keystone is defined and enable_keystone | bool == true %}
|
|
[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
|
|
{% endif %}
|
|
|
|
[service_catalog]
|
|
{% if enable_keystone is defined and enable_keystone | bool == true %}
|
|
auth_url = {{ ironic.service_catalog.auth_url }}
|
|
auth_type = password
|
|
project_name = {{ ironic.service_catalog.project_name }}
|
|
username = {{ ironic.service_catalog.username }}
|
|
password = {{ ironic.service_catalog.password }}
|
|
user_domain_id = default
|
|
project_domain_id = default
|
|
region_name = {{ keystone.bootstrap.region_name | default('RegionOne')}}
|
|
{% else %}
|
|
auth_type = none
|
|
{% endif %}
|
|
endpoint_override = http://{{ hostvars[inventory_hostname]['ansible_' + ans_network_interface]['ipv4']['address'] }}:6385
|