ironic-neutron-agent - Configuration Options¶
The following is an overview of all available configuration options in networking-baremetal. For a sample configuration file, refer to Sample Configuration File.
DEFAULT¶
- debug¶
- Type:
boolean
- Default:
False- Mutable:
This option can be changed without restarting.
If set to true, the logging level will be set to DEBUG instead of the default INFO level.
- log_config_append¶
- Type:
string
- Default:
<None>- Mutable:
This option can be changed without restarting.
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).
Deprecated Variations¶ Group
Name
DEFAULT
log-config
DEFAULT
log_config
- log_date_format¶
- Type:
string
- Default:
%Y-%m-%d %H:%M:%S
Defines the format string for %(asctime)s in log records. Default: the value above . This option is ignored if log_config_append is set.
- log_file¶
- Type:
string
- Default:
<None>
(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.
Deprecated Variations¶ Group
Name
DEFAULT
logfile
- log_dir¶
- Type:
string
- Default:
<None>
(Optional) The base directory used for relative log_file paths. This option is ignored if log_config_append is set.
Deprecated Variations¶ Group
Name
DEFAULT
logdir
- use_syslog¶
- Type:
boolean
- Default:
False
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.
- use_journal¶
- Type:
boolean
- Default:
False
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.
- syslog_log_facility¶
- Type:
string
- Default:
LOG_USER
Syslog facility to receive log lines. This option is ignored if log_config_append is set.
- use_json¶
- Type:
boolean
- Default:
False
Use JSON formatting for logging. This option is ignored if log_config_append is set.
- use_stderr¶
- Type:
boolean
- Default:
False
Log output to standard error. This option is ignored if log_config_append is set.
- log_color¶
- Type:
boolean
- Default:
False
(Optional) Set the ‘color’ key according to log levels. This option takes effect only when logging to stderr or stdout is used. This option is ignored if log_config_append is set.
- log_rotate_interval¶
- Type:
integer
- Default:
1
The amount of time before the log files are rotated. This option is ignored unless log_rotation_type is set to “interval”.
- log_rotate_interval_type¶
- Type:
string
- Default:
days- Valid Values:
Seconds, Minutes, Hours, Days, Weekday, Midnight
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.
- max_logfile_count¶
- Type:
integer
- Default:
30
Maximum number of rotated log files.
- max_logfile_size_mb¶
- Type:
integer
- Default:
200
Log file maximum size in MB. This option is ignored if “log_rotation_type” is not set to “size”.
- log_rotation_type¶
- Type:
string
- Default:
none- Valid Values:
interval, size, none
Log rotation type.
Possible values
- interval
Rotate logs at predefined time intervals.
- size
Rotate logs once they reach a predefined size.
- none
Do not rotate log files.
- logging_context_format_string¶
- Type:
string
- Default:
%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(global_request_id)s %(request_id)s %(user_identity)s] %(instance)s%(message)s
Format string to use for log messages with context. Used by oslo_log.formatters.ContextFormatter
- logging_default_format_string¶
- Type:
string
- Default:
%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
Format string to use for log messages when context is undefined. Used by oslo_log.formatters.ContextFormatter
- logging_debug_format_suffix¶
- Type:
string
- Default:
%(funcName)s %(pathname)s:%(lineno)d
Additional data to append to log message when logging level for the message is DEBUG. Used by oslo_log.formatters.ContextFormatter
- logging_exception_prefix¶
- Type:
string
- Default:
%(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
Prefix each line of exception output with this format. Used by oslo_log.formatters.ContextFormatter
- logging_user_identity_format¶
- Type:
string
- Default:
%(user)s %(project)s %(domain)s %(system_scope)s %(user_domain)s %(project_domain)s
Defines the format string for %(user_identity)s that is used in logging_context_format_string. Used by oslo_log.formatters.ContextFormatter
- default_log_levels¶
- Type:
list
- Default:
['amqp=WARN', 'boto=WARN', 'sqlalchemy=WARN', 'suds=INFO', 'oslo.messaging=INFO', 'oslo_messaging=INFO', 'iso8601=WARN', 'requests.packages.urllib3.connectionpool=WARN', 'urllib3.connectionpool=WARN', 'websocket=WARN', 'requests.packages.urllib3.util.retry=WARN', 'urllib3.util.retry=WARN', 'keystonemiddleware=WARN', 'routes.middleware=WARN', 'stevedore=WARN', 'taskflow=WARN', 'keystoneauth=WARN', 'oslo.cache=INFO', 'oslo_policy=INFO', 'dogpile.core.dogpile=INFO']
List of package logging levels in logger=LEVEL pairs. This option is ignored if log_config_append is set.
- publish_errors¶
- Type:
boolean
- Default:
False
Enables or disables publication of error events.
- instance_format¶
- Type:
string
- Default:
"[instance: %(uuid)s] "
The format for an instance that is passed with the log message.
- instance_uuid_format¶
- Type:
string
- Default:
"[instance: %(uuid)s] "
The format for an instance UUID that is passed with the log message.
- rate_limit_interval¶
- Type:
integer
- Default:
0
Interval, number of seconds, of log rate limiting.
- rate_limit_burst¶
- Type:
integer
- Default:
0
Maximum number of logged messages per rate_limit_interval.
- rate_limit_except_level¶
- Type:
string
- Default:
CRITICAL- Valid Values:
CRITICAL, ERROR, INFO, WARNING, DEBUG, ‘’
Log level name used by rate limiting. Logs with level greater or equal to rate_limit_except_level are not filtered. An empty string means that all levels are filtered.
- fatal_deprecations¶
- Type:
boolean
- Default:
False
Enables or disables fatal status of deprecations.
agent¶
- report_interval¶
- Type:
floating point
- Default:
30
Seconds between nodes reporting state to server; should be less than agent_down_time, best if it is half or less than agent_down_time.
- log_agent_heartbeats¶
- Type:
boolean
- Default:
False
Log agent heartbeats
baremetal_agent¶
- enable_ha_chassis_group_alignment¶
- Type:
boolean
- Default:
True
Enable HA chassis group alignment reconciliation for router ports on networks with baremetal external ports. This fixes Launchpad bug #1995078 where mismatched HA chassis group priorities between router gateway ports and baremetal external ports cause intermittent connectivity issues. When enabled, the agent ensures router ports use the same ha_chassis_group as baremetal external ports on the same network.
- ha_chassis_group_alignment_interval¶
- Type:
integer
- Default:
600- Minimum Value:
60
Interval in seconds between HA chassis group alignment reconciliation runs. This controls how frequently the agent checks for and fixes mismatched HA chassis groups. Default is 600 seconds (10 minutes). Minimum is 60 seconds to avoid excessive API load.
- limit_ha_chassis_group_alignment_to_recent_changes_only¶
- Type:
boolean
- Default:
True
When enabled, HA chassis group alignment only checks resources created or updated within the time window specified by ha_chassis_group_alignment_window. This reduces reconciliation overhead by focusing on recently created resources that may have mismatched HA chassis groups. When disabled, performs full reconciliation of all resources on each run, which is more thorough but has higher API and database load.
- ha_chassis_group_alignment_window¶
- Type:
integer
- Default:
1200- Minimum Value:
0
Time window in seconds for checking recent resources when limit_ha_chassis_group_alignment_to_recent_changes_only is enabled. Default is 1200 seconds (20 minutes), which is 2x the default alignment interval. Resources created or updated within this window will be checked for HA chassis group alignment. Setting to 0 effectively disables windowing even if the limit flag is enabled.
- enable_router_ha_binding¶
- Type:
boolean
- Default:
True
Enable router HA binding for router interface ports on networks with baremetal nodes. When enabled, the agent automatically binds router interface ports to the same HA chassis group as the network’s external ports, enabling proper ARP resolution and connectivity between baremetal nodes and their router gateway on VLAN networks. This fixes Launchpad bug #2144458 where baremetal nodes experience persistent connectivity failures to their router gateway. Uses both event-driven binding (for immediate response) and periodic reconciliation (for edge cases).
- enable_router_ha_binding_events¶
- Type:
boolean
- Default:
True
Enable event-driven router HA binding. When enabled, the agent responds immediately to HA chassis group creation events by binding router interface ports on the affected network. This provides instant connectivity when networks are created. Requires enable_router_ha_binding to be enabled. If disabled, only periodic reconciliation will be used, which may result in connectivity delays until the next reconciliation cycle.
- router_ha_binding_interval¶
- Type:
integer
- Default:
600- Minimum Value:
60
Interval in seconds for periodic router HA binding reconciliation. This ensures router interface ports are bound to network HA chassis groups even if events are missed or routers are added after the fact. Default is 600 seconds (10 minutes). Minimum is 60 seconds.
- router_ha_binding_startup_jitter_max¶
- Type:
integer
- Default:
60- Minimum Value:
0
Maximum random delay in seconds to add to initial reconciliation start time. This prevents thundering herd issues when multiple agents restart simultaneously (e.g., post-upgrade). A value of 60 means each agent will start reconciliation within 0-60 seconds of startup. Matches l2vni_startup_jitter_max for consistency.
ironic¶
- auth_strategy¶
- Type:
string
- Default:
keystone- Valid Values:
keystone, noauth
Method to use for authentication: noauth or keystone.
Warning
This option is deprecated for removal. Its value may be silently ignored in the future.
- Reason:
This option is no longer used, please use the [ironic]/auth_type option instead.
- service_type¶
- Type:
string
- Default:
<None>
The default service_type for endpoint URL discovery.
- service_name¶
- Type:
string
- Default:
<None>
The default service_name for endpoint URL discovery.
- valid_interfaces¶
- Type:
list
- Default:
<None>
List of interfaces, in order of preference, for endpoint URL.
- region_name¶
- Type:
string
- Default:
<None>
The default region_name for endpoint URL discovery.
Deprecated Variations¶ Group
Name
ironic
os_region
- endpoint_override¶
- Type:
string
- Default:
<None>
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 version, min-version, and/or max-version options.
Deprecated Variations¶ Group
Name
ironic
ironic_url
- version¶
- Type:
string
- Default:
<None>
Minimum Major API version within a given Major API version for endpoint URL discovery. Mutually exclusive with min_version and max_version
- min_version¶
- Type:
string
- Default:
<None>
The minimum major version of a given API, intended to be used as the lower bound of a range with max_version. Mutually exclusive with version. If min_version is given with no max_version it is as if max version is “latest”.
- max_version¶
- Type:
string
- Default:
<None>
The maximum major version of a given API, intended to be used as the upper bound of a range with min_version. Mutually exclusive with version.
- connect_retries¶
- Type:
integer
- Default:
<None>
The maximum number of retries that should be attempted for connection errors.
- connect_retry_delay¶
- Type:
floating point
- Default:
<None>
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.
- status_code_retries¶
- Type:
integer
- Default:
<None>
The maximum number of retries that should be attempted for retriable HTTP status codes.
Deprecated Variations¶ Group
Name
ironic
max_retries
- status_code_retry_delay¶
- Type:
floating point
- Default:
<None>
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.
Deprecated Variations¶ Group
Name
ironic
retry_interval
- retriable_status_codes¶
- Type:
list
- Default:
<None>
List of retriable HTTP status codes that should be retried. If not set default to [503]
- interface¶
- Type:
string
- Default:
<None>
The default interface for endpoint URL discovery.
Warning
This option is deprecated for removal. Its value may be silently ignored in the future.
- Reason:
Using valid-interfaces is preferrable because it is capable of accepting a list of possible interfaces.
- cafile¶
- Type:
string
- Default:
<None>
PEM encoded Certificate Authority to use when verifying HTTPs connections.
- certfile¶
- Type:
string
- Default:
<None>
PEM encoded client certificate cert file
- keyfile¶
- Type:
string
- Default:
<None>
PEM encoded client certificate key file
- insecure¶
- Type:
boolean
- Default:
False
Verify HTTPS connections.
- timeout¶
- Type:
integer
- Default:
<None>
Timeout value for http requests
- collect_timing¶
- Type:
boolean
- Default:
False
Collect per-API call timing information.
- split_loggers¶
- Type:
boolean
- Default:
False
Log requests to multiple loggers.
- auth_url¶
- Type:
unknown type
- Default:
<None>
Authentication URL
- system_scope¶
- Type:
unknown type
- Default:
<None>
Scope for system operations
- domain_id¶
- Type:
unknown type
- Default:
<None>
Domain ID to scope to
- domain_name¶
- Type:
unknown type
- Default:
<None>
Domain name to scope to
- project_id¶
- Type:
unknown type
- Default:
<None>
Project ID to scope to
- project_name¶
- Type:
unknown type
- Default:
<None>
Project name to scope to
- project_domain_id¶
- Type:
unknown type
- Default:
<None>
Domain ID containing project
- project_domain_name¶
- Type:
unknown type
- Default:
<None>
Domain name containing project
- trust_id¶
- Type:
unknown type
- Default:
<None>
ID of the trust to use as a trustee use
- user_id¶
- Type:
unknown type
- Default:
<None>
User’s user ID
- username¶
- Type:
unknown type
- Default:
<None>
User’s username
Deprecated Variations¶ Group
Name
ironic
user-name
ironic
user_name
- user_domain_id¶
- Type:
unknown type
- Default:
<None>
User’s domain ID
- user_domain_name¶
- Type:
unknown type
- Default:
<None>
User’s domain name
- password¶
- Type:
unknown type
- Default:
<None>
User’s password
l2vni¶
- enable_l2vni_trunk_reconciliation¶
- Type:
boolean
- Default:
True
Enable L2VNI trunk port reconciliation based on OVN ha_chassis_group membership. When enabled, the agent will automatically manage trunk subports for network nodes to ensure only required VLANs are trunked to each chassis. This feature creates anchor ports and trunk configurations to bridge overlay networks to physical network infrastructure.
- l2vni_reconciliation_interval¶
- Type:
integer
- Default:
180- Minimum Value:
30
Interval in seconds between L2VNI trunk reconciliation runs. Default is 180 seconds (3 minutes).
- l2vni_network_nodes_config¶
- Type:
string
- Default:
/etc/neutron/l2vni_network_nodes.yaml
Path to YAML file containing network node trunk port configuration. Used as fallback when trunk configuration is not available from OVN LLDP data or Ironic. The file should define system_id or hostname, physical_network, and local_link_information for each network node. Network nodes can be identified by either system_id (OVN chassis UUID) or hostname (OVN chassis hostname) for easier configuration.
- l2vni_auto_create_networks¶
- Type:
boolean
- Default:
True
Automatically create Neutron networks for ha_chassis_groups and subport anchors if they do not exist. These networks are used for metadata and modeling, not for passing traffic. If disabled, networks must be pre-created with names matching the expected patterns.
- l2vni_subport_anchor_network¶
- Type:
string
- Default:
l2vni-subport-anchor
Name of the shared network used for all trunk subports. This network is used to signal VLAN bindings to ML2 switch plugins and does not pass actual traffic. Will be auto-created if l2vni_auto_create_networks is enabled.
- l2vni_subport_anchor_network_type¶
- Type:
string
- Default:
geneve- Valid Values:
geneve, vxlan
Network type to use for L2VNI anchor networks (both subport anchor and ha_chassis_group networks). These networks are used for metadata and modeling only, not for passing traffic. Must match the overlay network type configured in your environment. If the specified type is not available, network creation will fail with an error rather than falling back to an alternative type.
- l2vni_startup_jitter_max¶
- Type:
integer
- Default:
60- Minimum Value:
0
Maximum random delay in seconds to add to initial reconciliation start time. This prevents thundering herd issues when multiple agents restart simultaneously (e.g., post-upgrade). A value of 60 means each agent will start reconciliation within 0-60 seconds of startup.
- enable_l2vni_trunk_reconciliation_events¶
- Type:
boolean
- Default:
True
Enable event-driven L2VNI trunk reconciliation. When enabled, the agent watches OVN Northbound database for localnet port creation and deletion events and triggers immediate reconciliation. This eliminates the stale IDL cache issue and provides sub-second reconciliation latency. Periodic reconciliation still runs as a safety net. Requires enable_l2vni_trunk_reconciliation to be enabled. If disabled, only periodic reconciliation will be used.
- ovn_nb_connection¶
- Type:
list
- Default:
<None>
OVN Northbound database connection string(s). For HA deployments, specify multiple comma-separated connection strings. Used to query ha_chassis_groups, logical switches, and router ports for L2VNI trunk reconciliation. If not specified, reads from [ovn] ovn_nb_connection (shared with Neutron ML2). Defaults to tcp:127.0.0.1:6641 if neither is configured.
- ovn_sb_connection¶
- Type:
list
- Default:
<None>
OVN Southbound database connection string(s). For HA deployments, specify multiple comma-separated connection strings. Used to query chassis information and LLDP data for L2VNI trunk reconciliation. If not specified, reads from [ovn] ovn_sb_connection (shared with Neutron ML2). Defaults to tcp:127.0.0.1:6642 if neither is configured.
- ovn_ovsdb_timeout¶
- Type:
integer
- Default:
<None>
Timeout in seconds for OVN OVSDB connections. If not specified, reads from [ovn] ovsdb_connection_timeout (shared with Neutron ML2). Defaults to 180 if neither is configured.
- ironic_cache_ttl¶
- Type:
integer
- Default:
3600- Minimum Value:
300
Time-to-live in seconds for cached Ironic node and port data. Each system_id entry is cached independently and expires after this duration from when it was fetched. This avoids thundering herd issues when multiple agents are running. A small amount of jitter (10-20%) is automatically added to spread cache refresh times. Default is 3600 seconds (1 hour). Minimum is 300 seconds (5 minutes) to avoid excessive API load.
- ironic_conductor_group¶
- Type:
string
- Default:
<None>
Ironic conductor group to filter nodes when querying for local_link_information data. This allows the agent to only query nodes managed by a specific conductor group, reducing API load in large deployments. If not specified, all nodes are queried.
- ironic_shard¶
- Type:
string
- Default:
<None>
Ironic shard to filter nodes when querying for local_link_information data. This allows the agent to only query nodes in a specific shard, reducing API load in large sharded deployments. If not specified, all nodes are queried.
neutron¶
- service_type¶
- Type:
string
- Default:
<None>
The default service_type for endpoint URL discovery.
- service_name¶
- Type:
string
- Default:
<None>
The default service_name for endpoint URL discovery.
- valid_interfaces¶
- Type:
list
- Default:
<None>
List of interfaces, in order of preference, for endpoint URL.
- region_name¶
- Type:
string
- Default:
<None>
The default region_name for endpoint URL discovery.
- endpoint_override¶
- Type:
string
- Default:
<None>
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 version, min-version, and/or max-version options.
- version¶
- Type:
string
- Default:
<None>
Minimum Major API version within a given Major API version for endpoint URL discovery. Mutually exclusive with min_version and max_version
- min_version¶
- Type:
string
- Default:
<None>
The minimum major version of a given API, intended to be used as the lower bound of a range with max_version. Mutually exclusive with version. If min_version is given with no max_version it is as if max version is “latest”.
- max_version¶
- Type:
string
- Default:
<None>
The maximum major version of a given API, intended to be used as the upper bound of a range with min_version. Mutually exclusive with version.
- connect_retries¶
- Type:
integer
- Default:
<None>
The maximum number of retries that should be attempted for connection errors.
- connect_retry_delay¶
- Type:
floating point
- Default:
<None>
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.
- status_code_retries¶
- Type:
integer
- Default:
<None>
The maximum number of retries that should be attempted for retriable HTTP status codes.
- status_code_retry_delay¶
- Type:
floating point
- Default:
<None>
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.
- retriable_status_codes¶
- Type:
list
- Default:
<None>
List of retriable HTTP status codes that should be retried. If not set default to [503]
- interface¶
- Type:
string
- Default:
<None>
The default interface for endpoint URL discovery.
Warning
This option is deprecated for removal. Its value may be silently ignored in the future.
- Reason:
Using valid-interfaces is preferrable because it is capable of accepting a list of possible interfaces.
- cafile¶
- Type:
string
- Default:
<None>
PEM encoded Certificate Authority to use when verifying HTTPs connections.
- certfile¶
- Type:
string
- Default:
<None>
PEM encoded client certificate cert file
- keyfile¶
- Type:
string
- Default:
<None>
PEM encoded client certificate key file
- insecure¶
- Type:
boolean
- Default:
False
Verify HTTPS connections.
- timeout¶
- Type:
integer
- Default:
<None>
Timeout value for http requests
- collect_timing¶
- Type:
boolean
- Default:
False
Collect per-API call timing information.
- split_loggers¶
- Type:
boolean
- Default:
False
Log requests to multiple loggers.
- auth_url¶
- Type:
unknown type
- Default:
<None>
Authentication URL
- system_scope¶
- Type:
unknown type
- Default:
<None>
Scope for system operations
- domain_id¶
- Type:
unknown type
- Default:
<None>
Domain ID to scope to
- domain_name¶
- Type:
unknown type
- Default:
<None>
Domain name to scope to
- project_id¶
- Type:
unknown type
- Default:
<None>
Project ID to scope to
- project_name¶
- Type:
unknown type
- Default:
<None>
Project name to scope to
- project_domain_id¶
- Type:
unknown type
- Default:
<None>
Domain ID containing project
- project_domain_name¶
- Type:
unknown type
- Default:
<None>
Domain name containing project
- trust_id¶
- Type:
unknown type
- Default:
<None>
ID of the trust to use as a trustee use
- user_id¶
- Type:
unknown type
- Default:
<None>
User’s user ID
- username¶
- Type:
unknown type
- Default:
<None>
User’s username
Deprecated Variations¶ Group
Name
neutron
user-name
neutron
user_name
- user_domain_id¶
- Type:
unknown type
- Default:
<None>
User’s domain ID
- user_domain_name¶
- Type:
unknown type
- Default:
<None>
User’s domain name
- password¶
- Type:
unknown type
- Default:
<None>
User’s password