blob: 2b984c2b250420c766e88ac6c5067c079f5c1092 [file] [log] [blame]
Kirill Bespalovc9e9bf32017-08-06 16:44:27 +03001{%- from "ironic/map.jinja" import api,conductor,system_cacerts_file with context -%}
Vasyl Saienko8403d172017-04-27 14:21:46 +03002{%- if api.get("enabled", False) %}
3 {%- set ironic = api %}
4{%- elif conductor.get('enabled', False) %}
5 {%- set ironic = conductor %}
6{%- endif %}
7[DEFAULT]
8
9#
10# From ironic
11#
12
13# Authentication strategy used by ironic-api. "noauth" should
14# not be used in a production environment because all
15# authentication will be disabled. (string value)
16# Allowed values: noauth, keystone
17{%- if ironic.identity is defined %}
18auth_strategy = {{ ironic.identity.engine }}
19{%- else %}
20#auth_strategy = keystone
21{%- endif %}
22
23# Specify the list of drivers to load during service
24# initialization. Missing drivers, or drivers which fail to
25# initialize, will prevent the conductor service from
26# starting. The option default is a recommended set of
27# production-oriented drivers. A complete list of drivers
28# present on your system may be found by enumerating the
29# "ironic.drivers" entrypoint. An example may be found in the
30# developer documentation online. (list value)
31{%- if conductor.get('enabled_drivers') %}
32enabled_drivers = {{ ','.join(conductor.enabled_drivers) }}
33{%- else %}
34#enabled_drivers = pxe_ipmitool
35{%- endif %}
36
37# Specify the list of network interfaces to load during
38# service initialization. Missing network interfaces, or
39# network interfaces which fail to initialize, will prevent
40# the ironic-conductor service from starting. At least one
41# network interface that is supported by each enabled hardware
42# type must be enabled here, or the ironic-conductor service
43# will not start. Must not be an empty list. The default value
44# is a recommended set of production-oriented network
45# interfaces. A complete list of network interfaces present on
46# your system may be found by enumerating the
47# "ironic.hardware.interfaces.network" entrypoint. When
48# setting this value, please make sure that every enabled
49# hardware type will have the same set of enabled network
50# interfaces on every ironic-conductor service. (list value)
51{%- if conductor.get('enabled_network_interfaces') %}
52enabled_network_interfaces = {{ ','.join(conductor.enabled_network_interfaces) }}
53{%- else %}
54#enabled_network_interfaces = flat,noop
55{%- endif %}
56
57# Default network interface to be used for nodes that do not
58# have network_interface field set. A complete list of network
59# interfaces present on your system may be found by
60# enumerating the "ironic.hardware.interfaces.network"
61# entrypoint. (string value)
62{%- if conductor.get('default_network_interface') %}
63default_network_interface = {{ conductor.default_network_interface }}
64{%- else %}
65#default_network_interface = <None>
66{%- endif %}
67
68# Used if there is a formatting error when generating an
69# exception message (a programming error). If True, raise an
70# exception; if False, use the unformatted message. (boolean
71# value)
72#fatal_exception_format_errors = false
73
74# Exponent to determine number of hash partitions to use when
75# distributing load across conductors. Larger values will
76# result in more even distribution of load and less load when
77# rebalancing the ring, but more memory usage. Number of
78# partitions per conductor is (2^hash_partition_exponent).
79# This determines the granularity of rebalancing: given 10
80# hosts, and an exponent of the 2, there are 40 partitions in
81# the ring.A few thousand partitions should make rebalancing
82# smooth in most cases. The default is suitable for up to a
83# few hundred conductors. Configuring for too many partitions
84# has a negative impact on CPU usage. (integer value)
85#hash_partition_exponent = 5
86
87# [Experimental Feature] Number of hosts to map onto each hash
88# partition. Setting this to more than one will cause
89# additional conductor services to prepare deployment
90# environments and potentially allow the Ironic cluster to
91# recover more quickly if a conductor instance is terminated.
92# (integer value)
93#hash_distribution_replicas = 1
94
95# Interval (in seconds) between hash ring resets. (integer
96# value)
97#hash_ring_reset_interval = 180
98
99# If True, convert backing images to "raw" disk image format.
100# (boolean value)
101#force_raw_images = true
102
103# Path to isolinux binary file. (string value)
104#isolinux_bin = /usr/lib/syslinux/isolinux.bin
105
106# Template file for isolinux configuration file. (string
107# value)
108#isolinux_config_template = $pybasedir/common/isolinux_common.template
109
110# Template file for grub configuration file. (string value)
111#grub_config_template = $pybasedir/common/grub_conf.template
112
113# Run image downloads and raw format conversions in parallel.
114# (boolean value)
115#parallel_image_downloads = false
116
117# IP address of this host. If unset, will determine the IP
118# programmatically. If unable to do so, will use "127.0.0.1".
119# (string value)
Vasyl Saienko991183f2017-06-13 16:30:11 +0300120{%- if conductor.get('my_ip') %}
121my_ip = {{ conductor.my_ip }}
122{%- else %}
Vasyl Saienko8403d172017-04-27 14:21:46 +0300123#my_ip = 127.0.0.1
Vasyl Saienko991183f2017-06-13 16:30:11 +0300124{%- endif %}
Vasyl Saienko8403d172017-04-27 14:21:46 +0300125
126# Specifies the minimum level for which to send notifications.
127# If not set, no notifications will be sent. The default is
128# for this option to be unset. (string value)
129# Allowed values: debug, info, warning, error, critical
130#notification_level = <None>
131
132# Directory where the ironic python module is installed.
133# (string value)
134#pybasedir = /usr/lib/python/site-packages/ironic/ironic
135
136# Directory where ironic binaries are installed. (string
137# value)
138#bindir = $pybasedir/bin
139
140# Top-level directory for maintaining ironic's state. (string
141# value)
142#state_path = $pybasedir
143
144# Name of this node. This can be an opaque identifier. It is
145# not necessarily a hostname, FQDN, or IP address. However,
146# the node name must be valid within an AMQP key, and if using
147# ZeroMQ, a valid hostname, FQDN, or IP address. (string
148# value)
149# host = localhost
150
151# Path to the rootwrap configuration file to use for running
152# commands as root. (string value)
153#rootwrap_config = /etc/ironic/rootwrap.conf
154
155# Temporary working directory, default is Python temp dir.
156# (string value)
157#tempdir = /tmp
158
159#
160# From oslo.log
161#
162
163# If set to true, the logging level will be set to DEBUG
164# instead of the default INFO level. (boolean value)
165# Note: This option can be changed without restarting.
166{%- if ironic.logging is defined and ironic.logging.debug is defined %}
167debug = {{ ironic.logging.debug }}
168{%- else %}
169#debug = false
170{%- endif %}
171
172# The name of a logging configuration file. This file is
173# appended to any existing logging configuration files. For
174# details about logging configuration files, see the Python
175# logging module documentation. Note that when logging
176# configuration files are used then all logging configuration
177# is set in the configuration file and other logging
178# configuration options are ignored (for example,
179# logging_context_format_string). (string value)
180# Note: This option can be changed without restarting.
181# Deprecated group/name - [DEFAULT]/log_config
182#log_config_append = <None>
183
184# Defines the format string for %%(asctime)s in log records.
185# Default: %(default)s . This option is ignored if
186# log_config_append is set. (string value)
187#log_date_format = %Y-%m-%d %H:%M:%S
188
189# (Optional) Name of log file to send logging output to. If no
190# default is set, logging will go to stderr as defined by
191# use_stderr. This option is ignored if log_config_append is
192# set. (string value)
193# Deprecated group/name - [DEFAULT]/logfile
194#log_file = <None>
195
196# (Optional) The base directory used for relative log_file
197# paths. This option is ignored if log_config_append is set.
198# (string value)
199# Deprecated group/name - [DEFAULT]/logdir
200#log_dir = <None>
201
202# Uses logging handler designed to watch file system. When log
203# file is moved or removed this handler will open a new log
204# file with specified path instantaneously. It makes sense
205# only if log_file option is specified and Linux platform is
206# used. This option is ignored if log_config_append is set.
207# (boolean value)
208#watch_log_file = false
209
210# Use syslog for logging. Existing syslog format is DEPRECATED
211# and will be changed later to honor RFC5424. This option is
212# ignored if log_config_append is set. (boolean value)
213#use_syslog = false
214
215# Syslog facility to receive log lines. This option is ignored
216# if log_config_append is set. (string value)
217#syslog_log_facility = LOG_USER
218
219# Log output to standard error. This option is ignored if
220# log_config_append is set. (boolean value)
221#use_stderr = false
222
223# Format string to use for log messages with context. (string
224# value)
225#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
226
227# Format string to use for log messages when context is
228# undefined. (string value)
229#logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
230
231# Additional data to append to log message when logging level
232# for the message is DEBUG. (string value)
233#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
234
235# Prefix each line of exception output with this format.
236# (string value)
237#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
238
239# Defines the format string for %(user_identity)s that is used
240# in logging_context_format_string. (string value)
241#logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s
242
243# List of package logging levels in logger=LEVEL pairs. This
244# option is ignored if log_config_append is set. (list value)
245#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO
246
247# Enables or disables publication of error events. (boolean
248# value)
249#publish_errors = false
250
251# The format for an instance that is passed with the log
252# message. (string value)
253#instance_format = "[instance: %(uuid)s] "
254
255# The format for an instance UUID that is passed with the log
256# message. (string value)
257#instance_uuid_format = "[instance: %(uuid)s] "
258
259# Interval, number of seconds, of log rate limiting. (integer
260# value)
261#rate_limit_interval = 0
262
263# Maximum number of logged messages per rate_limit_interval.
264# (integer value)
265#rate_limit_burst = 0
266
267# Log level name used by rate limiting: CRITICAL, ERROR, INFO,
268# WARNING, DEBUG or empty string. Logs with level greater or
269# equal to rate_limit_except_level are not filtered. An empty
270# string means that all levels are filtered. (string value)
271#rate_limit_except_level = CRITICAL
272
273# Enables or disables fatal status of deprecations. (boolean
274# value)
275#fatal_deprecations = false
276
277#
278# From oslo.messaging
279#
280
281# Size of RPC connection pool. (integer value)
282# Deprecated group/name - [DEFAULT]/rpc_conn_pool_size
283#rpc_conn_pool_size = 30
284
285# The pool size limit for connections expiration policy
286# (integer value)
287#conn_pool_min_size = 2
288
289# The time-to-live in sec of idle connections in the pool
290# (integer value)
291#conn_pool_ttl = 1200
292
293# ZeroMQ bind address. Should be a wildcard (*), an ethernet
294# interface, or IP. The "host" option should point or resolve
295# to this address. (string value)
296# Deprecated group/name - [DEFAULT]/rpc_zmq_bind_address
297#rpc_zmq_bind_address = *
298
299# MatchMaker driver. (string value)
300# Allowed values: redis, sentinel, dummy
301# Deprecated group/name - [DEFAULT]/rpc_zmq_matchmaker
302#rpc_zmq_matchmaker = redis
303
304# Number of ZeroMQ contexts, defaults to 1. (integer value)
305# Deprecated group/name - [DEFAULT]/rpc_zmq_contexts
306#rpc_zmq_contexts = 1
307
308# Maximum number of ingress messages to locally buffer per
309# topic. Default is unlimited. (integer value)
310# Deprecated group/name - [DEFAULT]/rpc_zmq_topic_backlog
311#rpc_zmq_topic_backlog = <None>
312
313# Directory for holding IPC sockets. (string value)
314# Deprecated group/name - [DEFAULT]/rpc_zmq_ipc_dir
315#rpc_zmq_ipc_dir = /var/run/openstack
316
317# Name of this node. Must be a valid hostname, FQDN, or IP
318# address. Must match "host" option, if running Nova. (string
319# value)
320# Deprecated group/name - [DEFAULT]/rpc_zmq_host
321#rpc_zmq_host = localhost
322
323# Number of seconds to wait before all pending messages will
324# be sent after closing a socket. The default value of -1
325# specifies an infinite linger period. The value of 0
326# specifies no linger period. Pending messages shall be
327# discarded immediately when the socket is closed. Positive
328# values specify an upper bound for the linger period.
329# (integer value)
330# Deprecated group/name - [DEFAULT]/rpc_cast_timeout
331#zmq_linger = -1
332
333# The default number of seconds that poll should wait. Poll
334# raises timeout exception when timeout expired. (integer
335# value)
336# Deprecated group/name - [DEFAULT]/rpc_poll_timeout
337#rpc_poll_timeout = 1
338
339# Expiration timeout in seconds of a name service record about
340# existing target ( < 0 means no timeout). (integer value)
341# Deprecated group/name - [DEFAULT]/zmq_target_expire
342#zmq_target_expire = 300
343
344# Update period in seconds of a name service record about
345# existing target. (integer value)
346# Deprecated group/name - [DEFAULT]/zmq_target_update
347#zmq_target_update = 180
348
349# Use PUB/SUB pattern for fanout methods. PUB/SUB always uses
350# proxy. (boolean value)
351# Deprecated group/name - [DEFAULT]/use_pub_sub
352#use_pub_sub = false
353
354# Use ROUTER remote proxy. (boolean value)
355# Deprecated group/name - [DEFAULT]/use_router_proxy
356#use_router_proxy = false
357
358# This option makes direct connections dynamic or static. It
359# makes sense only with use_router_proxy=False which means to
360# use direct connections for direct message types (ignored
361# otherwise). (boolean value)
362#use_dynamic_connections = false
363
364# How many additional connections to a host will be made for
365# failover reasons. This option is actual only in dynamic
366# connections mode. (integer value)
367#zmq_failover_connections = 2
368
369# Minimal port number for random ports range. (port value)
370# Minimum value: 0
371# Maximum value: 65535
372# Deprecated group/name - [DEFAULT]/rpc_zmq_min_port
373#rpc_zmq_min_port = 49153
374
375# Maximal port number for random ports range. (integer value)
376# Minimum value: 1
377# Maximum value: 65536
378# Deprecated group/name - [DEFAULT]/rpc_zmq_max_port
379#rpc_zmq_max_port = 65536
380
381# Number of retries to find free port number before fail with
382# ZMQBindError. (integer value)
383# Deprecated group/name - [DEFAULT]/rpc_zmq_bind_port_retries
384#rpc_zmq_bind_port_retries = 100
385
386# Default serialization mechanism for
387# serializing/deserializing outgoing/incoming messages (string
388# value)
389# Allowed values: json, msgpack
390# Deprecated group/name - [DEFAULT]/rpc_zmq_serialization
391#rpc_zmq_serialization = json
392
393# This option configures round-robin mode in zmq socket. True
394# means not keeping a queue when server side disconnects.
395# False means to keep queue and messages even if server is
396# disconnected, when the server appears we send all
397# accumulated messages to it. (boolean value)
398#zmq_immediate = true
399
400# Enable/disable TCP keepalive (KA) mechanism. The default
401# value of -1 (or any other negative value) means to skip any
402# overrides and leave it to OS default; 0 and 1 (or any other
403# positive value) mean to disable and enable the option
404# respectively. (integer value)
405#zmq_tcp_keepalive = -1
406
407# The duration between two keepalive transmissions in idle
408# condition. The unit is platform dependent, for example,
409# seconds in Linux, milliseconds in Windows etc. The default
410# value of -1 (or any other negative value and 0) means to
411# skip any overrides and leave it to OS default. (integer
412# value)
413#zmq_tcp_keepalive_idle = -1
414
415# The number of retransmissions to be carried out before
416# declaring that remote end is not available. The default
417# value of -1 (or any other negative value and 0) means to
418# skip any overrides and leave it to OS default. (integer
419# value)
420#zmq_tcp_keepalive_cnt = -1
421
422# The duration between two successive keepalive
423# retransmissions, if acknowledgement to the previous
424# keepalive transmission is not received. The unit is platform
425# dependent, for example, seconds in Linux, milliseconds in
426# Windows etc. The default value of -1 (or any other negative
427# value and 0) means to skip any overrides and leave it to OS
428# default. (integer value)
429#zmq_tcp_keepalive_intvl = -1
430
431# Maximum number of (green) threads to work concurrently.
432# (integer value)
433#rpc_thread_pool_size = 100
434
435# Expiration timeout in seconds of a sent/received message
436# after which it is not tracked anymore by a client/server.
437# (integer value)
438#rpc_message_ttl = 300
439
440# Wait for message acknowledgements from receivers. This
441# mechanism works only via proxy without PUB/SUB. (boolean
442# value)
443#rpc_use_acks = false
444
445# Number of seconds to wait for an ack from a cast/call. After
446# each retry attempt this timeout is multiplied by some
447# specified multiplier. (integer value)
448#rpc_ack_timeout_base = 15
449
450# Number to multiply base ack timeout by after each retry
451# attempt. (integer value)
452#rpc_ack_timeout_multiplier = 2
453
454# Default number of message sending attempts in case of any
455# problems occurred: positive value N means at most N retries,
456# 0 means no retries, None or -1 (or any other negative
457# values) mean to retry forever. This option is used only if
458# acknowledgments are enabled. (integer value)
459#rpc_retry_attempts = 3
460
461# List of publisher hosts SubConsumer can subscribe on. This
462# option has higher priority then the default publishers list
463# taken from the matchmaker. (list value)
464#subscribe_on =
465
466# Size of executor thread pool. (integer value)
467# Deprecated group/name - [DEFAULT]/rpc_thread_pool_size
468#executor_thread_pool_size = 64
469
470# Seconds to wait for a response from a call. (integer value)
471#rpc_response_timeout = 60
472
473# A URL representing the messaging driver to use and its full
474# configuration. (string value)
Kirill Bespalovc9e9bf32017-08-06 16:44:27 +0300475{%- set rabbit_port = ironic.message_queue.get('port', 5671 if ironic.message_queue.get('ssl',{}).get('enabled', False) else 5672) %}
476{%- if ironic.message_queue.members is defined %}
477transport_url = rabbit://{% for member in ironic.message_queue.members -%}
478 {{ ironic.message_queue.user }}:{{ ironic.message_queue.password }}@{{ member.host }}:{{ member.get('port', rabbit_port) }}
479 {%- if not loop.last -%},{%- endif -%}
480 {%- endfor -%}
481 /{{ ironic.message_queue.virtual_host }}
Vasyl Saienko8403d172017-04-27 14:21:46 +0300482{%- else %}
Kirill Bespalovc9e9bf32017-08-06 16:44:27 +0300483transport_url = rabbit://{{ ironic.message_queue.user }}:{{ ironic.message_queue.password }}@{{ ironic.message_queue.host }}:{{ rabbit_port }}/{{ ironic.message_queue.virtual_host }}
Vasyl Saienko8403d172017-04-27 14:21:46 +0300484{%- endif %}
485
486# The default exchange under which topics are scoped. May be
487# overridden by an exchange name specified in the
488# transport_url option. (string value)
489#control_exchange = openstack
490
491#
492# From oslo.service.periodic_task
493#
494
495# Some periodic tasks can be run in a separate process. Should
496# we run them here? (boolean value)
497#run_external_periodic_tasks = true
498
499#
500# From oslo.service.service
501#
502
503# Enable eventlet backdoor. Acceptable values are 0, <port>,
504# and <start>:<end>, where 0 results in listening on a random
505# tcp port number; <port> results in listening on the
506# specified port number (and not enabling backdoor if that
507# port is in use); and <start>:<end> results in listening on
508# the smallest unused port number within the specified range
509# of port numbers. The chosen port is displayed in the
510# service's log file. (string value)
511#backdoor_port = <None>
512
513# Enable eventlet backdoor, using the provided path as a unix
514# socket that can receive connections. This option is mutually
515# exclusive with 'backdoor_port' in that only one should be
516# provided. If both are provided then the existence of this
517# option overrides the usage of that option. (string value)
518#backdoor_socket = <None>
519
520# Enables or disables logging values of all registered options
521# when starting a service (at DEBUG level). (boolean value)
522#log_options = true
523
524# Specify a timeout after which a gracefully shutdown server
525# will exit. Zero value means endless wait. (integer value)
526#graceful_shutdown_timeout = 60
527
528
529[agent]
530
531#
532# From ironic
533#
534
535# Whether Ironic will manage booting of the agent ramdisk. If
536# set to False, you will need to configure your mechanism to
537# allow booting the agent ramdisk. (boolean value)
538#manage_agent_boot = true
539
540# The memory size in MiB consumed by agent when it is booted
541# on a bare metal node. This is used for checking if the image
542# can be downloaded and deployed on the bare metal node after
543# booting agent ramdisk. This may be set according to the
544# memory consumed by the agent ramdisk image. (integer value)
545#memory_consumed_by_agent = 0
546
547# Whether the agent ramdisk should stream raw images directly
548# onto the disk or not. By streaming raw images directly onto
549# the disk the agent ramdisk will not spend time copying the
550# image to a tmpfs partition (therefore consuming less memory)
551# prior to writing it to the disk. Unless the disk where the
552# image will be copied to is really slow, this option should
553# be set to True. Defaults to True. (boolean value)
554#stream_raw_images = true
555
556# Number of times to retry getting power state to check if
557# bare metal node has been powered off after a soft power off.
558# (integer value)
559#post_deploy_get_power_state_retries = 6
560
561# Amount of time (in seconds) to wait between polling power
562# state after trigger soft poweroff. (integer value)
563#post_deploy_get_power_state_retry_interval = 5
564
565# API version to use for communicating with the ramdisk agent.
566# (string value)
567#agent_api_version = v1
568
569# Whether Ironic should collect the deployment logs on
570# deployment failure (on_failure), always or never. (string
571# value)
572# Allowed values: always, on_failure, never
573#deploy_logs_collect = on_failure
574
575# The name of the storage backend where the logs will be
576# stored. (string value)
577# Allowed values: local, swift
578#deploy_logs_storage_backend = local
579
580# The path to the directory where the logs should be stored,
581# used when the deploy_logs_storage_backend is configured to
582# "local". (string value)
583#deploy_logs_local_path = /var/log/ironic/deploy
584
585# The name of the Swift container to store the logs, used when
586# the deploy_logs_storage_backend is configured to "swift".
587# (string value)
588#deploy_logs_swift_container = ironic_deploy_logs_container
589
590# Number of days before a log object is marked as expired in
591# Swift. If None, the logs will be kept forever or until
592# manually deleted. Used when the deploy_logs_storage_backend
593# is configured to "swift". (integer value)
594#deploy_logs_swift_days_to_expire = 30
595
596
597[api]
598
599#
600# From ironic
601#
602
603# The IP address on which ironic-api listens. (string value)
604{%- if api.get('bind', {}).get('address') %}
605host_ip = {{ api.bind.address }}
606{%- else %}
607#host_ip = 0.0.0.0
608{%- endif %}
609
610# The TCP port on which ironic-api listens. (port value)
611# Minimum value: 0
612# Maximum value: 65535
613{%- if api.get('bind', {}).get('port') %}
614port = {{ api.bind.port }}
615{%- else %}
616#port = 6385
617{%- endif %}
618
619# The maximum number of items returned in a single response
620# from a collection resource. (integer value)
621#max_limit = 1000
622
623# Public URL to use when building the links to the API
624# resources (for example, "https://ironic.rocks:6384"). If
625# None the links will be built using the request's host URL.
626# If the API is operating behind a proxy, you will want to
627# change this to represent the proxy's URL. Defaults to None.
628# (string value)
629#public_endpoint = <None>
630
631# Number of workers for OpenStack Ironic API service. The
632# default is equal to the number of CPUs available if that can
633# be determined, else a default worker count of 1 is returned.
634# (integer value)
635#api_workers = <None>
636
637# Enable the integrated stand-alone API to service requests
638# via HTTPS instead of HTTP. If there is a front-end service
639# performing HTTPS offloading from the service, this option
640# should be False; note, you will want to change public API
641# endpoint to represent SSL termination URL with
642# 'public_endpoint' option. (boolean value)
643#enable_ssl_api = false
644
645# Whether to restrict the lookup API to only nodes in certain
646# states. (boolean value)
647#restrict_lookup = true
648
649# Maximum interval (in seconds) for agent heartbeats. (integer
650# value)
651# Deprecated group/name - [agent]/heartbeat_timeout
652#ramdisk_heartbeat_timeout = 300
653
654
655[audit]
656
657#
658# From ironic
659#
660
661# Enable auditing of API requests (for ironic-api service).
662# (boolean value)
663#enabled = false
664
665# Path to audit map file for ironic-api service. Used only
666# when API audit is enabled. (string value)
667#audit_map_file = /etc/ironic/api_audit_map.conf
668
669# Comma separated list of Ironic REST API HTTP methods to be
670# ignored during audit logging. For example: auditing will not
671# be done on any GET or POST requests if this is set to
672# "GET,POST". It is used only when API audit is enabled.
673# (string value)
674#ignore_req_list =
675
676
677[cimc]
678
679#
680# From ironic
681#
682
683# Number of times a power operation needs to be retried
684# (integer value)
685#max_retry = 6
686
687# Amount of time in seconds to wait in between power
688# operations (integer value)
689#action_interval = 10
690
691
692[cisco_ucs]
693
694#
695# From ironic
696#
697
698# Number of times a power operation needs to be retried
699# (integer value)
700#max_retry = 6
701
702# Amount of time in seconds to wait in between power
703# operations (integer value)
704#action_interval = 5
705
706
707[conductor]
708
709#
710# From ironic
711#
712
713# The size of the workers greenthread pool. Note that 2
714# threads will be reserved by the conductor itself for
715# handling heart beats and periodic tasks. (integer value)
716# Minimum value: 3
717#workers_pool_size = 100
718
719# Seconds between conductor heart beats. (integer value)
720#heartbeat_interval = 10
721
722# URL of Ironic API service. If not set ironic can get the
723# current value from the keystone service catalog. If set, the
724# value must start with either http:// or https://. (string
725# value)
726{%- if conductor.get('api', {}).get('url') %}
727api_url = {{ conductor.api.url }}
728{%- else %}
729#api_url = <None>
730{%- endif %}
731
732# Maximum time (in seconds) since the last check-in of a
733# conductor. A conductor is considered inactive when this time
734# has been exceeded. (integer value)
735#heartbeat_timeout = 60
736
737# Interval between syncing the node power state to the
738# database, in seconds. (integer value)
739#sync_power_state_interval = 60
740
741# Interval between checks of provision timeouts, in seconds.
742# (integer value)
743#check_provision_state_interval = 60
744
745# Timeout (seconds) to wait for a callback from a deploy
746# ramdisk. Set to 0 to disable timeout. (integer value)
747#deploy_callback_timeout = 1800
748
749# During sync_power_state, should the hardware power state be
750# set to the state recorded in the database (True) or should
751# the database be updated based on the hardware state (False).
752# (boolean value)
753#force_power_state_during_sync = true
754
755# During sync_power_state failures, limit the number of times
756# Ironic should try syncing the hardware node power state with
757# the node power state in DB (integer value)
758#power_state_sync_max_retries = 3
759
760# Maximum number of worker threads that can be started
761# simultaneously by a periodic task. Should be less than RPC
762# thread pool size. (integer value)
763#periodic_max_workers = 8
764
765# Number of attempts to grab a node lock. (integer value)
766#node_locked_retry_attempts = 3
767
768# Seconds to sleep between node lock attempts. (integer value)
769#node_locked_retry_interval = 1
770
771# Enable sending sensor data message via the notification bus
772# (boolean value)
773#send_sensor_data = false
774
775# Seconds between conductor sending sensor data message to
776# ceilometer via the notification bus. (integer value)
777#send_sensor_data_interval = 600
778
779# The maximum number of workers that can be started
780# simultaneously for send data from sensors periodic task.
781# (integer value)
782# Minimum value: 1
783#send_sensor_data_workers = 4
784
785# The time in seconds to wait for send sensors data periodic
786# task to be finished before allowing periodic call to happen
787# again. Should be less than send_sensor_data_interval value.
788# (integer value)
789#send_sensor_data_wait_timeout = 300
790
791# List of comma separated meter types which need to be sent to
792# Ceilometer. The default value, "ALL", is a special value
793# meaning send all the sensor data. (list value)
794#send_sensor_data_types = ALL
795
796# When conductors join or leave the cluster, existing
797# conductors may need to update any persistent local state as
798# nodes are moved around the cluster. This option controls how
799# often, in seconds, each conductor will check for nodes that
800# it should "take over". Set it to a negative value to disable
801# the check entirely. (integer value)
802#sync_local_state_interval = 180
803
804# Whether to upload the config drive to Swift. (boolean value)
805#configdrive_use_swift = false
806
807# Name of the Swift container to store config drive data. Used
808# when configdrive_use_swift is True. (string value)
809#configdrive_swift_container = ironic_configdrive_container
810
811# Timeout (seconds) for waiting for node inspection. 0 -
812# unlimited. (integer value)
813#inspect_timeout = 1800
814
815# Enables or disables automated cleaning. Automated cleaning
816# is a configurable set of steps, such as erasing disk drives,
817# that are performed on the node to ensure it is in a baseline
818# state and ready to be deployed to. This is done after
819# instance deletion as well as during the transition from a
820# "manageable" to "available" state. When enabled, the
821# particular steps performed to clean a node depend on which
822# driver that node is managed by; see the individual driver's
823# documentation for details. NOTE: The introduction of the
824# cleaning operation causes instance deletion to take
825# significantly longer. In an environment where all tenants
826# are trusted (eg, because there is only one tenant), this
827# option could be safely disabled. (boolean value)
828{%- if conductor.automated_clean is defined %}
829automated_clean = {{ conductor.automated_clean }}
830{%- else %}
831#automated_clean = true
832{%- endif %}
833
834# Timeout (seconds) to wait for a callback from the ramdisk
835# doing the cleaning. If the timeout is reached the node will
836# be put in the "clean failed" provision state. Set to 0 to
837# disable timeout. (integer value)
838#clean_callback_timeout = 1800
839
840# Timeout (in seconds) of soft reboot and soft power off
841# operation. This value always has to be positive. (integer
842# value)
843# Minimum value: 1
844#soft_power_off_timeout = 600
845
846
847[console]
848
849#
850# From ironic
851#
852
853# Path to serial console terminal program. Used only by Shell
854# In A Box console. (string value)
855#terminal = shellinaboxd
856
857# Directory containing the terminal SSL cert (PEM) for serial
858# console access. Used only by Shell In A Box console. (string
859# value)
860#terminal_cert_dir = <None>
861
862# Directory for holding terminal pid files. If not specified,
863# the temporary directory will be used. (string value)
864#terminal_pid_dir = <None>
865
866# Time interval (in seconds) for checking the status of
867# console subprocess. (integer value)
868#subprocess_checking_interval = 1
869
870# Time (in seconds) to wait for the console subprocess to
871# start. (integer value)
872#subprocess_timeout = 10
873
874
875[cors]
876
877#
878# From oslo.middleware.cors
879#
880
881# Indicate whether this resource may be shared with the domain
882# received in the requests "origin" header. Format:
883# "<protocol>://<host>[:<port>]", no trailing slash. Example:
884# https://horizon.example.com (list value)
885#allowed_origin = <None>
886
887# Indicate that the actual request can include user
888# credentials (boolean value)
889#allow_credentials = true
890
891# Indicate which headers are safe to expose to the API.
892# Defaults to HTTP Simple Headers. (list value)
893#expose_headers =
894
895# Maximum cache age of CORS preflight requests. (integer
896# value)
897#max_age = 3600
898
899# Indicate which methods can be used during the actual
900# request. (list value)
901#allow_methods = OPTIONS,GET,HEAD,POST,PUT,DELETE,TRACE,PATCH
902
903# Indicate which header field names may be used during the
904# actual request. (list value)
905#allow_headers =
906
907
908[database]
909
910#
911# From ironic
912#
913
914# MySQL engine to use. (string value)
915#mysql_engine = InnoDB
916
917#
918# From oslo.db
919#
920
921# DEPRECATED: The file name to use with SQLite. (string value)
922# Deprecated group/name - [DEFAULT]/sqlite_db
923# This option is deprecated for removal.
924# Its value may be silently ignored in the future.
925# Reason: Should use config option connection or
926# slave_connection to connect the database.
927#sqlite_db = oslo.sqlite
928
929# If True, SQLite uses synchronous mode. (boolean value)
930# Deprecated group/name - [DEFAULT]/sqlite_synchronous
931#sqlite_synchronous = true
932
933# The back end to use for the database. (string value)
934# Deprecated group/name - [DEFAULT]/db_backend
935#backend = sqlalchemy
936
937# The SQLAlchemy connection string to use to connect to the
938# database. (string value)
939# Deprecated group/name - [DEFAULT]/sql_connection
940# Deprecated group/name - [DATABASE]/sql_connection
941# Deprecated group/name - [sql]/connection
942connection = {{ ironic.database.engine }}+pymysql://{{ ironic.database.user }}:{{ ironic.database.password }}@{{ ironic.database.host }}/{{ ironic.database.name }}?charset=utf8
943
944# The SQLAlchemy connection string to use to connect to the
945# slave database. (string value)
946#slave_connection = <None>
947
948# The SQL mode to be used for MySQL sessions. This option,
949# including the default, overrides any server-set SQL mode. To
950# use whatever SQL mode is set by the server configuration,
951# set this to no value. Example: mysql_sql_mode= (string
952# value)
953#mysql_sql_mode = TRADITIONAL
954
955# Timeout before idle SQL connections are reaped. (integer
956# value)
957# Deprecated group/name - [DEFAULT]/sql_idle_timeout
958# Deprecated group/name - [DATABASE]/sql_idle_timeout
959# Deprecated group/name - [sql]/idle_timeout
960#idle_timeout = 3600
961
962# Minimum number of SQL connections to keep open in a pool.
963# (integer value)
964# Deprecated group/name - [DEFAULT]/sql_min_pool_size
965# Deprecated group/name - [DATABASE]/sql_min_pool_size
966#min_pool_size = 1
967
968# Maximum number of SQL connections to keep open in a pool.
969# Setting a value of 0 indicates no limit. (integer value)
970# Deprecated group/name - [DEFAULT]/sql_max_pool_size
971# Deprecated group/name - [DATABASE]/sql_max_pool_size
972#max_pool_size = 5
973
974# Maximum number of database connection retries during
975# startup. Set to -1 to specify an infinite retry count.
976# (integer value)
977# Deprecated group/name - [DEFAULT]/sql_max_retries
978# Deprecated group/name - [DATABASE]/sql_max_retries
979#max_retries = 10
980
981# Interval between retries of opening a SQL connection.
982# (integer value)
983# Deprecated group/name - [DEFAULT]/sql_retry_interval
984# Deprecated group/name - [DATABASE]/reconnect_interval
985#retry_interval = 10
986
987# If set, use this value for max_overflow with SQLAlchemy.
988# (integer value)
989# Deprecated group/name - [DEFAULT]/sql_max_overflow
990# Deprecated group/name - [DATABASE]/sqlalchemy_max_overflow
991#max_overflow = 50
992
993# Verbosity of SQL debugging information: 0=None,
994# 100=Everything. (integer value)
995# Minimum value: 0
996# Maximum value: 100
997# Deprecated group/name - [DEFAULT]/sql_connection_debug
998#connection_debug = 0
999
1000# Add Python stack traces to SQL as comment strings. (boolean
1001# value)
1002# Deprecated group/name - [DEFAULT]/sql_connection_trace
1003#connection_trace = false
1004
1005# If set, use this value for pool_timeout with SQLAlchemy.
1006# (integer value)
1007# Deprecated group/name - [DATABASE]/sqlalchemy_pool_timeout
1008#pool_timeout = <None>
1009
1010# Enable the experimental use of database reconnect on
1011# connection lost. (boolean value)
1012#use_db_reconnect = false
1013
1014# Seconds between retries of a database transaction. (integer
1015# value)
1016#db_retry_interval = 1
1017
1018# If True, increases the interval between retries of a
1019# database operation up to db_max_retry_interval. (boolean
1020# value)
1021#db_inc_retry_interval = true
1022
1023# If db_inc_retry_interval is set, the maximum seconds between
1024# retries of a database operation. (integer value)
1025#db_max_retry_interval = 10
1026
1027# Maximum retries in case of connection error or deadlock
1028# error before error is raised. Set to -1 to specify an
1029# infinite retry count. (integer value)
1030#db_max_retries = 20
1031
1032
1033[deploy]
1034
1035#
1036# From ironic
1037#
1038
1039# ironic-conductor node's HTTP server URL. Example:
1040# http://192.1.2.3:8080 (string value)
1041{%- if conductor.get('http_url') %}
1042http_url = {{ conductor.http_url }}
1043{%- else %}
1044#http_url = <None>
1045{%- endif %}
1046
1047# ironic-conductor node's HTTP root path. (string value)
1048{%- if conductor.get('http_root') %}
1049http_root = {{ conductor.http_root }}
1050{%- else %}
1051#http_root = /httpboot
1052{%- endif %}
1053
1054# Priority to run in-band erase devices via the Ironic Python
1055# Agent ramdisk. If unset, will use the priority set in the
1056# ramdisk (defaults to 10 for the GenericHardwareManager). If
1057# set to 0, will not run during cleaning. (integer value)
Vasyl Saienko8e5d2b02017-08-21 18:29:48 +03001058{%- if conductor.erase_devices_priority is defined %}
1059erase_devices_priority = {{ conductor.erase_devices_priority }}
1060{%- else %}
Vasyl Saienko8403d172017-04-27 14:21:46 +03001061#erase_devices_priority = <None>
Vasyl Saienko8e5d2b02017-08-21 18:29:48 +03001062{%- endif %}
Vasyl Saienko8403d172017-04-27 14:21:46 +03001063
1064# Priority to run in-band clean step that erases metadata from
1065# devices, via the Ironic Python Agent ramdisk. If unset, will
1066# use the priority set in the ramdisk (defaults to 99 for the
1067# GenericHardwareManager). If set to 0, will not run during
1068# cleaning. (integer value)
Vasyl Saienko8e5d2b02017-08-21 18:29:48 +03001069{%- if conductor.erase_devices_metadata_priority is defined %}
1070erase_devices_metadata_priority = {{ conductor.erase_devices_metadata_priority }}
1071{%- else %}
Vasyl Saienko8403d172017-04-27 14:21:46 +03001072#erase_devices_metadata_priority = <None>
Vasyl Saienko8e5d2b02017-08-21 18:29:48 +03001073{%- endif %}
Vasyl Saienko8403d172017-04-27 14:21:46 +03001074
1075# During shred, overwrite all block devices N times with
1076# random data. This is only used if a device could not be ATA
1077# Secure Erased. Defaults to 1. (integer value)
1078# Minimum value: 0
1079#shred_random_overwrite_iterations = 1
1080
1081# Whether to write zeros to a node's block devices after
1082# writing random data. This will write zeros to the device
1083# even when deploy.shred_random_overwrite_iterations is 0.
1084# This option is only used if a device could not be ATA Secure
1085# Erased. Defaults to True. (boolean value)
1086#shred_final_overwrite_with_zeros = true
1087
1088# Defines what to do if an ATA secure erase operation fails
1089# during cleaning in the Ironic Python Agent. If False, the
1090# cleaning operation will fail and the node will be put in
1091# ``clean failed`` state. If True, shred will be invoked and
1092# cleaning will continue. (boolean value)
1093#continue_if_disk_secure_erase_fails = false
1094
1095# Whether to power off a node after deploy failure. Defaults
1096# to True. (boolean value)
1097#power_off_after_deploy_failure = true
1098
1099# Default boot option to use when no boot option is requested
1100# in node's driver_info. Currently the default is "netboot",
1101# but it will be changed to "local" in the future. It is
1102# recommended to set an explicit value for this option.
1103# (string value)
1104# Allowed values: netboot, local
1105#default_boot_option = <None>
1106
1107
1108[dhcp]
1109
1110#
1111# From ironic
1112#
1113
1114# DHCP provider to use. "neutron" uses Neutron, and "none"
1115# uses a no-op provider. (string value)
1116{%- if conductor.get('dhcp', {}).get('provider') %}
1117dhcp_provider = {{ conductor.dhcp.provider }}
1118{%- else %}
1119#dhcp_provider = neutron
1120{%- endif %}
1121
1122
1123[disk_partitioner]
1124
1125#
1126# From ironic_lib.disk_partitioner
1127#
1128
1129# After Ironic has completed creating the partition table, it
1130# continues to check for activity on the attached iSCSI device
1131# status at this interval prior to copying the image to the
1132# node, in seconds (integer value)
1133#check_device_interval = 1
1134
1135# The maximum number of times to check that the device is not
1136# accessed by another process. If the device is still busy
1137# after that, the disk partitioning will be treated as having
1138# failed. (integer value)
1139#check_device_max_retries = 20
1140
1141
1142[disk_utils]
1143
1144#
1145# From ironic_lib.disk_utils
1146#
1147
1148# Size of EFI system partition in MiB when configuring UEFI
1149# systems for local boot. (integer value)
1150#efi_system_partition_size = 200
1151
1152# Size of BIOS Boot partition in MiB when configuring GPT
1153# partitioned systems for local boot in BIOS. (integer value)
1154#bios_boot_partition_size = 1
1155
1156# Block size to use when writing to the nodes disk. (string
1157# value)
1158#dd_block_size = 1M
1159
1160# Maximum attempts to verify an iSCSI connection is active,
1161# sleeping 1 second between attempts. (integer value)
1162#iscsi_verify_attempts = 3
1163
1164
1165[drac]
1166
1167#
1168# From ironic
1169#
1170
1171# Interval (in seconds) between periodic RAID job status
1172# checks to determine whether the asynchronous RAID
1173# configuration was successfully finished or not. (integer
1174# value)
1175#query_raid_config_job_status_interval = 120
1176
1177
1178[glance]
1179
1180#
1181# From ironic
1182#
1183
1184# A list of URL schemes that can be downloaded directly via
1185# the direct_url. Currently supported schemes: [file]. (list
1186# value)
1187#allowed_direct_url_schemes =
1188
1189# Authentication URL (string value)
Vasyl Saienko991183f2017-06-13 16:30:11 +03001190{%- if conductor.get('glance', {}).get('auth_strategy') == 'keystone' %}
1191auth_url = {{ conductor.identity.protocol }}://{{ conductor.identity.host }}:{{ conductor.identity.port }}/identity
1192{%- else %}
Vasyl Saienko8403d172017-04-27 14:21:46 +03001193#auth_url = <None>
Vasyl Saienko991183f2017-06-13 16:30:11 +03001194{%- endif %}
Vasyl Saienko8403d172017-04-27 14:21:46 +03001195
1196# Authentication strategy to use when connecting to glance.
1197# (string value)
1198# Allowed values: keystone, noauth
1199{%- if conductor.get('glance', {}).get('auth_strategy') %}
1200auth_strategy = {{ conductor.glance.auth_strategy }}
1201{%- else %}
1202#auth_strategy = keystone
1203{%- endif %}
1204
1205# Authentication type to load (string value)
1206# Deprecated group/name - [glance]/auth_plugin
1207{%- if conductor.get('glance', {}).get('auth_type') %}
1208auth_type = {{ conductor.glance.auth_type }}
1209{%- else %}
1210#auth_type = <None>
1211{%- endif %}
1212
1213# PEM encoded Certificate Authority to use when verifying
1214# HTTPs connections. (string value)
1215#cafile = <None>
1216
1217# PEM encoded client certificate cert file (string value)
1218#certfile = <None>
1219
1220# Optional domain ID to use with v3 and v2 parameters. It will
1221# be used for both the user and project domain in v3 and
1222# ignored in v2 authentication. (string value)
1223#default_domain_id = <None>
1224
1225# Optional domain name to use with v3 API and v2 parameters.
1226# It will be used for both the user and project domain in v3
1227# and ignored in v2 authentication. (string value)
1228#default_domain_name = <None>
1229
1230# Domain ID to scope to (string value)
1231#domain_id = <None>
1232
1233# Domain name to scope to (string value)
1234#domain_name = <None>
1235
1236# Allow to perform insecure SSL (https) requests to glance.
1237# (boolean value)
1238#glance_api_insecure = false
1239
1240# A list of the glance api servers available to ironic. Prefix
1241# with https:// for SSL-based glance API servers. Format is
1242# [hostname|IP]:port. (list value)
1243#glance_api_servers = <None>
1244
1245# DEPRECATED: Glance API version (1 or 2) to use. (integer
1246# value)
1247# Minimum value: 1
1248# Maximum value: 2
1249# This option is deprecated for removal.
1250# Its value may be silently ignored in the future.
1251# Reason: Ironic will only support using Glance API version 2
1252# in the Queens release.
1253#glance_api_version = 2
1254
1255# Optional path to a CA certificate bundle to be used to
1256# validate the SSL certificate served by glance. It is used
1257# when glance_api_insecure is set to False. (string value)
1258#glance_cafile = <None>
1259
1260# Default glance hostname or IP address. (string value)
1261{%- if conductor.get('glance', {}).get('host') %}
1262glance_host = {{ conductor.glance.host }}
1263{%- else %}
1264#glance_host = $my_ip
1265{%- endif %}
1266
1267# Number of retries when downloading an image from glance.
1268# (integer value)
1269#glance_num_retries = 0
1270
1271# Default glance port. (port value)
1272# Minimum value: 0
1273# Maximum value: 65535
1274{%- if conductor.get('glance', {}).get('port') %}
1275glance_port = {{ conductor.glance.port }}
1276{%- else %}
1277#glance_port = 9292
1278{%- endif %}
1279
1280# Default protocol to use when connecting to glance. Set to
1281# https for SSL. (string value)
1282# Allowed values: http, https
1283{%- if conductor.get('glance', {}).get('protocol') %}
1284glance_protocol = {{ conductor.glance.protocol }}
1285{%- else %}
1286#glance_protocol = http
1287{%- endif %}
1288
1289# Verify HTTPS connections. (boolean value)
1290#insecure = false
1291
1292# PEM encoded client certificate key file (string value)
1293#keyfile = <None>
1294
1295# User's password (string value)
1296{%- if conductor.get('glance', {}).get('password') %}
1297password = {{ conductor.glance.password }}
1298{%- else %}
1299#password = <None>
1300{%- endif %}
1301
1302# Domain ID containing project (string value)
1303{%- if conductor.get('glance', {}).get('project_domain_id') %}
1304project_domain_id = {{ conductor.glance.project_domain_id }}
1305{%- else %}
1306#project_domain_id = <None>
1307{%- endif %}
1308
1309# Domain name containing project (string value)
1310{%- if conductor.get('glance', {}).get('project_domain_name') %}
1311project_domain_name = {{ conductor.glance.project_domain_name }}
1312{%- else %}
1313#project_domain_name = <None>
1314{%- endif %}
1315
1316# Project ID to scope to (string value)
1317# Deprecated group/name - [glance]/tenant-id
1318{%- if conductor.get('glance', {}).get('project_id') %}
1319project_id = {{ conductor.glance.project_id }}
1320{%- else %}
1321#project_id = <None>
1322{%- endif %}
1323
1324# Project name to scope to (string value)
1325# Deprecated group/name - [glance]/tenant-name
1326{%- if conductor.get('glance', {}).get('project_name') %}
1327project_name = {{ conductor.glance.project_name }}
1328{%- else %}
1329#project_name = <None>
1330{%- endif %}
1331
1332# The account that Glance uses to communicate with Swift. The
1333# format is "AUTH_uuid". "uuid" is the UUID for the account
1334# configured in the glance-api.conf. Required for temporary
1335# URLs when Glance backend is Swift. For example:
1336# "AUTH_a422b2-91f3-2f46-74b7-d7c9e8958f5d30". Swift temporary
1337# URL format:
1338# "endpoint_url/api_version/[account/]container/object_id"
1339# (string value)
1340#swift_account = <None>
1341
1342# The Swift API version to create a temporary URL for.
1343# Defaults to "v1". Swift temporary URL format:
1344# "endpoint_url/api_version/[account/]container/object_id"
1345# (string value)
1346#swift_api_version = v1
1347
1348# The Swift container Glance is configured to store its images
1349# in. Defaults to "glance", which is the default in glance-
1350# api.conf. Swift temporary URL format:
1351# "endpoint_url/api_version/[account/]container/object_id"
1352# (string value)
1353#swift_container = glance
1354
1355# The "endpoint" (scheme, hostname, optional port) for the
1356# Swift URL of the form
1357# "endpoint_url/api_version/[account/]container/object_id". Do
1358# not include trailing "/". For example, use
1359# "https://swift.example.com". If using RADOS Gateway,
1360# endpoint may also contain /swift path; if it does not, it
1361# will be appended. Required for temporary URLs. (string
1362# value)
1363#swift_endpoint_url = <None>
1364
1365# This should match a config by the same name in the Glance
1366# configuration file. When set to 0, a single-tenant store
1367# will only use one container to store all images. When set to
1368# an integer value between 1 and 32, a single-tenant store
1369# will use multiple containers to store images, and this value
1370# will determine how many containers are created. (integer
1371# value)
1372#swift_store_multiple_containers_seed = 0
1373
1374# Whether to cache generated Swift temporary URLs. Setting it
1375# to true is only useful when an image caching proxy is used.
1376# Defaults to False. (boolean value)
1377#swift_temp_url_cache_enabled = false
1378
1379# The length of time in seconds that the temporary URL will be
1380# valid for. Defaults to 20 minutes. If some deploys get a 401
1381# response code when trying to download from the temporary
1382# URL, try raising this duration. This value must be greater
1383# than or equal to the value for
1384# swift_temp_url_expected_download_start_delay (integer value)
1385#swift_temp_url_duration = 1200
1386
1387# This is the delay (in seconds) from the time of the deploy
1388# request (when the Swift temporary URL is generated) to when
1389# the IPA ramdisk starts up and URL is used for the image
1390# download. This value is used to check if the Swift temporary
1391# URL duration is large enough to let the image download
1392# begin. Also if temporary URL caching is enabled this will
1393# determine if a cached entry will still be valid when the
1394# download starts. swift_temp_url_duration value must be
1395# greater than or equal to this option's value. Defaults to 0.
1396# (integer value)
1397# Minimum value: 0
1398#swift_temp_url_expected_download_start_delay = 0
1399
1400# The secret token given to Swift to allow temporary URL
1401# downloads. Required for temporary URLs. (string value)
1402{%- if conductor.get('glance', {}).get('swift_temp_url_key') %}
1403swift_temp_url_key = {{ conductor.glance.swift_temp_url_key }}
1404{%- else %}
1405#swift_temp_url_key = <None>
1406{%- endif %}
1407
1408# Type of endpoint to use for temporary URLs. If the Glance
1409# backend is Swift, use "swift"; if it is CEPH with RADOS
1410# gateway, use "radosgw". (string value)
1411# Allowed values: swift, radosgw
1412#temp_url_endpoint_type = swift
1413
1414# Tenant ID (string value)
1415#tenant_id = <None>
1416
1417# Tenant Name (string value)
1418#tenant_name = <None>
1419
1420# Timeout value for http requests (integer value)
1421#timeout = <None>
1422
1423# Trust ID (string value)
1424#trust_id = <None>
1425
1426# User's domain id (string value)
1427#user_domain_id = <None>
1428
1429# User's domain name (string value)
Vasyl Saienko991183f2017-06-13 16:30:11 +03001430{%- if conductor.get('glance', {}).get('user_domain_name') %}
1431user_domain_name = {{ conductor.glance.user_domain_name }}
1432{%- else %}
Vasyl Saienko8403d172017-04-27 14:21:46 +03001433#user_domain_name = <None>
Vasyl Saienko991183f2017-06-13 16:30:11 +03001434{%- endif %}
1435
Vasyl Saienko8403d172017-04-27 14:21:46 +03001436
1437# User id (string value)
1438#user_id = <None>
1439
1440# Username (string value)
1441# Deprecated group/name - [glance]/user-name
Vasyl Saienko991183f2017-06-13 16:30:11 +03001442{%- if conductor.get('glance', {}).get('username') %}
1443username = {{ conductor.glance.username }}
1444{%- else %}
Vasyl Saienko8403d172017-04-27 14:21:46 +03001445#username = <None>
Vasyl Saienko991183f2017-06-13 16:30:11 +03001446{%- endif %}
Vasyl Saienko8403d172017-04-27 14:21:46 +03001447
1448
1449[ilo]
1450
1451#
1452# From ironic
1453#
1454
1455# Timeout (in seconds) for iLO operations (integer value)
1456#client_timeout = 60
1457
1458# Port to be used for iLO operations (port value)
1459# Minimum value: 0
1460# Maximum value: 65535
1461#client_port = 443
1462
1463# The Swift iLO container to store data. (string value)
1464#swift_ilo_container = ironic_ilo_container
1465
1466# Amount of time in seconds for Swift objects to auto-expire.
1467# (integer value)
1468#swift_object_expiry_timeout = 900
1469
1470# Set this to True to use http web server to host floppy
1471# images and generated boot ISO. This requires http_root and
1472# http_url to be configured in the [deploy] section of the
1473# config file. If this is set to False, then Ironic will use
1474# Swift to host the floppy images and generated boot_iso.
1475# (boolean value)
1476#use_web_server_for_images = false
1477
1478# DEPRECATED: Priority for erase devices clean step. If unset,
1479# it defaults to 10. If set to 0, the step will be disabled
1480# and will not run during cleaning. (integer value)
1481# This option is deprecated for removal.
1482# Its value may be silently ignored in the future.
1483# Reason: This configuration option is duplicated by [deploy]
1484# erase_devices_priority, please use that instead.
1485#clean_priority_erase_devices = <None>
1486
1487# Priority for reset_ilo clean step. (integer value)
1488#clean_priority_reset_ilo = 0
1489
1490# Priority for reset_bios_to_default clean step. (integer
1491# value)
1492#clean_priority_reset_bios_to_default = 10
1493
1494# Priority for reset_secure_boot_keys clean step. This step
1495# will reset the secure boot keys to manufacturing defaults.
1496# (integer value)
1497#clean_priority_reset_secure_boot_keys_to_default = 20
1498
1499# Priority for clear_secure_boot_keys clean step. This step is
1500# not enabled by default. It can be enabled to clear all
1501# secure boot keys enrolled with iLO. (integer value)
1502#clean_priority_clear_secure_boot_keys = 0
1503
1504# Priority for reset_ilo_credential clean step. This step
1505# requires "ilo_change_password" parameter to be updated in
1506# nodes's driver_info with the new password. (integer value)
1507#clean_priority_reset_ilo_credential = 30
1508
1509# Number of times a power operation needs to be retried
1510# (integer value)
1511#power_retry = 6
1512
1513# Amount of time in seconds to wait in between power
1514# operations (integer value)
1515#power_wait = 2
1516
1517# CA certificate file to validate iLO. (string value)
1518#ca_file = <None>
1519
1520# Default boot mode to be used in provisioning when
1521# "boot_mode" capability is not provided in the
1522# "properties/capabilities" of the node. The default is "auto"
1523# for backward compatibility. When "auto" is specified,
1524# default boot mode will be selected based on boot mode
1525# settings on the system. (string value)
1526# Allowed values: auto, bios, uefi
1527#default_boot_mode = auto
1528
1529
1530[inspector]
1531
1532#
1533# From ironic
1534#
1535
1536# Authentication URL (string value)
1537#auth_url = <None>
1538
1539# Authentication type to load (string value)
1540# Deprecated group/name - [inspector]/auth_plugin
1541#auth_type = <None>
1542
1543# PEM encoded Certificate Authority to use when verifying
1544# HTTPs connections. (string value)
1545#cafile = <None>
1546
1547# PEM encoded client certificate cert file (string value)
1548#certfile = <None>
1549
1550# Optional domain ID to use with v3 and v2 parameters. It will
1551# be used for both the user and project domain in v3 and
1552# ignored in v2 authentication. (string value)
1553#default_domain_id = <None>
1554
1555# Optional domain name to use with v3 API and v2 parameters.
1556# It will be used for both the user and project domain in v3
1557# and ignored in v2 authentication. (string value)
1558#default_domain_name = <None>
1559
1560# Domain ID to scope to (string value)
1561#domain_id = <None>
1562
1563# Domain name to scope to (string value)
1564#domain_name = <None>
1565
1566# whether to enable inspection using ironic-inspector. This
1567# option does not affect new-style dynamic drivers and the
1568# fake_inspector driver. (boolean value)
1569#enabled = false
1570
1571# Verify HTTPS connections. (boolean value)
1572#insecure = false
1573
1574# PEM encoded client certificate key file (string value)
1575#keyfile = <None>
1576
1577# User's password (string value)
1578#password = <None>
1579
1580# Domain ID containing project (string value)
1581#project_domain_id = <None>
1582
1583# Domain name containing project (string value)
1584#project_domain_name = <None>
1585
1586# Project ID to scope to (string value)
1587# Deprecated group/name - [inspector]/tenant-id
1588#project_id = <None>
1589
1590# Project name to scope to (string value)
1591# Deprecated group/name - [inspector]/tenant-name
1592#project_name = <None>
1593
1594# ironic-inspector HTTP endpoint. If this is not set, the
1595# service catalog will be used. (string value)
1596#service_url = <None>
1597
1598# period (in seconds) to check status of nodes on inspection
1599# (integer value)
1600#status_check_period = 60
1601
1602# Tenant ID (string value)
1603#tenant_id = <None>
1604
1605# Tenant Name (string value)
1606#tenant_name = <None>
1607
1608# Timeout value for http requests (integer value)
1609#timeout = <None>
1610
1611# Trust ID (string value)
1612#trust_id = <None>
1613
1614# User's domain id (string value)
1615#user_domain_id = <None>
1616
1617# User's domain name (string value)
1618#user_domain_name = <None>
1619
1620# User id (string value)
1621#user_id = <None>
1622
1623# Username (string value)
1624# Deprecated group/name - [inspector]/user-name
1625#username = <None>
1626
1627
1628[ipmi]
1629
1630#
1631# From ironic
1632#
1633
1634# Maximum time in seconds to retry IPMI operations. There is a
1635# tradeoff when setting this value. Setting this too low may
1636# cause older BMCs to crash and require a hard reset. However,
1637# setting too high can cause the sync power state periodic
1638# task to hang when there are slow or unresponsive BMCs.
1639# (integer value)
1640#retry_timeout = 60
1641
1642# Minimum time, in seconds, between IPMI operations sent to a
1643# server. There is a risk with some hardware that setting this
1644# too low may cause the BMC to crash. Recommended setting is 5
1645# seconds. (integer value)
1646#min_command_interval = 5
1647
1648
1649[irmc]
1650
1651#
1652# From ironic
1653#
1654
1655# Ironic conductor node's "NFS" or "CIFS" root path (string
1656# value)
1657#remote_image_share_root = /remote_image_share_root
1658
1659# IP of remote image server (string value)
1660#remote_image_server = <None>
1661
1662# Share type of virtual media (string value)
1663# Allowed values: CIFS, NFS
1664#remote_image_share_type = CIFS
1665
1666# share name of remote_image_server (string value)
1667#remote_image_share_name = share
1668
1669# User name of remote_image_server (string value)
1670#remote_image_user_name = <None>
1671
1672# Password of remote_image_user_name (string value)
1673#remote_image_user_password = <None>
1674
1675# Domain name of remote_image_user_name (string value)
1676#remote_image_user_domain =
1677
1678# Port to be used for iRMC operations (port value)
1679# Minimum value: 0
1680# Maximum value: 65535
1681# Allowed values: 443, 80
1682#port = 443
1683
1684# Authentication method to be used for iRMC operations (string
1685# value)
1686# Allowed values: basic, digest
1687#auth_method = basic
1688
1689# Timeout (in seconds) for iRMC operations (integer value)
1690#client_timeout = 60
1691
1692# Sensor data retrieval method. (string value)
1693# Allowed values: ipmitool, scci
1694#sensor_method = ipmitool
1695
1696# SNMP protocol version (string value)
1697# Allowed values: v1, v2c, v3
1698#snmp_version = v2c
1699
1700# SNMP port (port value)
1701# Minimum value: 0
1702# Maximum value: 65535
1703#snmp_port = 161
1704
1705# SNMP community. Required for versions "v1" and "v2c" (string
1706# value)
1707#snmp_community = public
1708
1709# SNMP security name. Required for version "v3" (string value)
1710#snmp_security = <None>
1711
1712# SNMP polling interval in seconds (integer value)
1713#snmp_polling_interval = 10
1714
1715
1716[ironic_lib]
1717
1718#
1719# From ironic_lib.utils
1720#
1721
1722# Command that is prefixed to commands that are run as root.
1723# If not specified, no commands are run as root. (string
1724# value)
1725#root_helper = sudo ironic-rootwrap /etc/ironic/rootwrap.conf
1726
1727
1728[iscsi]
1729
1730#
1731# From ironic
1732#
1733
1734# The port number on which the iSCSI portal listens for
1735# incoming connections. (port value)
1736# Minimum value: 0
1737# Maximum value: 65535
1738#portal_port = 3260
1739
1740
1741[keystone]
1742
1743#
1744# From ironic
1745#
1746
1747# The region used for getting endpoints of OpenStack services.
1748# (string value)
1749{%- if ironic.get('identity', {}).get('region') %}
1750region_name = {{ ironic.identity.region }}
1751{%- else %}
1752#region_name = <None>
1753{%- endif %}
1754
1755
1756[keystone_authtoken]
1757
1758#
1759# From keystonemiddleware.auth_token
1760#
1761
1762# Authentication URL (string value)
1763{%- if ironic.get('identity', {}).get('engine') == 'keystone' %}
1764auth_url = {{ ironic.identity.protocol }}://{{ ironic.identity.host }}:{{ ironic.identity.port }}/identity
1765{%- else %}
1766#auth_uri = <None>
1767{%- endif %}
1768
1769# Authentication type to load (string value)
1770# Deprecated group/name - [service_catalog]/auth_plugin
1771{%- if ironic.get('identity', {}).get('auth_type') %}
1772auth_type = {{ ironic.identity.auth_type }}
1773{%- else %}
1774#auth_type = <None>
1775{%- endif %}
1776
1777# Optional domain ID to use with v3 and v2 parameters. It will
1778# be used for both the user and project domain in v3 and
1779# ignored in v2 authentication. (string value)
1780{%- if ironic.get('identity', {}).get('default_domain_id') %}
1781default_domain_id = {{ ironic.identity.default_domain_id }}
1782{%- else %}
1783#default_domain_id = <None>
1784{%- endif %}
1785
1786# Optional domain name to use with v3 API and v2 parameters.
1787# It will be used for both the user and project domain in v3
1788# and ignored in v2 authentication. (string value)
1789{%- if ironic.get('identity', {}).get('default_domain_name') %}
1790default_domain_name = {{ ironic.identity.default_domain_name }}
1791{%- else %}
1792#default_domain_name = <None>
1793{%- endif %}
1794
1795# Domain ID to scope to (string value)
1796{%- if ironic.get('identity', {}).get('domain_id') %}
1797domain_id = {{ ironic.identity.domain_id }}
1798{%- else %}
1799#domain_id = <None>
1800{%- endif %}
1801
1802# Domain name to scope to (string value)
1803{%- if ironic.get('identity', {}).get('domain_name') %}
1804domain_name = {{ ironic.identity.domain_name }}
1805{%- else %}
1806#domain_name = <None>
1807{%- endif %}
1808
1809# User's password (string value)
1810{%- if ironic.get('identity', {}).get('password') %}
1811password = {{ ironic.identity.password }}
1812{%- else %}
1813#password = <None>
1814{%- endif %}
1815
1816# Domain ID containing project (string value)
1817{%- if ironic.get('identity', {}).get('project_domain_id') %}
1818project_domain_id = {{ ironic.identity.project_domain_id }}
1819{%- else %}
1820#project_domain_id = <None>
1821{%- endif %}
1822
1823# Domain name containing project (string value)
1824{%- if ironic.get('identity', {}).get('project_domain_name') %}
1825project_domain_name = {{ ironic.identity.project_domain_name }}
1826{%- else %}
1827#project_domain_name = <None>
1828{%- endif %}
1829
1830# Project ID to scope to (string value)
1831# Deprecated group/name - [service_catalog]/tenant-id
1832{%- if ironic.get('identity', {}).get('project_id') %}
1833project_id = {{ ironic.identity.project_id }}
1834{%- else %}
1835#project_id = <None>
1836{%- endif %}
1837
1838# Project name to scope to (string value)
1839# Deprecated group/name - [service_catalog]/tenant-name
1840{%- if ironic.get('identity', {}).get('project_name') %}
1841project_name = {{ ironic.identity.project_name }}
1842{%- else %}
1843#project_name = <None>
1844{%- endif %}
1845
1846# Tenant ID (string value)
1847{%- if ironic.get('identity', {}).get('tenant_id') %}
1848tenant_id = {{ ironic.identity.tenant_id }}
1849{%- else %}
1850#tenant_id = <None>
1851{%- endif %}
1852
1853# Tenant Name (string value)
1854{%- if ironic.get('identity', {}).get('tenant_name') %}
1855tenant_name = {{ ironic.identity.tenant_name }}
1856{%- else %}
1857#tenant_name = <None>
1858{%- endif %}
1859
1860# User's domain id (string value)
1861{%- if ironic.get('identity', {}).get('user_domain_id') %}
1862user_domain_id = {{ ironic.identity.user_domain_id }}
1863{%- else %}
1864#user_domain_id = <None>
1865{%- endif %}
1866
1867# User's domain name (string value)
1868{%- if ironic.get('identity', {}).get('user_domain_name') %}
1869user_domain_name = {{ ironic.identity.user_domain_name }}
1870{%- else %}
1871#user_domain_name = <None>
1872{%- endif %}
1873
1874# User id (string value)
1875{%- if ironic.get('identity', {}).get('user_id') %}
1876user_id = {{ ironic.identity.user_id }}
1877{%- else %}
1878#user_id = <None>
1879{%- endif %}
1880
1881# Username (string value)
1882# Deprecated group/name - [service_catalog]/user-name
1883{%- if ironic.get('identity', {}).get('user') %}
1884username = {{ ironic.identity.user}}
1885{%- else %}
1886#username = <None>
1887{%- endif %}
1888
1889# API version of the admin Identity API endpoint. (string
1890# value)
1891{%- if ironic.get('identity', {}).get('version') %}
1892auth_version = {{ ironic.identity.version }}
1893{%- else %}
1894#auth_version = <None>
1895{%- endif %}
1896
1897# Do not handle authorization requests within the middleware,
1898# but delegate the authorization decision to downstream WSGI
1899# components. (boolean value)
1900#delay_auth_decision = false
1901
1902# Request timeout value for communicating with Identity API
1903# server. (integer value)
1904#http_connect_timeout = <None>
1905
1906# How many times are we trying to reconnect when communicating
1907# with Identity API Server. (integer value)
1908#http_request_max_retries = 3
1909
1910# Request environment key where the Swift cache object is
1911# stored. When auth_token middleware is deployed with a Swift
1912# cache, use this option to have the middleware share a
1913# caching backend with swift. Otherwise, use the
1914# ``memcached_servers`` option instead. (string value)
1915#cache = <None>
1916
1917# Required if identity server requires client certificate
1918# (string value)
1919#certfile = <None>
1920
1921# Required if identity server requires client certificate
1922# (string value)
1923#keyfile = <None>
1924
1925# A PEM encoded Certificate Authority to use when verifying
1926# HTTPs connections. Defaults to system CAs. (string value)
1927#cafile = <None>
1928
1929# Verify HTTPS connections. (boolean value)
1930#insecure = false
1931
1932# The region in which the identity server can be found.
1933# (string value)
1934#region_name = <None>
1935
1936# DEPRECATED: Directory used to cache files related to PKI
1937# tokens. This option has been deprecated in the Ocata release
1938# and will be removed in the P release. (string value)
1939# This option is deprecated for removal since Ocata.
1940# Its value may be silently ignored in the future.
1941# Reason: PKI token format is no longer supported.
1942#signing_dir = <None>
1943
1944# Optionally specify a list of memcached server(s) to use for
1945# caching. If left undefined, tokens will instead be cached
1946# in-process. (list value)
1947# Deprecated group/name - [keystone_authtoken]/memcache_servers
1948{%- if ironic.get('identity', {}).get('memcached_servers') %}
1949memcached_servers = {{ ironic.identity.memcached_servers }}
1950{%- else %}
1951#memcached_servers = <None>
1952{%- endif %}
1953
1954# In order to prevent excessive effort spent validating
1955# tokens, the middleware caches previously-seen tokens for a
1956# configurable duration (in seconds). Set to -1 to disable
1957# caching completely. (integer value)
1958#token_cache_time = 300
1959
1960# DEPRECATED: Determines the frequency at which the list of
1961# revoked tokens is retrieved from the Identity service (in
1962# seconds). A high number of revocation events combined with a
1963# low cache duration may significantly reduce performance.
1964# Only valid for PKI tokens. This option has been deprecated
1965# in the Ocata release and will be removed in the P release.
1966# (integer value)
1967# This option is deprecated for removal since Ocata.
1968# Its value may be silently ignored in the future.
1969# Reason: PKI token format is no longer supported.
1970#revocation_cache_time = 10
1971
1972# (Optional) If defined, indicate whether token data should be
1973# authenticated or authenticated and encrypted. If MAC, token
1974# data is authenticated (with HMAC) in the cache. If ENCRYPT,
1975# token data is encrypted and authenticated in the cache. If
1976# the value is not one of these options or empty, auth_token
1977# will raise an exception on initialization. (string value)
1978# Allowed values: None, MAC, ENCRYPT
1979#memcache_security_strategy = None
1980
1981# (Optional, mandatory if memcache_security_strategy is
1982# defined) This string is used for key derivation. (string
1983# value)
1984#memcache_secret_key = <None>
1985
1986# (Optional) Number of seconds memcached server is considered
1987# dead before it is tried again. (integer value)
1988#memcache_pool_dead_retry = 300
1989
1990# (Optional) Maximum total number of open connections to every
1991# memcached server. (integer value)
1992#memcache_pool_maxsize = 10
1993
1994# (Optional) Socket timeout in seconds for communicating with
1995# a memcached server. (integer value)
1996#memcache_pool_socket_timeout = 3
1997
1998# (Optional) Number of seconds a connection to memcached is
1999# held unused in the pool before it is closed. (integer value)
2000#memcache_pool_unused_timeout = 60
2001
2002# (Optional) Number of seconds that an operation will wait to
2003# get a memcached client connection from the pool. (integer
2004# value)
2005#memcache_pool_conn_get_timeout = 10
2006
2007# (Optional) Use the advanced (eventlet safe) memcached client
2008# pool. The advanced pool will only work under python 2.x.
2009# (boolean value)
2010#memcache_use_advanced_pool = false
2011
2012# (Optional) Indicate whether to set the X-Service-Catalog
2013# header. If False, middleware will not ask for service
2014# catalog on token validation and will not set the X-Service-
2015# Catalog header. (boolean value)
2016#include_service_catalog = true
2017
2018# Used to control the use and type of token binding. Can be
2019# set to: "disabled" to not check token binding. "permissive"
2020# (default) to validate binding information if the bind type
2021# is of a form known to the server and ignore it if not.
2022# "strict" like "permissive" but if the bind type is unknown
2023# the token will be rejected. "required" any form of token
2024# binding is needed to be allowed. Finally the name of a
2025# binding method that must be present in tokens. (string
2026# value)
2027#enforce_token_bind = permissive
2028
2029# DEPRECATED: If true, the revocation list will be checked for
2030# cached tokens. This requires that PKI tokens are configured
2031# on the identity server. (boolean value)
2032# This option is deprecated for removal since Ocata.
2033# Its value may be silently ignored in the future.
2034# Reason: PKI token format is no longer supported.
2035#check_revocations_for_cached = false
2036
2037# DEPRECATED: Hash algorithms to use for hashing PKI tokens.
2038# This may be a single algorithm or multiple. The algorithms
2039# are those supported by Python standard hashlib.new(). The
2040# hashes will be tried in the order given, so put the
2041# preferred one first for performance. The result of the first
2042# hash will be stored in the cache. This will typically be set
2043# to multiple values only while migrating from a less secure
2044# algorithm to a more secure one. Once all the old tokens are
2045# expired this option should be set to a single value for
2046# better performance. (list value)
2047# This option is deprecated for removal since Ocata.
2048# Its value may be silently ignored in the future.
2049# Reason: PKI token format is no longer supported.
2050#hash_algorithms = md5
2051
2052# A choice of roles that must be present in a service token.
2053# Service tokens are allowed to request that an expired token
2054# can be used and so this check should tightly control that
2055# only actual services should be sending this token. Roles
2056# here are applied as an ANY check so any role in this list
2057# must be present. For backwards compatibility reasons this
2058# currently only affects the allow_expired check. (list value)
2059#service_token_roles = service
2060
2061# For backwards compatibility reasons we must let valid
2062# service tokens pass that don't pass the service_token_roles
2063# check as valid. Setting this true will become the default in
2064# a future release and should be enabled if possible. (boolean
2065# value)
2066#service_token_roles_required = false
2067
2068# Authentication type to load (string value)
2069# Deprecated group/name - [keystone_authtoken]/auth_plugin
2070{%- if ironic.get('identity', {}).get('auth_type') %}
2071auth_type = {{ ironic.identity.auth_type }}
2072{%- else %}
2073#auth_type = <None>
2074{%- endif %}
2075
2076# Config Section from which to load plugin specific options
2077# (string value)
2078#auth_section = <None>
2079
2080
2081[matchmaker_redis]
2082
2083#
2084# From oslo.messaging
2085#
2086
2087# DEPRECATED: Host to locate redis. (string value)
2088# This option is deprecated for removal.
2089# Its value may be silently ignored in the future.
2090# Reason: Replaced by [DEFAULT]/transport_url
2091#host = 127.0.0.1
2092
2093# DEPRECATED: Use this port to connect to redis host. (port
2094# value)
2095# Minimum value: 0
2096# Maximum value: 65535
2097# This option is deprecated for removal.
2098# Its value may be silently ignored in the future.
2099# Reason: Replaced by [DEFAULT]/transport_url
2100#port = 6379
2101
2102# DEPRECATED: Password for Redis server (optional). (string
2103# value)
2104# This option is deprecated for removal.
2105# Its value may be silently ignored in the future.
2106# Reason: Replaced by [DEFAULT]/transport_url
2107#password =
2108
2109# DEPRECATED: List of Redis Sentinel hosts (fault tolerance
2110# mode), e.g., [host:port, host1:port ... ] (list value)
2111# This option is deprecated for removal.
2112# Its value may be silently ignored in the future.
2113# Reason: Replaced by [DEFAULT]/transport_url
2114#sentinel_hosts =
2115
2116# Redis replica set name. (string value)
2117#sentinel_group_name = oslo-messaging-zeromq
2118
2119# Time in ms to wait between connection attempts. (integer
2120# value)
2121#wait_timeout = 2000
2122
2123# Time in ms to wait before the transaction is killed.
2124# (integer value)
2125#check_timeout = 20000
2126
2127# Timeout in ms on blocking socket operations. (integer value)
2128#socket_timeout = 10000
2129
2130
2131[metrics]
2132
2133#
2134# From ironic
2135#
2136
2137# Backend for the agent ramdisk to use for metrics. Default
2138# possible backends are "noop" and "statsd". (string value)
2139#agent_backend = noop
2140
2141# Prepend the hostname to all metric names sent by the agent
2142# ramdisk. The format of metric names is
2143# [global_prefix.][uuid.][host_name.]prefix.metric_name.
2144# (boolean value)
2145#agent_prepend_host = false
2146
2147# Prepend the node's Ironic uuid to all metric names sent by
2148# the agent ramdisk. The format of metric names is
2149# [global_prefix.][uuid.][host_name.]prefix.metric_name.
2150# (boolean value)
2151#agent_prepend_uuid = false
2152
2153# Split the prepended host value by "." and reverse it for
2154# metrics sent by the agent ramdisk (to better match the
2155# reverse hierarchical form of domain names). (boolean value)
2156#agent_prepend_host_reverse = true
2157
2158# Prefix all metric names sent by the agent ramdisk with this
2159# value. The format of metric names is
2160# [global_prefix.][uuid.][host_name.]prefix.metric_name.
2161# (string value)
2162#agent_global_prefix = <None>
2163
2164#
2165# From ironic_lib.metrics
2166#
2167
2168# Backend to use for the metrics system. (string value)
2169# Allowed values: noop, statsd
2170#backend = noop
2171
2172# Prepend the hostname to all metric names. The format of
2173# metric names is
2174# [global_prefix.][host_name.]prefix.metric_name. (boolean
2175# value)
2176#prepend_host = false
2177
2178# Split the prepended host value by "." and reverse it (to
2179# better match the reverse hierarchical form of domain names).
2180# (boolean value)
2181#prepend_host_reverse = true
2182
2183# Prefix all metric names with this value. By default, there
2184# is no global prefix. The format of metric names is
2185# [global_prefix.][host_name.]prefix.metric_name. (string
2186# value)
2187#global_prefix = <None>
2188
2189
2190[metrics_statsd]
2191
2192#
2193# From ironic
2194#
2195
2196# Host for the agent ramdisk to use with the statsd backend.
2197# This must be accessible from networks the agent is booted
2198# on. (string value)
2199#agent_statsd_host = localhost
2200
2201# Port for the agent ramdisk to use with the statsd backend.
2202# (port value)
2203# Minimum value: 0
2204# Maximum value: 65535
2205#agent_statsd_port = 8125
2206
2207#
2208# From ironic_lib.metrics_statsd
2209#
2210
2211# Host for use with the statsd backend. (string value)
2212#statsd_host = localhost
2213
2214# Port to use with the statsd backend. (port value)
2215# Minimum value: 0
2216# Maximum value: 65535
2217#statsd_port = 8125
2218
2219
2220[neutron]
2221
2222#
2223# From ironic
2224#
2225
2226# Authentication URL (string value)
2227{%- if conductor.get('neutron', {}).get('auth_strategy') == 'keystone' %}
2228auth_url = {{ conductor.identity.protocol }}://{{ conductor.identity.host }}:{{ conductor.identity.port }}/identity
2229{%- else %}
2230#auth_url = <None>
2231{%- endif %}
2232
2233# Authentication strategy to use when connecting to neutron.
2234# Running neutron in noauth mode (related to but not affected
2235# by this setting) is insecure and should only be used for
2236# testing. (string value)
2237# Allowed values: keystone, noauth
2238{%- if conductor.get('neutron', {}).get('auth_strategy') %}
2239auth_strategy = {{ conductor.neutron.auth_strategy }}
2240{%- else %}
2241#auth_strategy = keystone
2242{%- endif %}
2243
2244# Authentication type to load (string value)
2245# Deprecated group/name - [neutron]/auth_plugin
2246{%- if conductor.get('neutron', {}).get('auth_type') %}
2247auth_type = {{ conductor.neutron.auth_type }}
2248{%- else %}
2249#auth_type = <None>
2250{%- endif %}
2251
2252# PEM encoded Certificate Authority to use when verifying
2253# HTTPs connections. (string value)
2254#cafile = <None>
2255
2256# PEM encoded client certificate cert file (string value)
2257#certfile = <None>
2258
2259# Neutron network UUID for the ramdisk to be booted into for
2260# cleaning nodes. Required for "neutron" network interface. It
2261# is also required if cleaning nodes when using "flat" network
2262# interface or "neutron" DHCP provider. (string value)
2263#cleaning_network_uuid = <None>
2264
2265# Optional domain ID to use with v3 and v2 parameters. It will
2266# be used for both the user and project domain in v3 and
2267# ignored in v2 authentication. (string value)
2268#default_domain_id = <None>
2269
2270# Optional domain name to use with v3 API and v2 parameters.
2271# It will be used for both the user and project domain in v3
2272# and ignored in v2 authentication. (string value)
2273#default_domain_name = <None>
2274
2275# Domain ID to scope to (string value)
2276#domain_id = <None>
2277
2278# Domain name to scope to (string value)
2279#domain_name = <None>
2280
2281# Verify HTTPS connections. (boolean value)
2282#insecure = false
2283
2284# PEM encoded client certificate key file (string value)
2285#keyfile = <None>
2286
2287# User's password (string value)
2288{%- if conductor.get('neutron', {}).get('password') %}
2289password = {{ conductor.neutron.password }}
2290{%- else %}
2291#password = <None>
2292{%- endif %}
2293
2294# Delay value to wait for Neutron agents to setup sufficient
2295# DHCP configuration for port. (integer value)
2296# Minimum value: 0
2297{%- if conductor.get('neutron', {}).get('port_setup_delay') %}
2298port_setup_delay = {{ conductor.neutron.port_setup_delay }}
2299{%- else %}
2300#port_setup_delay = 0
2301{%- endif %}
2302
2303# Domain ID containing project (string value)
2304{%- if conductor.get('neutron', {}).get('project_domain_id') %}
2305project_domain_id = {{ conductor.neutron.project_domain_id }}
2306{%- else %}
2307#project_domain_id = <None>
2308{%- endif %}
2309
2310# Domain name containing project (string value)
2311{%- if conductor.get('neutron', {}).get('project_domain_name') %}
2312project_domain_name = {{ conductor.neutron.project_domain_name }}
2313{%- else %}
2314#project_domain_name = <None>
2315{%- endif %}
2316
2317# Project ID to scope to (string value)
2318# Deprecated group/name - [neutron]/tenant-id
2319{%- if conductor.get('neutron', {}).get('project_id') %}
2320project_id = {{ conductor.neutron.project_id }}
2321{%- else %}
2322#project_id = <None>
2323{%- endif %}
2324
2325# Project name to scope to (string value)
2326# Deprecated group/name - [neutron]/tenant-name
2327{%- if conductor.get('neutron', {}).get('project_name') %}
2328project_name = {{ conductor.neutron.project_name }}
2329{%- else %}
2330#project_name = <None>
2331{%- endif %}
2332
2333# Neutron network UUID for the ramdisk to be booted into for
2334# provisioning nodes. Required for "neutron" network
2335# interface. (string value)
2336#provisioning_network_uuid = <None>
2337
2338# Client retries in the case of a failed request. (integer
2339# value)
2340#retries = 3
2341
2342# Tenant ID (string value)
2343{%- if conductor.get('neutron', {}).get('tenant_id') %}
2344tenant_id = {{ conductor.neutron.tenant_id }}
2345{%- else %}
2346#tenant_id = <None>
2347{%- endif %}
2348
2349# Tenant Name (string value)
2350#tenant_name = <None>
2351
2352# Timeout value for http requests (integer value)
2353#timeout = <None>
2354
2355# Trust ID (string value)
2356#trust_id = <None>
2357
2358# URL for connecting to neutron. Default value translates to
2359# 'http://$my_ip:9696' when auth_strategy is 'noauth', and to
2360# discovery from Keystone catalog when auth_strategy is
2361# 'keystone'. (string value)
2362#url = <None>
2363
2364# Timeout value for connecting to neutron in seconds. (integer
2365# value)
2366#url_timeout = 30
2367
2368# User's domain id (string value)
2369{%- if conductor.get('neutron', {}).get('user_domain_id') %}
2370user_domain_id = {{ conductor.neutron.user_domain_id }}
2371{%- else %}
2372#user_domain_id = <None>
2373{%- endif %}
2374
2375# User's domain name (string value)
2376{%- if conductor.get('neutron', {}).get('user_domain_name') %}
2377user_domain_name = {{ conductor.neutron.user_domain_name }}
2378{%- else %}
2379#user_domain_name = <None>
2380{%- endif %}
2381
2382# User id (string value)
2383{%- if conductor.get('neutron', {}).get('user_id') %}
2384user_id = {{ conductor.neutron.user_id }}
2385{%- else %}
2386#user_id = <None>
2387{%- endif %}
2388
2389# Username (string value)
2390# Deprecated group/name - [neutron]/user-name
2391{%- if conductor.get('neutron', {}).get('username') %}
2392username = {{ conductor.neutron.username }}
2393{%- else %}
2394#username = <None>
2395{%- endif %}
2396
2397
2398[oneview]
2399
2400#
2401# From ironic
2402#
2403
2404# URL where OneView is available. (string value)
2405#manager_url = <None>
2406
2407# OneView username to be used. (string value)
2408#username = <None>
2409
2410# OneView password to be used. (string value)
2411#password = <None>
2412
2413# Option to allow insecure connection with OneView. (boolean
2414# value)
2415#allow_insecure_connections = false
2416
2417# Path to CA certificate. (string value)
2418#tls_cacert_file = <None>
2419
2420# Max connection retries to check changes on OneView. (integer
2421# value)
2422#max_polling_attempts = 12
2423
2424# Whether to enable the periodic tasks for OneView driver be
2425# aware when OneView hardware resources are taken and released
2426# by Ironic or OneView users and proactively manage nodes in
2427# clean fail state according to Dynamic Allocation model of
2428# hardware resources allocation in OneView. (boolean value)
2429#enable_periodic_tasks = true
2430
2431# Period (in seconds) for periodic tasks to be executed when
2432# enable_periodic_tasks=True. (integer value)
2433#periodic_check_interval = 300
2434
2435
2436[oslo_concurrency]
2437
2438#
2439# From oslo.concurrency
2440#
2441
2442# Enables or disables inter-process locks. (boolean value)
2443# Deprecated group/name - [DEFAULT]/disable_process_locking
2444#disable_process_locking = false
2445
2446# Directory to use for lock files. For security, the
2447# specified directory should only be writable by the user
2448# running the processes that need locking. Defaults to
2449# environment variable OSLO_LOCK_PATH. If external locks are
2450# used, a lock path must be set. (string value)
2451# Deprecated group/name - [DEFAULT]/lock_path
2452#lock_path = <None>
2453
2454
2455[oslo_messaging_amqp]
2456
2457#
2458# From oslo.messaging
2459#
2460
2461# Name for the AMQP container. must be globally unique.
2462# Defaults to a generated UUID (string value)
2463# Deprecated group/name - [amqp1]/container_name
2464#container_name = <None>
2465
2466# Timeout for inactive connections (in seconds) (integer
2467# value)
2468# Deprecated group/name - [amqp1]/idle_timeout
2469#idle_timeout = 0
2470
2471# Debug: dump AMQP frames to stdout (boolean value)
2472# Deprecated group/name - [amqp1]/trace
2473#trace = false
2474
2475# CA certificate PEM file used to verify the server's
2476# certificate (string value)
2477# Deprecated group/name - [amqp1]/ssl_ca_file
2478#ssl_ca_file =
2479
2480# Self-identifying certificate PEM file for client
2481# authentication (string value)
2482# Deprecated group/name - [amqp1]/ssl_cert_file
2483#ssl_cert_file =
2484
2485# Private key PEM file used to sign ssl_cert_file certificate
2486# (optional) (string value)
2487# Deprecated group/name - [amqp1]/ssl_key_file
2488#ssl_key_file =
2489
2490# Password for decrypting ssl_key_file (if encrypted) (string
2491# value)
2492# Deprecated group/name - [amqp1]/ssl_key_password
2493#ssl_key_password = <None>
2494
2495# DEPRECATED: Accept clients using either SSL or plain TCP
2496# (boolean value)
2497# Deprecated group/name - [amqp1]/allow_insecure_clients
2498# This option is deprecated for removal.
2499# Its value may be silently ignored in the future.
2500# Reason: Not applicable - not a SSL server
2501#allow_insecure_clients = false
2502
2503# Space separated list of acceptable SASL mechanisms (string
2504# value)
2505# Deprecated group/name - [amqp1]/sasl_mechanisms
2506#sasl_mechanisms =
2507
2508# Path to directory that contains the SASL configuration
2509# (string value)
2510# Deprecated group/name - [amqp1]/sasl_config_dir
2511#sasl_config_dir =
2512
2513# Name of configuration file (without .conf suffix) (string
2514# value)
2515# Deprecated group/name - [amqp1]/sasl_config_name
2516#sasl_config_name =
2517
2518# User name for message broker authentication (string value)
2519# Deprecated group/name - [amqp1]/username
2520#username =
2521
2522# Password for message broker authentication (string value)
2523# Deprecated group/name - [amqp1]/password
2524#password =
2525
2526# Seconds to pause before attempting to re-connect. (integer
2527# value)
2528# Minimum value: 1
2529#connection_retry_interval = 1
2530
2531# Increase the connection_retry_interval by this many seconds
2532# after each unsuccessful failover attempt. (integer value)
2533# Minimum value: 0
2534#connection_retry_backoff = 2
2535
2536# Maximum limit for connection_retry_interval +
2537# connection_retry_backoff (integer value)
2538# Minimum value: 1
2539#connection_retry_interval_max = 30
2540
2541# Time to pause between re-connecting an AMQP 1.0 link that
2542# failed due to a recoverable error. (integer value)
2543# Minimum value: 1
2544#link_retry_delay = 10
2545
2546# The maximum number of attempts to re-send a reply message
2547# which failed due to a recoverable error. (integer value)
2548# Minimum value: -1
2549#default_reply_retry = 0
2550
2551# The deadline for an rpc reply message delivery. (integer
2552# value)
2553# Minimum value: 5
2554#default_reply_timeout = 30
2555
2556# The deadline for an rpc cast or call message delivery. Only
2557# used when caller does not provide a timeout expiry. (integer
2558# value)
2559# Minimum value: 5
2560#default_send_timeout = 30
2561
2562# The deadline for a sent notification message delivery. Only
2563# used when caller does not provide a timeout expiry. (integer
2564# value)
2565# Minimum value: 5
2566#default_notify_timeout = 30
2567
2568# The duration to schedule a purge of idle sender links.
2569# Detach link after expiry. (integer value)
2570# Minimum value: 1
2571#default_sender_link_timeout = 600
2572
2573# Indicates the addressing mode used by the driver.
2574# Permitted values:
2575# 'legacy' - use legacy non-routable addressing
2576# 'routable' - use routable addresses
2577# 'dynamic' - use legacy addresses if the message bus does
2578# not support routing otherwise use routable addressing
2579# (string value)
2580#addressing_mode = dynamic
2581
2582# address prefix used when sending to a specific server
2583# (string value)
2584# Deprecated group/name - [amqp1]/server_request_prefix
2585#server_request_prefix = exclusive
2586
2587# address prefix used when broadcasting to all servers (string
2588# value)
2589# Deprecated group/name - [amqp1]/broadcast_prefix
2590#broadcast_prefix = broadcast
2591
2592# address prefix when sending to any server in group (string
2593# value)
2594# Deprecated group/name - [amqp1]/group_request_prefix
2595#group_request_prefix = unicast
2596
2597# Address prefix for all generated RPC addresses (string
2598# value)
2599#rpc_address_prefix = openstack.org/om/rpc
2600
2601# Address prefix for all generated Notification addresses
2602# (string value)
2603#notify_address_prefix = openstack.org/om/notify
2604
2605# Appended to the address prefix when sending a fanout
2606# message. Used by the message bus to identify fanout
2607# messages. (string value)
2608#multicast_address = multicast
2609
2610# Appended to the address prefix when sending to a particular
2611# RPC/Notification server. Used by the message bus to identify
2612# messages sent to a single destination. (string value)
2613#unicast_address = unicast
2614
2615# Appended to the address prefix when sending to a group of
2616# consumers. Used by the message bus to identify messages that
2617# should be delivered in a round-robin fashion across
2618# consumers. (string value)
2619#anycast_address = anycast
2620
2621# Exchange name used in notification addresses.
2622# Exchange name resolution precedence:
2623# Target.exchange if set
2624# else default_notification_exchange if set
2625# else control_exchange if set
2626# else 'notify' (string value)
2627#default_notification_exchange = <None>
2628
2629# Exchange name used in RPC addresses.
2630# Exchange name resolution precedence:
2631# Target.exchange if set
2632# else default_rpc_exchange if set
2633# else control_exchange if set
2634# else 'rpc' (string value)
2635#default_rpc_exchange = <None>
2636
2637# Window size for incoming RPC Reply messages. (integer value)
2638# Minimum value: 1
2639#reply_link_credit = 200
2640
2641# Window size for incoming RPC Request messages (integer
2642# value)
2643# Minimum value: 1
2644#rpc_server_credit = 100
2645
2646# Window size for incoming Notification messages (integer
2647# value)
2648# Minimum value: 1
2649#notify_server_credit = 100
2650
2651# Send messages of this type pre-settled.
2652# Pre-settled messages will not receive acknowledgement
2653# from the peer. Note well: pre-settled messages may be
2654# silently discarded if the delivery fails.
2655# Permitted values:
2656# 'rpc-call' - send RPC Calls pre-settled
2657# 'rpc-reply'- send RPC Replies pre-settled
2658# 'rpc-cast' - Send RPC Casts pre-settled
2659# 'notify' - Send Notifications pre-settled
2660# (multi valued)
2661#pre_settled = rpc-cast
2662
2663
2664[oslo_messaging_kafka]
2665
2666#
2667# From oslo.messaging
2668#
2669
2670# DEPRECATED: Default Kafka broker Host (string value)
2671# This option is deprecated for removal.
2672# Its value may be silently ignored in the future.
2673# Reason: Replaced by [DEFAULT]/transport_url
2674#kafka_default_host = localhost
2675
2676# DEPRECATED: Default Kafka broker Port (port value)
2677# Minimum value: 0
2678# Maximum value: 65535
2679# This option is deprecated for removal.
2680# Its value may be silently ignored in the future.
2681# Reason: Replaced by [DEFAULT]/transport_url
2682#kafka_default_port = 9092
2683
2684# Max fetch bytes of Kafka consumer (integer value)
2685#kafka_max_fetch_bytes = 1048576
2686
2687# Default timeout(s) for Kafka consumers (floating point
2688# value)
2689#kafka_consumer_timeout = 1.0
2690
2691# Pool Size for Kafka Consumers (integer value)
2692#pool_size = 10
2693
2694# The pool size limit for connections expiration policy
2695# (integer value)
2696#conn_pool_min_size = 2
2697
2698# The time-to-live in sec of idle connections in the pool
2699# (integer value)
2700#conn_pool_ttl = 1200
2701
2702# Group id for Kafka consumer. Consumers in one group will
2703# coordinate message consumption (string value)
2704#consumer_group = oslo_messaging_consumer
2705
2706# Upper bound on the delay for KafkaProducer batching in
2707# seconds (floating point value)
2708#producer_batch_timeout = 0.0
2709
2710# Size of batch for the producer async send (integer value)
2711#producer_batch_size = 16384
2712
2713
2714[oslo_messaging_notifications]
2715
2716#
2717# From oslo.messaging
2718#
2719
2720# The Drivers(s) to handle sending notifications. Possible
2721# values are messaging, messagingv2, routing, log, test, noop
2722# (multi valued)
2723# Deprecated group/name - [DEFAULT]/notification_driver
2724#driver =
2725
2726# A URL representing the messaging driver to use for
2727# notifications. If not set, we fall back to the same
2728# configuration used for RPC. (string value)
2729# Deprecated group/name - [DEFAULT]/notification_transport_url
2730#transport_url = <None>
2731
2732# AMQP topic used for OpenStack notifications. (list value)
2733# Deprecated group/name - [rpc_notifier2]/topics
2734# Deprecated group/name - [DEFAULT]/notification_topics
2735#topics = notifications
2736
2737
2738[oslo_messaging_rabbit]
2739
2740#
2741# From oslo.messaging
2742#
2743
Kirill Bespalovc9e9bf32017-08-06 16:44:27 +03002744{%- if ironic.message_queue.get('ssl',{}).get('enabled', False) %}
2745rabbit_use_ssl=true
2746{%- if ironic.message_queue.ssl.version is defined %}
2747kombu_ssl_version = {{ ironic.message_queue.ssl.version }}
2748{%- elif salt['grains.get']('pythonversion') > [2,7,8] %}
2749kombu_ssl_version = TLSv1_2
2750{%- endif %}
2751{%- if ironic.message_queue.ssl.cacert_file is defined %}
2752kombu_ssl_ca_certs = {{ ironic.message_queue.ssl.cacert_file }}
2753{%- else %}
2754kombu_ssl_ca_certs={{ system_cacerts_file }}
2755{%- endif %}
2756{%- endif %}
2757
Vasyl Saienko8403d172017-04-27 14:21:46 +03002758# Use durable queues in AMQP. (boolean value)
2759# Deprecated group/name - [DEFAULT]/amqp_durable_queues
2760# Deprecated group/name - [DEFAULT]/rabbit_durable_queues
2761#amqp_durable_queues = false
2762
2763# Auto-delete queues in AMQP. (boolean value)
2764# Deprecated group/name - [DEFAULT]/amqp_auto_delete
2765#amqp_auto_delete = false
2766
2767# Enable SSL (boolean value)
2768#ssl = <None>
2769
2770# SSL version to use (valid only if SSL enabled). Valid values
2771# are TLSv1 and SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may
2772# be available on some distributions. (string value)
2773# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_version
2774#ssl_version =
2775
2776# SSL key file (valid only if SSL enabled). (string value)
2777# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_keyfile
2778#ssl_key_file =
2779
2780# SSL cert file (valid only if SSL enabled). (string value)
2781# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_certfile
2782#ssl_cert_file =
2783
2784# SSL certification authority file (valid only if SSL
2785# enabled). (string value)
2786# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_ca_certs
2787#ssl_ca_file =
2788
2789# How long to wait before reconnecting in response to an AMQP
2790# consumer cancel notification. (floating point value)
2791# Deprecated group/name - [DEFAULT]/kombu_reconnect_delay
2792#kombu_reconnect_delay = 1.0
2793
2794# EXPERIMENTAL: Possible values are: gzip, bz2. If not set
2795# compression will not be used. This option may not be
2796# available in future versions. (string value)
2797#kombu_compression = <None>
2798
2799# How long to wait a missing client before abandoning to send
2800# it its replies. This value should not be longer than
2801# rpc_response_timeout. (integer value)
2802# Deprecated group/name - [oslo_messaging_rabbit]/kombu_reconnect_timeout
2803#kombu_missing_consumer_retry_timeout = 60
2804
2805# Determines how the next RabbitMQ node is chosen in case the
2806# one we are currently connected to becomes unavailable. Takes
2807# effect only if more than one RabbitMQ node is provided in
2808# common. (string value)
2809# Allowed values: round-robin, shuffle
2810#kombu_failover_strategy = round-robin
2811
2812# DEPRECATED: The RabbitMQ broker address where a single node
2813# is used. (string value)
2814# Deprecated group/name - [DEFAULT]/rabbit_host
2815# This option is deprecated for removal.
2816# Its value may be silently ignored in the future.
2817# Reason: Replaced by [DEFAULT]/transport_url
2818#rabbit_host = localhost
2819
2820# DEPRECATED: The RabbitMQ broker port where a single node is
2821# used. (port value)
2822# Minimum value: 0
2823# Maximum value: 65535
2824# Deprecated group/name - [DEFAULT]/rabbit_port
2825# This option is deprecated for removal.
2826# Its value may be silently ignored in the future.
2827# Reason: Replaced by [DEFAULT]/transport_url
2828#rabbit_port = 5672
2829
2830# DEPRECATED: RabbitMQ HA cluster host:port pairs. (list
2831# value)
2832# Deprecated group/name - [DEFAULT]/rabbit_hosts
2833# This option is deprecated for removal.
2834# Its value may be silently ignored in the future.
2835# Reason: Replaced by [DEFAULT]/transport_url
2836#rabbit_hosts = $rabbit_host:$rabbit_port
2837
2838# DEPRECATED: The RabbitMQ userid. (string value)
2839# Deprecated group/name - [DEFAULT]/rabbit_userid
2840# This option is deprecated for removal.
2841# Its value may be silently ignored in the future.
2842# Reason: Replaced by [DEFAULT]/transport_url
2843#rabbit_userid = guest
2844
2845# DEPRECATED: The RabbitMQ password. (string value)
2846# Deprecated group/name - [DEFAULT]/rabbit_password
2847# This option is deprecated for removal.
2848# Its value may be silently ignored in the future.
2849# Reason: Replaced by [DEFAULT]/transport_url
2850#rabbit_password = guest
2851
2852# The RabbitMQ login method. (string value)
2853# Allowed values: PLAIN, AMQPLAIN, RABBIT-CR-DEMO
2854# Deprecated group/name - [DEFAULT]/rabbit_login_method
2855#rabbit_login_method = AMQPLAIN
2856
2857# DEPRECATED: The RabbitMQ virtual host. (string value)
2858# Deprecated group/name - [DEFAULT]/rabbit_virtual_host
2859# This option is deprecated for removal.
2860# Its value may be silently ignored in the future.
2861# Reason: Replaced by [DEFAULT]/transport_url
2862#rabbit_virtual_host = /
2863
2864# How frequently to retry connecting with RabbitMQ. (integer
2865# value)
2866#rabbit_retry_interval = 1
2867
2868# How long to backoff for between retries when connecting to
2869# RabbitMQ. (integer value)
2870# Deprecated group/name - [DEFAULT]/rabbit_retry_backoff
2871#rabbit_retry_backoff = 2
2872
2873# Maximum interval of RabbitMQ connection retries. Default is
2874# 30 seconds. (integer value)
2875#rabbit_interval_max = 30
2876
2877# DEPRECATED: Maximum number of RabbitMQ connection retries.
2878# Default is 0 (infinite retry count). (integer value)
2879# Deprecated group/name - [DEFAULT]/rabbit_max_retries
2880# This option is deprecated for removal.
2881# Its value may be silently ignored in the future.
2882#rabbit_max_retries = 0
2883
2884# Try to use HA queues in RabbitMQ (x-ha-policy: all). If you
2885# change this option, you must wipe the RabbitMQ database. In
2886# RabbitMQ 3.0, queue mirroring is no longer controlled by the
2887# x-ha-policy argument when declaring a queue. If you just
2888# want to make sure that all queues (except those with auto-
2889# generated names) are mirrored across all nodes, run:
2890# "rabbitmqctl set_policy HA '^(?!amq\.).*' '{"ha-mode":
2891# "all"}' " (boolean value)
2892# Deprecated group/name - [DEFAULT]/rabbit_ha_queues
2893#rabbit_ha_queues = false
2894
2895# Positive integer representing duration in seconds for queue
2896# TTL (x-expires). Queues which are unused for the duration of
2897# the TTL are automatically deleted. The parameter affects
2898# only reply and fanout queues. (integer value)
2899# Minimum value: 1
2900#rabbit_transient_queues_ttl = 1800
2901
2902# Specifies the number of messages to prefetch. Setting to
2903# zero allows unlimited messages. (integer value)
2904#rabbit_qos_prefetch_count = 0
2905
2906# Number of seconds after which the Rabbit broker is
2907# considered down if heartbeat's keep-alive fails (0 disable
2908# the heartbeat). EXPERIMENTAL (integer value)
2909#heartbeat_timeout_threshold = 60
2910
2911# How often times during the heartbeat_timeout_threshold we
2912# check the heartbeat. (integer value)
2913#heartbeat_rate = 2
2914
2915# Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake
2916# (boolean value)
2917# Deprecated group/name - [DEFAULT]/fake_rabbit
2918#fake_rabbit = false
2919
2920# Maximum number of channels to allow (integer value)
2921#channel_max = <None>
2922
2923# The maximum byte size for an AMQP frame (integer value)
2924#frame_max = <None>
2925
2926# How often to send heartbeats for consumer's connections
2927# (integer value)
2928#heartbeat_interval = 3
2929
2930# Arguments passed to ssl.wrap_socket (dict value)
2931#ssl_options = <None>
2932
2933# Set socket timeout in seconds for connection's socket
2934# (floating point value)
2935#socket_timeout = 0.25
2936
2937# Set TCP_USER_TIMEOUT in seconds for connection's socket
2938# (floating point value)
2939#tcp_user_timeout = 0.25
2940
2941# Set delay for reconnection to some host which has connection
2942# error (floating point value)
2943#host_connection_reconnect_delay = 0.25
2944
2945# Connection factory implementation (string value)
2946# Allowed values: new, single, read_write
2947#connection_factory = single
2948
2949# Maximum number of connections to keep queued. (integer
2950# value)
2951#pool_max_size = 30
2952
2953# Maximum number of connections to create above
2954# `pool_max_size`. (integer value)
2955#pool_max_overflow = 0
2956
2957# Default number of seconds to wait for a connections to
2958# available (integer value)
2959#pool_timeout = 30
2960
2961# Lifetime of a connection (since creation) in seconds or None
2962# for no recycling. Expired connections are closed on acquire.
2963# (integer value)
2964#pool_recycle = 600
2965
2966# Threshold at which inactive (since release) connections are
2967# considered stale in seconds or None for no staleness. Stale
2968# connections are closed on acquire. (integer value)
2969#pool_stale = 60
2970
2971# Default serialization mechanism for
2972# serializing/deserializing outgoing/incoming messages (string
2973# value)
2974# Allowed values: json, msgpack
2975#default_serializer_type = json
2976
2977# Persist notification messages. (boolean value)
2978#notification_persistence = false
2979
2980# Exchange name for sending notifications (string value)
2981#default_notification_exchange = ${control_exchange}_notification
2982
2983# Max number of not acknowledged message which RabbitMQ can
2984# send to notification listener. (integer value)
2985#notification_listener_prefetch_count = 100
2986
2987# Reconnecting retry count in case of connectivity problem
2988# during sending notification, -1 means infinite retry.
2989# (integer value)
2990#default_notification_retry_attempts = -1
2991
2992# Reconnecting retry delay in case of connectivity problem
2993# during sending notification message (floating point value)
2994#notification_retry_delay = 0.25
2995
2996# Time to live for rpc queues without consumers in seconds.
2997# (integer value)
2998#rpc_queue_expiration = 60
2999
3000# Exchange name for sending RPC messages (string value)
3001#default_rpc_exchange = ${control_exchange}_rpc
3002
3003# Exchange name for receiving RPC replies (string value)
3004#rpc_reply_exchange = ${control_exchange}_rpc_reply
3005
3006# Max number of not acknowledged message which RabbitMQ can
3007# send to rpc listener. (integer value)
3008#rpc_listener_prefetch_count = 100
3009
3010# Max number of not acknowledged message which RabbitMQ can
3011# send to rpc reply listener. (integer value)
3012#rpc_reply_listener_prefetch_count = 100
3013
3014# Reconnecting retry count in case of connectivity problem
3015# during sending reply. -1 means infinite retry during
3016# rpc_timeout (integer value)
3017#rpc_reply_retry_attempts = -1
3018
3019# Reconnecting retry delay in case of connectivity problem
3020# during sending reply. (floating point value)
3021#rpc_reply_retry_delay = 0.25
3022
3023# Reconnecting retry count in case of connectivity problem
3024# during sending RPC message, -1 means infinite retry. If
3025# actual retry attempts in not 0 the rpc request could be
3026# processed more than one time (integer value)
3027#default_rpc_retry_attempts = -1
3028
3029# Reconnecting retry delay in case of connectivity problem
3030# during sending RPC message (floating point value)
3031#rpc_retry_delay = 0.25
3032
3033
3034[oslo_messaging_zmq]
3035
3036#
3037# From oslo.messaging
3038#
3039
3040# ZeroMQ bind address. Should be a wildcard (*), an ethernet
3041# interface, or IP. The "host" option should point or resolve
3042# to this address. (string value)
3043# Deprecated group/name - [DEFAULT]/rpc_zmq_bind_address
3044#rpc_zmq_bind_address = *
3045
3046# MatchMaker driver. (string value)
3047# Allowed values: redis, sentinel, dummy
3048# Deprecated group/name - [DEFAULT]/rpc_zmq_matchmaker
3049#rpc_zmq_matchmaker = redis
3050
3051# Number of ZeroMQ contexts, defaults to 1. (integer value)
3052# Deprecated group/name - [DEFAULT]/rpc_zmq_contexts
3053#rpc_zmq_contexts = 1
3054
3055# Maximum number of ingress messages to locally buffer per
3056# topic. Default is unlimited. (integer value)
3057# Deprecated group/name - [DEFAULT]/rpc_zmq_topic_backlog
3058#rpc_zmq_topic_backlog = <None>
3059
3060# Directory for holding IPC sockets. (string value)
3061# Deprecated group/name - [DEFAULT]/rpc_zmq_ipc_dir
3062#rpc_zmq_ipc_dir = /var/run/openstack
3063
3064# Name of this node. Must be a valid hostname, FQDN, or IP
3065# address. Must match "host" option, if running Nova. (string
3066# value)
3067# Deprecated group/name - [DEFAULT]/rpc_zmq_host
3068#rpc_zmq_host = localhost
3069
3070# Number of seconds to wait before all pending messages will
3071# be sent after closing a socket. The default value of -1
3072# specifies an infinite linger period. The value of 0
3073# specifies no linger period. Pending messages shall be
3074# discarded immediately when the socket is closed. Positive
3075# values specify an upper bound for the linger period.
3076# (integer value)
3077# Deprecated group/name - [DEFAULT]/rpc_cast_timeout
3078#zmq_linger = -1
3079
3080# The default number of seconds that poll should wait. Poll
3081# raises timeout exception when timeout expired. (integer
3082# value)
3083# Deprecated group/name - [DEFAULT]/rpc_poll_timeout
3084#rpc_poll_timeout = 1
3085
3086# Expiration timeout in seconds of a name service record about
3087# existing target ( < 0 means no timeout). (integer value)
3088# Deprecated group/name - [DEFAULT]/zmq_target_expire
3089#zmq_target_expire = 300
3090
3091# Update period in seconds of a name service record about
3092# existing target. (integer value)
3093# Deprecated group/name - [DEFAULT]/zmq_target_update
3094#zmq_target_update = 180
3095
3096# Use PUB/SUB pattern for fanout methods. PUB/SUB always uses
3097# proxy. (boolean value)
3098# Deprecated group/name - [DEFAULT]/use_pub_sub
3099#use_pub_sub = false
3100
3101# Use ROUTER remote proxy. (boolean value)
3102# Deprecated group/name - [DEFAULT]/use_router_proxy
3103#use_router_proxy = false
3104
3105# This option makes direct connections dynamic or static. It
3106# makes sense only with use_router_proxy=False which means to
3107# use direct connections for direct message types (ignored
3108# otherwise). (boolean value)
3109#use_dynamic_connections = false
3110
3111# How many additional connections to a host will be made for
3112# failover reasons. This option is actual only in dynamic
3113# connections mode. (integer value)
3114#zmq_failover_connections = 2
3115
3116# Minimal port number for random ports range. (port value)
3117# Minimum value: 0
3118# Maximum value: 65535
3119# Deprecated group/name - [DEFAULT]/rpc_zmq_min_port
3120#rpc_zmq_min_port = 49153
3121
3122# Maximal port number for random ports range. (integer value)
3123# Minimum value: 1
3124# Maximum value: 65536
3125# Deprecated group/name - [DEFAULT]/rpc_zmq_max_port
3126#rpc_zmq_max_port = 65536
3127
3128# Number of retries to find free port number before fail with
3129# ZMQBindError. (integer value)
3130# Deprecated group/name - [DEFAULT]/rpc_zmq_bind_port_retries
3131#rpc_zmq_bind_port_retries = 100
3132
3133# Default serialization mechanism for
3134# serializing/deserializing outgoing/incoming messages (string
3135# value)
3136# Allowed values: json, msgpack
3137# Deprecated group/name - [DEFAULT]/rpc_zmq_serialization
3138#rpc_zmq_serialization = json
3139
3140# This option configures round-robin mode in zmq socket. True
3141# means not keeping a queue when server side disconnects.
3142# False means to keep queue and messages even if server is
3143# disconnected, when the server appears we send all
3144# accumulated messages to it. (boolean value)
3145#zmq_immediate = true
3146
3147# Enable/disable TCP keepalive (KA) mechanism. The default
3148# value of -1 (or any other negative value) means to skip any
3149# overrides and leave it to OS default; 0 and 1 (or any other
3150# positive value) mean to disable and enable the option
3151# respectively. (integer value)
3152#zmq_tcp_keepalive = -1
3153
3154# The duration between two keepalive transmissions in idle
3155# condition. The unit is platform dependent, for example,
3156# seconds in Linux, milliseconds in Windows etc. The default
3157# value of -1 (or any other negative value and 0) means to
3158# skip any overrides and leave it to OS default. (integer
3159# value)
3160#zmq_tcp_keepalive_idle = -1
3161
3162# The number of retransmissions to be carried out before
3163# declaring that remote end is not available. The default
3164# value of -1 (or any other negative value and 0) means to
3165# skip any overrides and leave it to OS default. (integer
3166# value)
3167#zmq_tcp_keepalive_cnt = -1
3168
3169# The duration between two successive keepalive
3170# retransmissions, if acknowledgement to the previous
3171# keepalive transmission is not received. The unit is platform
3172# dependent, for example, seconds in Linux, milliseconds in
3173# Windows etc. The default value of -1 (or any other negative
3174# value and 0) means to skip any overrides and leave it to OS
3175# default. (integer value)
3176#zmq_tcp_keepalive_intvl = -1
3177
3178# Maximum number of (green) threads to work concurrently.
3179# (integer value)
3180#rpc_thread_pool_size = 100
3181
3182# Expiration timeout in seconds of a sent/received message
3183# after which it is not tracked anymore by a client/server.
3184# (integer value)
3185#rpc_message_ttl = 300
3186
3187# Wait for message acknowledgements from receivers. This
3188# mechanism works only via proxy without PUB/SUB. (boolean
3189# value)
3190#rpc_use_acks = false
3191
3192# Number of seconds to wait for an ack from a cast/call. After
3193# each retry attempt this timeout is multiplied by some
3194# specified multiplier. (integer value)
3195#rpc_ack_timeout_base = 15
3196
3197# Number to multiply base ack timeout by after each retry
3198# attempt. (integer value)
3199#rpc_ack_timeout_multiplier = 2
3200
3201# Default number of message sending attempts in case of any
3202# problems occurred: positive value N means at most N retries,
3203# 0 means no retries, None or -1 (or any other negative
3204# values) mean to retry forever. This option is used only if
3205# acknowledgments are enabled. (integer value)
3206#rpc_retry_attempts = 3
3207
3208# List of publisher hosts SubConsumer can subscribe on. This
3209# option has higher priority then the default publishers list
3210# taken from the matchmaker. (list value)
3211#subscribe_on =
3212
3213
3214[oslo_policy]
3215
3216#
3217# From oslo.policy
3218#
3219
3220# The file that defines policies. (string value)
3221# Deprecated group/name - [DEFAULT]/policy_file
3222#policy_file = policy.json
3223
3224# Default rule. Enforced when a requested rule is not found.
3225# (string value)
3226# Deprecated group/name - [DEFAULT]/policy_default_rule
3227#policy_default_rule = default
3228
3229# Directories where policy configuration files are stored.
3230# They can be relative to any directory in the search path
3231# defined by the config_dir option, or absolute paths. The
3232# file defined by policy_file must exist for these directories
3233# to be searched. Missing or empty directories are ignored.
3234# (multi valued)
3235# Deprecated group/name - [DEFAULT]/policy_dirs
3236#policy_dirs = policy.d
3237
3238
3239[pxe]
3240
3241#
3242# From ironic
3243#
3244
3245# Additional append parameters for baremetal PXE boot. (string
3246# value)
3247#pxe_append_params = nofb nomodeset vga=normal
3248
3249# Default file system format for ephemeral partition, if one
3250# is created. (string value)
3251#default_ephemeral_format = ext4
3252
3253# On the ironic-conductor node, directory where images are
3254# stored on disk. (string value)
3255#images_path = /var/lib/ironic/images/
3256
3257# On the ironic-conductor node, directory where master
3258# instance images are stored on disk. Setting to <None>
3259# disables image caching. (string value)
3260#instance_master_path = /var/lib/ironic/master_images
3261
3262# Maximum size (in MiB) of cache for master images, including
3263# those in use. (integer value)
3264#image_cache_size = 20480
3265
3266# Maximum TTL (in minutes) for old master images in cache.
3267# (integer value)
3268#image_cache_ttl = 10080
3269
3270# On ironic-conductor node, template file for PXE
3271# configuration. (string value)
3272{%- if conductor.get('pxe_config_template') %}
3273pxe_config_template = {{ conductor.pxe_config_template }}
3274{%- else %}
3275#pxe_config_template = $pybasedir/drivers/modules/pxe_common.template
3276{%- endif %}
3277
3278# On ironic-conductor node, template file for PXE
3279# configuration for UEFI boot loader. (string value)
3280#uefi_pxe_config_template = $pybasedir/drivers/modules/pxe_grub_common.template
3281
3282# On ironic-conductor node, template file for PXE
3283# configuration per node architecture. For example:
3284# aarch64:/opt/share/grubaa64_pxe_common.template (dict value)
3285#pxe_config_template_by_arch =
3286
3287# IP address of ironic-conductor node's TFTP server. (string
3288# value)
3289#tftp_server = $my_ip
3290
3291# ironic-conductor node's TFTP root path. The ironic-conductor
3292# must have read/write access to this path. (string value)
3293{%- if conductor.get('tftp_root') %}
3294tftp_root = {{ conductor.tftp_root }}
3295{%- else %}
3296#tftp_root = /tftpboot
3297{%- endif %}
3298
3299# On ironic-conductor node, directory where master TFTP images
3300# are stored on disk. Setting to <None> disables image
3301# caching. (string value)
3302{%- if conductor.get('tftp_master_path') %}
3303tftp_master_path = {{ conductor.tftp_master_path }}
3304{%- else %}
3305#tftp_master_path = /tftpboot/master_images
3306{%- endif %}
3307
3308# Bootfile DHCP parameter. (string value)
3309{%- if conductor.get('pxe_config_template') %}
3310pxe_bootfile_name = {{ conductor.pxe_bootfile_name }}
3311{%- else %}
3312#pxe_bootfile_name = pxelinux.0
3313{%- endif %}
3314
3315# Bootfile DHCP parameter for UEFI boot mode. (string value)
3316#uefi_pxe_bootfile_name = bootx64.efi
3317
3318# Bootfile DHCP parameter per node architecture. For example:
3319# aarch64:grubaa64.efi (dict value)
3320#pxe_bootfile_name_by_arch =
3321
3322# Enable iPXE boot. (boolean value)
3323{%- if conductor.ipxe_enabled is defined %}
3324ipxe_enabled = {{ conductor.ipxe_enabled }}
3325{%- else %}
3326#ipxe_enabled = false
3327{%- endif %}
3328
3329# On ironic-conductor node, the path to the main iPXE script
3330# file. (string value)
3331#ipxe_boot_script = $pybasedir/drivers/modules/boot.ipxe
3332
3333# Timeout value (in seconds) for downloading an image via
3334# iPXE. Defaults to 0 (no timeout) (integer value)
3335#ipxe_timeout = 0
3336
3337# The IP version that will be used for PXE booting. Defaults
3338# to 4. EXPERIMENTAL (string value)
3339# Allowed values: 4, 6
3340#ip_version = 4
3341
3342# Download deploy images directly from swift using temporary
3343# URLs. If set to false (default), images are downloaded to
3344# the ironic-conductor node and served over its local HTTP
3345# server. Applicable only when 'ipxe_enabled' option is set to
3346# true. (boolean value)
3347#ipxe_use_swift = false
3348
3349
3350[service_catalog]
3351
3352#
3353# From ironic
3354#
3355
3356# Authentication URL (string value)
3357{%- if ironic.get('identity', {}).get('engine') == 'keystone' %}
3358auth_url = {{ ironic.identity.protocol }}://{{ ironic.identity.host }}:{{ ironic.identity.port }}/identity
3359{%- else %}
3360#auth_url = <None>
3361{%- endif %}
3362
3363# Authentication type to load (string value)
3364# Deprecated group/name - [service_catalog]/auth_plugin
3365{%- if ironic.get('identity', {}).get('auth_type') %}
3366auth_type = {{ ironic.identity.auth_type }}
3367{%- else %}
3368#auth_type = <None>
3369{%- endif %}
3370
3371# PEM encoded Certificate Authority to use when verifying
3372# HTTPs connections. (string value)
3373#cafile = <None>
3374
3375# PEM encoded client certificate cert file (string value)
3376#certfile = <None>
3377
3378# Optional domain ID to use with v3 and v2 parameters. It will
3379# be used for both the user and project domain in v3 and
3380# ignored in v2 authentication. (string value)
3381{%- if ironic.get('identity', {}).get('default_domain_id') %}
3382default_domain_id = {{ ironic.identity.default_domain_id }}
3383{%- else %}
3384#default_domain_id = <None>
3385{%- endif %}
3386
3387# Optional domain name to use with v3 API and v2 parameters.
3388# It will be used for both the user and project domain in v3
3389# and ignored in v2 authentication. (string value)
3390{%- if ironic.get('identity', {}).get('default_domain_name') %}
3391default_domain_name = {{ ironic.identity.default_domain_name }}
3392{%- else %}
3393#default_domain_name = <None>
3394{%- endif %}
3395
3396# Domain ID to scope to (string value)
3397{%- if ironic.get('identity', {}).get('domain_id') %}
3398domain_id = {{ ironic.identity.domain_id }}
3399{%- else %}
3400#domain_id = <None>
3401{%- endif %}
3402
3403# Domain name to scope to (string value)
3404{%- if ironic.get('identity', {}).get('domain_name') %}
3405domain_name = {{ ironic.identity.domain_name }}
3406{%- else %}
3407#domain_name = <None>
3408{%- endif %}
3409
3410# Verify HTTPS connections. (boolean value)
3411#insecure = false
3412
3413# PEM encoded client certificate key file (string value)
3414#keyfile = <None>
3415
3416# User's password (string value)
3417{%- if ironic.get('identity', {}).get('password') %}
3418password = {{ ironic.identity.password }}
3419{%- else %}
3420#password = <None>
3421{%- endif %}
3422
3423# Domain ID containing project (string value)
3424{%- if ironic.get('identity', {}).get('project_domain_id') %}
3425project_domain_id = {{ ironic.identity.project_domain_id }}
3426{%- else %}
3427#project_domain_id = <None>
3428{%- endif %}
3429
3430# Domain name containing project (string value)
3431{%- if ironic.get('identity', {}).get('project_domain_name') %}
3432project_domain_name = {{ ironic.identity.project_domain_name }}
3433{%- else %}
3434#project_domain_name = <None>
3435{%- endif %}
3436
3437# Project ID to scope to (string value)
3438# Deprecated group/name - [service_catalog]/tenant-id
3439{%- if ironic.get('identity', {}).get('project_id') %}
3440project_id = {{ ironic.identity.project_id }}
3441{%- else %}
3442#project_id = <None>
3443{%- endif %}
3444
3445# Project name to scope to (string value)
3446# Deprecated group/name - [service_catalog]/tenant-name
3447{%- if ironic.get('identity', {}).get('project_name') %}
3448project_name = {{ ironic.identity.project_name }}
3449{%- else %}
3450#project_name = <None>
3451{%- endif %}
3452
3453# Tenant ID (string value)
3454{%- if ironic.get('identity', {}).get('tenant_id') %}
3455tenant_id = {{ ironic.identity.tenant_id }}
3456{%- else %}
3457#tenant_id = <None>
3458{%- endif %}
3459
3460# Tenant Name (string value)
3461{%- if ironic.get('identity', {}).get('tenant_name') %}
3462tenant_name = {{ ironic.identity.tenant_name }}
3463{%- else %}
3464#tenant_name = <None>
3465{%- endif %}
3466
3467# Timeout value for http requests (integer value)
3468#timeout = <None>
3469
3470# Trust ID (string value)
3471#trust_id = <None>
3472
3473# User's domain id (string value)
3474{%- if ironic.get('identity', {}).get('user_domain_id') %}
3475user_domain_id = {{ ironic.identity.user_domain_id }}
3476{%- else %}
3477#user_domain_id = <None>
3478{%- endif %}
3479
3480# User's domain name (string value)
3481{%- if ironic.get('identity', {}).get('user_domain_name') %}
3482user_domain_name = {{ ironic.identity.user_domain_name }}
3483{%- else %}
3484#user_domain_name = <None>
3485{%- endif %}
3486
3487# User id (string value)
3488{%- if ironic.get('identity', {}).get('user_id') %}
3489user_id = {{ ironic.identity.user_id }}
3490{%- else %}
3491#user_id = <None>
3492{%- endif %}
3493
3494# Username (string value)
3495# Deprecated group/name - [service_catalog]/user-name
3496{%- if ironic.get('identity', {}).get('user') %}
3497username = {{ ironic.identity.user }}
3498{%- else %}
3499#username = <None>
3500{%- endif %}
3501
3502
3503[snmp]
3504
3505#
3506# From ironic
3507#
3508
3509# Seconds to wait for power action to be completed (integer
3510# value)
3511#power_timeout = 10
3512
3513# Time (in seconds) to sleep between when rebooting (powering
3514# off and on again) (integer value)
3515# Minimum value: 0
3516#reboot_delay = 0
3517
3518
3519[ssh]
3520
3521#
3522# From ironic
3523#
3524
3525# libvirt URI. (string value)
3526#libvirt_uri = qemu:///system
3527
3528# Number of attempts to try to get VM name used by the host
3529# that corresponds to a node's MAC address. (integer value)
3530#get_vm_name_attempts = 3
3531
3532# Number of seconds to wait between attempts to get VM name
3533# used by the host that corresponds to a node's MAC address.
3534# (integer value)
3535#get_vm_name_retry_interval = 3
3536
3537
3538[ssl]
3539
3540#
3541# From oslo.service.sslutils
3542#
3543
3544# CA certificate file to use to verify connecting clients.
3545# (string value)
3546# Deprecated group/name - [DEFAULT]/ssl_ca_file
3547#ca_file = <None>
3548
3549# Certificate file to use when starting the server securely.
3550# (string value)
3551# Deprecated group/name - [DEFAULT]/ssl_cert_file
3552#cert_file = <None>
3553
3554# Private key file to use when starting the server securely.
3555# (string value)
3556# Deprecated group/name - [DEFAULT]/ssl_key_file
3557#key_file = <None>
3558
3559# SSL version to use (valid only if SSL enabled). Valid values
3560# are TLSv1 and SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may
3561# be available on some distributions. (string value)
3562#version = <None>
3563
3564# Sets the list of available ciphers. value should be a string
3565# in the OpenSSL cipher list format. (string value)
3566#ciphers = <None>
3567
3568
3569[swift]
3570
3571#
3572# From ironic
3573#
3574
3575# Authentication URL (string value)
3576#auth_url = <None>
3577
3578# Authentication type to load (string value)
3579# Deprecated group/name - [swift]/auth_plugin
3580#auth_type = <None>
3581
3582# PEM encoded Certificate Authority to use when verifying
3583# HTTPs connections. (string value)
3584#cafile = <None>
3585
3586# PEM encoded client certificate cert file (string value)
3587#certfile = <None>
3588
3589# Optional domain ID to use with v3 and v2 parameters. It will
3590# be used for both the user and project domain in v3 and
3591# ignored in v2 authentication. (string value)
3592#default_domain_id = <None>
3593
3594# Optional domain name to use with v3 API and v2 parameters.
3595# It will be used for both the user and project domain in v3
3596# and ignored in v2 authentication. (string value)
3597#default_domain_name = <None>
3598
3599# Domain ID to scope to (string value)
3600#domain_id = <None>
3601
3602# Domain name to scope to (string value)
3603#domain_name = <None>
3604
3605# Verify HTTPS connections. (boolean value)
3606#insecure = false
3607
3608# PEM encoded client certificate key file (string value)
3609#keyfile = <None>
3610
3611# User's password (string value)
3612#password = <None>
3613
3614# Domain ID containing project (string value)
3615#project_domain_id = <None>
3616
3617# Domain name containing project (string value)
3618#project_domain_name = <None>
3619
3620# Project ID to scope to (string value)
3621# Deprecated group/name - [swift]/tenant-id
3622#project_id = <None>
3623
3624# Project name to scope to (string value)
3625# Deprecated group/name - [swift]/tenant-name
3626#project_name = <None>
3627
3628# Maximum number of times to retry a Swift request, before
3629# failing. (integer value)
3630#swift_max_retries = 2
3631
3632# Tenant ID (string value)
3633#tenant_id = <None>
3634
3635# Tenant Name (string value)
3636#tenant_name = <None>
3637
3638# Timeout value for http requests (integer value)
3639#timeout = <None>
3640
3641# Trust ID (string value)
3642#trust_id = <None>
3643
3644# User's domain id (string value)
3645#user_domain_id = <None>
3646
3647# User's domain name (string value)
3648#user_domain_name = <None>
3649
3650# User id (string value)
3651#user_id = <None>
3652
3653# Username (string value)
3654# Deprecated group/name - [swift]/user-name
3655#username = <None>