Chapter 5. ironic
The following chapter contains information about the configuration options in the ironic
service.
5.1. ironic.conf
This section contains options for the /etc/ironic/ironic.conf
file.
5.1.1. DEFAULT
The following table outlines the options available under the [DEFAULT]
group in the /etc/ironic/ironic.conf
file.
.
Configuration option = Default value | Type | Description |
---|---|---|
| string value | Authentication strategy used by ironic-api. "noauth" should not be used in a production environment because all authentication will be disabled. |
| string value | Enable eventlet backdoor. Acceptable values are 0, <port>, and <start>:<end>, where 0 results in listening on a random tcp port number; <port> results in listening on the specified port number (and not enabling backdoor if that port is in use); and <start>:<end> results in listening on the smallest unused port number within the specified range of port numbers. The chosen port is displayed in the service’s log file. |
| string value | Enable eventlet backdoor, using the provided path as a unix socket that can receive connections. This option is mutually exclusive with backdoor_port in that only one should be provided. If both are provided then the existence of this option overrides the usage of that option. Inside the path {pid} will be replaced with the PID of the current process. |
| string value | Directory where ironic binaries are installed. |
| integer value | The pool size limit for connections expiration policy |
| integer value | The time-to-live in sec of idle connections in the pool |
| string value | The default exchange under which topics are scoped. May be overridden by an exchange name specified in the transport_url option. |
| boolean value | If set to true, the logging level will be set to DEBUG instead of the default INFO level. |
| boolean value | Return server tracebacks in the API response for any error responses. WARNING: this is insecure and should not be used in a production environment. |
| string value | Default bios interface to be used for nodes that do not have bios_interface field set. A complete list of bios interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.bios" entrypoint. |
| string value | Default boot interface to be used for nodes that do not have boot_interface field set. A complete list of boot interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.boot" entrypoint. |
| string value | Default console interface to be used for nodes that do not have console_interface field set. A complete list of console interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.console" entrypoint. |
| string value | Default deploy interface to be used for nodes that do not have deploy_interface field set. A complete list of deploy interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.deploy" entrypoint. |
| string value | Default inspect interface to be used for nodes that do not have inspect_interface field set. A complete list of inspect interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.inspect" entrypoint. |
| list value | List of package logging levels in logger=LEVEL pairs. This option is ignored if log_config_append is set. |
| string value | Default management interface to be used for nodes that do not have management_interface field set. A complete list of management interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.management" entrypoint. |
| string value | Default network interface to be used for nodes that do not have network_interface field set. A complete list of network interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.network" entrypoint. |
| string value | Default mode for portgroups. Allowed values can be found in the linux kernel documentation on bonding: https://www.kernel.org/doc/Documentation/networking/bonding.txt. |
| string value | Default power interface to be used for nodes that do not have power_interface field set. A complete list of power interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.power" entrypoint. |
| string value | Default raid interface to be used for nodes that do not have raid_interface field set. A complete list of raid interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.raid" entrypoint. |
| string value | Default rescue interface to be used for nodes that do not have rescue_interface field set. A complete list of rescue interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.rescue" entrypoint. |
| string value | Resource class to use for new nodes when no resource class is provided in the creation request. |
| string value | Default storage interface to be used for nodes that do not have storage_interface field set. A complete list of storage interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.storage" entrypoint. |
| string value | Default vendor interface to be used for nodes that do not have vendor_interface field set. A complete list of vendor interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.vendor" entrypoint. |
| list value | Specify the list of bios interfaces to load during service initialization. Missing bios interfaces, or bios interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one bios interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented bios interfaces. A complete list of bios interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.bios" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled bios interfaces on every ironic-conductor service. |
| list value | Specify the list of boot interfaces to load during service initialization. Missing boot interfaces, or boot interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one boot interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented boot interfaces. A complete list of boot interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.boot" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled boot interfaces on every ironic-conductor service. |
| list value | Specify the list of console interfaces to load during service initialization. Missing console interfaces, or console interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one console interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented console interfaces. A complete list of console interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.console" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled console interfaces on every ironic-conductor service. |
| list value | Specify the list of deploy interfaces to load during service initialization. Missing deploy interfaces, or deploy interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one deploy interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented deploy interfaces. A complete list of deploy interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.deploy" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled deploy interfaces on every ironic-conductor service. |
| list value | Specify the list of hardware types to load during service initialization. Missing hardware types, or hardware types which fail to initialize, will prevent the conductor service from starting. This option defaults to a recommended set of production-oriented hardware types. A complete list of hardware types present on your system may be found by enumerating the "ironic.hardware.types" entrypoint. |
| list value | Specify the list of inspect interfaces to load during service initialization. Missing inspect interfaces, or inspect interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one inspect interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented inspect interfaces. A complete list of inspect interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.inspect" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled inspect interfaces on every ironic-conductor service. |
| list value | Specify the list of management interfaces to load during service initialization. Missing management interfaces, or management interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one management interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented management interfaces. A complete list of management interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.management" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled management interfaces on every ironic-conductor service. |
| list value | Specify the list of network interfaces to load during service initialization. Missing network interfaces, or network interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one network interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented network interfaces. A complete list of network interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.network" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled network interfaces on every ironic-conductor service. |
| list value | Specify the list of power interfaces to load during service initialization. Missing power interfaces, or power interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one power interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented power interfaces. A complete list of power interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.power" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled power interfaces on every ironic-conductor service. |
| list value | Specify the list of raid interfaces to load during service initialization. Missing raid interfaces, or raid interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one raid interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented raid interfaces. A complete list of raid interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.raid" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled raid interfaces on every ironic-conductor service. |
| list value | Specify the list of rescue interfaces to load during service initialization. Missing rescue interfaces, or rescue interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one rescue interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented rescue interfaces. A complete list of rescue interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.rescue" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled rescue interfaces on every ironic-conductor service. |
| list value | Specify the list of storage interfaces to load during service initialization. Missing storage interfaces, or storage interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one storage interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented storage interfaces. A complete list of storage interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.storage" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled storage interfaces on every ironic-conductor service. |
| list value | Specify the list of vendor interfaces to load during service initialization. Missing vendor interfaces, or vendor interfaces which fail to initialize, will prevent the ironic-conductor service from starting. At least one vendor interface that is supported by each enabled hardware type must be enabled here, or the ironic-conductor service will not start. Must not be an empty list. The default value is a recommended set of production-oriented vendor interfaces. A complete list of vendor interfaces present on your system may be found by enumerating the "ironic.hardware.interfaces.vendor" entrypoint. When setting this value, please make sure that every enabled hardware type will have the same set of enabled vendor interfaces on every ironic-conductor service. |
| string value | Path to EFI System Partition image file. This file is recommended for creating UEFI bootable ISO images efficiently. ESP image should contain a FAT12/16/32-formatted file system holding EFI boot loaders (e.g. GRUB2) for each hardware architecture ironic needs to boot. This option is only used when neither ESP nor ISO deploy image is configured to the node being deployed in which case ironic will attempt to fetch ESP image from the configured location or extract ESP image from UEFI-bootable deploy ISO image. |
| integer value | Size of executor thread pool when executor is threading or eventlet. |
| boolean value | Enables or disables fatal status of deprecations. |
| boolean value | Used if there is a formatting error when generating an exception message (a programming error). If True, raise an exception; if False, use the unformatted message. |
| boolean value | If True, convert backing images to "raw" disk image format. |
| integer value | Specify a timeout after which a gracefully shutdown server will exit. Zero value means endless wait. |
| string value | GRUB2 configuration file location on the UEFI ISO images produced by ironic. |
| string value | Template file for grub configuration file. |
| integer value | Exponent to determine number of hash partitions to use when distributing load across conductors. Larger values will result in more even distribution of load and less load when rebalancing the ring, but more memory usage. Number of partitions per conductor is (2^hash_partition_exponent). This determines the granularity of rebalancing: given 10 hosts, and an exponent of the 2, there are 40 partitions in the ring.A few thousand partitions should make rebalancing smooth in most cases. The default is suitable for up to a few hundred conductors. Configuring for too many partitions has a negative impact on CPU usage. |
| integer value | Time (in seconds) after which the hash ring is considered outdated and is refreshed on the next access. |
| string value | Name of this node. This can be an opaque identifier. It is not necessarily a hostname, FQDN, or IP address. However, the node name must be valid within an AMQP key, and if using ZeroMQ (will be removed in the Stein release), a valid hostname, FQDN, or IP address. |
`instance_format = [instance: %(uuid)s] ` | string value | The format for an instance that is passed with the log message. |
`instance_uuid_format = [instance: %(uuid)s] ` | string value | The format for an instance UUID that is passed with the log message. |
| string value | Path to isolinux binary file. |
| string value | Template file for isolinux configuration file. |
| string value | Path to ldlinux.c32 file. This file is required for syslinux 5.0 or later. If not specified, the file is looked for in "/usr/lib/syslinux/modules/bios/ldlinux.c32" and "/usr/share/syslinux/ldlinux.c32". |
| string value | The name of a logging configuration file. This file is appended to any existing logging configuration files. For details about logging configuration files, see the Python logging module documentation. Note that when logging configuration files are used then all logging configuration is set in the configuration file and other logging configuration options are ignored (for example, log-date-format). |
| string value | Defines the format string for %%(asctime)s in log records. Default: %(default)s . This option is ignored if log_config_append is set. |
| string value | (Optional) The base directory used for relative log_file paths. This option is ignored if log_config_append is set. |
| string value | (Optional) Name of log file to send logging output to. If no default is set, logging will go to stderr as defined by use_stderr. This option is ignored if log_config_append is set. |
| integer value | Max number of characters of any node last_error/maintenance_reason pushed to database. |
| boolean value | Enables or disables logging values of all registered options when starting a service (at DEBUG level). |
| integer value | The amount of time before the log files are rotated. This option is ignored unless log_rotation_type is setto "interval". |
| string value | Rotation interval type. The time of the last file change (or the time when the service was started) is used when scheduling the next rotation. |
| string value | Log rotation type. |
| string value | Format string to use for log messages with context. Used by oslo_log.formatters.ContextFormatter |
| string value | Additional data to append to log message when logging level for the message is DEBUG. Used by oslo_log.formatters.ContextFormatter |
| string value | Format string to use for log messages when context is undefined. Used by oslo_log.formatters.ContextFormatter |
| string value | Prefix each line of exception output with this format. Used by oslo_log.formatters.ContextFormatter |
| string value | Defines the format string for %(user_identity)s that is used in logging_context_format_string. Used by oslo_log.formatters.ContextFormatter |
| integer value | Maximum number of rotated log files. |
| integer value | Log file maximum size in MB. This option is ignored if "log_rotation_type" is not set to "size". |
| string value | IP address of this host. If unset, will determine the IP programmatically. If unable to do so, will use "127.0.0.1". |
| string value | Specifies the minimum level for which to send notifications. If not set, no notifications will be sent. The default is for this option to be unset. |
| boolean value | Run image downloads and raw format conversions in parallel. |
| boolean value | Enable pecan debug mode. WARNING: this is insecure and should not be used in a production environment. |
| string value | Used for rolling upgrades. Setting this option downgrades (or pins) the Bare Metal API, the internal ironic RPC communication, and the database objects to their respective versions, so they are compatible with older services. When doing a rolling upgrade from version N to version N+1, set (to pin) this to N. To unpin (default), leave it unset and the latest versions will be used. |
| boolean value | Enables or disables publication of error events. |
| string value | Directory where the ironic python module is installed. |
| integer value | Maximum number of logged messages per rate_limit_interval. |
| string value | Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG or empty string. Logs with level greater or equal to rate_limit_except_level are not filtered. An empty string means that all levels are filtered. |
| integer value | Interval, number of seconds, of log rate limiting. |
| string value | Path to the rootwrap configuration file to use for running commands as root. |
| integer value | Size of RPC connection pool. |
| integer value | Seconds to wait for a response from a call. |
| string value | Which RPC transport implementation to use between conductor and API services |
| boolean value | Some periodic tasks can be run in a separate process. Should we run them here? |
| string value | Top-level directory for maintaining ironic’s state. |
| string value | Syslog facility to receive log lines. This option is ignored if log_config_append is set. |
| string value | Temporary working directory, default is Python temp dir. |
| string value | The network address and optional user credentials for connecting to the messaging backend, in URL format. The expected format is: driver://[user:pass@]host:port[,[userN:passN@]hostN:portN]/virtual_host?query Example: rabbit://rabbitmq:password@127.0.0.1:5672// For full details on the fields in the URL see the documentation of oslo_messaging.TransportURL at https://docs.openstack.org/oslo.messaging/latest/reference/transport.html |
| boolean value | Enable journald for logging. If running in a systemd environment you may wish to enable journal support. Doing so will use the journal native protocol which includes structured metadata in addition to log messages.This option is ignored if log_config_append is set. |
| boolean value | Use JSON formatting for logging. This option is ignored if log_config_append is set. |
| boolean value | Use syslog for logging. Existing syslog format is DEPRECATED and will be changed later to honor RFC5424. This option is ignored if log_config_append is set. |
| boolean value | Log output to Windows Event Log. |
| boolean value | Log output to standard error. This option is ignored if log_config_append is set. |
| list value | Specifies the topics for the versioned notifications issued by Ironic. The default value is fine for most deployments and rarely needs to be changed. However, if you have a third-party service that consumes versioned notifications, it might be worth getting a topic for that service. Ironic will send a message containing a versioned notification payload to each topic queue in this list. The list of versioned notifications is visible in https://docs.openstack.org/ironic/latest/admin/notifications.html |
| boolean value | Uses logging handler designed to watch file system. When log file is moved or removed this handler will open a new log file with specified path instantaneously. It makes sense only if log_file option is specified and Linux platform is used. This option is ignored if log_config_append is set. |
5.1.2. agent
The following table outlines the options available under the [agent]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| string value | API version to use for communicating with the ramdisk agent. |
| integer value | Timeout (in seconds) for IPA commands. Please note, the bootloader installation command to the agent is permitted a timeout of twice the value set here as these are IO heavy operations depending on the configuration of the instance. |
| string value | Whether Ironic should collect the deployment logs on deployment failure (on_failure), always or never. |
| string value | The path to the directory where the logs should be stored, used when the deploy_logs_storage_backend is configured to "local". |
| string value | The name of the storage backend where the logs will be stored. |
| string value | The name of the Swift container to store the logs, used when the deploy_logs_storage_backend is configured to "swift". |
| integer value | Number of days before a log object is marked as expired in Swift. If None, the logs will be kept forever or until manually deleted. Used when the deploy_logs_storage_backend is configured to "swift". |
| string value | Specifies whether direct deploy interface should try to use the image source directly or if ironic should cache the image on the conductor and serve it from ironic’s own http server. This option takes effect only when instance image is provided from the Image service. |
| boolean value | Whether Ironic will manage booting of the agent ramdisk. If set to False, you will need to configure your mechanism to allow booting the agent ramdisk. |
| integer value | This is the maximum number of attempts that will be done for IPA commands that fails due to network problems. |
| integer value | The memory size in MiB consumed by agent when it is booted on a bare metal node. This is used for checking if the image can be downloaded and deployed on the bare metal node after booting agent ramdisk. This may be set according to the memory consumed by the agent ramdisk image. |
| integer value | Max number of attempts to validate a Neutron agent status before raising network error for a dead agent. |
| integer value | The number of seconds Neutron agent will wait between polling for device changes. This value should be the same as CONF.AGENT.polling_interval in Neutron configuration. |
| integer value | Wait time in seconds between attempts for validating Neutron agent status. |
| integer value | Number of times to retry getting power state to check if bare metal node has been powered off after a soft power off. |
| integer value | Amount of time (in seconds) to wait between polling power state after trigger soft poweroff. |
| boolean value | Whether the agent ramdisk should stream raw images directly onto the disk or not. By streaming raw images directly onto the disk the agent ramdisk will not spend time copying the image to a tmpfs partition (therefore consuming less memory) prior to writing it to the disk. Unless the disk where the image will be copied to is really slow, this option should be set to True. Defaults to True. |
5.1.3. ansible
The following table outlines the options available under the [ansible]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| string value | Extra arguments to pass on every invocation of Ansible. |
| string value | Path to "ansible-playbook" script. Default will search the $PATH configured for user running ironic-conductor process. Provide the full path when ansible-playbook is not in $PATH or installed in not default location. |
| string value | Path to ansible configuration file. If set to empty, system default will be used. |
| string value | Path (relative to $playbooks_path or absolute) to the default playbook used for node cleaning. It may be overridden by per-node ansible_clean_playbook option in node’s driver_info field. |
| string value | Path (relative to $playbooks_path or absolute) to the default auxiliary cleaning steps file used during the node cleaning. It may be overridden by per-node ansible_clean_steps_config option in node’s driver_info field. |
| string value | Path (relative to $playbooks_path or absolute) to the default playbook used for deployment. It may be overridden by per-node ansible_deploy_playbook option in node’s driver_info field. |
| string value | Absolute path to the private SSH key file to use by Ansible by default when connecting to the ramdisk over SSH. Default is to use default SSH keys configured for the user running the ironic-conductor service. Private keys with password must be pre-loaded into ssh-agent. It may be overridden by per-node ansible_key_file option in node’s driver_info field. |
| string value | Absolute path to the python interpreter on the managed machines. It may be overridden by per-node ansible_python_interpreter option in node’s driver_info field. By default, ansible uses /usr/bin/python |
| string value | Path (relative to $playbooks_path or absolute) to the default playbook used for graceful in-band shutdown of the node. It may be overridden by per-node ansible_shutdown_playbook option in node’s driver_info field. |
| string value | Name of the user to use for Ansible when connecting to the ramdisk over SSH. It may be overridden by per-node ansible_username option in node’s driver_info field. |
| integer value | Extra amount of memory in MiB expected to be consumed by Ansible-related processes on the node. Affects decision whether image will fit into RAM. |
| string value | Specific CA bundle to use for validating SSL connections to the image store. If not specified, CA available in the ramdisk will be used. Is not used by default playbooks included with the driver. Suitable for environments that use self-signed certificates. |
| string value | Client cert to use for SSL connections to image store. Is not used by default playbooks included with the driver. |
| boolean value | Skip verifying SSL connections to the image store when downloading the image. Setting it to "True" is only recommended for testing environments that use self-signed certificates. |
| string value | Client key to use for SSL connections to image store. Is not used by default playbooks included with the driver. |
| string value | Path to directory with playbooks, roles and local inventory. |
| integer value | Number of times to retry getting power state to check if bare metal node has been powered off after a soft power off. Value of 0 means do not retry on failure. |
| integer value | Amount of time (in seconds) to wait between polling power state after trigger soft poweroff. |
| integer value | Set ansible verbosity level requested when invoking "ansible-playbook" command. 4 includes detailed SSH session logging. Default is 4 when global debug is enabled and 0 otherwise. |
5.1.4. api
The following table outlines the options available under the [api]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| integer value | Number of workers for OpenStack Ironic API service. The default is equal to the number of CPUs available if that can be determined, else a default worker count of 1 is returned. |
| boolean value | Enable the integrated stand-alone API to service requests via HTTPS instead of HTTP. If there is a front-end service performing HTTPS offloading from the service, this option should be False; note, you will want to enable proxy headers parsing with [oslo_middleware]enable_proxy_headers_parsing option or configure [api]public_endpoint option to set URLs in responses to the SSL terminated one. |
| host address value | The IP address or hostname on which ironic-api listens. |
| integer value | The maximum number of items returned in a single response from a collection resource. |
| port value | The TCP port on which ironic-api listens. |
| string value | Public URL to use when building the links to the API resources (for example, "https://ironic.rocks:6384"). If None the links will be built using the request’s host URL. If the API is operating behind a proxy, you will want to change this to represent the proxy’s URL. Defaults to None. Ignored when proxy headers parsing is enabled via [oslo_middleware]enable_proxy_headers_parsing option. |
| integer value | Maximum interval (in seconds) for agent heartbeats. |
| boolean value | Whether to restrict the lookup API to only nodes in certain states. |
5.1.5. audit
The following table outlines the options available under the [audit]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| string value | Path to audit map file for ironic-api service. Used only when API audit is enabled. |
| boolean value | Enable auditing of API requests (for ironic-api service). |
`ignore_req_list = ` | string value | Comma separated list of Ironic REST API HTTP methods to be ignored during audit logging. For example: auditing will not be done on any GET or POST requests if this is set to "GET,POST". It is used only when API audit is enabled. |
5.1.6. cinder
The following table outlines the options available under the [cinder]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| integer value | Number of retries in the case of a failed action (currently only used when detaching volumes). |
| integer value | Retry interval in seconds in the case of a failed action (only specific actions are retried). |
| string value | Authentication URL |
| string value | Authentication type to load |
| string value | PEM encoded Certificate Authority to use when verifying HTTPs connections. |
| string value | PEM encoded client certificate cert file |
| boolean value | Collect per-API call timing information. |
| integer value | The maximum number of retries that should be attempted for connection errors. |
| floating point value | Delay (in seconds) between two retries for connection errors. If not set, exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is used. |
| string value | Optional domain ID to use with v3 and v2 parameters. It will be used for both the user and project domain in v3 and ignored in v2 authentication. |
| string value | Optional domain name to use with v3 API and v2 parameters. It will be used for both the user and project domain in v3 and ignored in v2 authentication. |
| string value | Domain ID to scope to |
| string value | Domain name to scope to |
| string value |
Always use this endpoint URL for requests for this client. NOTE: The unversioned endpoint should be specified here; to request a particular API version, use the |
| boolean value | Verify HTTPS connections. |
| string value | PEM encoded client certificate key file |
| string value | The maximum major version of a given API, intended to be used as the upper bound of a range with min_version. Mutually exclusive with version. |
| string value | The minimum major version of a given API, intended to be used as the lower bound of a range with max_version. Mutually exclusive with version. If min_version is given with no max_version it is as if max version is "latest". |
| string value | User’s password |
| string value | Domain ID containing project |
| string value | Domain name containing project |
| string value | Project ID to scope to |
| string value | Project name to scope to |
| string value | The default region_name for endpoint URL discovery. |
| integer value | Client retries in the case of a failed request connection. |
| string value | The default service_name for endpoint URL discovery. |
| string value | The default service_type for endpoint URL discovery. |
| boolean value | Log requests to multiple loggers. |
| integer value | The maximum number of retries that should be attempted for retriable HTTP status codes. |
| floating point value | Delay (in seconds) between two retries for retriable status codes. If not set, exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is used. |
| string value | Scope for system operations |
| string value | Tenant ID |
| string value | Tenant Name |
| integer value | Timeout value for http requests |
| string value | Trust ID |
| uri value | URL for connecting to cinder. If set, the value must start with either http:// or https://. |
| string value | User’s domain id |
| string value | User’s domain name |
| string value | User id |
| string value | Username |
| list value | List of interfaces, in order of preference, for endpoint URL. |
| string value | Minimum Major API version within a given Major API version for endpoint URL discovery. Mutually exclusive with min_version and max_version |
5.1.7. conductor
The following table outlines the options available under the [conductor]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| boolean value | Allow deleting nodes which are in state available. Defaults to True. |
| boolean value | Whether to allow nodes to enter or undergo deploy or cleaning when in maintenance mode. If this option is set to False, and a node enters maintenance during deploy or cleaning, the process will be aborted after the next heartbeat. Automated cleaning or making a node available will also fail. If True (the default), the process will begin and will pause after the node starts heartbeating. Moving it from maintenance will make the process continue. |
| uri value | URL of Ironic API service. If not set ironic can get the current value from the keystone service catalog. If set, the value must start with either http:// or https://. |
| boolean value | Enables or disables automated cleaning. Automated cleaning is a configurable set of steps, such as erasing disk drives, that are performed on the node to ensure it is in a baseline state and ready to be deployed to. This is done after instance deletion as well as during the transition from a "manageable" to "available" state. When enabled, the particular steps performed to clean a node depend on which driver that node is managed by; see the individual driver’s documentation for details. NOTE: The introduction of the cleaning operation causes instance deletion to take significantly longer. In an environment where all tenants are trusted (eg, because there is only one tenant), this option could be safely disabled. |
| string value | Glance ID, http:// or file:// URL of the EFI system partition image containing EFI boot loader. This image will be used by ironic when building UEFI-bootable ISO out of kernel and ramdisk. Required for UEFI boot from partition images. |
| integer value | Interval between checks of orphaned allocations, in seconds. Set to 0 to disable checks. |
| integer value | Interval between checks of provision timeouts, in seconds. Set to 0 to disable checks. |
| integer value | Interval (seconds) between checks of rescue timeouts. |
| integer value | Timeout (seconds) to wait for a callback from the ramdisk doing the cleaning. If the timeout is reached the node will be put in the "clean failed" provision state. Set to 0 to disable timeout. |
`conductor_group = ` | string value | Name of the conductor group to join. Can be up to 255 characters and is case insensitive. This conductor will only manage nodes with a matching "conductor_group" field set on the node. |
| string value | Name of the Swift container to store config drive data. Used when configdrive_use_object_store is True. |
| integer value | The timeout (in seconds) after which a configdrive temporary URL becomes invalid. Defaults to deploy_callback_timeout if it is set, otherwise to 1800 seconds. Used when configdrive_use_object_store is True. |
| integer value | Timeout (seconds) to wait for a callback from a deploy ramdisk. Set to 0 to disable timeout. |
| string value | Glance ID, http:// or file:// URL of the kernel of the default deploy image. |
| string value | Glance ID, http:// or file:// URL of the initramfs of the default deploy image. |
| boolean value | Whether to enable publishing the baremetal API endpoint via multicast DNS. |
| boolean value | During sync_power_state, should the hardware power state be set to the state recorded in the database (True) or should the database be updated based on the hardware state (False). |
| integer value | Seconds between conductor heart beats. |
| integer value | Maximum time (in seconds) since the last check-in of a conductor. A conductor is considered inactive when this time has been exceeded. |
| integer value | Timeout (seconds) for waiting for node inspection. 0 - unlimited. |
| integer value | Number of attempts to grab a node lock. |
| integer value | Seconds to sleep between node lock attempts. |
| integer value | Maximum number of worker threads that can be started simultaneously by a periodic task. Should be less than RPC thread pool size. |
| integer value | Interval (in seconds) between checking the power state for nodes previously put into maintenance mode due to power synchronization failure. A node is automatically moved out of maintenance mode once its power state is retrieved successfully. Set to 0 to disable this check. |
| integer value | Number of seconds to wait for power operations to complete, i.e., so that a baremetal node is in the desired power state. If timed out, the power operation is considered a failure. |
| integer value | During sync_power_state failures, limit the number of times Ironic should try syncing the hardware node power state with the node power state in DB |
| integer value | Timeout (seconds) to wait for a callback from the rescue ramdisk. If the timeout is reached the node will be put in the "rescue failed" provision state. Set to 0 to disable timeout. |
| string value | Glance ID, http:// or file:// URL of the kernel of the default rescue image. |
| string value | Glance ID, http:// or file:// URL of the initramfs of the default rescue image. |
| boolean value | Enable sending sensor data message via the notification bus |
| boolean value | The default for sensor data collection is to only collect data for machines that are deployed, however operators may desire to know if there are failures in hardware that is not presently in use. When set to true, the conductor will collect sensor information from all nodes when sensor data collection is enabled via the send_sensor_data setting. |
| integer value | Seconds between conductor sending sensor data message to ceilometer via the notification bus. |
| list value | List of comma separated meter types which need to be sent to Ceilometer. The default value, "ALL", is a special value meaning send all the sensor data. |
| integer value | The time in seconds to wait for send sensors data periodic task to be finished before allowing periodic call to happen again. Should be less than send_sensor_data_interval value. |
| integer value | The maximum number of workers that can be started simultaneously for send data from sensors periodic task. |
| integer value | Timeout (in seconds) of soft reboot and soft power off operation. This value always has to be positive. |
| integer value | When conductors join or leave the cluster, existing conductors may need to update any persistent local state as nodes are moved around the cluster. This option controls how often, in seconds, each conductor will check for nodes that it should "take over". Set it to 0 (or a negative value) to disable the check entirely. |
| integer value | Interval between syncing the node power state to the database, in seconds. Set to 0 to disable syncing. |
| integer value | The maximum number of worker threads that can be started simultaneously to sync nodes power states from the periodic task. |
| integer value |
The size of the workers greenthread pool. Note that 2 threads will be reserved by the conductor itself for handling heart beats and periodic tasks. On top of that, |
5.1.8. console
The following table outlines the options available under the [console]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| integer value | Time (in seconds) to wait for the shellinabox console subprocess to exit before sending SIGKILL signal. |
| IP address value | IP address of Socat service running on the host of ironic conductor. Used only by Socat console. |
| integer value | Time interval (in seconds) for checking the status of console subprocess. |
| integer value | Time (in seconds) to wait for the console subprocess to start. |
| string value | Path to serial console terminal program. Used only by Shell In A Box console. |
| string value | Directory containing the terminal SSL cert (PEM) for serial console access. Used only by Shell In A Box console. |
| string value | Directory for holding terminal pid files. If not specified, the temporary directory will be used. |
| integer value | Timeout (in seconds) for the terminal session to be closed on inactivity. Set to 0 to disable timeout. Used only by Socat console. |
5.1.9. cors
The following table outlines the options available under the [cors]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| boolean value | Indicate that the actual request can include user credentials |
| list value | Indicate which header field names may be used during the actual request. |
| list value | Indicate which methods can be used during the actual request. |
| list value | Indicate whether this resource may be shared with the domain received in the requests "origin" header. Format: "<protocol>://<host>[:<port>]", no trailing slash. Example: https://horizon.example.com |
| list value | Indicate which headers are safe to expose to the API. Defaults to HTTP Simple Headers. |
| integer value | Maximum cache age of CORS preflight requests. |
5.1.10. database
The following table outlines the options available under the [database]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| string value | The back end to use for the database. |
| string value | The SQLAlchemy connection string to use to connect to the database. |
| integer value | Verbosity of SQL debugging information: 0=None, 100=Everything. |
`connection_parameters = ` | string value | Optional URL parameters to append onto the connection URL at connect time; specify as param1=value1¶m2=value2&… |
| integer value | Connections which have been present in the connection pool longer than this number of seconds will be replaced with a new one the next time they are checked out from the pool. |
| boolean value | Add Python stack traces to SQL as comment strings. |
| boolean value | If True, increases the interval between retries of a database operation up to db_max_retry_interval. |
| integer value | Maximum retries in case of connection error or deadlock error before error is raised. Set to -1 to specify an infinite retry count. |
| integer value | If db_inc_retry_interval is set, the maximum seconds between retries of a database operation. |
| integer value | Seconds between retries of a database transaction. |
| integer value | If set, use this value for max_overflow with SQLAlchemy. |
| integer value | Maximum number of SQL connections to keep open in a pool. Setting a value of 0 indicates no limit. |
| integer value | Maximum number of database connection retries during startup. Set to -1 to specify an infinite retry count. |
| boolean value | If True, transparently enables support for handling MySQL Cluster (NDB). |
| string value | MySQL engine to use. |
| string value | The SQL mode to be used for MySQL sessions. This option, including the default, overrides any server-set SQL mode. To use whatever SQL mode is set by the server configuration, set this to no value. Example: mysql_sql_mode= |
| integer value | If set, use this value for pool_timeout with SQLAlchemy. |
| integer value | Interval between retries of opening a SQL connection. |
| string value | The SQLAlchemy connection string to use to connect to the slave database. |
| boolean value | If True, SQLite uses synchronous mode. |
| boolean value | Enable the experimental use of database reconnect on connection lost. |
5.1.11. deploy
The following table outlines the options available under the [deploy]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| boolean value | Whether to upload the config drive to object store. Set this option to True to store config drive in a swift endpoint. |
| boolean value |
Defines what to do if an ATA secure erase operation fails during cleaning in the Ironic Python Agent. If False, the cleaning operation will fail and the node will be put in |
| string value |
Default boot mode to use when no boot mode is requested in node’s driver_info, capabilities or in the |
| string value | Default boot option to use when no boot option is requested in node’s driver_info. Currently the default is "netboot", but it will be changed to "local" in the future. It is recommended to set an explicit value for this option. |
| integer value | Defines the target pool size used by Ironic Python Agent ramdisk to erase disk devices. The number of threads created to erase disks will not exceed this value or the number of disks to be erased. |
| boolean value | Whether to support the use of ATA Secure Erase during the cleaning process. Defaults to True. |
| integer value | Priority to run in-band clean step that erases metadata from devices, via the Ironic Python Agent ramdisk. If unset, will use the priority set in the ramdisk (defaults to 99 for the GenericHardwareManager). If set to 0, will not run during cleaning. |
| integer value | Priority to run in-band erase devices via the Ironic Python Agent ramdisk. If unset, will use the priority set in the ramdisk (defaults to 10 for the GenericHardwareManager). If set to 0, will not run during cleaning. |
| boolean value | Whether to allow deployment agents to perform lookup, heartbeat operations during initial states of a machine lifecycle and by-pass the normal setup procedures for a ramdisk. This feature also enables power operations which are part of deployment processes to be bypassed if the ramdisk has performed a heartbeat operation using the fast_track_timeout setting. |
| integer value | Seconds for which the last heartbeat event is to be considered valid for the purpose of a fast track sequence. This setting should generally be less than the number of seconds for "Power-On Self Test" and typical ramdisk start-up. This value should not exceed the [api]ramdisk_heartbeat_timeout setting. |
| string value | The name of subdirectory under ironic-conductor node’s HTTP root path which is used to place instance images for the direct deploy interface, when local HTTP service is incorporated to provide instance image instead of swift tempurls. |
| string value | ironic-conductor node’s HTTP root path. |
| string value | ironic-conductor node’s HTTP server URL. Example: http://192.1.2.3:8080 |
| boolean value | Whether to power off a node after deploy failure. Defaults to True. |
| boolean value | Whether to write zeros to a node’s block devices after writing random data. This will write zeros to the device even when deploy.shred_random_overwrite_iterations is 0. This option is only used if a device could not be ATA Secure Erased. Defaults to True. |
| integer value | During shred, overwrite all block devices N times with random data. This is only used if a device could not be ATA Secure Erased. Defaults to 1. |
5.1.12. dhcp
The following table outlines the options available under the [dhcp]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| string value | DHCP provider to use. "neutron" uses Neutron, and "none" uses a no-op provider. |
5.1.13. disk_partitioner
The following table outlines the options available under the [disk_partitioner]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| integer value | After Ironic has completed creating the partition table, it continues to check for activity on the attached iSCSI device status at this interval prior to copying the image to the node, in seconds |
| integer value | The maximum number of times to check that the device is not accessed by another process. If the device is still busy after that, the disk partitioning will be treated as having failed. |
5.1.14. disk_utils
The following table outlines the options available under the [disk_utils]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| integer value | Size of BIOS Boot partition in MiB when configuring GPT partitioned systems for local boot in BIOS. |
| string value | Block size to use when writing to the nodes disk. |
| integer value | Size of EFI system partition in MiB when configuring UEFI systems for local boot. |
| integer value | Number of attempts to convert an image. |
| integer value | Memory limit for "qemu-img convert" in MiB. Implemented via the address space resource limit. |
| integer value | Maximum attempts to verify an iSCSI connection is active, sleeping 1 second between attempts. |
| integer value | Maximum attempts to detect a newly created partition. Defaults to iscsi_verify_attempts, will default to 3 when it is removed. |
| integer value | Maximum number of attempts to try to read the partition. |
5.1.15. drac
The following table outlines the options available under the [drac]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| integer value | Maximum amount of time (in seconds) to wait for the boot device configuration job to transition to the correct state to allow a reboot or power on to complete. |
| integer value | Maximum number of retries for the configuration job to complete successfully. |
| integer value | Interval (in seconds) between periodic RAID job status checks to determine whether the asynchronous RAID configuration was successfully finished or not. |
5.1.16. glance
The following table outlines the options available under the [glance]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| list value | A list of URL schemes that can be downloaded directly via the direct_url. Currently supported schemes: [file]. |
| string value | Authentication URL |
| string value | Authentication type to load |
| string value | PEM encoded Certificate Authority to use when verifying HTTPs connections. |
| string value | PEM encoded client certificate cert file |
| boolean value | Collect per-API call timing information. |
| integer value | The maximum number of retries that should be attempted for connection errors. |
| floating point value | Delay (in seconds) between two retries for connection errors. If not set, exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is used. |
| string value | Optional domain ID to use with v3 and v2 parameters. It will be used for both the user and project domain in v3 and ignored in v2 authentication. |
| string value | Optional domain name to use with v3 API and v2 parameters. It will be used for both the user and project domain in v3 and ignored in v2 authentication. |
| string value | Domain ID to scope to |
| string value | Domain name to scope to |
| string value |
Always use this endpoint URL for requests for this client. NOTE: The unversioned endpoint should be specified here; to request a particular API version, use the |
| boolean value | Verify HTTPS connections. |
| string value | PEM encoded client certificate key file |
| string value | The maximum major version of a given API, intended to be used as the upper bound of a range with min_version. Mutually exclusive with version. |
| string value | The minimum major version of a given API, intended to be used as the lower bound of a range with max_version. Mutually exclusive with version. If min_version is given with no max_version it is as if max version is "latest". |
| integer value | Number of retries when downloading an image from glance. |
| string value | User’s password |
| string value | Domain ID containing project |
| string value | Domain name containing project |
| string value | Project ID to scope to |
| string value | Project name to scope to |
| string value | The default region_name for endpoint URL discovery. |
| string value | The default service_name for endpoint URL discovery. |
| string value | The default service_type for endpoint URL discovery. |
| boolean value | Log requests to multiple loggers. |
| integer value | The maximum number of retries that should be attempted for retriable HTTP status codes. |
| floating point value | Delay (in seconds) between two retries for retriable status codes. If not set, exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is used. |
| string value | The account that Glance uses to communicate with Swift. The format is "AUTH_uuid". "uuid" is the UUID for the account configured in the glance-api.conf. For example: "AUTH_a422b2-91f3-2f46-74b7-d7c9e8958f5d30". If not set, the default value is calculated based on the ID of the project used to access Swift (as set in the [swift] section). Swift temporary URL format: "endpoint_url/api_version/account/container/object_id" |
| string value | The Swift API version to create a temporary URL for. Defaults to "v1". Swift temporary URL format: "endpoint_url/api_version/account/container/object_id" |
| string value | The Swift container Glance is configured to store its images in. Defaults to "glance", which is the default in glance-api.conf. Swift temporary URL format: "endpoint_url/api_version/account/container/object_id" |
| string value | The "endpoint" (scheme, hostname, optional port) for the Swift URL of the form "endpoint_url/api_version/account/container/object_id". Do not include trailing "/". For example, use "https://swift.example.com". If using RADOS Gateway, endpoint may also contain /swift path; if it does not, it will be appended. Used for temporary URLs, will be fetched from the service catalog, if not provided. |
| integer value | This should match a config by the same name in the Glance configuration file. When set to 0, a single-tenant store will only use one container to store all images. When set to an integer value between 1 and 32, a single-tenant store will use multiple containers to store images, and this value will determine how many containers are created. |
| boolean value | Whether to cache generated Swift temporary URLs. Setting it to true is only useful when an image caching proxy is used. Defaults to False. |
| integer value | The length of time in seconds that the temporary URL will be valid for. Defaults to 20 minutes. If some deploys get a 401 response code when trying to download from the temporary URL, try raising this duration. This value must be greater than or equal to the value for swift_temp_url_expected_download_start_delay |
| integer value | This is the delay (in seconds) from the time of the deploy request (when the Swift temporary URL is generated) to when the IPA ramdisk starts up and URL is used for the image download. This value is used to check if the Swift temporary URL duration is large enough to let the image download begin. Also if temporary URL caching is enabled this will determine if a cached entry will still be valid when the download starts. swift_temp_url_duration value must be greater than or equal to this option’s value. Defaults to 0. |
| string value | The secret token given to Swift to allow temporary URL downloads. Required for temporary URLs. For the Swift backend, the key on the service project (as set in the [swift] section) is used by default. |
| string value | Scope for system operations |
| string value | Tenant ID |
| string value | Tenant Name |
| integer value | Timeout value for http requests |
| string value | Trust ID |
| string value | User’s domain id |
| string value | User’s domain name |
| string value | User id |
| string value | Username |
| list value | List of interfaces, in order of preference, for endpoint URL. |
| string value | Minimum Major API version within a given Major API version for endpoint URL discovery. Mutually exclusive with min_version and max_version |
5.1.17. healthcheck
The following table outlines the options available under the [healthcheck]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| list value | Additional backends that can perform health checks and report that information back as part of a request. |
| boolean value | Show more detailed information as part of the response. Security note: Enabling this option may expose sensitive details about the service being monitored. Be sure to verify that it will not violate your security policies. |
| string value | Check the presence of a file to determine if an application is running on a port. Used by DisableByFileHealthcheck plugin. |
| list value | Check the presence of a file based on a port to determine if an application is running on a port. Expects a "port:path" list of strings. Used by DisableByFilesPortsHealthcheck plugin. |
| boolean value | Enable the health check endpoint at /healthcheck. Note that this is unauthenticated. More information is available at https://docs.openstack.org/oslo.middleware/latest/reference/healthcheck_plugins.html. |
| string value | The path to respond to healtcheck requests on. |
5.1.18. ilo
The following table outlines the options available under the [ilo]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| string value | CA certificate file to validate iLO. |
| integer value | Priority for clear_secure_boot_keys clean step. This step is not enabled by default. It can be enabled to clear all secure boot keys enrolled with iLO. |
| integer value | Priority for reset_bios_to_default clean step. |
| integer value | Priority for reset_ilo clean step. |
| integer value | Priority for reset_ilo_credential clean step. This step requires "ilo_change_password" parameter to be updated in nodes’s driver_info with the new password. |
| integer value | Priority for reset_secure_boot_keys clean step. This step will reset the secure boot keys to manufacturing defaults. |
| port value | Port to be used for iLO operations |
| integer value | Timeout (in seconds) for iLO operations |
| string value | Default boot mode to be used in provisioning when "boot_mode" capability is not provided in the "properties/capabilities" of the node. The default is "auto" for backward compatibility. When "auto" is specified, default boot mode will be selected based on boot mode settings on the system. |
| integer value | Interval (in seconds) between periodic erase-devices status checks to determine whether the asynchronous out-of-band erase-devices was successfully finished or not. |
| integer value | Amount of time in seconds to wait in between power operations |
| string value | The Swift iLO container to store data. |
| integer value | Amount of time in seconds for Swift objects to auto-expire. |
| boolean value | Set this to True to use http web server to host floppy images and generated boot ISO. This requires http_root and http_url to be configured in the [deploy] section of the config file. If this is set to False, then Ironic will use Swift to host the floppy images and generated boot_iso. |
5.1.19. inspector
The following table outlines the options available under the [inspector]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| string value | Authentication URL |
| string value | Authentication type to load |
| string value | PEM encoded Certificate Authority to use when verifying HTTPs connections. |
| string value | endpoint to use as a callback for posting back introspection data when boot is managed by ironic. Standard keystoneauth options are used by default. |
| string value | PEM encoded client certificate cert file |
| boolean value | Collect per-API call timing information. |
| integer value | The maximum number of retries that should be attempted for connection errors. |
| floating point value | Delay (in seconds) between two retries for connection errors. If not set, exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is used. |
| string value | Optional domain ID to use with v3 and v2 parameters. It will be used for both the user and project domain in v3 and ignored in v2 authentication. |
| string value | Optional domain name to use with v3 API and v2 parameters. It will be used for both the user and project domain in v3 and ignored in v2 authentication. |
| string value | Domain ID to scope to |
| string value | Domain name to scope to |
| string value |
Always use this endpoint URL for requests for this client. NOTE: The unversioned endpoint should be specified here; to request a particular API version, use the |
`extra_kernel_params = ` | string value | extra kernel parameters to pass to the inspection ramdisk when boot is managed by ironic (not ironic-inspector). Pairs key=value separated by spaces. |
| boolean value | Verify HTTPS connections. |
| string value | PEM encoded client certificate key file |
| string value | The maximum major version of a given API, intended to be used as the upper bound of a range with min_version. Mutually exclusive with version. |
| string value | The minimum major version of a given API, intended to be used as the lower bound of a range with max_version. Mutually exclusive with version. If min_version is given with no max_version it is as if max version is "latest". |
| string value | User’s password |
| boolean value | whether to power off a node after inspection finishes |
| string value | Domain ID containing project |
| string value | Domain name containing project |
| string value | Project ID to scope to |
| string value | Project name to scope to |
| string value | The default region_name for endpoint URL discovery. |
| boolean value | require that the in-band inspection boot is fully managed by ironic. Set this to True if your installation of ironic-inspector does not have a separate PXE boot environment. |
| string value | The default service_name for endpoint URL discovery. |
| string value | The default service_type for endpoint URL discovery. |
| boolean value | Log requests to multiple loggers. |
| integer value | The maximum number of retries that should be attempted for retriable HTTP status codes. |
| floating point value | Delay (in seconds) between two retries for retriable status codes. If not set, exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is used. |
| integer value | period (in seconds) to check status of nodes on inspection |
| string value | Scope for system operations |
| string value | Tenant ID |
| string value | Tenant Name |
| integer value | Timeout value for http requests |
| string value | Trust ID |
| string value | User’s domain id |
| string value | User’s domain name |
| string value | User id |
| string value | Username |
| list value | List of interfaces, in order of preference, for endpoint URL. |
| string value | Minimum Major API version within a given Major API version for endpoint URL discovery. Mutually exclusive with min_version and max_version |
5.1.20. ipmi
The following table outlines the options available under the [ipmi]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| multi valued | Additional errors ipmitool may encounter, specific to the environment it is run in. |
| integer value | Maximum time in seconds to retry retryable IPMI operations. (An operation is retryable, for example, if the requested operation fails because the BMC is busy.) Setting this too high can cause the sync power state periodic task to hang when there are slow or unresponsive BMCs. |
| boolean value | Enables all ipmi commands to be executed with an additional debugging output. This is a separate option as ipmitool can log a substantial amount of misleading text when in this mode. |
| boolean value | Default timeout behavior whether ironic sends a raw IPMI command to disable the 60 second timeout for booting. Setting this option to False will NOT send that command, the default value is True. It may be overridden by per-node ipmi_disable_boot_timeout option in node’s driver_info field. |
| boolean value |
Kill |
| integer value | Minimum time, in seconds, between IPMI operations sent to a server. There is a risk with some hardware that setting this too low may cause the BMC to crash. Recommended setting is 5 seconds. |
| boolean value | When set to True and the parameters are supported by ipmitool, the number of retries and the retry interval are passed to ipmitool as parameters, and ipmitool will do the retries. When set to False, ironic will retry the ipmitool commands. Recommended setting is False |
5.1.21. irmc
The following table outlines the options available under the [irmc]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| string value | Authentication method to be used for iRMC operations |
| integer value | Priority for restore_irmc_bios_config clean step. |
| integer value | Timeout (in seconds) for iRMC operations |
| list value | List of vendor IDs and device IDs for CPU FPGA to inspect. List items are in format vendorID/deviceID and separated by commas. CPU inspection will use this value to find existence of CPU FPGA in a node. If this option is not defined, then leave out CUSTOM_CPU_FPGA in node traits. Sample fpga_ids value: 0x1000/0x0079,0x2100/0x0080 |
| list value | List of vendor IDs and device IDs for GPU device to inspect. List items are in format vendorID/deviceID and separated by commas. GPU inspection will use this value to count the number of GPU device in a node. If this option is not defined, then leave out pci_gpu_devices in capabilities property. Sample gpu_ids value: 0x1000/0x0079,0x2100/0x0080 |
| port value | Port to be used for iRMC operations |
| integer value | Interval (in seconds) between periodic RAID status checks to determine whether the asynchronous RAID configuration was successfully finished or not. Foreground Initialization (FGI) will start 5 minutes after creating virtual drives. |
| string value | IP of remote image server |
| string value | share name of remote_image_server |
| string value | Ironic conductor node’s "NFS" or "CIFS" root path |
| string value | Share type of virtual media |
`remote_image_user_domain = ` | string value | Domain name of remote_image_user_name |
| string value | User name of remote_image_server |
| string value | Password of remote_image_user_name |
| string value | Sensor data retrieval method. |
| string value | SNMP community. Required for versions "v1" and "v2c" |
| integer value | SNMP polling interval in seconds |
| port value | SNMP port |
| string value | SNMP security name. Required for version "v3" |
| string value | SNMP protocol version |
5.1.22. ironic_lib
The following table outlines the options available under the [ironic_lib]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| boolean value | Used if there is a formatting error when generating an exception message (a programming error). If True, raise an exception; if False, use the unformatted message. |
| string value | Command that is prefixed to commands that are run as root. If not specified, no commands are run as root. |
5.1.23. iscsi
The following table outlines the options available under the [iscsi]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| string value | Flags that need to be sent to the dd command, to control the conversion of the original file when copying to the host. It can contain several options separated by commas. |
| port value | The port number on which the iSCSI portal listens for incoming connections. |
| integer value | Maximum attempts to verify an iSCSI connection is active, sleeping 1 second between attempts. Defaults to the deprecated [disk_utils]iscsi_verify_attempts option, after its removal will default to 3. |
5.1.24. json_rpc
The following table outlines the options available under the [json_rpc]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| string value | Authentication URL |
| string value | Authentication strategy used by JSON RPC. Defaults to the global auth_strategy setting. |
| string value | Authentication type to load |
| string value | PEM encoded Certificate Authority to use when verifying HTTPs connections. |
| string value | PEM encoded client certificate cert file |
| boolean value | Collect per-API call timing information. |
| string value | Optional domain ID to use with v3 and v2 parameters. It will be used for both the user and project domain in v3 and ignored in v2 authentication. |
| string value | Optional domain name to use with v3 API and v2 parameters. It will be used for both the user and project domain in v3 and ignored in v2 authentication. |
| string value | Domain ID to scope to |
| string value | Domain name to scope to |
| host address value | The IP address or hostname on which JSON RPC will listen. |
| boolean value | Verify HTTPS connections. |
| string value | PEM encoded client certificate key file |
| string value | User’s password |
| port value | The port to use for JSON RPC |
| string value | Domain ID containing project |
| string value | Domain name containing project |
| string value | Project ID to scope to |
| string value | Project name to scope to |
| boolean value | Log requests to multiple loggers. |
| string value | Scope for system operations |
| string value | Tenant ID |
| string value | Tenant Name |
| integer value | Timeout value for http requests |
| string value | Trust ID |
| boolean value | Whether to use TLS for JSON RPC |
| string value | User’s domain id |
| string value | User’s domain name |
| string value | User id |
| string value | Username |
5.1.25. keystone_authtoken
The following table outlines the options available under the [keystone_authtoken]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| string value | Config Section from which to load plugin specific options |
| string value | Authentication type to load |
| string value | Complete "public" Identity API endpoint. This endpoint should not be an "admin" endpoint, as it should be accessible by all end users. Unauthenticated clients are redirected to this endpoint to authenticate. Although this endpoint should ideally be unversioned, client support in the wild varies. If you’re using a versioned v2 endpoint here, then this should not be the same endpoint the service user utilizes for validating tokens, because normal end users may not be able to reach that endpoint. This option is deprecated in favor of www_authenticate_uri and will be removed in the S release. Deprecated since: Queens *Reason:*The auth_uri option is deprecated in favor of www_authenticate_uri and will be removed in the S release. |
| string value | API version of the Identity API endpoint. |
| string value |
Request environment key where the Swift cache object is stored. When auth_token middleware is deployed with a Swift cache, use this option to have the middleware share a caching backend with swift. Otherwise, use the |
| string value | A PEM encoded Certificate Authority to use when verifying HTTPs connections. Defaults to system CAs. |
| string value | Required if identity server requires client certificate |
| boolean value | Do not handle authorization requests within the middleware, but delegate the authorization decision to downstream WSGI components. |
| string value | Used to control the use and type of token binding. Can be set to: "disabled" to not check token binding. "permissive" (default) to validate binding information if the bind type is of a form known to the server and ignore it if not. "strict" like "permissive" but if the bind type is unknown the token will be rejected. "required" any form of token binding is needed to be allowed. Finally the name of a binding method that must be present in tokens. |
| integer value | Request timeout value for communicating with Identity API server. |
| integer value | How many times are we trying to reconnect when communicating with Identity API Server. |
| boolean value | (Optional) Indicate whether to set the X-Service-Catalog header. If False, middleware will not ask for service catalog on token validation and will not set the X-Service-Catalog header. |
| boolean value | Verify HTTPS connections. |
| string value | Interface to use for the Identity API endpoint. Valid values are "public", "internal" or "admin"(default). |
| string value | Required if identity server requires client certificate |
| integer value | (Optional) Number of seconds that an operation will wait to get a memcached client connection from the pool. |
| integer value | (Optional) Number of seconds memcached server is considered dead before it is tried again. |
| integer value | (Optional) Maximum total number of open connections to every memcached server. |
| integer value | (Optional) Socket timeout in seconds for communicating with a memcached server. |
| integer value | (Optional) Number of seconds a connection to memcached is held unused in the pool before it is closed. |
| string value | (Optional, mandatory if memcache_security_strategy is defined) This string is used for key derivation. |
| string value | (Optional) If defined, indicate whether token data should be authenticated or authenticated and encrypted. If MAC, token data is authenticated (with HMAC) in the cache. If ENCRYPT, token data is encrypted and authenticated in the cache. If the value is not one of these options or empty, auth_token will raise an exception on initialization. |
| boolean value | (Optional) Use the advanced (eventlet safe) memcached client pool. The advanced pool will only work under python 2.x. |
| list value | Optionally specify a list of memcached server(s) to use for caching. If left undefined, tokens will instead be cached in-process. |
| string value | The region in which the identity server can be found. |
| list value | A choice of roles that must be present in a service token. Service tokens are allowed to request that an expired token can be used and so this check should tightly control that only actual services should be sending this token. Roles here are applied as an ANY check so any role in this list must be present. For backwards compatibility reasons this currently only affects the allow_expired check. |
| boolean value | For backwards compatibility reasons we must let valid service tokens pass that don’t pass the service_token_roles check as valid. Setting this true will become the default in a future release and should be enabled if possible. |
| string value | The name or type of the service as it appears in the service catalog. This is used to validate tokens that have restricted access rules. |
| integer value | In order to prevent excessive effort spent validating tokens, the middleware caches previously-seen tokens for a configurable duration (in seconds). Set to -1 to disable caching completely. |
| string value | Complete "public" Identity API endpoint. This endpoint should not be an "admin" endpoint, as it should be accessible by all end users. Unauthenticated clients are redirected to this endpoint to authenticate. Although this endpoint should ideally be unversioned, client support in the wild varies. If you’re using a versioned v2 endpoint here, then this should not be the same endpoint the service user utilizes for validating tokens, because normal end users may not be able to reach that endpoint. |
5.1.26. mdns
The following table outlines the options available under the [mdns]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| list value | List of IP addresses of interfaces to use for mDNS. Defaults to all interfaces on the system. |
| integer value | Number of attempts to lookup a service. |
| dict value | Additional parameters to pass for the registered service. |
| integer value | Number of attempts to register a service. Currently has to be larger than 1 because of race conditions in the zeroconf library. |
5.1.27. metrics
The following table outlines the options available under the [metrics]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| string value | Backend for the agent ramdisk to use for metrics. Default possible backends are "noop" and "statsd". |
| string value | Prefix all metric names sent by the agent ramdisk with this value. The format of metric names is [global_prefix.][uuid.][host_name.]prefix.metric_name. |
| boolean value | Prepend the hostname to all metric names sent by the agent ramdisk. The format of metric names is [global_prefix.][uuid.][host_name.]prefix.metric_name. |
| boolean value | Split the prepended host value by "." and reverse it for metrics sent by the agent ramdisk (to better match the reverse hierarchical form of domain names). |
| boolean value | Prepend the node’s Ironic uuid to all metric names sent by the agent ramdisk. The format of metric names is [global_prefix.][uuid.][host_name.]prefix.metric_name. |
| string value | Backend to use for the metrics system. |
| string value | Prefix all metric names with this value. By default, there is no global prefix. The format of metric names is [global_prefix.][host_name.]prefix.metric_name. |
| boolean value | Prepend the hostname to all metric names. The format of metric names is [global_prefix.][host_name.]prefix.metric_name. |
| boolean value | Split the prepended host value by "." and reverse it (to better match the reverse hierarchical form of domain names). |
5.1.28. metrics_statsd
The following table outlines the options available under the [metrics_statsd]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| string value | Host for the agent ramdisk to use with the statsd backend. This must be accessible from networks the agent is booted on. |
| port value | Port for the agent ramdisk to use with the statsd backend. |
| string value | Host for use with the statsd backend. |
| port value | Port to use with the statsd backend. |
5.1.29. neutron
The following table outlines the options available under the [neutron]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| boolean value | Option to enable transmission of all ports to neutron when creating ports for provisioning, cleaning, or rescue. This is done without IP addresses assigned to the port, and may be useful in some bonded network configurations. |
| string value | Authentication URL |
| string value | Authentication type to load |
| string value | PEM encoded Certificate Authority to use when verifying HTTPs connections. |
| string value | PEM encoded client certificate cert file |
| string value | Neutron network UUID or name for the ramdisk to be booted into for cleaning nodes. Required for "neutron" network interface. It is also required if cleaning nodes when using "flat" network interface or "neutron" DHCP provider. If a name is provided, it must be unique among all networks or cleaning will fail. |
| list value | List of Neutron Security Group UUIDs to be applied during cleaning of the nodes. Optional for the "neutron" network interface and not used for the "flat" or "noop" network interfaces. If not specified, default security group is used. |
| boolean value | Collect per-API call timing information. |
| integer value | The maximum number of retries that should be attempted for connection errors. |
| floating point value | Delay (in seconds) between two retries for connection errors. If not set, exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is used. |
| string value | Optional domain ID to use with v3 and v2 parameters. It will be used for both the user and project domain in v3 and ignored in v2 authentication. |
| string value | Optional domain name to use with v3 API and v2 parameters. It will be used for both the user and project domain in v3 and ignored in v2 authentication. |
| integer value | Number of IPv6 addresses to allocate for ports created for provisioning, cleaning, rescue or inspection on DHCPv6-stateful networks. Different stages of the chain-loading process will request addresses with different CLID/IAID. Due to non-identical identifiers multiple addresses must be reserved for the host to ensure each step of the boot process can successfully lease addresses. |
| string value | Domain ID to scope to |
| string value | Domain name to scope to |
| string value |
Always use this endpoint URL for requests for this client. NOTE: The unversioned endpoint should be specified here; to request a particular API version, use the |
| boolean value | Verify HTTPS connections. |
| string value | Neutron network UUID or name for the ramdisk to be booted into for in-band inspection of nodes. If a name is provided, it must be unique among all networks or inspection will fail. |
| list value | List of Neutron Security Group UUIDs to be applied during the node inspection process. Optional for the "neutron" network interface and not used for the "flat" or "noop" network interfaces. If not specified, the default security group is used. |
| string value | PEM encoded client certificate key file |
| string value | The maximum major version of a given API, intended to be used as the upper bound of a range with min_version. Mutually exclusive with version. |
| string value | The minimum major version of a given API, intended to be used as the lower bound of a range with max_version. Mutually exclusive with version. If min_version is given with no max_version it is as if max version is "latest". |
| string value | User’s password |
| integer value | Delay value to wait for Neutron agents to setup sufficient DHCP configuration for port. |
| string value | Domain ID containing project |
| string value | Domain name containing project |
| string value | Project ID to scope to |
| string value | Project name to scope to |
| string value | Neutron network UUID or name for the ramdisk to be booted into for provisioning nodes. Required for "neutron" network interface. If a name is provided, it must be unique among all networks or deploy will fail. |
| list value | List of Neutron Security Group UUIDs to be applied during provisioning of the nodes. Optional for the "neutron" network interface and not used for the "flat" or "noop" network interfaces. If not specified, default security group is used. |
| string value | The default region_name for endpoint URL discovery. |
| integer value | Timeout for request processing when interacting with Neutron. This value should be increased if neutron port action timeouts are observed as neutron performs pre-commit validation prior returning to the API client which can take longer than normal client/server interactions. |
| string value | Neutron network UUID or name for booting the ramdisk for rescue mode. This is not the network that the rescue ramdisk will use post-boot — the tenant network is used for that. Required for "neutron" network interface, if rescue mode will be used. It is not used for the "flat" or "noop" network interfaces. If a name is provided, it must be unique among all networks or rescue will fail. |
| list value | List of Neutron Security Group UUIDs to be applied during the node rescue process. Optional for the "neutron" network interface and not used for the "flat" or "noop" network interfaces. If not specified, the default security group is used. |
| integer value | Client retries in the case of a failed request. |
| string value | The default service_name for endpoint URL discovery. |
| string value | The default service_type for endpoint URL discovery. |
| boolean value | Log requests to multiple loggers. |
| integer value | The maximum number of retries that should be attempted for retriable HTTP status codes. |
| floating point value | Delay (in seconds) between two retries for retriable status codes. If not set, exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is used. |
| string value | Scope for system operations |
| string value | Tenant ID |
| string value | Tenant Name |
| integer value | Timeout value for http requests |
| string value | Trust ID |
| string value | User’s domain id |
| string value | User’s domain name |
| string value | User id |
| string value | Username |
| list value | List of interfaces, in order of preference, for endpoint URL. |
| string value | Minimum Major API version within a given Major API version for endpoint URL discovery. Mutually exclusive with min_version and max_version |
5.1.30. nova
The following table outlines the options available under the [nova]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| string value | Authentication URL |
| string value | Authentication type to load |
| string value | PEM encoded Certificate Authority to use when verifying HTTPs connections. |
| string value | PEM encoded client certificate cert file |
| boolean value | Collect per-API call timing information. |
| integer value | The maximum number of retries that should be attempted for connection errors. |
| floating point value | Delay (in seconds) between two retries for connection errors. If not set, exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is used. |
| string value | Optional domain ID to use with v3 and v2 parameters. It will be used for both the user and project domain in v3 and ignored in v2 authentication. |
| string value | Optional domain name to use with v3 API and v2 parameters. It will be used for both the user and project domain in v3 and ignored in v2 authentication. |
| string value | Domain ID to scope to |
| string value | Domain name to scope to |
| string value |
Always use this endpoint URL for requests for this client. NOTE: The unversioned endpoint should be specified here; to request a particular API version, use the |
| boolean value | Verify HTTPS connections. |
| string value | PEM encoded client certificate key file |
| string value | The maximum major version of a given API, intended to be used as the upper bound of a range with min_version. Mutually exclusive with version. |
| string value | The minimum major version of a given API, intended to be used as the lower bound of a range with max_version. Mutually exclusive with version. If min_version is given with no max_version it is as if max version is "latest". |
| string value | User’s password |
| string value | Domain ID containing project |
| string value | Domain name containing project |
| string value | Project ID to scope to |
| string value | Project name to scope to |
| string value | The default region_name for endpoint URL discovery. |
| boolean value | When set to True, it will enable the support for power state change callbacks to nova. This option should be set to False in deployments that do not have the openstack compute service. |
| string value | The default service_name for endpoint URL discovery. |
| string value | The default service_type for endpoint URL discovery. |
| boolean value | Log requests to multiple loggers. |
| integer value | The maximum number of retries that should be attempted for retriable HTTP status codes. |
| floating point value | Delay (in seconds) between two retries for retriable status codes. If not set, exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is used. |
| string value | Scope for system operations |
| string value | Tenant ID |
| string value | Tenant Name |
| integer value | Timeout value for http requests |
| string value | Trust ID |
| string value | User’s domain id |
| string value | User’s domain name |
| string value | User id |
| string value | Username |
| list value | List of interfaces, in order of preference, for endpoint URL. |
| string value | Minimum Major API version within a given Major API version for endpoint URL discovery. Mutually exclusive with min_version and max_version |
5.1.31. oslo_concurrency
The following table outlines the options available under the [oslo_concurrency]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| boolean value | Enables or disables inter-process locks. |
| string value | Directory to use for lock files. For security, the specified directory should only be writable by the user running the processes that need locking. Defaults to environment variable OSLO_LOCK_PATH. If external locks are used, a lock path must be set. |
5.1.32. oslo_messaging_amqp
The following table outlines the options available under the [oslo_messaging_amqp]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| string value | Indicates the addressing mode used by the driver. Permitted values: legacy - use legacy non-routable addressing routable - use routable addresses dynamic - use legacy addresses if the message bus does not support routing otherwise use routable addressing |
| string value | Appended to the address prefix when sending to a group of consumers. Used by the message bus to identify messages that should be delivered in a round-robin fashion across consumers. |
| string value | address prefix used when broadcasting to all servers |
| integer value | Increase the connection_retry_interval by this many seconds after each unsuccessful failover attempt. |
| integer value | Seconds to pause before attempting to re-connect. |
| integer value | Maximum limit for connection_retry_interval + connection_retry_backoff |
| string value | Name for the AMQP container. must be globally unique. Defaults to a generated UUID |
| string value | Exchange name used in notification addresses. Exchange name resolution precedence: Target.exchange if set else default_notification_exchange if set else control_exchange if set else notify |
| integer value | The deadline for a sent notification message delivery. Only used when caller does not provide a timeout expiry. |
| integer value | The maximum number of attempts to re-send a reply message which failed due to a recoverable error. |
| integer value | The deadline for an rpc reply message delivery. |
| string value | Exchange name used in RPC addresses. Exchange name resolution precedence: Target.exchange if set else default_rpc_exchange if set else control_exchange if set else rpc |
| integer value | The deadline for an rpc cast or call message delivery. Only used when caller does not provide a timeout expiry. |
| integer value | The duration to schedule a purge of idle sender links. Detach link after expiry. |
| string value | address prefix when sending to any server in group |
| integer value | Timeout for inactive connections (in seconds) |
| integer value | Time to pause between re-connecting an AMQP 1.0 link that failed due to a recoverable error. |
| string value | Appended to the address prefix when sending a fanout message. Used by the message bus to identify fanout messages. |
| string value | Address prefix for all generated Notification addresses |
| integer value | Window size for incoming Notification messages |
| multi valued | Send messages of this type pre-settled. Pre-settled messages will not receive acknowledgement from the peer. Note well: pre-settled messages may be silently discarded if the delivery fails. Permitted values: rpc-call - send RPC Calls pre-settled rpc-reply- send RPC Replies pre-settled rpc-cast - Send RPC Casts pre-settled notify - Send Notifications pre-settled |
| boolean value | Enable virtual host support for those message buses that do not natively support virtual hosting (such as qpidd). When set to true the virtual host name will be added to all message bus addresses, effectively creating a private subnet per virtual host. Set to False if the message bus supports virtual hosting using the hostname field in the AMQP 1.0 Open performative as the name of the virtual host. |
| integer value | Window size for incoming RPC Reply messages. |
| string value | Address prefix for all generated RPC addresses |
| integer value | Window size for incoming RPC Request messages |
`sasl_config_dir = ` | string value | Path to directory that contains the SASL configuration |
`sasl_config_name = ` | string value | Name of configuration file (without .conf suffix) |
`sasl_default_realm = ` | string value | SASL realm to use if no realm present in username |
`sasl_mechanisms = ` | string value | Space separated list of acceptable SASL mechanisms |
| string value | address prefix used when sending to a specific server |
| boolean value | Attempt to connect via SSL. If no other ssl-related parameters are given, it will use the system’s CA-bundle to verify the server’s certificate. |
`ssl_ca_file = ` | string value | CA certificate PEM file used to verify the server’s certificate |
`ssl_cert_file = ` | string value | Self-identifying certificate PEM file for client authentication |
`ssl_key_file = ` | string value | Private key PEM file used to sign ssl_cert_file certificate (optional) |
| string value | Password for decrypting ssl_key_file (if encrypted) |
| boolean value | By default SSL checks that the name in the server’s certificate matches the hostname in the transport_url. In some configurations it may be preferable to use the virtual hostname instead, for example if the server uses the Server Name Indication TLS extension (rfc6066) to provide a certificate per virtual host. Set ssl_verify_vhost to True if the server’s SSL certificate uses the virtual host name instead of the DNS name. |
| boolean value | Debug: dump AMQP frames to stdout |
| string value | Appended to the address prefix when sending to a particular RPC/Notification server. Used by the message bus to identify messages sent to a single destination. |
5.1.33. oslo_messaging_kafka
The following table outlines the options available under the [oslo_messaging_kafka]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| string value | The compression codec for all data generated by the producer. If not set, compression will not be used. Note that the allowed values of this depend on the kafka version |
| integer value | The pool size limit for connections expiration policy |
| integer value | The time-to-live in sec of idle connections in the pool |
| string value | Group id for Kafka consumer. Consumers in one group will coordinate message consumption |
| boolean value | Enable asynchronous consumer commits |
| floating point value | Default timeout(s) for Kafka consumers |
| integer value | Max fetch bytes of Kafka consumer |
| integer value | The maximum number of records returned in a poll call |
| integer value | Pool Size for Kafka Consumers |
| integer value | Size of batch for the producer async send |
| floating point value | Upper bound on the delay for KafkaProducer batching in seconds |
| string value | Mechanism when security protocol is SASL |
| string value | Protocol used to communicate with brokers |
`ssl_cafile = ` | string value | CA certificate PEM file used to verify the server certificate |
5.1.34. oslo_messaging_notifications
The following table outlines the options available under the [oslo_messaging_notifications]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| multi valued | The Drivers(s) to handle sending notifications. Possible values are messaging, messagingv2, routing, log, test, noop |
| integer value | The maximum number of attempts to re-send a notification message which failed to be delivered due to a recoverable error. 0 - No retry, -1 - indefinite |
| list value | AMQP topic used for OpenStack notifications. |
| string value | A URL representing the messaging driver to use for notifications. If not set, we fall back to the same configuration used for RPC. |
5.1.35. oslo_messaging_rabbit
The following table outlines the options available under the [oslo_messaging_rabbit]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| boolean value | Auto-delete queues in AMQP. |
| boolean value | Use durable queues in AMQP. |
| boolean value | (DEPRECATED) Enable/Disable the RabbitMQ mandatory flag for direct send. The direct send is used as reply, so the MessageUndeliverable exception is raised in case the client queue does not exist.MessageUndeliverable exception will be used to loop for a timeout to lets a chance to sender to recover.This flag is deprecated and it will not be possible to deactivate this functionality anymore |
| boolean value | Enable x-cancel-on-ha-failover flag so that rabbitmq server will cancel and notify consumerswhen queue is down |
| boolean value | EXPERIMENTAL: Run the health check heartbeat threadthrough a native python thread. By default if thisoption isn’t provided the health check heartbeat willinherit the execution model from the parent process. Byexample if the parent process have monkey patched thestdlib by using eventlet/greenlet then the heartbeatwill be run through a green thread. |
| integer value | How often times during the heartbeat_timeout_threshold we check the heartbeat. |
| integer value | Number of seconds after which the Rabbit broker is considered down if heartbeat’s keep-alive fails (0 disables heartbeat). |
| string value | EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not be used. This option may not be available in future versions. |
| string value | Determines how the next RabbitMQ node is chosen in case the one we are currently connected to becomes unavailable. Takes effect only if more than one RabbitMQ node is provided in config. |
| integer value | How long to wait a missing client before abandoning to send it its replies. This value should not be longer than rpc_response_timeout. |
| floating point value | How long to wait before reconnecting in response to an AMQP consumer cancel notification. |
| boolean value | Try to use HA queues in RabbitMQ (x-ha-policy: all). If you change this option, you must wipe the RabbitMQ database. In RabbitMQ 3.0, queue mirroring is no longer controlled by the x-ha-policy argument when declaring a queue. If you just want to make sure that all queues (except those with auto-generated names) are mirrored across all nodes, run: "rabbitmqctl set_policy HA ^(?!amq\.).* {"ha-mode": "all"} " |
| integer value | Maximum interval of RabbitMQ connection retries. Default is 30 seconds. |
| string value | The RabbitMQ login method. |
| integer value | Specifies the number of messages to prefetch. Setting to zero allows unlimited messages. |
| integer value | How long to backoff for between retries when connecting to RabbitMQ. |
| integer value | How frequently to retry connecting with RabbitMQ. |
| integer value | Positive integer representing duration in seconds for queue TTL (x-expires). Queues which are unused for the duration of the TTL are automatically deleted. The parameter affects only reply and fanout queues. |
| boolean value | Connect over SSL. |
`ssl_ca_file = ` | string value | SSL certification authority file (valid only if SSL enabled). |
`ssl_cert_file = ` | string value | SSL cert file (valid only if SSL enabled). |
`ssl_key_file = ` | string value | SSL key file (valid only if SSL enabled). |
`ssl_version = ` | string value | SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some distributions. |
5.1.36. oslo_middleware
The following table outlines the options available under the [oslo_middleware]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| boolean value | Whether the application is behind a proxy or not. This determines if the middleware should parse the headers or not. |
5.1.37. oslo_policy
The following table outlines the options available under the [oslo_policy]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| boolean value |
This option controls whether or not to enforce scope when evaluating policies. If |
| string value | Default rule. Enforced when a requested rule is not found. |
| multi valued | Directories where policy configuration files are stored. They can be relative to any directory in the search path defined by the config_dir option, or absolute paths. The file defined by policy_file must exist for these directories to be searched. Missing or empty directories are ignored. |
| string value | The relative or absolute path of a file that maps roles to permissions for a given service. Relative paths must be specified in relation to the configuration file setting this option. |
| string value | Content Type to send and receive data for REST based policy check |
| string value | Absolute path to ca cert file for REST based policy check |
| string value | Absolute path to client cert for REST based policy check |
| string value | Absolute path client key file REST based policy check |
| boolean value | server identity verification for REST based policy check |
5.1.38. profiler
The following table outlines the options available under the [profiler]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| string value | Connection string for a notifier backend.
Default value is Examples of possible values:
|
| boolean value | Enable the profiling for all services on this node. Default value is False (fully disable the profiling feature). Possible values:
|
| string value | Document type for notification indexing in elasticsearch. |
| integer value | Elasticsearch splits large requests in batches. This parameter defines maximum size of each batch (for example: es_scroll_size=10000). |
| string value | This parameter is a time value parameter (for example: es_scroll_time=2m), indicating for how long the nodes that participate in the search will maintain relevant resources in order to continue and support it. |
| boolean value | Enable filter traces that contain error/exception to a separated place. Default value is set to False. Possible values:
|
| string value | Secret key(s) to use for encrypting context data for performance profiling. This string value should have the following format: <key1>[,<key2>,…<keyn>], where each key is some random string. A user who triggers the profiling via the REST API has to set one of these keys in the headers of the REST API call to include profiling results of this node for this particular project. Both "enabled" flag and "hmac_keys" config options should be set to enable profiling. Also, to generate correct profiling information across all services at least one key needs to be consistent between OpenStack projects. This ensures it can be used from client side to generate the trace, containing information from all possible resources. |
| string value |
Redissentinel uses a service name to identify a master redis service. This parameter defines the name (for example: |
| floating point value | Redissentinel provides a timeout option on the connections. This parameter defines that timeout (for example: socket_timeout=0.1). |
| boolean value | Enable SQL requests profiling in services. Default value is False (SQL requests won’t be traced). Possible values:
|
5.1.39. pxe
The following table outlines the options available under the [pxe]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| integer value | Interval (in seconds) between periodic checks on PXE boot retry. Has no effect if boot_retry_timeout is not set. |
| integer value | Timeout (in seconds) after which PXE boot should be retried. Must be less than [conductor]deploy_callback_timeout. Disabled by default. |
| string value | Default file system format for ephemeral partition, if one is created. |
| integer value | The permission that will be applied to the TFTP folders upon creation. This should be set to the permission such that the tftpserver has access to read the contents of the configured TFTP folder. This setting is only required when the operating system’s umask is restrictive such that ironic-conductor is creating files that cannot be read by the TFTP server. Setting to <None> will result in the operating system’s umask to be utilized for the creation of new tftp folders. It is recommended that an octal representation is specified. For example: 0o755 |
| integer value | Maximum size (in MiB) of cache for master images, including those in use. |
| integer value | Maximum TTL (in minutes) for old master images in cache. |
| string value | On the ironic-conductor node, directory where images are stored on disk. |
| string value | On the ironic-conductor node, directory where master instance images are stored on disk. Setting to the empty string disables image caching. |
| string value | The IP version that will be used for PXE booting. Defaults to 4. EXPERIMENTAL |
| string value | On ironic-conductor node, the path to the main iPXE script file. |
| boolean value | Defaults the PXE interface to only use iPXE. |
| integer value | Timeout value (in seconds) for downloading an image via iPXE. Defaults to 0 (no timeout) |
| boolean value | Download deploy and rescue images directly from swift using temporary URLs. If set to false (default), images are downloaded to the ironic-conductor node and served over its local HTTP server. Applicable only when ipxe_enabled option is set to true. |
| string value | Additional append parameters for baremetal PXE boot. |
| string value | Bootfile DHCP parameter. |
| dict value | Bootfile DHCP parameter per node architecture. For example: aarch64:grubaa64.efi |
| string value | Directory in which to create symbolic links which represent the MAC or IP address of the ports on a node and allow boot loaders to load the PXE file for the node. This directory name is relative to the PXE or iPXE folders. |
| string value | On ironic-conductor node, template file for PXE configuration. |
| dict value | On ironic-conductor node, template file for PXE configuration per node architecture. For example: aarch64:/opt/share/grubaa64_pxe_config.template |
| string value | On ironic-conductor node, directory where master TFTP images are stored on disk. Setting to the empty string disables image caching. |
| string value | ironic-conductor node’s TFTP root path. The ironic-conductor must have read/write access to this path. |
| string value | IP address of ironic-conductor node’s TFTP server. |
| string value | Bootfile DHCP parameter for UEFI boot mode. |
| string value | On ironic-conductor node, template file for PXE configuration for UEFI boot loader. |
5.1.40. service_catalog
The following table outlines the options available under the [service_catalog]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| string value | Authentication URL |
| string value | Authentication type to load |
| string value | PEM encoded Certificate Authority to use when verifying HTTPs connections. |
| string value | PEM encoded client certificate cert file |
| boolean value | Collect per-API call timing information. |
| integer value | The maximum number of retries that should be attempted for connection errors. |
| floating point value | Delay (in seconds) between two retries for connection errors. If not set, exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is used. |
| string value | Optional domain ID to use with v3 and v2 parameters. It will be used for both the user and project domain in v3 and ignored in v2 authentication. |
| string value | Optional domain name to use with v3 API and v2 parameters. It will be used for both the user and project domain in v3 and ignored in v2 authentication. |
| string value | Domain ID to scope to |
| string value | Domain name to scope to |
| string value |
Always use this endpoint URL for requests for this client. NOTE: The unversioned endpoint should be specified here; to request a particular API version, use the |
| boolean value | Verify HTTPS connections. |
| string value | PEM encoded client certificate key file |
| string value | The maximum major version of a given API, intended to be used as the upper bound of a range with min_version. Mutually exclusive with version. |
| string value | The minimum major version of a given API, intended to be used as the lower bound of a range with max_version. Mutually exclusive with version. If min_version is given with no max_version it is as if max version is "latest". |
| string value | User’s password |
| string value | Domain ID containing project |
| string value | Domain name containing project |
| string value | Project ID to scope to |
| string value | Project name to scope to |
| string value | The default region_name for endpoint URL discovery. |
| string value | The default service_name for endpoint URL discovery. |
| string value | The default service_type for endpoint URL discovery. |
| boolean value | Log requests to multiple loggers. |
| integer value | The maximum number of retries that should be attempted for retriable HTTP status codes. |
| floating point value | Delay (in seconds) between two retries for retriable status codes. If not set, exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is used. |
| string value | Scope for system operations |
| string value | Tenant ID |
| string value | Tenant Name |
| integer value | Timeout value for http requests |
| string value | Trust ID |
| string value | User’s domain id |
| string value | User’s domain name |
| string value | User id |
| string value | Username |
| list value | List of interfaces, in order of preference, for endpoint URL. |
| string value | Minimum Major API version within a given Major API version for endpoint URL discovery. Mutually exclusive with min_version and max_version |
5.1.41. snmp
The following table outlines the options available under the [snmp]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| integer value | Seconds to wait for power action to be completed |
| integer value | Time (in seconds) to sleep between when rebooting (powering off and on again) |
| integer value | Maximum number of UDP request retries, 0 means no retries. |
| floating point value | Response timeout in seconds used for UDP transport. Timeout should be a multiple of 0.5 seconds and is applicable to each retry. |
5.1.42. ssl
The following table outlines the options available under the [ssl]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| string value | CA certificate file to use to verify connecting clients. |
| string value | Certificate file to use when starting the server securely. |
| string value | Sets the list of available ciphers. value should be a string in the OpenSSL cipher list format. |
| string value | Private key file to use when starting the server securely. |
| string value | SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some distributions. |
5.1.43. swift
The following table outlines the options available under the [swift]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| string value | Authentication URL |
| string value | Authentication type to load |
| string value | PEM encoded Certificate Authority to use when verifying HTTPs connections. |
| string value | PEM encoded client certificate cert file |
| boolean value | Collect per-API call timing information. |
| integer value | The maximum number of retries that should be attempted for connection errors. |
| floating point value | Delay (in seconds) between two retries for connection errors. If not set, exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is used. |
| string value | Optional domain ID to use with v3 and v2 parameters. It will be used for both the user and project domain in v3 and ignored in v2 authentication. |
| string value | Optional domain name to use with v3 API and v2 parameters. It will be used for both the user and project domain in v3 and ignored in v2 authentication. |
| string value | Domain ID to scope to |
| string value | Domain name to scope to |
| string value |
Always use this endpoint URL for requests for this client. NOTE: The unversioned endpoint should be specified here; to request a particular API version, use the |
| boolean value | Verify HTTPS connections. |
| string value | PEM encoded client certificate key file |
| string value | The maximum major version of a given API, intended to be used as the upper bound of a range with min_version. Mutually exclusive with version. |
| string value | The minimum major version of a given API, intended to be used as the lower bound of a range with max_version. Mutually exclusive with version. If min_version is given with no max_version it is as if max version is "latest". |
| string value | User’s password |
| string value | Domain ID containing project |
| string value | Domain name containing project |
| string value | Project ID to scope to |
| string value | Project name to scope to |
| string value | The default region_name for endpoint URL discovery. |
| string value | The default service_name for endpoint URL discovery. |
| string value | The default service_type for endpoint URL discovery. |
| boolean value | Log requests to multiple loggers. |
| integer value | The maximum number of retries that should be attempted for retriable HTTP status codes. |
| floating point value | Delay (in seconds) between two retries for retriable status codes. If not set, exponential retry starting with 0.5 seconds up to a maximum of 60 seconds is used. |
| integer value | Maximum number of times to retry a Swift request, before failing. |
| string value | Scope for system operations |
| string value | Tenant ID |
| string value | Tenant Name |
| integer value | Timeout value for http requests |
| string value | Trust ID |
| string value | User’s domain id |
| string value | User’s domain name |
| string value | User id |
| string value | Username |
| list value | List of interfaces, in order of preference, for endpoint URL. |
| string value | Minimum Major API version within a given Major API version for endpoint URL discovery. Mutually exclusive with min_version and max_version |
5.1.44. xclarity
The following table outlines the options available under the [xclarity]
group in the /etc/ironic/ironic.conf
file.
Configuration option = Default value | Type | Description |
---|---|---|
| string value | IP address of the XClarity Controller. Configuration here is deprecated and will be removed in the Stein release. Please update the driver_info field to use "xclarity_manager_ip" instead |
| string value | Password for XClarity Controller username. Configuration here is deprecated and will be removed in the Stein release. Please update the driver_info field to use "xclarity_password" instead |
| port value | Port to be used for XClarity Controller connection. |
| string value | Username for the XClarity Controller. Configuration here is deprecated and will be removed in the Stein release. Please update the driver_info field to use "xclarity_username" instead |