d1d1837c25
This allows ironic service endpoints to use custom hostnames, and adds the following variables: * ironic_internal_fqdn * ironic_external_fqdn * ironic_inspector_internal_fqdn * ironic_inspector_external_fqdn These default to the old values of kolla_internal_fqdn or kolla_external_fqdn. This also adds ironic_api_listen_port and ironic_inspector_listen_port options, which default to ironic_api_port and ironic_inspector_port for backward compatibility. These options allow the user to differentiate between the port the service listens on, and the port the service is reachable on. This is useful for external load balancers which live on the same host as the service itself. Change-Id: I45b175e85866b4cfecad8451b202a5a27f888a84 Implements: blueprint service-hostnames
144 lines
4.2 KiB
Django/Jinja
144 lines
4.2 KiB
Django/Jinja
# NOTE(mgoddard): Ironic is changing the default value of [deploy]
|
|
# default_boot_option from 'netboot' to 'local'. If the option is not set,
|
|
# ironic will log a warning during the transition period. Even so,
|
|
# kolla-ansible should not set a value for this option as the warning is
|
|
# intended to inform operators of the impending change. The warning may be
|
|
# suppressed by the deployer by setting a value for the option.
|
|
|
|
[DEFAULT]
|
|
{% if not enable_keystone | bool %}
|
|
auth_strategy = noauth
|
|
{% endif %}
|
|
debug = {{ ironic_logging_debug }}
|
|
|
|
log_dir = /var/log/kolla/ironic
|
|
|
|
transport_url = {{ rpc_transport_url }}
|
|
|
|
{% if pin_release_version is defined %}
|
|
pin_release_version = {{ pin_release_version }}
|
|
{% endif %}
|
|
|
|
[oslo_messaging_notifications]
|
|
transport_url = {{ notify_transport_url }}
|
|
|
|
{% if ironic_policy_file is defined %}
|
|
[oslo_policy]
|
|
policy_file = {{ ironic_policy_file }}
|
|
{% endif %}
|
|
|
|
{% if service_name == 'ironic-api' %}
|
|
[api]
|
|
host_ip = {{ api_interface_address }}
|
|
port = {{ ironic_api_listen_port }}
|
|
api_workers = {{ openstack_service_workers }}
|
|
{% endif %}
|
|
|
|
{% if service_name == 'ironic-conductor' %}
|
|
[conductor]
|
|
api_url = {{ internal_protocol }}://{{ ironic_internal_fqdn }}:{{ ironic_api_port }}
|
|
automated_clean=false
|
|
{% endif %}
|
|
|
|
[database]
|
|
connection = mysql+pymysql://{{ ironic_database_user }}:{{ ironic_database_password }}@{{ ironic_database_address }}/{{ ironic_database_name }}
|
|
max_retries = -1
|
|
|
|
{% if enable_keystone | bool %}
|
|
[keystone_authtoken]
|
|
www_authenticate_uri = {{ keystone_internal_url }}
|
|
auth_url = {{ keystone_admin_url }}
|
|
auth_type = password
|
|
project_domain_id = {{ default_project_domain_id }}
|
|
user_domain_id = {{ default_user_domain_id }}
|
|
project_name = service
|
|
username = {{ ironic_keystone_user }}
|
|
password = {{ ironic_keystone_password }}
|
|
|
|
memcache_security_strategy = ENCRYPT
|
|
memcache_secret_key = {{ memcache_secret_key }}
|
|
memcached_servers = {% for host in groups['memcached'] %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ memcached_port }}{% if not loop.last %},{% endif %}{% endfor %}
|
|
{% endif %}
|
|
|
|
{% if enable_cinder | bool %}
|
|
[cinder]
|
|
auth_url = {{ keystone_admin_url }}
|
|
auth_type = password
|
|
project_domain_id = default
|
|
user_domain_id = default
|
|
project_name = service
|
|
username = {{ ironic_keystone_user }}
|
|
password = {{ ironic_keystone_password }}
|
|
{% endif %}
|
|
|
|
{% if enable_glance | bool %}
|
|
[glance]
|
|
glance_api_servers = {{ internal_protocol }}://{{ glance_internal_fqdn }}:{{ glance_api_port }}
|
|
auth_url = {{ keystone_admin_url }}
|
|
auth_type = password
|
|
project_domain_id = default
|
|
user_domain_id = default
|
|
project_name = service
|
|
username = {{ ironic_keystone_user }}
|
|
password = {{ ironic_keystone_password }}
|
|
{% endif %}
|
|
|
|
{% if enable_neutron | bool %}
|
|
[neutron]
|
|
url = {{ internal_protocol }}://{{ neutron_internal_fqdn }}:{{ neutron_server_port }}
|
|
auth_url = {{ keystone_admin_url }}
|
|
auth_type = password
|
|
project_domain_id = default
|
|
user_domain_id = default
|
|
project_name = service
|
|
username = {{ ironic_keystone_user }}
|
|
password = {{ ironic_keystone_password }}
|
|
cleaning_network = {{ ironic_cleaning_network }}
|
|
{% endif %}
|
|
|
|
[inspector]
|
|
enabled = true
|
|
{% if enable_keystone | bool %}
|
|
auth_url = {{ keystone_admin_url }}
|
|
auth_type = password
|
|
project_domain_id = default
|
|
user_domain_id = default
|
|
project_name = service
|
|
username = {{ ironic_keystone_user }}
|
|
password = {{ ironic_keystone_password }}
|
|
{% else %}
|
|
auth_type=none
|
|
{% endif %}
|
|
endpoint_override = {{ ironic_inspector_internal_endpoint }}
|
|
|
|
[agent]
|
|
deploy_logs_local_path = /var/log/kolla/ironic
|
|
deploy_logs_storage_backend = local
|
|
deploy_logs_collect = always
|
|
|
|
[pxe]
|
|
pxe_append_params = nofb nomodeset vga=normal console=tty0 console=ttyS0,{{ ironic_console_serial_speed }}
|
|
{% if enable_ironic_ipxe | bool %}
|
|
ipxe_enabled = True
|
|
pxe_bootfile_name = undionly.kpxe
|
|
uefi_pxe_bootfile_name = ipxe.efi
|
|
pxe_config_template = $pybasedir/drivers/modules/ipxe_config.template
|
|
uefi_pxe_config_template = $pybasedir/drivers/modules/ipxe_config.template
|
|
tftp_root = /httpboot
|
|
tftp_master_path = /httpboot/master_images
|
|
tftp_server = {{ api_interface_address }}
|
|
{% endif %}
|
|
|
|
{% if enable_ironic_ipxe | bool %}
|
|
[deploy]
|
|
http_url = {{ ironic_ipxe_url }}
|
|
{% endif %}
|
|
|
|
[oslo_middleware]
|
|
enable_proxy_headers_parsing = True
|
|
|
|
{% if not enable_neutron | bool %}
|
|
[dhcp]
|
|
dhcp_provider = none
|
|
{% endif %}
|