308e414a57
Currently ironic explicitly or implicitly sets the API urls for most services in the config. This is quite fragile and we should move to discovery from the keystone catalog eventually. To support this, this patch registers `keystoneauth1.adapter.Adapter` options to all config sections for service clients auth. Among others it exports `interfaces` option that we set to ['internal', 'public'] by default. Other exported options are `service_type`, `service_name`, `region_name` and `endpoint_override`. The latter will eventually be used by all clients to specify a specific endpoint to use (for example in noauth mode). Effectively this patch starts to move all clients code to load client configuration from config for all of auth, session and adapter. The first to move is [service_catalog] section, with [conductor]api_url option being deprecated in favor of [service_catalog]endpoint_override. A sane default of 'service_type' = 'baremetal' is set for this config section as well. More patches moving other clients to consume these new options and deprecate some other options will follow. Change-Id: I1283ef3b4d736ac089df0cc74a5850a93b24b6ab Partial-Bug: #1699547 Related-Bug: #1699542
42 lines
1.6 KiB
YAML
42 lines
1.6 KiB
YAML
---
|
|
upgrade:
|
|
- |
|
|
To facilitate automatic discovery of services from the keystone catalog,
|
|
the configuration file sections for service clients may include these
|
|
configuration options: ``service_type``, ``service_name``,
|
|
``valid_interfaces``, ``region_name`` and other keystoneauth Adaper-related
|
|
options.
|
|
|
|
These options together must uniquely specify an endpoint for a service
|
|
registered in the keystone catalog.
|
|
Consult the ``keystoneauth`` library documentation for full list of
|
|
available options, their meaning and possible values.
|
|
|
|
Default values for ``service_type`` are set by ironic to sane defaults
|
|
based on required services and their entries in ``service-types-authority``.
|
|
|
|
The ``valid_interfaces`` option defaults to ``['internal', 'public']``.
|
|
|
|
The ``region_name`` option defaults to ``None`` and must be explicitly set
|
|
for multi-regional setup for endpoint discovery to succeed.
|
|
|
|
The configuration file sections where these new options are available are:
|
|
|
|
- service_catalog
|
|
|
|
features:
|
|
- |
|
|
Options for service endpoint discovery can now be set per-service in
|
|
appropriate service configuration file sections:
|
|
|
|
- ``[service_catalog]`` for baremetal API discovery
|
|
|
|
deprecations:
|
|
- |
|
|
Configuration option ``[conductor]api_url`` is deprecated
|
|
and will be ignored in the Rocky release.
|
|
Instead, use ``[service_catalog]endpoint_override`` configuration option
|
|
to set specific ironic API address if automatic discovery of ironic API
|
|
endpoint from keystone catalog is not desired.
|
|
This new option defaults to ``None`` and must be set explicitly if needed.
|