summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorPavlo Shchelokovskyy <shchelokovskyy@gmail.com>2017-06-23 14:17:26 +0000
committerPavlo Shchelokovskyy <shchelokovskyy@gmail.com>2017-08-22 06:07:19 +0000
commit308e414a57941675acf6cd825daafc653cf5927e (patch)
tree2b38626d92db8a16650dc0469f6948d3438a73ae /etc
parentcd81528a4e958f9e16101fe169385b39273d32fa (diff)
downloadironic-308e414a57941675acf6cd825daafc653cf5927e.tar.gz
Introduce keystoneauth adapters for clients
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
Diffstat (limited to 'etc')
-rw-r--r--etc/ironic/ironic.conf.sample50
1 files changed, 46 insertions, 4 deletions
diff --git a/etc/ironic/ironic.conf.sample b/etc/ironic/ironic.conf.sample
index 5bfcff9ed..49fcda310 100644
--- a/etc/ironic/ironic.conf.sample
+++ b/etc/ironic/ironic.conf.sample
@@ -1026,10 +1026,15 @@
# Seconds between conductor heart beats. (integer value)
#heartbeat_interval = 10
-# URL of Ironic API service. If not set ironic can get the
-# current value from the keystone service catalog. If set, the
-# value must start with either http:// or https://. (uri
-# value)
+# DEPRECATED: URL of Ironic API service. If not set ironic can
+# get the current value from the keystone service catalog. If
+# set, the value must start with either http:// or https://.
+# (uri value)
+# This option is deprecated for removal.
+# Its value may be silently ignored in the future.
+# Reason: Use [service_catalog]endpoint_override option
+# instead if required to use a specific ironic api address,
+# for example in noauth mode.
#api_url = <None>
# Maximum time (in seconds) since the last check-in of a
@@ -3545,12 +3550,28 @@
# Domain name to scope to (string value)
#domain_name = <None>
+# Always use this endpoint URL for requests for this client.
+# (string value)
+#endpoint_override = <None>
+
# Verify HTTPS connections. (boolean value)
#insecure = false
# PEM encoded client certificate key file (string value)
#keyfile = <None>
+# The maximum major version of a given API, intended to be
+# used as the upper bound of a range with min_version.
+# Mutually exclusive with version. (string value)
+#max_version = <None>
+
+# The minimum major version of a given API, intended to be
+# used as the lower bound of a range with max_version.
+# Mutually exclusive with version. If min_version is given
+# with no max_version it is as if max version is "latest".
+# (string value)
+#min_version = <None>
+
# User's password (string value)
#password = <None>
@@ -3568,6 +3589,18 @@
# Deprecated group/name - [service_catalog]/tenant_name
#project_name = <None>
+# The default region_name for endpoint URL discovery. (string
+# value)
+#region_name = <None>
+
+# The default service_name for endpoint URL discovery. (string
+# value)
+#service_name = <None>
+
+# The default service_type for endpoint URL discovery. (string
+# value)
+#service_type = baremetal
+
# Tenant ID (string value)
#tenant_id = <None>
@@ -3593,6 +3626,15 @@
# Deprecated group/name - [service_catalog]/user_name
#username = <None>
+# List of interfaces, in order of preference, for endpoint
+# URL. (list value)
+#valid_interfaces = internal,public
+
+# Minimum Major API version within a given Major API version
+# for endpoint URL discovery. Mutually exclusive with
+# min_version and max_version (string value)
+#version = <None>
+
[snmp]