Ce contenu n'est pas disponible dans la langue sélectionnée.
Configuration Reference
Configuring Red Hat OpenStack Platform environments
Abstract
Chapter 1. Bare metal Copier lienLien copié sur presse-papiers!
/etc/ironic/ironic.conf.
| Configuration option = Default value | Description |
|---|---|
| [agent] | |
agent_api_version = v1
|
(StrOpt) API version to use for communicating with the ramdisk agent. |
agent_erase_devices_priority = None
|
(IntOpt) 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. |
agent_pxe_append_params = nofb nomodeset vga=normal
|
(StrOpt) Additional append parameters for baremetal PXE boot. |
agent_pxe_bootfile_name = pxelinux.0
|
(StrOpt) Neutron bootfile DHCP parameter. |
agent_pxe_config_template = $pybasedir/drivers/modules/agent_config.template
|
(StrOpt) Template file for PXE configuration. |
heartbeat_timeout = 300
|
(IntOpt) Maximum interval (in seconds) for agent heartbeats. |
manage_tftp = True
|
(BoolOpt) Whether Ironic will manage TFTP files for the deploy ramdisks. If set to False, you will need to configure your own TFTP server that allows booting the deploy ramdisks. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
control_exchange = openstack
|
(StrOpt) The default exchange under which topics are scoped. May be overridden by an exchange name specified in the transport_url option. |
notification_driver = []
|
(MultiStrOpt) Driver or drivers to handle sending notifications. |
notification_topics = notifications
|
(ListOpt) AMQP topic used for OpenStack notifications. |
transport_url = None
|
(StrOpt) A URL representing the messaging driver to use and its full configuration. If not set, we fall back to the rpc_backend option and driver specific configuration. |
| Configuration option = Default value | Description |
|---|---|
| [amt] | |
action_wait = 10
|
(IntOpt) Amount of time (in seconds) to wait, before retrying an AMT operation |
max_attempts = 3
|
(IntOpt) Maximum number of times to attempt an AMT operation, before failing |
protocol = http
|
(StrOpt) Protocol used for AMT endpoint, support http/https |
| Configuration option = Default value | Description |
|---|---|
| [api] | |
host_ip = 0.0.0.0
|
(StrOpt) The listen IP for the Ironic API server. |
max_limit = 1000
|
(IntOpt) The maximum number of items returned in a single response from a collection resource. |
port = 6385
|
(IntOpt) The port for the Ironic API server. |
| Configuration option = Default value | Description |
|---|---|
| [keystone_authtoken] | |
admin_password = None
|
(StrOpt) Service user password. |
admin_tenant_name = admin
|
(StrOpt) Service tenant name. |
admin_token = None
|
(StrOpt) This option is deprecated and may be removed in a future release. Single shared secret with the Keystone configuration used for bootstrapping a Keystone installation, or otherwise bypassing the normal authentication process. This option should not be used, use `admin_user` and `admin_password` instead. |
admin_user = None
|
(StrOpt) Service username. |
auth_admin_prefix =
|
(StrOpt) Prefix to prepend at the beginning of the path. Deprecated, use identity_uri. |
auth_host = 127.0.0.1
|
(StrOpt) Host providing the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_plugin = None
|
(StrOpt) Name of the plugin to load |
auth_port = 35357
|
(IntOpt) Port of the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_protocol = https
|
(StrOpt) Protocol of the admin Identity API endpoint (http or https). Deprecated, use identity_uri. |
auth_section = None
|
(StrOpt) Config Section from which to load plugin specific options |
auth_uri = None
|
(StrOpt) Complete public Identity API endpoint. |
auth_version = None
|
(StrOpt) API version of the admin Identity API endpoint. |
cache = None
|
(StrOpt) Env key for the swift cache. |
cafile = None
|
(StrOpt) A PEM encoded Certificate Authority to use when verifying HTTPs connections. Defaults to system CAs. |
certfile = None
|
(StrOpt) Required if identity server requires client certificate |
check_revocations_for_cached = False
|
(BoolOpt) If true, the revocation list will be checked for cached tokens. This requires that PKI tokens are configured on the identity server. |
delay_auth_decision = False
|
(BoolOpt) Do not handle authorization requests within the middleware, but delegate the authorization decision to downstream WSGI components. |
enforce_token_bind = permissive
|
(StrOpt) 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. |
hash_algorithms = md5
|
(ListOpt) Hash algorithms to use for hashing PKI tokens. This may be a single algorithm or multiple. The algorithms are those supported by Python standard hashlib.new(). The hashes will be tried in the order given, so put the preferred one first for performance. The result of the first hash will be stored in the cache. This will typically be set to multiple values only while migrating from a less secure algorithm to a more secure one. Once all the old tokens are expired this option should be set to a single value for better performance. |
http_connect_timeout = None
|
(IntOpt) Request timeout value for communicating with Identity API server. |
http_request_max_retries = 3
|
(IntOpt) How many times are we trying to reconnect when communicating with Identity API Server. |
identity_uri = None
|
(StrOpt) Complete admin Identity API endpoint. This should specify the unversioned root endpoint e.g. https://localhost:35357/ |
include_service_catalog = True
|
(BoolOpt) (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. |
insecure = False
|
(BoolOpt) Verify HTTPS connections. |
keyfile = None
|
(StrOpt) Required if identity server requires client certificate |
memcache_pool_conn_get_timeout = 10
|
(IntOpt) (Optional) Number of seconds that an operation will wait to get a memcache client connection from the pool. |
memcache_pool_dead_retry = 300
|
(IntOpt) (Optional) Number of seconds memcached server is considered dead before it is tried again. |
memcache_pool_maxsize = 10
|
(IntOpt) (Optional) Maximum total number of open connections to every memcached server. |
memcache_pool_socket_timeout = 3
|
(IntOpt) (Optional) Socket timeout in seconds for communicating with a memcache server. |
memcache_pool_unused_timeout = 60
|
(IntOpt) (Optional) Number of seconds a connection to memcached is held unused in the pool before it is closed. |
memcache_secret_key = None
|
(StrOpt) (Optional, mandatory if memcache_security_strategy is defined) This string is used for key derivation. |
memcache_security_strategy = None
|
(StrOpt) (Optional) If defined, indicate whether token data should be authenticated or authenticated and encrypted. Acceptable values are MAC or ENCRYPT. 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. |
memcache_use_advanced_pool = False
|
(BoolOpt) (Optional) Use the advanced (eventlet safe) memcache client pool. The advanced pool will only work under python 2.x. |
memcached_servers = None
|
(ListOpt) Optionally specify a list of memcached server(s) to use for caching. If left undefined, tokens will instead be cached in-process. |
revocation_cache_time = 10
|
(IntOpt) Determines the frequency at which the list of revoked tokens is retrieved from the Identity service (in seconds). A high number of revocation events combined with a low cache duration may significantly reduce performance. |
signing_dir = None
|
(StrOpt) Directory used to cache files related to PKI tokens. |
token_cache_time = 300
|
(IntOpt) 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. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
auth_strategy = keystone
|
(StrOpt) Method to use for authentication: noauth or keystone. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
bindir = /usr/local/bin
|
(StrOpt) Directory where ironic binaries are installed. |
enabled_drivers = pxe_ipmitool
|
(ListOpt) Specify the list of drivers to load during service initialization. Missing drivers, or drivers which fail to initialize, will prevent the conductor service from starting. The option default is a recommended set of production-oriented drivers. A complete list of drivers present on your system may be found by enumerating the "ironic.drivers" entrypoint. An example may be found in the developer documentation online. |
fatal_deprecations = False
|
(BoolOpt) Enables or disables fatal status of deprecations. |
force_raw_images = True
|
(BoolOpt) Force backing images to raw format. |
grub_config_template = $pybasedir/common/grub_conf.template
|
(StrOpt) Template file for grub configuration file. |
hash_distribution_replicas = 1
|
(IntOpt) [Experimental Feature] Number of hosts to map onto each hash partition. Setting this to more than one will cause additional conductor services to prepare deployment environments and potentially allow the Ironic cluster to recover more quickly if a conductor instance is terminated. |
hash_partition_exponent = 5
|
(IntOpt) 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. Too many partitions has a CPU impact. |
host = sd-52009.dedibox.fr
|
(StrOpt) 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. |
isolinux_bin = /usr/lib/syslinux/isolinux.bin
|
(StrOpt) Path to isolinux binary file. |
isolinux_config_template = $pybasedir/common/isolinux_config.template
|
(StrOpt) Template file for isolinux configuration file. |
memcached_servers = None
|
(ListOpt) Memcached servers or None for in process cache. |
my_ip = 10.0.0.1
|
(StrOpt) IP address of this host. |
parallel_image_downloads = False
|
(BoolOpt) Run image downloads and raw format conversions in parallel. |
periodic_interval = 60
|
(IntOpt) Seconds between running periodic tasks. |
pybasedir = /usr/lib/python/site-packages/ironic/ironic
|
(StrOpt) Directory where the ironic python module is installed. |
rootwrap_config = /etc/ironic/rootwrap.conf
|
(StrOpt) Path to the rootwrap configuration file to use for running commands as root. |
run_external_periodic_tasks = True
|
(BoolOpt) Some periodic tasks can be run in a separate process. Should we run them here? |
state_path = $pybasedir
|
(StrOpt) Top-level directory for maintaining ironic's state. |
tempdir = None
|
(StrOpt) Explicitly specify the temporary working directory. |
| Configuration option = Default value | Description |
|---|---|
| [conductor] | |
api_url = None
|
(StrOpt) URL of Ironic API service. If not set ironic can get the current value from the keystone service catalog. |
check_provision_state_interval = 60
|
(IntOpt) Interval between checks of provision timeouts, in seconds. |
clean_nodes = True
|
(BoolOpt) 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, and during the transition from a "managed" 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. |
configdrive_swift_container = ironic_configdrive_container
|
(StrOpt) Name of the Swift container to store config drive data. Used when configdrive_use_swift is True. |
configdrive_use_swift = False
|
(BoolOpt) Whether to upload the config drive to Swift. |
deploy_callback_timeout = 1800
|
(IntOpt) Timeout (seconds) for waiting callback from deploy ramdisk. 0 - unlimited. |
force_power_state_during_sync = True
|
(BoolOpt) 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). |
heartbeat_interval = 10
|
(IntOpt) Seconds between conductor heart beats. |
heartbeat_timeout = 60
|
(IntOpt) Maximum time (in seconds) since the last check-in of a conductor. |
inspect_timeout = 1800
|
(IntOpt) Timeout (seconds) for waiting for node inspection. 0 - unlimited. |
node_locked_retry_attempts = 3
|
(IntOpt) Number of attempts to grab a node lock. |
node_locked_retry_interval = 1
|
(IntOpt) Seconds to sleep between node lock attempts. |
periodic_max_workers = 8
|
(IntOpt) Maximum number of worker threads that can be started simultaneously by a periodic task. Should be less than RPC thread pool size. |
power_state_sync_max_retries = 3
|
(IntOpt) 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 |
send_sensor_data = False
|
(BoolOpt) Enable sending sensor data message via the notification bus |
send_sensor_data_interval = 600
|
(IntOpt) Seconds between conductor sending sensor data message to ceilometer via the notification bus. |
send_sensor_data_types = ALL
|
(ListOpt) List of comma separated metric types which need to be sent to Ceilometer. The default value, "ALL", is a special value meaning send all the sensor data. |
sync_local_state_interval = 180
|
(IntOpt) 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 a negative value to disable the check entirely. |
sync_power_state_interval = 60
|
(IntOpt) Interval between syncing the node power state to the database, in seconds. |
workers_pool_size = 100
|
(IntOpt) The size of the workers greenthread pool. |
| Configuration option = Default value | Description |
|---|---|
| [console] | |
subprocess_checking_interval = 1
|
(IntOpt) Time interval (in seconds) for checking the status of console subprocess. |
subprocess_timeout = 10
|
(IntOpt) Time (in seconds) to wait for the console subprocess to start. |
terminal = shellinaboxd
|
(StrOpt) Path to serial console terminal program |
terminal_cert_dir = None
|
(StrOpt) Directory containing the terminal SSL cert(PEM) for serial console access |
terminal_pid_dir = None
|
(StrOpt) Directory for holding terminal pid files. If not specified, the temporary directory will be used. |
| Configuration option = Default value | Description |
|---|---|
| [database] | |
backend = sqlalchemy
|
(StrOpt) The back end to use for the database. |
connection = None
|
(StrOpt) The SQLAlchemy connection string to use to connect to the database. |
connection_debug = 0
|
(IntOpt) Verbosity of SQL debugging information: 0=None, 100=Everything. |
connection_trace = False
|
(BoolOpt) Add Python stack traces to SQL as comment strings. |
db_inc_retry_interval = True
|
(BoolOpt) If True, increases the interval between retries of a database operation up to db_max_retry_interval. |
db_max_retries = 20
|
(IntOpt) Maximum retries in case of connection error or deadlock error before error is raised. Set to -1 to specify an infinite retry count. |
db_max_retry_interval = 10
|
(IntOpt) If db_inc_retry_interval is set, the maximum seconds between retries of a database operation. |
db_retry_interval = 1
|
(IntOpt) Seconds between retries of a database transaction. |
idle_timeout = 3600
|
(IntOpt) Timeout before idle SQL connections are reaped. |
max_overflow = None
|
(IntOpt) If set, use this value for max_overflow with SQLAlchemy. |
max_pool_size = None
|
(IntOpt) Maximum number of SQL connections to keep open in a pool. |
max_retries = 10
|
(IntOpt) Maximum number of database connection retries during startup. Set to -1 to specify an infinite retry count. |
min_pool_size = 1
|
(IntOpt) Minimum number of SQL connections to keep open in a pool. |
mysql_engine = InnoDB
|
(StrOpt) MySQL engine to use. |
mysql_sql_mode = TRADITIONAL
|
(StrOpt) 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= |
pool_timeout = None
|
(IntOpt) If set, use this value for pool_timeout with SQLAlchemy. |
retry_interval = 10
|
(IntOpt) Interval between retries of opening a SQL connection. |
slave_connection = None
|
(StrOpt) The SQLAlchemy connection string to use to connect to the slave database. |
sqlite_db = oslo.sqlite
|
(StrOpt) The file name to use with SQLite. |
sqlite_synchronous = True
|
(BoolOpt) If True, SQLite uses synchronous mode. |
use_db_reconnect = False
|
(BoolOpt) Enable the experimental use of database reconnect on connection lost. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
backdoor_port = None
|
(StrOpt) 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. |
pecan_debug = False
|
(BoolOpt) Enable pecan debug mode. WARNING: this is insecure and should not be used in production. |
| Configuration option = Default value | Description |
|---|---|
| [deploy] | |
dd_block_size = 1M
|
(StrOpt) Block size to use when writing to the nodes disk. |
efi_system_partition_size = 200
|
(IntOpt) Size of EFI system partition in MiB when configuring UEFI systems for local boot. |
iscsi_verify_attempts = 3
|
(IntOpt) Maximum attempts to verify an iSCSI connection is active, sleeping 1 second between attempts. |
| Configuration option = Default value | Description |
|---|---|
| [dhcp] | |
dhcp_provider = neutron
|
(StrOpt) DHCP provider to use. "neutron" uses Neutron, and "none" uses a no-op provider. |
| Configuration option = Default value | Description |
|---|---|
| [discoverd] | |
enabled = False
|
(BoolOpt) whether to enable inspection using ironic-discoverd |
service_url = None
|
(StrOpt) ironic-discoverd HTTP endpoint. If this is not set, the ironic-discoverd client default (http://127.0.0.1:5050) will be used. |
status_check_period = 60
|
(IntOpt) period (in seconds) to check status of nodes on inspection |
| Configuration option = Default value | Description |
|---|---|
| [disk_partitioner] | |
check_device_interval = 1
|
(IntOpt) 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 |
check_device_max_retries = 20
|
(IntOpt) 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. |
| Configuration option = Default value | Description |
|---|---|
| [glance] | |
allowed_direct_url_schemes =
|
(ListOpt) A list of URL schemes that can be downloaded directly via the direct_url. Currently supported schemes: [file]. |
auth_strategy = keystone
|
(StrOpt) Authentication strategy to use when connecting to glance. Only "keystone" and "noauth" are currently supported by ironic. |
glance_api_insecure = False
|
(BoolOpt) Allow to perform insecure SSL (https) requests to glance. |
glance_api_servers = None
|
(ListOpt) A list of the glance api servers available to ironic. Prefix with https:// for SSL-based glance API servers. Format is [hostname|IP]:port. |
glance_host = $my_ip
|
(StrOpt) Default glance hostname or IP address. |
glance_num_retries = 0
|
(IntOpt) Number of retries when downloading an image from glance. |
glance_port = 9292
|
(IntOpt) Default glance port. |
glance_protocol = http
|
(StrOpt) Default protocol to use when connecting to glance. Set to https for SSL. |
swift_account = None
|
(StrOpt) 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. Required for temporary URLs. For example: "AUTH_a422b2-91f3-2f46-74b7-d7c9e8958f5d30". Swift temporary URL format: "endpoint_url/api_version/account/container/object_id" |
swift_api_version = v1
|
(StrOpt) 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" |
swift_container = glance
|
(StrOpt) 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" |
swift_endpoint_url = None
|
(StrOpt) 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". Required for temporary URLs. |
swift_store_multiple_containers_seed = 0
|
(IntOpt) 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. |
swift_temp_url_duration = 1200
|
(IntOpt) 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. |
swift_temp_url_key = None
|
(StrOpt) The secret token given to Swift to allow temporary URL downloads. Required for temporary URLs. |
| Configuration option = Default value | Description |
|---|---|
| [ilo] | |
clean_priority_clear_secure_boot_keys = 0
|
(IntOpt) Priority for clear_secure_boot_keys clean step. This step is not enabled by default. It can be enabled to to clear all secure boot keys enrolled with iLO. |
clean_priority_erase_devices = None
|
(IntOpt) Priority for erase devices clean step. If unset, it defaults to 10. If set to 0, the step will be disabled and will not run during cleaning. |
clean_priority_reset_bios_to_default = 10
|
(IntOpt) Priority for reset_bios_to_default clean step. |
clean_priority_reset_ilo = 1
|
(IntOpt) Priority for reset_ilo clean step. |
clean_priority_reset_ilo_credential = 30
|
(IntOpt) 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. |
clean_priority_reset_secure_boot_keys_to_default = 20
|
(IntOpt) Priority for reset_secure_boot_keys clean step. This step will reset the secure boot keys to manufacturing defaults. |
client_port = 443
|
(IntOpt) Port to be used for iLO operations |
client_timeout = 60
|
(IntOpt) Timeout (in seconds) for iLO operations |
power_retry = 6
|
(IntOpt) Number of times a power operation needs to be retried |
power_wait = 2
|
(IntOpt) Amount of time in seconds to wait in between power operations |
swift_ilo_container = ironic_ilo_container
|
(StrOpt) The Swift iLO container to store data. |
swift_object_expiry_timeout = 900
|
(IntOpt) Amount of time in seconds for Swift objects to auto-expire. |
| Configuration option = Default value | Description |
|---|---|
| [ipmi] | |
min_command_interval = 5
|
(IntOpt) 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. |
retry_timeout = 60
|
(IntOpt) Maximum time in seconds to retry IPMI operations. There is a tradeoff when setting this value. Setting this too low may cause older BMCs to crash and require a hard reset. However, setting too high can cause the sync power state periodic task to hang when there are slow or unresponsive BMCs. |
| Configuration option = Default value | Description |
|---|---|
| [irmc] | |
auth_method = basic
|
(StrOpt) Authentication method to be used for iRMC operations, either "basic" or "digest" |
client_timeout = 60
|
(IntOpt) Timeout (in seconds) for iRMC operations |
port = 443
|
(IntOpt) Port to be used for iRMC operations, either 80 or 443 |
sensor_method = ipmitool
|
(StrOpt) Sensor data retrieval method, either "ipmitool" or "scci" |
| Configuration option = Default value | Description |
|---|---|
| [keystone] | |
region_name = None
|
(StrOpt) The region used for getting endpoints of OpenStackservices. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
debug = False
|
(BoolOpt) Print debugging output (set logging level to DEBUG instead of default WARNING level). |
default_log_levels = amqp=WARN, amqplib=WARN, boto=WARN, qpid=WARN, sqlalchemy=WARN, suds=INFO, oslo.messaging=INFO, iso8601=WARN, requests.packages.urllib3.connectionpool=WARN, urllib3.connectionpool=WARN, websocket=WARN, keystonemiddleware=WARN, routes.middleware=WARN, stevedore=WARN
|
(ListOpt) List of logger=LEVEL pairs. |
fatal_exception_format_errors = False
|
(BoolOpt) Make exception message format errors fatal. |
instance_format = "[instance: %(uuid)s] "
|
(StrOpt) The format for an instance that is passed with the log message. |
instance_uuid_format = "[instance: %(uuid)s] "
|
(StrOpt) The format for an instance UUID that is passed with the log message. |
log_config_append = None
|
(StrOpt) 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. |
log_date_format = %Y-%m-%d %H:%M:%S
|
(StrOpt) Format string for %%(asctime)s in log records. Default: %(default)s . |
log_dir = None
|
(StrOpt) (Optional) The base directory used for relative --log-file paths. |
log_file = None
|
(StrOpt) (Optional) Name of log file to output to. If no default is set, logging will go to stdout. |
log_format = None
|
(StrOpt) DEPRECATED. A logging.Formatter log message format string which may use any of the available logging.LogRecord attributes. This option is deprecate, use logging_context_format_string and logging_default_format_string instead. |
logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
|
(StrOpt) Format string to use for log messages with context. |
logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
|
(StrOpt) Data to append to log format when level is DEBUG. |
logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
|
(StrOpt) Format string to use for log messages without context. |
logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s
|
(StrOpt) Prefix each line of exception output with this format. |
publish_errors = False
|
(BoolOpt) Enables or disables publication of error events. |
syslog_log_facility = LOG_USER
|
(StrOpt) Syslog facility to receive log lines. |
use_stderr = True
|
(BoolOpt) Log output to standard error. |
use_syslog = False
|
(BoolOpt) Use syslog for logging. Existing syslog format is DEPRECATED during I, and will change in J to honor RFC5424. |
use_syslog_rfc_format = False
|
(BoolOpt) (Optional) Enables or disables syslog rfc5424 format for logging. If enabled, prefixes the MSG part of the syslog message with APP-NAME (RFC5424). The format without the APP-NAME is deprecated in I, and will be removed in J. |
verbose = False
|
(BoolOpt) Print more verbose output (set logging level to INFO instead of default WARNING level). |
| Configuration option = Default value | Description |
|---|---|
| [neutron] | |
auth_strategy = keystone
|
(StrOpt) Default authentication strategy to use when connecting to neutron. Can be either "keystone" or "noauth". Running neutron in noauth mode (related to but not affected by this setting) is insecure and should only be used for testing. |
cleaning_network_uuid = None
|
(StrOpt) UUID of the network to create Neutron ports on when booting to a ramdisk for cleaning/zapping using Neutron DHCP |
retries = 3
|
(IntOpt) Client retries in the case of a failed request. |
url = http://$my_ip:9696
|
(StrOpt) URL for connecting to neutron. |
url_timeout = 30
|
(IntOpt) Timeout value for connecting to neutron in seconds. |
| Configuration option = Default value | Description |
|---|---|
| [oslo_policy] | |
policy_default_rule = default
|
(StrOpt) Default rule. Enforced when a requested rule is not found. |
policy_dirs = ['policy.d']
|
(MultiStrOpt) 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. |
policy_file = policy.json
|
(StrOpt) The JSON file that defines policies. |
| Configuration option = Default value | Description |
|---|---|
| [pxe] | |
default_ephemeral_format = ext4
|
(StrOpt) Default file system format for ephemeral partition, if one is created. |
disk_devices = cciss/c0d0,sda,hda,vda
|
(StrOpt) The disk devices to scan while doing the deploy. |
http_root = /httpboot
|
(StrOpt) Ironic compute node's HTTP root path. |
http_url = None
|
(StrOpt) Ironic compute node's HTTP server URL. Example: http://192.1.2.3:8080 |
image_cache_size = 20480
|
(IntOpt) Maximum size (in MiB) of cache for master images, including those in use. |
image_cache_ttl = 10080
|
(IntOpt) Maximum TTL (in minutes) for old master images in cache. |
images_path = /var/lib/ironic/images/
|
(StrOpt) Directory where images are stored on disk. |
instance_master_path = /var/lib/ironic/master_images
|
(StrOpt) Directory where master instance images are stored on disk. |
ipxe_boot_script = $pybasedir/drivers/modules/boot.ipxe
|
(StrOpt) The path to the main iPXE script file. |
ipxe_enabled = False
|
(BoolOpt) Enable iPXE boot. |
pxe_append_params = nofb nomodeset vga=normal
|
(StrOpt) Additional append parameters for baremetal PXE boot. |
pxe_bootfile_name = pxelinux.0
|
(StrOpt) Bootfile DHCP parameter. |
pxe_config_template = $pybasedir/drivers/modules/pxe_config.template
|
(StrOpt) Template file for PXE configuration. |
tftp_master_path = /tftpboot/master_images
|
(StrOpt) Directory where master tftp images are stored on disk. |
tftp_root = /tftpboot
|
(StrOpt) Ironic compute node's tftp root path. |
tftp_server = $my_ip
|
(StrOpt) IP address of Ironic compute node's tftp server. |
uefi_pxe_bootfile_name = elilo.efi
|
(StrOpt) Bootfile DHCP parameter for UEFI boot mode. |
uefi_pxe_config_template = $pybasedir/drivers/modules/elilo_efi_pxe_config.template
|
(StrOpt) Template file for PXE configuration for UEFI boot loader. |
| Configuration option = Default value | Description |
|---|---|
| [matchmaker_redis] | |
host = 127.0.0.1
|
(StrOpt) Host to locate redis. |
password = None
|
(StrOpt) Password for Redis server (optional). |
port = 6379
|
(IntOpt) Use this port to connect to redis host. |
| [matchmaker_ring] | |
ringfile = /etc/oslo/matchmaker_ring.json
|
(StrOpt) Matchmaker ring file (JSON). |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
matchmaker_heartbeat_freq = 300
|
(IntOpt) Heartbeat frequency. |
matchmaker_heartbeat_ttl = 600
|
(IntOpt) Heartbeat time-to-live. |
rpc_backend = rabbit
|
(StrOpt) The messaging driver to use, defaults to rabbit. Other drivers include qpid and zmq. |
rpc_cast_timeout = 30
|
(IntOpt) Seconds to wait before a cast expires (TTL). Only supported by impl_zmq. |
rpc_response_timeout = 60
|
(IntOpt) Seconds to wait for a response from a call. |
rpc_thread_pool_size = 64
|
(IntOpt) Size of RPC thread pool. |
| [oslo_concurrency] | |
disable_process_locking = False
|
(BoolOpt) Enables or disables inter-process locks. |
lock_path = None
|
(StrOpt) 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. |
| [oslo_messaging_amqp] | |
allow_insecure_clients = False
|
(BoolOpt) Accept clients using either SSL or plain TCP |
broadcast_prefix = broadcast
|
(StrOpt) address prefix used when broadcasting to all servers |
container_name = None
|
(StrOpt) Name for the AMQP container |
group_request_prefix = unicast
|
(StrOpt) address prefix when sending to any server in group |
idle_timeout = 0
|
(IntOpt) Timeout for inactive connections (in seconds) |
server_request_prefix = exclusive
|
(StrOpt) address prefix used when sending to a specific server |
ssl_ca_file =
|
(StrOpt) CA certificate PEM file for verifing server certificate |
ssl_cert_file =
|
(StrOpt) Identifying certificate PEM file to present to clients |
ssl_key_file =
|
(StrOpt) Private key PEM file used to sign cert_file certificate |
ssl_key_password = None
|
(StrOpt) Password for decrypting ssl_key_file (if encrypted) |
trace = False
|
(BoolOpt) Debug: dump AMQP frames to stdout |
| Configuration option = Default value | Description |
|---|---|
| [oslo_messaging_rabbit] | |
amqp_auto_delete = False
|
(BoolOpt) Auto-delete queues in AMQP. |
amqp_durable_queues = False
|
(BoolOpt) Use durable queues in AMQP. |
fake_rabbit = False
|
(BoolOpt) Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake |
heartbeat_rate = 2
|
(IntOpt) How often times during the heartbeat_timeout_threshold we check the heartbeat. |
heartbeat_timeout_threshold = 0
|
(IntOpt) Number of seconds after which the Rabbit broker is considered down if heartbeat's keep-alive fails (0 disables the heartbeat, >0 enables it. Enabling heartbeats requires kombu>=3.0.7 and amqp>=1.4.0). EXPERIMENTAL |
kombu_reconnect_delay = 1.0
|
(FloatOpt) How long to wait before reconnecting in response to an AMQP consumer cancel notification. |
kombu_ssl_ca_certs =
|
(StrOpt) SSL certification authority file (valid only if SSL enabled). |
kombu_ssl_certfile =
|
(StrOpt) SSL cert file (valid only if SSL enabled). |
kombu_ssl_keyfile =
|
(StrOpt) SSL key file (valid only if SSL enabled). |
kombu_ssl_version =
|
(StrOpt) 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. |
rabbit_ha_queues = False
|
(BoolOpt) Use HA queues in RabbitMQ (x-ha-policy: all). If you change this option, you must wipe the RabbitMQ database. |
rabbit_host = localhost
|
(StrOpt) The RabbitMQ broker address where a single node is used. |
rabbit_hosts = $rabbit_host:$rabbit_port
|
(ListOpt) RabbitMQ HA cluster host:port pairs. |
rabbit_login_method = AMQPLAIN
|
(StrOpt) The RabbitMQ login method. |
rabbit_max_retries = 0
|
(IntOpt) Maximum number of RabbitMQ connection retries. Default is 0 (infinite retry count). |
rabbit_password = guest
|
(StrOpt) The RabbitMQ password. |
rabbit_port = 5672
|
(IntOpt) The RabbitMQ broker port where a single node is used. |
rabbit_retry_backoff = 2
|
(IntOpt) How long to backoff for between retries when connecting to RabbitMQ. |
rabbit_retry_interval = 1
|
(IntOpt) How frequently to retry connecting with RabbitMQ. |
rabbit_use_ssl = False
|
(BoolOpt) Connect over SSL for RabbitMQ. |
rabbit_userid = guest
|
(StrOpt) The RabbitMQ userid. |
rabbit_virtual_host = /
|
(StrOpt) The RabbitMQ virtual host. |
rpc_conn_pool_size = 30
|
(IntOpt) Size of RPC connection pool. |
| Configuration option = Default value | Description |
|---|---|
| [oslo_messaging_qpid] | |
amqp_auto_delete = False
|
(BoolOpt) Auto-delete queues in AMQP. |
amqp_durable_queues = False
|
(BoolOpt) Use durable queues in AMQP. |
qpid_heartbeat = 60
|
(IntOpt) Seconds between connection keepalive heartbeats. |
qpid_hostname = localhost
|
(StrOpt) Qpid broker hostname. |
qpid_hosts = $qpid_hostname:$qpid_port
|
(ListOpt) Qpid HA cluster host:port pairs. |
qpid_password =
|
(StrOpt) Password for Qpid connection. |
qpid_port = 5672
|
(IntOpt) Qpid broker port. |
qpid_protocol = tcp
|
(StrOpt) Transport to use, either 'tcp' or 'ssl'. |
qpid_receiver_capacity = 1
|
(IntOpt) The number of prefetched messages held by receiver. |
qpid_sasl_mechanisms =
|
(StrOpt) Space separated list of SASL mechanisms to use for auth. |
qpid_tcp_nodelay = True
|
(BoolOpt) Whether to disable the Nagle algorithm. |
qpid_topology_version = 1
|
(IntOpt) The qpid topology version to use. Version 1 is what was originally used by impl_qpid. Version 2 includes some backwards-incompatible changes that allow broker federation to work. Users should update to version 2 when they are able to take everything down, as it requires a clean break. |
qpid_username =
|
(StrOpt) Username for Qpid connection. |
rpc_conn_pool_size = 30
|
(IntOpt) Size of RPC connection pool. |
| Configuration option = Default value | Description |
|---|---|
| [seamicro] | |
action_timeout = 10
|
(IntOpt) Seconds to wait for power action to be completed |
max_retry = 3
|
(IntOpt) Maximum retries for SeaMicro operations |
| Configuration option = Default value | Description |
|---|---|
| [snmp] | |
power_timeout = 10
|
(IntOpt) Seconds to wait for power action to be completed |
| Configuration option = Default value | Description |
|---|---|
| [ssh] | |
libvirt_uri = qemu:///system
|
(StrOpt) libvirt uri |
| Configuration option = Default value | Description |
|---|---|
| [swift] | |
swift_max_retries = 2
|
(IntOpt) Maximum number of times to retry a Swift request, before failing. |
| Configuration option = Default value | Description |
|---|---|
| [virtualbox] | |
port = 18083
|
(IntOpt) Port on which VirtualBox web service is listening. |
Chapter 2. Block Storage Copier lienLien copié sur presse-papiers!
2.1. Volume drivers Copier lienLien copié sur presse-papiers!
cinder-volume service, use the parameters described in these sections.
volume_driver flag. The default is:
volume_driver = cinder.volume.drivers.lvm.LVMISCSIDriver
volume_driver = cinder.volume.drivers.lvm.LVMISCSIDriver
2.1.1. Ceph RADOS Block Device (RBD) Copier lienLien copié sur presse-papiers!
RADOS Copier lienLien copié sur presse-papiers!
- Object Storage Device (OSD) Daemon. The storage daemon for the RADOS service, which interacts with the OSD (physical or logical storage unit for your data).You must run this daemon on each server in your cluster. For each OSD, you can have an associated hard drive disk. For performance purposes, pool your hard drive disk with raid arrays, logical volume management (LVM), or B-tree file system (
Btrfs) pooling. By default, the following pools are created: data, metadata, and RBD. - Meta-Data Server (MDS). Stores metadata. MDSs build a POSIX file system on top of objects for Ceph clients. However, if you do not use the Ceph file system, you do not need a metadata server.
- Monitor (MON). A lightweight daemon that handles all communications with external applications and clients. It also provides a consensus for distributed decision making in a Ceph/RADOS cluster. For instance, when you mount a Ceph shared on a client, you point to the address of a MON server. It checks the state and the consistency of the data. In an ideal setup, you must run at least three
ceph-mondaemons on separate servers.
Btrfs for testing, development, and any non-critical deployments. Btrfs has the correct feature set and roadmap to serve Ceph in the long-term, but XFS and ext4 provide the necessary stability for today’s deployments.
Btrfs, ensure that you use the correct version (see Ceph Dependencies).
Ways to store, use, and expose data Copier lienLien copié sur presse-papiers!
- RADOS. Use as an object, default storage mechanism.
- RBD. Use as a block device. The Linux kernel RBD (RADOS block device) driver allows striping a Linux block device over multiple distributed object store data objects. It is compatible with the KVM RBD image.
- CephFS. Use as a file, POSIX-compliant file system.
- RADOS Gateway. OpenStack Object Storage and Amazon-S3 compatible RESTful interface (see RADOS_Gateway).
- librados, and its related C/C++ bindings.
- RBD and QEMU-RBD. Linux kernel and QEMU block devices that stripe data across multiple objects.
Driver options Copier lienLien copié sur presse-papiers!
volume_tmp_dir option has been deprecated and replaced by image_conversion_dir.
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
rados_connect_timeout = -1
|
(IntOpt) Timeout value (in seconds) used when connecting to ceph cluster. If value < 0, no timeout is set and default librados value is used. |
rados_connection_interval = 5
|
(IntOpt) Interval value (in seconds) between connection retries to ceph cluster. |
rados_connection_retries = 3
|
(IntOpt) Number of retries if connection to ceph cluster failed. |
rbd_ceph_conf =
|
(StrOpt) Path to the ceph configuration file |
rbd_cluster_name = ceph
|
(StrOpt) The name of ceph cluster |
rbd_flatten_volume_from_snapshot = False
|
(BoolOpt) Flatten volumes created from snapshots to remove dependency from volume to snapshot |
rbd_max_clone_depth = 5
|
(IntOpt) Maximum number of nested volume clones that are taken before a flatten occurs. Set to 0 to disable cloning. |
rbd_pool = rbd
|
(StrOpt) The RADOS pool where rbd volumes are stored |
rbd_secret_uuid = None
|
(StrOpt) The libvirt uuid of the secret for the rbd_user volumes |
rbd_store_chunk_size = 4
|
(IntOpt) Volumes will be chunked into objects of this size (in megabytes). |
rbd_user = None
|
(StrOpt) The RADOS client name for accessing rbd volumes - only set when using cephx authentication |
volume_tmp_dir = None
|
(StrOpt) Directory where temporary image files are stored when the volume driver does not write them directly to the volume. Warning: this option is now deprecated, use image_conversion_dir instead. |
2.1.2. Dell EqualLogic volume driver Copier lienLien copié sur presse-papiers!
Supported operations
- Create, delete, attach, and detach volumes.
- Create, list, and delete volume snapshots.
- Clone a volume.
- Multiple instances of Dell EqualLogic Groups or Dell EqualLogic Group Storage Pools and multiple pools on a single array.
- Multiple instances of Dell EqualLogic Groups or Dell EqualLogic Group Storage Pools or multiple pools on a single array.
/etc/cinder/cinder.conf file (see Section 2.3, “Block Storage sample configuration files” for reference).
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
eqlx_chap_login = admin
|
(StrOpt) Existing CHAP account name. Note that this option is deprecated in favour of "chap_username" as specified in cinder/volume/driver.py and will be removed in next release. |
eqlx_chap_password = password
|
(StrOpt) Password for specified CHAP account name. Note that this option is deprecated in favour of "chap_password" as specified in cinder/volume/driver.py and will be removed in the next release |
eqlx_cli_max_retries = 5
|
(IntOpt) Maximum retry count for reconnection. Default is 5. |
eqlx_cli_timeout = 30
|
(IntOpt) Timeout for the Group Manager cli command execution. Default is 30. Note that this option is deprecated in favour of "ssh_conn_timeout" as specified in cinder/volume/drivers/san/san.py and will be removed in M release. |
eqlx_group_name = group-0
|
(StrOpt) Group name to use for creating volumes. Defaults to "group-0". |
eqlx_pool = default
|
(StrOpt) Pool in which volumes will be created. Defaults to "default". |
eqlx_use_chap = False
|
(BoolOpt) Use CHAP authentication for targets. Note that this option is deprecated in favour of "use_chap_auth" as specified in cinder/volume/driver.py and will be removed in next release. |
/etc/cinder/cinder.conf configuration lists the relevant settings for a typical Block Storage service using a single Dell EqualLogic Group:
Example 2.1. Default (single-instance) configuration
- IP_EQLX
- The IP address used to reach the Dell EqualLogic Group through SSH. This field has no default value.
- SAN_UNAME
- The user name to login to the Group manager via SSH at the
san_ip. Default user name isgrpadmin. - SAN_PW
- The corresponding password of SAN_UNAME. Not used when
san_private_keyis set. Default password ispassword. - EQLX_GROUP
- The group to be used for a pool where the Block Storage service will create volumes and snapshots. Default group is
group-0. - EQLX_POOL
- The pool where the Block Storage service will create volumes and snapshots. Default pool is
default. This option cannot be used for multiple pools utilized by the Block Storage service on a single Dell EqualLogic Group. - EQLX_UNAME
- The CHAP login account for each volume in a pool, if
eqlx_use_chapis set totrue. Default account name ischapadmin. - EQLX_PW
- The corresponding password of EQLX_UNAME. The default password is randomly generated in hexadecimal, so you must set this password manually.
- SAN_KEY_PATH (optional)
- The filename of the private key used for SSH authentication. This provides password-less login to the EqualLogic Group. Not used when
san_passwordis set. There is no default value.
san_thin_provision = true setting.
Example 2.2. Multi back-end Dell EqualLogic configuration
- Thin provisioning for SAN volumes is enabled (
san_thin_provision = true). This is recommended when setting up Dell EqualLogic back ends. - Each Dell EqualLogic back-end configuration (
[backend1]and[backend2]) has the same required settings as a single back-end configuration, with the addition ofvolume_backend_name. - The
san_ssh_portoption is set to its default value, 22. This option sets the port used for SSH. - The
ssh_conn_timeoutoption is also set to its default value, 30. This option sets the timeout in seconds for CLI commands over SSH. - The
IP_EQLX1andIP_EQLX2refer to the IP addresses used to reach the Dell EqualLogic Group ofbackend1andbackend2through SSH, respectively.
2.1.3. Dell Storage Center Fibre Channel and iSCSI drivers Copier lienLien copié sur presse-papiers!
cinder.conf file.
Supported operations Copier lienLien copié sur presse-papiers!
- Create, delete, attach (map), and detach (unmap) volumes.
- Create, list, and delete volume snapshots.
- Create a volume from a snapshot.
- Copy an image to a volume.
- Copy a volume to an image.
- Clone a volume.
- Extend a volume.
Extra spec options Copier lienLien copié sur presse-papiers!
storagetype:storageprofile with the value of the name of the Storage Profile on the Storage Center can be set to allow to use Storage Profiles other than the default.
High Priority and Low Priority Storage Profiles:
cinder type-create "GoldVolumeType" cinder type-key "GoldVolumeType" set storagetype:storageprofile=highpriority cinder type-create "BronzeVolumeType" cinder type-key "BronzeVolumeType" set storagetype:storageprofile=lowpriority
$ cinder type-create "GoldVolumeType"
$ cinder type-key "GoldVolumeType" set storagetype:storageprofile=highpriority
$ cinder type-create "BronzeVolumeType"
$ cinder type-key "BronzeVolumeType" set storagetype:storageprofile=lowpriority
iSCSI configuration Copier lienLien copié sur presse-papiers!
Example 2.3. Sample iSCSI Configuration
Fibre Channel configuration Copier lienLien copié sur presse-papiers!
Example 2.4. Sample FC configuration
Driver options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
dell_sc_api_port = 3033
|
(IntOpt) Dell API port |
dell_sc_server_folder = openstack
|
(StrOpt) Name of the server folder to use on the Storage Center |
dell_sc_ssn = 64702
|
(IntOpt) Storage Center System Serial Number |
dell_sc_verify_cert = False
|
(BoolOpt) Enable HTTPS SC certificate verification. |
dell_sc_volume_folder = openstack
|
(StrOpt) Name of the volume folder to use on the Storage Center |
2.1.4. EMC ScaleIO Block Storage driver configuration Copier lienLien copié sur presse-papiers!
2.1.4.1. Support matrix Copier lienLien copié sur presse-papiers!
2.1.4.2. Deployment prerequisites Copier lienLien copié sur presse-papiers!
- ScaleIO Gateway must be installed and accessible in the network. For installation steps, refer to the Preparing the installation Manager and the Gateway section in ScaleIO Deployment Guide. See Section 2.1.4.2.1, “Official documentation”.
- ScaleIO Data Client (SDC) must be installed on all OpenStack nodes.
2.1.4.2.1. Official documentation Copier lienLien copié sur presse-papiers!
- Go to the ScaleIO product documentation page.
- From the left-side panel, select the relevant version (1.32 or 2.0).
- Search for "ScaleIO Installation Guide 1.32" or "ScaleIO 2.0 Deployment Guide" accordingly.
2.1.4.3. Supported operations Copier lienLien copié sur presse-papiers!
- Create, delete, clone, attach, and detach volumes
- Create and delete volume snapshots
- Create a volume from a snapshot
- Copy an image to a volume
- Copy a volume to an image
- Extend a volume
- Get volume statistics
- Manage and unmanage a volume
- Create, list, update, and delete consistency groups
- Create, list, update, and delete consistency group snapshots
2.1.4.4. ScaleIO QoS support Copier lienLien copié sur presse-papiers!
cinder.api.contrib.qos_specs_manage QoS specs extension module:
minBWSmaxBWS
-
maxBWS - The QoS I/O issue bandwidth rate limit in KBs. If not set, the I/O issue bandwidth rate has no limit. The setting must be a multiple of 1024.
-
maxIOPS - The QoS I/O issue bandwidth rate limit in MBs. If not set, the I/O issue bandwidth rate has no limit. The setting must be larger than 10.
2.1.4.5. ScaleIO thin provisioning support Copier lienLien copié sur presse-papiers!
sio:provisioning_type = thin\thick
sio:provisioning_type = thin\thick
2.1.4.6. ScaleIO Block Storage driver configuration Copier lienLien copié sur presse-papiers!
cinder.conf file by adding the configuration below under the [DEFAULT] section of the file in case of a single back end, or under a separate section in case of multiple back ends (for example [ScaleIO]). The configuration file is usually located at /etc/cinder/cinder.conf.
2.1.4.6.1. ScaleIO driver name Copier lienLien copié sur presse-papiers!
volume_driver = cinder.volume.drivers.emc.scaleio.ScaleIODriver
volume_driver = cinder.volume.drivers.emc.scaleio.ScaleIODriver
2.1.4.6.2. ScaleIO MDM server IP Copier lienLien copié sur presse-papiers!
san_ip = ScaleIO GATEWAY IP
san_ip = ScaleIO GATEWAY IP
2.1.4.6.3. ScaleIO Protection Domain name Copier lienLien copié sur presse-papiers!
sio_protection_domain_name = ScaleIO Protection Domain
sio_protection_domain_name = ScaleIO Protection Domain
2.1.4.6.4. ScaleIO Storage Pool name Copier lienLien copié sur presse-papiers!
sio_storage_pool_name = ScaleIO Storage Pool
sio_storage_pool_name = ScaleIO Storage Pool
2.1.4.6.5. ScaleIO Storage Pools Copier lienLien copié sur presse-papiers!
sio_storage_pools = Comma-separated list of protection domain:storage pool name
sio_storage_pools = Comma-separated list of protection domain:storage pool name
2.1.4.6.6. ScaleIO user credentials Copier lienLien copié sur presse-papiers!
san_login = ScaleIO username san_password = ScaleIO password
san_login = ScaleIO username
san_password = ScaleIO password
2.1.4.7. Multiple back ends Copier lienLien copié sur presse-papiers!
2.1.4.8. Configuration example Copier lienLien copié sur presse-papiers!
cinder.conf file by editing the necessary parameters as follows:
2.1.4.9. Configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
sio_force_delete = False
|
(BoolOpt) Whether to allow force delete. |
sio_protection_domain_id = None
|
(StrOpt) Protection domain id. |
sio_protection_domain_name = None
|
(StrOpt) Protection domain name. |
sio_rest_server_port = 443
|
(StrOpt) REST server port. |
sio_round_volume_capacity = True
|
(BoolOpt) Whether to round volume capacity. |
sio_server_certificate_path = None
|
(StrOpt) Server certificate path. |
sio_storage_pool_id = None
|
(StrOpt) Storage pool id. |
sio_storage_pool_name = None
|
(StrOpt) Storage pool name. |
sio_storage_pools = None
|
(StrOpt) Storage pools. |
sio_unmap_volume_before_deletion = False
|
(BoolOpt) Whether to unmap volume before deletion. |
sio_verify_server_certificate = False
|
(BoolOpt) Whether to verify server certificate. |
2.1.5. EMC VMAX iSCSI and FC drivers Copier lienLien copié sur presse-papiers!
EMCVMAXISCSIDriver and EMCVMAXFCDriver, support the use of EMC VMAX storage arrays under OpenStack Block Storage. They both provide equivalent functions and differ only in support for their respective host attachment methods.
2.1.5.1. System requirements Copier lienLien copié sur presse-papiers!
2.1.5.2. Supported operations Copier lienLien copié sur presse-papiers!
- Create, delete, attach, and detach volumes.
- Create, list, and delete volume snapshots.
- Copy an image to a volume.
- Copy a volume to an image.
- Clone a volume.
- Extend a volume.
- Retype a volume.
- Create a volume from a snapshot.
- FAST automated storage tiering policy.
- Dynamic masking view creation.
- Striped volume creation.
2.1.5.3. Set up the VMAX drivers Copier lienLien copié sur presse-papiers!
Procedure 2.1. To set up the EMC VMAX drivers
- Install the python-pywbem package for your distribution. To install the python-pywbem package for Red Hat Enterprise Linux, CentOS, or Fedora:
yum install pywbem
# yum install pywbemCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Download SMI-S from PowerLink and install it. Add your VMAX arrays to SMI-S.For information, see Section 2.1.5.3.1, “Set up SMI-S” and the SMI-S release notes.
- Change configuration files. See Section 2.1.5.3.2, “
cinder.confconfiguration file” and Section 2.1.5.3.3, “cinder_emc_config_CONF_GROUP_ISCSI.xmlconfiguration file”. - Configure connectivity. For FC driver, see Section 2.1.5.3.4, “FC Zoning with VMAX”. For iSCSI driver, see Section 2.1.5.3.5, “iSCSI with VMAX”.
2.1.5.3.1. Set up SMI-S Copier lienLien copié sur presse-papiers!
/opt/emc/ECIM/ECOM/bin on Linux and C:\Program Files\EMC\ECIM\ECOM\bin on Windows. After you install and configure SMI-S, go to that directory and type TestSmiProvider.exe.
2.1.5.3.2. cinder.conf configuration file Copier lienLien copié sur presse-papiers!
/etc/cinder/cinder.conf.
10.10.61.45 is the IP address of the VMAX iSCSI target:
CONF_GROUP_ISCSI and CONF_GROUP_FC. Each configuration group has a section describing unique parameters for connections, drivers, the volume_backend_name, and the name of the EMC-specific configuration file containing additional settings. Note that the file name is in the format /etc/cinder/cinder_emc_config_[confGroup].xml.
cinder.conf and EMC-specific configuration files have been created, cinder commands need to be issued in order to create and associate OpenStack volume types with the declared volume_backend_names:
cinder type-create VMAX_ISCSI cinder type-key VMAX_ISCSI set volume_backend_name=ISCSI_backend cinder type-create VMAX_FC cinder type-key VMAX_FC set volume_backend_name=FC_backend
$ cinder type-create VMAX_ISCSI
$ cinder type-key VMAX_ISCSI set volume_backend_name=ISCSI_backend
$ cinder type-create VMAX_FC
$ cinder type-key VMAX_FC set volume_backend_name=FC_backend
VMAX_ISCSI is associated with the ISCSI_backend, and the type VMAX_FC is associated with the FC_backend.
cinder-volume service.
2.1.5.3.3. cinder_emc_config_CONF_GROUP_ISCSI.xml configuration file Copier lienLien copié sur presse-papiers!
/etc/cinder/cinder_emc_config_CONF_GROUP_ISCSI.xml file. You do not need to restart the service for this change.
EcomServerIpandEcomServerPortare the IP address and port number of the ECOM server which is packaged with SMI-S.EcomUserNameandEcomPasswordare credentials for the ECOM server.PortGroupssupplies the names of VMAX port groups that have been pre-configured to expose volumes managed by this backend. Each supplied port group should have sufficient number and distribution of ports (across directors and switches) as to ensure adequate bandwidth and failure protection for the volume connections.PortGroupscan contain one or more port groups of either iSCSI or FC ports. When a dynamic masking view is created by the VMAX driver, the port group is chosen randomly from thePortGrouplist, to evenly distribute load across the set of groups provided. Make sure that thePortGroupsset contains either all FC or all iSCSI port groups (for a given backend), as appropriate for the configured driver (iSCSI or FC).- The
Arraytag holds the unique VMAX array serial number. - The
Pooltag holds the unique pool name within a given array. For backends not using FAST automated tiering, the pool is a single pool that has been created by the administrator. For backends exposing FAST policy automated tiering, the pool is the bind pool to be used with the FAST policy. - The
FastPolicytag conveys the name of the FAST Policy to be used. By including this tag, volumes managed by this backend are treated as under FAST control. Omitting theFastPolicytag means FAST is not enabled on the provided storage pool.
2.1.5.3.4. FC Zoning with VMAX Copier lienLien copié sur presse-papiers!
2.1.5.3.5. iSCSI with VMAX Copier lienLien copié sur presse-papiers!
- Make sure the iscsi-initiator-utils package is installed on the host (use apt-get, zypper, or yum, depending on Linux flavor).
- Verify host is able to ping VMAX iSCSI target ports.
2.1.5.4. VMAX masking view and group naming info Copier lienLien copié sur presse-papiers!
Masking view names Copier lienLien copié sur presse-papiers!
OS-[shortHostName][poolName]-I-MV (for Masking Views using iSCSI)
OS-[shortHostName][poolName]-I-MV (for Masking Views using iSCSI)
OS-[shortHostName][poolName]-F-MV (for Masking Views using FC)
OS-[shortHostName][poolName]-F-MV (for Masking Views using FC)
Initiator group names Copier lienLien copié sur presse-papiers!
OS-[shortHostName]-I-IG (for iSCSI initiators)
OS-[shortHostName]-I-IG (for iSCSI initiators)
OS-[shortHostName]-F-IG (for Fibre Channel initiators)
OS-[shortHostName]-F-IG (for Fibre Channel initiators)
FA port groups Copier lienLien copié sur presse-papiers!
Storage group names Copier lienLien copié sur presse-papiers!
OS-[shortHostName][poolName]-I-SG (attached over iSCSI)
OS-[shortHostName][poolName]-I-SG (attached over iSCSI)
OS-[shortHostName][poolName]-F-SG (attached over Fibre Channel)
OS-[shortHostName][poolName]-F-SG (attached over Fibre Channel)
2.1.5.5. Concatenated or striped volumes Copier lienLien copié sur presse-papiers!
storagetype:stripecount representing the number of meta members in the striped volume. The example below means that each volume created under the GoldStriped volume type will be striped and made up of 4 meta members.
cinder type-create GoldStriped cinder type-key GoldStriped set volume_backend_name=GOLD_BACKEND cinder type-key GoldStriped set storagetype:stripecount=4
$ cinder type-create GoldStriped
$ cinder type-key GoldStriped set volume_backend_name=GOLD_BACKEND
$ cinder type-key GoldStriped set storagetype:stripecount=4
2.1.6. EMC VNX driver Copier lienLien copié sur presse-papiers!
EMCCLIISCSIDriver (VNX iSCSI driver) and EMCCLIFCDriver (VNX FC driver) are separately based on the ISCSIDriver and FCDriver defined in Block Storage.
2.1.6.1. Overview Copier lienLien copié sur presse-papiers!
2.1.6.1.1. System requirements Copier lienLien copié sur presse-papiers!
- VNX Operational Environment for Block version 5.32 or higher.
- VNX Snapshot and Thin Provisioning license should be activated for VNX.
- Navisphere CLI v7.32 or higher is installed along with the driver.
2.1.6.1.2. Supported operations Copier lienLien copié sur presse-papiers!
- Create, delete, attach, and detach volumes.
- Create, list, and delete volume snapshots.
- Create a volume from a snapshot.
- Copy an image to a volume.
- Clone a volume.
- Extend a volume.
- Migrate a volume.
- Retype a volume.
- Get volume statistics.
- Create and delete consistency groups.
- Create, list, and delete consistency group snapshots.
- Modify consistency groups.
- Efficient non-disruptive volume backup.
2.1.6.2. Preparation Copier lienLien copié sur presse-papiers!
2.1.6.2.2. Check array software Copier lienLien copié sur presse-papiers!
| Feature | Software Required |
|
All
|
ThinProvisioning
|
|
All
|
VNXSnapshots
|
|
FAST cache support
|
FASTCache
|
|
Create volume with type
compressed
|
Compression
|
|
Create volume with type
deduplicated
|
Deduplication
|
2.1.6.2.3. Install EMC VNX driver Copier lienLien copié sur presse-papiers!
EMCCLIISCSIDriver and EMCCLIFCDriver are included in the Block Storage installer package:
emc_vnx_cli.pyemc_cli_fc.py(forEMCCLIFCDriver)emc_cli_iscsi.py(forEMCCLIISCSIDriver)
2.1.6.2.4. Network configuration Copier lienLien copié sur presse-papiers!
initiator_auto_registration=True configuration to avoid register the ports manually. Check the detail of the configuration in Section 2.1.6.3, “Backend configuration” for reference.
2.1.6.3. Backend configuration Copier lienLien copié sur presse-papiers!
/etc/cinder/cinder.conf file:
2.1.6.3.1. Minimum configuration Copier lienLien copié sur presse-papiers!
EMCCLIFCDriver to EMCCLIISCSIDriver if your are using the iSCSI driver.
2.1.6.3.2. Multi-backend configuration Copier lienLien copié sur presse-papiers!
EMCCLIFCDriver to EMCCLIISCSIDriver if your are using the iSCSI driver.
2.1.6.3.3. Required configurations Copier lienLien copié sur presse-papiers!
2.1.6.3.3.1. IP of the VNX Storage Processors Copier lienLien copié sur presse-papiers!
san_ip = <IP of VNX Storage Processor A> san_secondary_ip = <IP of VNX Storage Processor B>
san_ip = <IP of VNX Storage Processor A>
san_secondary_ip = <IP of VNX Storage Processor B>
2.1.6.3.3.2. VNX login credentials Copier lienLien copié sur presse-papiers!
- Use plain text username and password.
san_login = <VNX account with administrator role> san_password = <password for VNX account> storage_vnx_authentication_type = global
san_login = <VNX account with administrator role>
san_password = <password for VNX account>
storage_vnx_authentication_type = global
storage_vnx_authentication_type are: global (default), local, ldap
- Use Security file
storage_vnx_security_file_dir=<path to security file>
storage_vnx_security_file_dir=<path to security file>
2.1.6.3.3.3. Path to your Unisphere CLI Copier lienLien copié sur presse-papiers!
naviseccli_path = /opt/Navisphere/bin/naviseccli
naviseccli_path = /opt/Navisphere/bin/naviseccli
2.1.6.3.3.4. Driver name Copier lienLien copié sur presse-papiers!
- For the FC Driver, add the following option:
volume_driver=cinder.volume.drivers.emc.emc_cli_fc.EMCCLIFCDriver
volume_driver=cinder.volume.drivers.emc.emc_cli_fc.EMCCLIFCDriver
- For iSCSI Driver, add following option:
volume_driver=cinder.volume.drivers.emc.emc_cli_iscsi.EMCCLIISCSIDriver
volume_driver=cinder.volume.drivers.emc.emc_cli_iscsi.EMCCLIISCSIDriver
2.1.6.3.4. Optional configurations Copier lienLien copié sur presse-papiers!
2.1.6.3.4.1. VNX pool names Copier lienLien copié sur presse-papiers!
storage_vnx_pool_names = pool 1, pool 2
storage_vnx_pool_names = pool 1, pool 2
2.1.6.3.4.2. Initiator auto registration Copier lienLien copié sur presse-papiers!
initiator_auto_registration=True, the driver will automatically register initiators to all working target ports of the VNX array during volume attaching (The driver will skip those initiators that have already been registered) if the option io_port_list is not specified in cinder.conf.
io_port_list, the driver will only register the initiator to the ports specified in the list and only return target port(s) which belong to the target ports in the io_port_list instead of all target ports.
- Example for FC ports:
io_port_list=a-1,B-3
io_port_list=a-1,B-3Copy to Clipboard Copied! Toggle word wrap Toggle overflow aorBis Storage Processor, number1and3are Port ID. - Example for iSCSI ports:
io_port_list=a-1-0,B-3-0
io_port_list=a-1-0,B-3-0Copy to Clipboard Copied! Toggle word wrap Toggle overflow aorBis Storage Processor, the first numbers1and3are Port ID and the second number0is Virtual Port ID
- Rather than de-registered, the registered ports will be simply bypassed whatever they are in 'io_port_list' or not.
- The driver will raise an exception if ports in
io_port_listare not existed in VNX during startup.
2.1.6.3.4.3. Force delete volumes in storage group Copier lienLien copié sur presse-papiers!
available volumes may remain in storage group on the VNX array due to some OpenStack timeout issue. But the VNX array do not allow the user to delete the volumes which are in storage group. Option force_delete_lun_in_storagegroup is introduced to allow the user to delete the available volumes in this tricky situation.
force_delete_lun_in_storagegroup=True in the back-end section, the driver will move the volumes out of storage groups and then delete them if the user tries to delete the volumes that remain in storage group on the VNX array.
force_delete_lun_in_storagegroup is False.
2.1.6.3.4.4. Over subscription in thin provisioning Copier lienLien copié sur presse-papiers!
max_over_subscription_ratio in the back-end section is the ratio of provisioned capacity over total capacity.
max_over_subscription_ratio is greater than 1.0, the provisioned capacity can exceed the total capacity. The default value of max_over_subscription_ratio is 20.0, which means the provisioned capacity can be 20 times the total physical capacity.
2.1.6.3.4.5. Storage group automatic deletion Copier lienLien copié sur presse-papiers!
destroy_empty_storage_group=True, the driver will remove the empty storage group after its last volume is detached. For data safety, it does not suggest to set destroy_empty_storage_group=True unless the VNX is exclusively managed by one Block Storage node because consistent lock_path is required for operation synchronization for this behavior.
2.1.6.3.4.6. Initiator auto deregistration Copier lienLien copié sur presse-papiers!
initiator_auto_deregistration=True is set, the driver will deregister all the initiators of the host after its storage group is deleted.
2.1.6.3.4.7. FC SAN auto zoning Copier lienLien copié sur presse-papiers!
zoning_mode to fabric in DEFAULT section to enable this feature. For ZoneManager configuration, refer to Block Storage official guide.
2.1.6.3.4.8. Volume number threshold Copier lienLien copié sur presse-papiers!
check_max_pool_luns_threshold is False. When check_max_pool_luns_threshold=True, the pool-based back end will check the limit and will report 0 free capacity to the scheduler if the limit is reached. So the scheduler will be able to skip this kind of pool-based back end that runs out of the pool volume number.
2.1.6.3.4.9. iSCSI initiators Copier lienLien copié sur presse-papiers!
iscsi_initiators is a dictionary of IP addresses of the iSCSI initiator ports on OpenStack Nova/Cinder nodes which want to connect to VNX via iSCSI. If this option is configured, the driver will leverage this information to find an accessible iSCSI target portal for the initiator when attaching volume. Otherwise, the iSCSI target portal will be chosen in a relative random way.
host1 with 10.0.0.1 and 10.0.0.2. And it will connect host2 with 10.0.0.3.
host1 in the example) should be the output of command hostname.
iscsi_initiators = {"host1":["10.0.0.1", "10.0.0.2"],"host2":["10.0.0.3"]}
iscsi_initiators = {"host1":["10.0.0.1", "10.0.0.2"],"host2":["10.0.0.3"]}
2.1.6.3.4.10. Default timeout Copier lienLien copié sur presse-papiers!
default_timeout = 10
default_timeout = 10
2.1.6.3.4.11. Max LUNs per storage group Copier lienLien copié sur presse-papiers!
max_luns_per_storage_group specify the max number of LUNs in a storage group. Default value is 255. It is also the max value supportedby VNX.
2.1.6.3.4.12. Ignore pool full threshold Copier lienLien copié sur presse-papiers!
ignore_pool_full_threshold is set to True, driver will force LUN creation even if the full threshold of pool is reached. Default to False
2.1.6.4. Extra spec options Copier lienLien copié sur presse-papiers!
cinder type-create "demoVolumeType"
$ cinder type-create "demoVolumeType"
cinder type-key "demoVolumeType" set provisioning:type=thin
$ cinder type-key "demoVolumeType" set provisioning:type=thin
2.1.6.4.1. Provisioning type Copier lienLien copié sur presse-papiers!
- Key:
provisioning:type - Possible Values:
thick
Volume is fully provisioned.Example 2.5. creating a
thickvolume type:cinder type-create "ThickVolumeType" cinder type-key "ThickVolumeType" set provisioning:type=thick thick_provisioning_support='<is> True'
$ cinder type-create "ThickVolumeType" $ cinder type-key "ThickVolumeType" set provisioning:type=thick thick_provisioning_support='<is> True'Copy to Clipboard Copied! Toggle word wrap Toggle overflow thin
Volume is virtually provisionedExample 2.6. creating a
thinvolume type:cinder type-create "ThinVolumeType" cinder type-key "ThinVolumeType" set provisioning:type=thin thin_provisioning_support='<is> True'
$ cinder type-create "ThinVolumeType" $ cinder type-key "ThinVolumeType" set provisioning:type=thin thin_provisioning_support='<is> True'Copy to Clipboard Copied! Toggle word wrap Toggle overflow deduplicated
Volume isthinand deduplication is enabled. The administrator shall go to VNX to configure the system level deduplication settings. To create a deduplicated volume, the VNX Deduplication license must be activated on VNX, and specifydeduplication_support=Trueto let Block Storage scheduler find the proper volume back end.Example 2.7. creating a
deduplicatedvolume type:cinder type-create "DeduplicatedVolumeType" cinder type-key "DeduplicatedVolumeType" set provisioning:type=deduplicated deduplication_support='<is> True'
$ cinder type-create "DeduplicatedVolumeType" $ cinder type-key "DeduplicatedVolumeType" set provisioning:type=deduplicated deduplication_support='<is> True'Copy to Clipboard Copied! Toggle word wrap Toggle overflow compressed
Volume isthinand compression is enabled. The administrator shall go to the VNX to configure the system level compression settings. To create a compressed volume, the VNX Compression license must be activated on VNX , and usecompression_support=Trueto let Block Storage scheduler find a volume back end. VNX does not support creating snapshots on a compressed volume.Example 2.8. creating a
compressedvolume type:cinder type-create "CompressedVolumeType" cinder type-key "CompressedVolumeType" set provisioning:type=compressed compression_support='<is> True'
$ cinder type-create "CompressedVolumeType" $ cinder type-key "CompressedVolumeType" set provisioning:type=compressed compression_support='<is> True'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Default:
thick
provisioning:type replaces the old spec key storagetype:provisioning. The latter one will be obsoleted in the next release. If both provisioning:typeand storagetype:provisioning are set in the volume type, the value of provisioning:type will be used.
2.1.6.4.2. Storage tiering support Copier lienLien copié sur presse-papiers!
- Key:
storagetype:tiering - Possible Values:
StartHighThenAutoAutoHighestAvailableLowestAvailableNoMovement
- Default:
StartHighThenAuto
storagetype:tiering to set the tiering policy of a volume and use the key fast_support='<is> True' to let Block Storage scheduler find a volume back end which manages a VNX with FAST license activated. Here are the five supported values for the extra spec key storagetype:tiering:
Example 2.9. creating a volume types with tiering policy:
cinder type-create "ThinVolumeOnLowestAvaibleTier" cinder type-key "CompressedVolumeOnLowestAvaibleTier" set provisioning:type=thin storagetype:tiering=Auto fast_support='<is> True'
$ cinder type-create "ThinVolumeOnLowestAvaibleTier"
$ cinder type-key "CompressedVolumeOnLowestAvaibleTier" set provisioning:type=thin storagetype:tiering=Auto fast_support='<is> True'
2.1.6.4.3. FAST cache support Copier lienLien copié sur presse-papiers!
- Key:
fast_cache_enabled - Possible Values:
TrueFalse
- Default:
False
True is specified.
2.1.6.4.4. Snap-copy Copier lienLien copié sur presse-papiers!
- Key:
copytype:snap - Possible Values:
TrueFalse
- Default:
False
copytype:snap=True in the extra specs of its volume type. Then the new volume cloned from the source or copied from the snapshot for the source, will be in fact a snap-copy instead of a full copy. If a full copy is needed, retype/migration can be used to convert the snap-copy volume to a full-copy volume which may be time-consuming.
cinder type-create "SnapCopy" cinder type-key "SnapCopy" set copytype:snap=True
$ cinder type-create "SnapCopy"
$ cinder type-key "SnapCopy" set copytype:snap=True
cinder metadata-show <volume>
$ cinder metadata-show <volume>
copytype:snap=Trueis not allowed in the volume type of a consistency group.- Clone and snapshot creation are not allowed on a copied volume created through the snap-copy before it is converted to a full copy.
- The number of snap-copy volume created from a source volume is limited to 255 at one point in time.
- The source volume which has snap-copy volume can not be deleted.
2.1.6.4.5. Pool name Copier lienLien copié sur presse-papiers!
- Key:
pool_name - Possible Values: name of the storage pool managed by cinder
- Default: None
Example 2.10. Creating the volume type:
cinder type-create "HighPerf" cinder type-key "HighPerf" set pool_name=Pool_02_SASFLASH volume_backend_name=vnx_41
$ cinder type-create "HighPerf"
$ cinder type-key "HighPerf" set pool_name=Pool_02_SASFLASH volume_backend_name=vnx_41
2.1.6.4.6. Obsoleted extra specs in Mitaka Copier lienLien copié sur presse-papiers!
storagetype:provisioningstoragetype:pool
2.1.6.5. Advanced features Copier lienLien copié sur presse-papiers!
2.1.6.5.1. Read-only volumes Copier lienLien copié sur presse-papiers!
cinder readonly-mode-update <volume> True
$ cinder readonly-mode-update <volume> True
2.1.6.5.2. Efficient non-disruptive volume backup Copier lienLien copié sur presse-papiers!
- Backup creation for a snap-copy volume is not allowed if the volume status is
in-usesince snapshot cannot be taken from this volume.
2.1.6.6. Best practice Copier lienLien copié sur presse-papiers!
2.1.6.6.1. Multipath setup Copier lienLien copié sur presse-papiers!
- Install
multipath-tools,sysfsutilsandsg3-utilson nodes hosting Nova-Compute and Cinder-Volume services (Check the operating system manual for the system distribution for specific installation steps. For Red Hat based distributions, they should bedevice-mapper-multipath,sysfsutilsandsg3_utils). - Specify
use_multipath_for_image_xfer=truein cinder.conf for each FC/iSCSI back end. - Specify
iscsi_use_multipath=Trueinlibvirtsection ofnova.conf. This option is valid for both iSCSI and FC driver.
/etc/multipath.conf.
user_friendly_names is not specified in the configuration and thus it will take the default value no. It is NOT recommended to set it to yes because it may fail operations such as VM live migration.
faulty_device_cleanup.py mitigates this issue when VNX iSCSI storage is used. Cloud administrators can deploy the script in all Nova-Compute nodes and use a CRON job to run the script on each Nova-Compute node periodically so that faulty devices will not stay too long. See VNX faulty device cleanup for detailed usage and the script.
2.1.6.7. Restrictions and limitations Copier lienLien copié sur presse-papiers!
2.1.6.7.1. iSCSI port cache Copier lienLien copié sur presse-papiers!
periodic_interval in cinder.conf) before any volume attachment operation after changing the iSCSI port configurations. Otherwise the attachment may fail because the old iSCSI port configurations were used.
2.1.6.7.2. No extending for volume with snapshots Copier lienLien copié sur presse-papiers!
error_extending.
2.1.6.7.3. Limitations for deploying cinder on computer node Copier lienLien copié sur presse-papiers!
cinder upload-to-image --force True is used against an in-use volume. Otherwise, cinder upload-to-image --force True will terminate the data access of the vm instance to the volume.
2.1.6.7.4. Storage group with host names in VNX Copier lienLien copié sur presse-papiers!
2.1.6.7.5. EMC storage-assisted volume migration Copier lienLien copié sur presse-papiers!
cinder migrate --force-host-copy False <volume_id> <host> or cinder migrate <volume_id> <host>, cinder will try to leverage the VNX's native volume migration functionality.
- Volume migration between back ends with different storage protocol, ex, FC and iSCSI.
- Volume is to be migrated across arrays.
2.1.6.8. Appendix Copier lienLien copié sur presse-papiers!
2.1.6.8.1. Authenticate by security file Copier lienLien copié sur presse-papiers!
- Find out the Linux user id of the
cinder-volumeprocesses. Assuming the servicecinder-volumeis running by the accountcinder. - Run
suas root user. - In
/etc/passwd, changecinder:x:113:120::/var/lib/cinder:/bin/falsetocinder:x:113:120::/var/lib/cinder:/bin/bash(This temporary change is to make step 4 work.) - Save the credentials on behave of
cinderuser to a security file (assuming the array credentials areadmin/admininglobalscope). In the command below, the '-secfilepath' switch is used to specify the location to save the security file.su -l cinder -c '/opt/Navisphere/bin/naviseccli -AddUserSecurity -user admin -password admin -scope 0 -secfilepath <location>'
# su -l cinder -c '/opt/Navisphere/bin/naviseccli -AddUserSecurity -user admin -password admin -scope 0 -secfilepath <location>'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Change
cinder:x:113:120::/var/lib/cinder:/bin/bashback tocinder:x:113:120::/var/lib/cinder:/bin/falsein/etc/passwd - Remove the credentials options
san_login,san_passwordandstorage_vnx_authentication_typefrom cinder.conf. (normally it is/etc/cinder/cinder.conf). Add optionstorage_vnx_security_file_dirand set its value to the directory path of your security file generated in step 4. Omit this option if-secfilepathis not used in step 4. - Restart the
cinder-volumeservice to validate the change.
2.1.6.8.2. Register FC port with VNX Copier lienLien copié sur presse-papiers!
initiator_auto_registration=False.
cinder-volume service (Block Storage nodes) must be registered with the VNX as well.
- Assume
20:00:00:24:FF:48:BA:C2:21:00:00:24:FF:48:BA:C2is the WWN of a FC initiator port name of the compute node whose hostname and IP aremyhost1and10.10.61.1. Register20:00:00:24:FF:48:BA:C2:21:00:00:24:FF:48:BA:C2in Unisphere:- Login to Unisphere, go to .
- Refresh and wait until the initiator
20:00:00:24:FF:48:BA:C2:21:00:00:24:FF:48:BA:C2with SP PortA-1appears. - Click the button, select CLARiiON/VNX and enter the hostname (which is the output of the linux command
hostname) and IP address:- Hostname :
myhost1 - IP :
10.10.61.1 - Click
- Then host
10.10.61.1will appear under as well.
- Register the wwn with more ports if needed.
2.1.6.8.3. Register iSCSI port with VNX Copier lienLien copié sur presse-papiers!
initiator_auto_registration=False.
- On the compute node with IP address
10.10.61.1and hostnamemyhost1, execute the following commands (assuming10.10.61.35is the iSCSI target):- Start the iSCSI initiator service on the node
/etc/init.d/open-iscsi start
# /etc/init.d/open-iscsi startCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Discover the iSCSI target portals on VNX
iscsiadm -m discovery -t st -p 10.10.61.35
# iscsiadm -m discovery -t st -p 10.10.61.35Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Enter
/etc/iscsicd /etc/iscsi
# cd /etc/iscsiCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Find out the iqn of the node
more initiatorname.iscsi
# more initiatorname.iscsiCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- Login to VNX from the compute node using the target corresponding to the SPA port:
iscsiadm -m node -T iqn.1992-04.com.emc:cx.apm01234567890.a0 -p 10.10.61.35 -l
# iscsiadm -m node -T iqn.1992-04.com.emc:cx.apm01234567890.a0 -p 10.10.61.35 -lCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Assume
iqn.1993-08.org.debian:01:1a2b3c4d5f6gis the initiator name of the compute node. Registeriqn.1993-08.org.debian:01:1a2b3c4d5f6gin Unisphere:- Login to Unisphere, go to .
- Refresh and wait until the initiator
iqn.1993-08.org.debian:01:1a2b3c4d5f6gwith SP PortA-8v0appears. - Click the button, select CLARiiON/VNX and enter the hostname (which is the output of the linux command
hostname) and IP address:- Hostname :
myhost1 - IP :
10.10.61.1 - Click
- Then host
10.10.61.1will appear under as well.
- Logout iSCSI on the node:
iscsiadm -m node -u
# iscsiadm -m node -uCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Login to VNX from the compute node using the target corresponding to the SPB port:
iscsiadm -m node -T iqn.1992-04.com.emc:cx.apm01234567890.b8 -p 10.10.61.36 -l
# iscsiadm -m node -T iqn.1992-04.com.emc:cx.apm01234567890.b8 -p 10.10.61.36 -lCopy to Clipboard Copied! Toggle word wrap Toggle overflow - In Unisphere register the initiator with the SPB port.
- Logout iSCSI on the node:
iscsiadm -m node -u
# iscsiadm -m node -uCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Register the iqn with more ports if needed.
2.1.7. EMC XtremIO Block Storage driver configuration Copier lienLien copié sur presse-papiers!
2.1.7.1. Support matrix Copier lienLien copié sur presse-papiers!
- Xtremapp: Version 3.0 and 4.0
2.1.7.2. Supported operations Copier lienLien copié sur presse-papiers!
- Create, delete, clone, attach, and detach volumes
- Create and delete volume snapshots
- Create a volume from a snapshot
- Copy an image to a volume
- Copy a volume to an image
- Extend a volume
- Manage and unmanage a volume
- Get volume statistics
2.1.7.3. XtremIO Block Storage driver configuration Copier lienLien copié sur presse-papiers!
cinder.conf file by adding the configuration below under the [DEFAULT] section of the file in case of a single back end or under a separate section in case of multiple back ends (for example [XTREMIO]). The configuration file is usually located under the following path /etc/cinder/cinder.conf.
2.1.7.3.1. XtremIO driver name Copier lienLien copié sur presse-papiers!
- For iSCSI
volume_driver = cinder.volume.drivers.emc.xtremio.XtremIOIscsiDriver - For Fibre Channel
volume_driver = cinder.volume.drivers.emc.xtremio.XtremIOFibreChannelDriver
2.1.7.3.2. XtremIO management server (XMS) IP Copier lienLien copié sur presse-papiers!
san_ip = XMS Management IP
2.1.7.3.3. XtremIO cluster name Copier lienLien copié sur presse-papiers!
xtremio_cluster_name = Cluster-Name
2.1.7.3.4. XtremIO user credentials Copier lienLien copié sur presse-papiers!
san_login = XMS username
san_password = XMS username password
2.1.7.4. Multiple back ends Copier lienLien copié sur presse-papiers!
2.1.7.5. Setting thin provisioning and multipathing parameters Copier lienLien copié sur presse-papiers!
- Thin ProvisioningAll XtremIO volumes are thin provisioned. The default value of 20 should be maintained for the
max_over_subscription_ratioparameter.Theuse_cow_imagesparameter in thenova.conffile should be set to False as follows:use_cow_images = false - MultipathingThe
use_multipath_for_image_xferparameter in thecinder.conffile should be set to True as follows:use_multipath_for_image_xfer = true
2.1.7.6. Restarting OpenStack Block Storage Copier lienLien copié sur presse-papiers!
cinder.conffile and restart cinder by running the following command:
openstack-service restart cinder-volume
$ openstack-service restart cinder-volume
2.1.7.7. Configuring CHAP Copier lienLien copié sur presse-papiers!
modify-chap chap-authentication-mode=initiator
$ modify-chap chap-authentication-mode=initiator
2.1.7.8. Configuration example Copier lienLien copié sur presse-papiers!
cinder.conf example file Copier lienLien copié sur presse-papiers!
cinder.conf file by editing the necessary parameters as follows:
2.1.8. Fujitsu ETERNUS DX driver Copier lienLien copié sur presse-papiers!
System requirements
- Firmware version V10L30 or later is required.
- An Advanced Copy Feature license is required to create a snapshot and a clone.
- The pywbem should be installed on the Controller node.
Supported operations
- Create, delete, attach, and detach volumes.
- Create, list, and delete volume snapshots.
- Create a volume from a snapshot.
- Copy an image to a volume.
- Copy a volume to an image.
- Clone a volume.
- Extend a volume. [1]
- Get volume statistics.
2.1.8.1. Configure the Fujitsu ETERNUS device Copier lienLien copié sur presse-papiers!
Before you can define the Fujitsu ETERNUS device as a Block Storage back end, you need to configure storage pools and ports on the device first. Consult your device documentation for details on each step:
- Set up a LAN connection between the Controller nodes (where the Block Storage service is hosted) and MNT ports of the ETERNUS device.
- Set up a SAN connection between the Compute nodes and CA ports of the ETERNUS device.
- Log in to the ETERNUS device using an account with the Admin role.
- Enable the SMI-S of ETERNUS DX.
- Register an Advanced Copy Feature license and configure the copy table size.
Create a storage pool for volumes. This pool will be used later in the EternusPool setting in Section 2.1.8.2, “Configuring the Back End”.
NoteIf you want to create volume snapshots on a different storage pool, create a storage pool for that as well. This pool will be used in the EternusSnapPool setting in Section 2.1.8.2, “Configuring the Back End”.
- Create a Snap Data Pool Volume (SDPV) to enable Snap Data Pool (SDP) for the create a snapshot function.
Configure storage ports to be used by the Block Storage service. Then:
- Set those ports to CA mode.
Enable the host-affinity settings of those storage ports. To enable host-affinity, run the following from the ETERNUS CLI for each port:
CLI> set PROTO-parameters -host-affinity enable -port CM# CA# PORT
CLI> set PROTO-parameters -host-affinity enable -port CM# CA# PORTCopy to Clipboard Copied! Toggle word wrap Toggle overflow Where: * PROTO defines which storage protocol is in use, as in fc (Fibre Channel) or iscsi. * CM# CA# refer to the controller enclosure where the port is located. * PORT is the port number.
2.1.8.2. Configuring the Back End Copier lienLien copié sur presse-papiers!
cinder.volume.drivers.fujitsu.eternus_dx_fc.FJDXFCDrive(fibre channel)cinder.volume.drivers.fujitsu.eternus_dx_iscsi.FJDXISCSIDriver(iSCSI)
volume_driver to the corresponding driver and cinder_eternus_config_file to point to the back end's XML configuration file. For example, if your fibre channel back end settings are defined in /etc/cinder/eternus-dx.xml, use:
volume_driver = cinder.volume.drivers.fujitsu.eternus_dx_fc.FJDXFCDriver cinder_eternus_config_file = /etc/cinder/eternus_dx.xml
volume_driver = cinder.volume.drivers.fujitsu.eternus_dx_fc.FJDXFCDriver
cinder_eternus_config_file = /etc/cinder/eternus_dx.xml
cinder_eternus_config_file, then the driver will use cinder_eternus_config_file = etc/cinder/cinder_fujitsu_eternus_dx.xml by default.
- EternusIP
- IP address of the SMI-S connection of the ETERNUS device. Specifically, use the IP address of the MNT port of the device.
- EternusPort
- port number for the SMI-S connection port of the ETERNUS device.
- EternusUser
- User name to be used for the SMI-S connection (EternusIP).
- EternusPassword
- Corresponding password of EternusUser on EternusIP.
- EternusPool
- Name of the storage pool created for volumes (from Section 2.1.8.1, “Configure the Fujitsu ETERNUS device”). Specifically, use the pool’s RAID Group name or TPP name in the ETERNUS device.
- EternusSnapPool
- Name of the storage pool created for volume snapshots (from Section 2.1.8.1, “Configure the Fujitsu ETERNUS device”). Specifically, use the pool’s RAID Group name in the ETERNUS device. If you did not create a different pool for snapshots, use the same value as EternusPool.
- EternusISCSIIP
- (ISCSI only) IP address for iSCSI connections to the ETERNUS device. You can specify multiple IPs by creating an entry for each one.
2.1.9. HDS HNAS iSCSI and NFS driver Copier lienLien copié sur presse-papiers!
2.1.9.1. Supported operations Copier lienLien copié sur presse-papiers!
- Create, delete, attach, and detach volumes.
- Create, list, and delete volume snapshots.
- Create a volume from a snapshot.
- Copy an image to a volume.
- Copy a volume to an image.
- Clone a volume.
- Extend a volume.
- Get volume statistics.
- Manage and unmanage a volume.
2.1.9.2. HNAS storage requirements Copier lienLien copié sur presse-papiers!
replication target. Additionally:
- For NFS:
- Create NFS exports, choose a path for them (it must be different from "/") and set the Show snapshots option to
hide and disable access.Also, in the "Access Configuration" set the optionnorootsquash, e.g."* (rw, norootsquash)",so HNAS cinder driver can change the permissions of its volumes.In order to use the hardware accelerated features of NFS HNAS, we recommend settingmax-nfs-versionto 3. Refer to HNAS command line reference to see how to configure this option. - For iSCSI:
- You need to set an iSCSI domain.
2.1.9.3. Block storage host requirements Copier lienLien copié sur presse-papiers!
2.1.9.4. Package installation Copier lienLien copié sur presse-papiers!
- Install the dependencies:
yum install nfs-utils nfs-utils-lib
# yum install nfs-utils nfs-utils-libCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Configure the driver as described in the Section 2.1.9.5, “Driver configuration” section.
- Restart all cinder services (volume, scheduler and backup).
2.1.9.5. Driver configuration Copier lienLien copié sur presse-papiers!
cinder.conf configuration file. Below are the configuration needed in the cinder.conf configuration file [2]:
[DEFAULT] enabled_backends = hnas_iscsi1, hnas_nfs1
[DEFAULT]
enabled_backends = hnas_iscsi1, hnas_nfs1
[hnas_iscsi1] volume_driver = cinder.volume.drivers.hitachi.hnas_iscsi.HDSISCSIDriver hds_hnas_iscsi_config_file = /path/to/config/hnas_config_file.xml volume_backend_name = HNAS-ISCSI
[hnas_iscsi1]
volume_driver = cinder.volume.drivers.hitachi.hnas_iscsi.HDSISCSIDriver
hds_hnas_iscsi_config_file = /path/to/config/hnas_config_file.xml
volume_backend_name = HNAS-ISCSI
[hnas_nfs1] volume_driver = cinder.volume.drivers.hitachi.hnas_nfs.HDSNFSDriver hds_hnas_nfs_config_file = /path/to/config/hnas_config_file.xml volume_backend_name = HNAS-NFS
[hnas_nfs1]
volume_driver = cinder.volume.drivers.hitachi.hnas_nfs.HDSNFSDriver
hds_hnas_nfs_config_file = /path/to/config/hnas_config_file.xml
volume_backend_name = HNAS-NFS
2.1.9.6. HNAS volume driver XML configuration options Copier lienLien copié sur presse-papiers!
svc_n tag (svc_0, svc_1, svc_2, or svc_3 [3], for example). These are the configuration options available for each service label:
| Option | Type | Default | Description |
volume_type
|
Required
|
default
|
When a
create_volume call with a certain volume type happens, the volume type will try to be matched up with this tag. In each configuration file you must define the default volume type in the service labels and, if no volume type is specified, the default is used. Other labels are case sensitive and should match exactly. If no configured volume types match the incoming requested type, an error occurs in the volume creation.
|
iscsi_ip
|
Required only for iSCSI
|
|
An iSCSI IP address dedicated to the service.
|
hdp
|
Required
|
|
For iSCSI driver: virtual file system label associated with the service.
For NFS driver: path to the volume (<ip_address>:/<path>) associated with the service.
Additionally, this entry must be added in the file used to list available NFS shares. This file is located, by default, in
/etc/cinder/nfs_shares or you can specify the location in the nfs_shares_config option in the cinder.conf configuration file.
|
config section of the XML config file:
| Option | Type | Default | Description |
mgmt_ip0
|
Required
|
|
Management Port 0 IP address. Should be the IP address of the "Admin" EVS.
|
hnas_cmd
|
Optional
|
ssc
|
Command to communicate to HNAS array.
|
chap_enabled
|
Optional (iSCSI only)
|
True
|
Boolean tag used to enable CHAP authentication protocol.
|
username
|
Required
|
supervisor
|
It's always required on HNAS.
|
password
|
Required
|
supervisor
|
Password is always required on HNAS.
|
svc_0, svc_1, svc_2, svc_3
|
Optional
|
(at least one label has to be defined)
|
Service labels: these four predefined names help four different sets of configuration options. Each can specify HDP and a unique volume type.
|
cluster_admin_ip0
|
Optional if
ssh_enabled is True
|
The address of HNAS cluster admin.
|
|
ssh_enabled
|
Optional
|
False
|
Enables SSH authentication between Block Storage host and the SMU.
|
ssh_private_key
|
Required if
ssh_enabled is True
|
False
|
Path to the SSH private key used to authenticate in HNAS SMU. The public key must be uploaded to HNAS SMU using
ssh-register-public-key (this is an SSH subcommand). Note that copying the public key HNAS using ssh-copy-id doesn't work properly as the SMU periodically wipe out those keys.
|
2.1.9.7. Service labels Copier lienLien copié sur presse-papiers!
volume_type per service. Each volume_type must have the metadata service_label with the same name configured in the <volume_type> section of that service. If this is not set, OpenStack Block Storage will schedule the volume creation to the pool with largest available free space or other criteria configured in volume filters.
cinder type-create default cinder type-key default set service_label=default cinder type-create platinum-tier cinder type-key platinum set service_label=platinum
$ cinder type-create default
$ cinder type-key default set service_label=default
$ cinder type-create platinum-tier
$ cinder type-key platinum set service_label=platinum
2.1.9.8. Multi-back-end configuration Copier lienLien copié sur presse-papiers!
volume_backend_name option to the appropriate back end. Then, create volume_type configurations with the same volume_backend_name .
cinder type-create 'iscsi' cinder type-key 'iscsi' set volume_backend_name = 'HNAS-ISCSI' cinder type-create 'nfs' cinder type-key 'nfs' set volume_backend_name = 'HNAS-NFS'
$ cinder type-create 'iscsi'
$ cinder type-key 'iscsi' set volume_backend_name = 'HNAS-ISCSI'
$ cinder type-create 'nfs'
$ cinder type-key 'nfs' set volume_backend_name = 'HNAS-NFS'
svc_0, svc_1, svc_2, svc_3) on the instances need to have a volume_type and service_label metadata associated with it. If no metadata is associated with a pool, OpenStack Block Storage filtering algorithm selects the pool with the largest available free space.
2.1.9.9. SSH configuration Copier lienLien copié sur presse-papiers!
- If you don't have a pair of public keys already generated, create it in the Block Storage host (leave the pass-phrase empty):
mkdir -p /opt/hds/ssh ssh-keygen -f /opt/hds/ssh/hnaskey
$ mkdir -p /opt/hds/ssh $ ssh-keygen -f /opt/hds/ssh/hnaskeyCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Change the owner of the key to
cinder(or the user the volume service will be run):chown -R cinder.cinder /opt/hds/ssh
# chown -R cinder.cinder /opt/hds/sshCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Create the directory "ssh_keys" in the SMU server:
ssh [manager|supervisor]@<smu-ip> 'mkdir -p /var/opt/mercury-main/home/[manager|supervisor]/ssh_keys/'
$ ssh [manager|supervisor]@<smu-ip> 'mkdir -p /var/opt/mercury-main/home/[manager|supervisor]/ssh_keys/'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Copy the public key to the "ssh_keys" directory:
scp /opt/hds/ssh/hnaskey.pub [manager|supervisor]@<smu-ip>:/var/opt/mercury-main/home/[manager|supervisor]/ssh_keys/
$ scp /opt/hds/ssh/hnaskey.pub [manager|supervisor]@<smu-ip>:/var/opt/mercury-main/home/[manager|supervisor]/ssh_keys/Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Access the SMU server:
ssh [manager|supervisor]@<smu-ip>
$ ssh [manager|supervisor]@<smu-ip>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Run the command to register the SSH keys:
ssh-register-public-key -u [manager|supervisor] -f ssh_keys/hnaskey.pub
$ ssh-register-public-key -u [manager|supervisor] -f ssh_keys/hnaskey.pubCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Check the communication with HNAS in the Block Storage host:
ssh -i /opt/hds/ssh/hnaskey [manager|supervisor]@<smu-ip> 'ssc <cluster_admin_ip0> df -a'
$ ssh -i /opt/hds/ssh/hnaskey [manager|supervisor]@<smu-ip> 'ssc <cluster_admin_ip0> df -a'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
<cluster_admin_ip0> is "localhost" for single node deployments. This should return a list of available file systems on HNAS.
2.1.9.10. Editing the XML config file: Copier lienLien copié sur presse-papiers!
- Set the "username".
- Enable SSH adding the line
"<ssh_enabled> True</ssh_enabled>"under"<config>"section. - Set the private key path:
"<ssh_private_key> /opt/hds/ssh/hnaskey</ssh_private_key>"under"<config>"section. - If the HNAS is in a multi-cluster configuration set
"<cluster_admin_ip0>"to the cluster node admin IP. In a single node HNAS, leave it empty. - Restart cinder services.
2.1.9.11. Manage and unmanage Copier lienLien copié sur presse-papiers!
- Under the tab System -> Volumes choose the option
- Fill the fields Identifier, Host and Volume Type with volume information to be managed:
- ip:/type/volume_name Example: 172.24.44.34:/silver/volume-test
- host@backend-name#pool_name Example: myhost@hnas-nfs#test_silver
- volume_name Example: volume-test
- choose a type of volume Example: silver
- Under the tab System -> Volumes choose the option
- Fill the fields Identifier, Host, Volume Name and Volume Type with volume information to be managed:
- filesystem-name/volume-name Example: filesystem-test/volume-test
- host@backend-name#pool_name Example: myhost@hnas-iscsi#test_silver
- volume_name Example: volume-test
- choose a type of volume Example: silver
cinder --os-volume-api-version 2 manage [--source-name <source-name>][--id-type <id-type>] [--name <name>][--description <description>][--volume-type <volume-type>] [--availability-zone <availability-zone>][--metadata [<key=value> [<key=value> ...]]][--bootable] <host> [<key=value> [<key=value> ...]]
$ cinder --os-volume-api-version 2 manage [--source-name <source-name>][--id-type <id-type>] [--name <name>][--description <description>][--volume-type <volume-type>] [--availability-zone <availability-zone>][--metadata [<key=value> [<key=value> ...]]][--bootable] <host> [<key=value> [<key=value> ...]]
cinder --os-volume-api-version 2 manage --name <volume-test> --volume-type <silver> --source-name <172.24.44.34:/silver/volume-test> <myhost@hnas-nfs#test_silver>
$ cinder --os-volume-api-version 2 manage --name <volume-test> --volume-type <silver> --source-name <172.24.44.34:/silver/volume-test> <myhost@hnas-nfs#test_silver>
cinder --os-volume-api-version 2 manage --name <volume-test> --volume-type <silver> --source-name <filesystem-test/volume-test> <myhost@hnas-iscsi#test_silver>
$ cinder --os-volume-api-version 2 manage --name <volume-test> --volume-type <silver> --source-name <filesystem-test/volume-test> <myhost@hnas-iscsi#test_silver>
- Under the tab [ System -> Volumes ] choose a volume
- On the volume options, choose
- Check the data and confirm.
cinder --os-volume-api-version 2 unmanage <volume>
$ cinder --os-volume-api-version 2 unmanage <volume>
cinder --os-volume-api-version 2 unmanage <voltest>
$ cinder --os-volume-api-version 2 unmanage <voltest>
2.1.9.12. Additional notes Copier lienLien copié sur presse-papiers!
- The
get_volume_stats()function always provides the available capacity based on the combined sum of all the HDPs that are used in these services labels. - After changing the configuration on the storage, the OpenStack Block Storage driver must be restarted.
- On Red Hat, if the system is configured to use SELinux, you need to set
"virt_use_nfs = on"for NFS driver work properly.setsebool -P virt_use_nfs on
# setsebool -P virt_use_nfs onCopy to Clipboard Copied! Toggle word wrap Toggle overflow - It is not possible to manage a volume if there is a slash ('/') or a colon (':') on the volume name.
2.1.10. Hitachi storage volume driver Copier lienLien copié sur presse-papiers!
2.1.10.1. System requirements Copier lienLien copié sur presse-papiers!
- Hitachi Virtual Storage Platform G1000 (VSP G1000)
- Hitachi Virtual Storage Platform (VSP)
- Hitachi Unified Storage VM (HUS VM)
- Hitachi Unified Storage 100 Family (HUS 100 Family)
- RAID Manager Ver 01-32-03/01 or later for VSP G1000/VSP/HUS VM
- Hitachi Storage Navigator Modular 2 (HSNM2) Ver 27.50 or later for HUS 100 Family
/usr/stonavm.
- Hitachi In-System Replication Software for VSP G1000/VSP/HUS VM
- (Mandatory) ShadowImage in-system replication for HUS 100 Family
- (Optional) Copy-on-Write Snapshot for HUS 100 Family
2.1.10.2. Supported operations Copier lienLien copié sur presse-papiers!
- Create, delete, attach and detach volumes.
- Create, list and delete volume snapshots.
- Create a volume from a snapshot.
- Copy a volume to an image.
- Copy an image to a volume.
- Clone a volume.
- Extend a volume.
- Get volume statistics.
2.1.10.3. Configuration Copier lienLien copié sur presse-papiers!
Set up Hitachi storage Copier lienLien copié sur presse-papiers!
- Create a Dynamic Provisioning pool.
- Connect the ports at the storage to the Controller node and Compute nodes.
- For VSP G1000/VSP/HUS VM, set "port security" to "enable" for the ports at the storage.
- For HUS 100 Family, set "Host Group security"/"iSCSI target security" to "ON" for the ports at the storage.
- For the ports at the storage, create host groups (iSCSI targets) whose names begin with HBSD- for the Controller node and each Compute node. Then register a WWN (initiator IQN) for each of the Controller node and Compute nodes.
- For VSP G1000/VSP/HUS VM, perform the following:
- Create a storage device account belonging to the Administrator User Group. (To use multiple storage devices, create the same account name for all the target storage devices, and specify the same resource group and permissions.)
- Create a command device (In-Band), and set user authentication to ON.
- Register the created command device to the host group for the Controller node.
- To use the Thin Image function, create a pool for Thin Image.
- For HUS 100 Family, perform the following:
- Use the command auunitaddauto to register the unit name and controller of the storage device to HSNM2.
- When connecting via iSCSI, if you are using CHAP certification, specify the same user and password as that used for the storage port.
Set up Hitachi Gigabit Fibre Channel adaptor Copier lienLien copié sur presse-papiers!
/opt/hitachi/drivers/hba/hfcmgr -E hfc_rport_lu_scan 1 dracut -f initramfs-KERNEL_VERSION.img KERNEL_VERSION reboot
# /opt/hitachi/drivers/hba/hfcmgr -E hfc_rport_lu_scan 1
# dracut -f initramfs-KERNEL_VERSION.img KERNEL_VERSION
# reboot
Set up Hitachi storage volume driver Copier lienLien copié sur presse-papiers!
- Create directory.
mkdir /var/lock/hbsd chown cinder:cinder /var/lock/hbsd
# mkdir /var/lock/hbsd # chown cinder:cinder /var/lock/hbsdCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Create "volume type" and "volume key".This example shows that HUS100_SAMPLE is created as "volume type" and hus100_backend is registered as "volume key".
cinder type-create HUS100_SAMPLE cinder type-key HUS100_SAMPLE set volume_backend_name=hus100_backend
$ cinder type-create HUS100_SAMPLE $ cinder type-key HUS100_SAMPLE set volume_backend_name=hus100_backendCopy to Clipboard Copied! Toggle word wrap Toggle overflow Specify any identical "volume type" name and "volume key".To confirm the created "volume type", execute the following command:cinder extra-specs-list
$ cinder extra-specs-listCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Edit
/etc/cinder/cinder.confas follows.If you use Fibre Channel:volume_driver = cinder.volume.drivers.hitachi.hbsd_fc.HBSDFCDriver
volume_driver = cinder.volume.drivers.hitachi.hbsd_fc.HBSDFCDriverCopy to Clipboard Copied! Toggle word wrap Toggle overflow If you use iSCSI:volume_driver = cinder.volume.drivers.hitachi.hbsd_iscsi.HBSDISCSIDriver
volume_driver = cinder.volume.drivers.hitachi.hbsd_iscsi.HBSDISCSIDriverCopy to Clipboard Copied! Toggle word wrap Toggle overflow Also, setvolume_backend_namecreated by cinder type-keyvolume_backend_name = hus100_backend
volume_backend_name = hus100_backendCopy to Clipboard Copied! Toggle word wrap Toggle overflow This table shows configuration options for Hitachi storage volume driver.Expand Table 2.8. Description of Hitachi storage volume driver configuration options Configuration option = Default value Description [DEFAULT] hitachi_add_chap_user= False(BoolOpt) Add CHAP user hitachi_async_copy_check_interval= 10(IntOpt) Interval to check copy asynchronously hitachi_auth_method= None(StrOpt) iSCSI authentication method hitachi_auth_password= HBSD-CHAP-password(StrOpt) iSCSI authentication password hitachi_auth_user= HBSD-CHAP-user(StrOpt) iSCSI authentication username hitachi_copy_check_interval= 3(IntOpt) Interval to check copy hitachi_copy_speed= 3(IntOpt) Copy speed of storage system hitachi_default_copy_method= FULL(StrOpt) Default copy method of storage system hitachi_group_range= None(StrOpt) Range of group number hitachi_group_request= False(BoolOpt) Request for creating HostGroup or iSCSI Target hitachi_horcm_add_conf= True(BoolOpt) Add to HORCM configuration hitachi_horcm_numbers= 200,201(StrOpt) Instance numbers for HORCM hitachi_horcm_password= None(StrOpt) Password of storage system for HORCM hitachi_horcm_resource_lock_timeout= 600(IntOpt) Timeout until a resource lock is released, in seconds. The value must be between 0 and 7200. hitachi_horcm_user= None(StrOpt) Username of storage system for HORCM hitachi_ldev_range= None(StrOpt) Range of logical device of storage system hitachi_pool_id= None(IntOpt) Pool ID of storage system hitachi_serial_number= None(StrOpt) Serial number of storage system hitachi_target_ports= None(StrOpt) Control port names for HostGroup or iSCSI Target hitachi_thin_pool_id= None(IntOpt) Thin pool ID of storage system hitachi_unit_name= None(StrOpt) Name of an array unit hitachi_zoning_request= False(BoolOpt) Request for FC Zone creating HostGroup - Restart Block Storage service.When the startup is done, "MSGID0003-I: The storage backend can be used." is output into
/var/log/cinder/volume.logas follows.2014-09-01 10:34:14.169 28734 WARNING cinder.volume.drivers.hitachi. hbsd_common [req-a0bb70b5-7c3f-422a-a29e-6a55d6508135 None None] MSGID0003-I: The storage backend can be used. (config_group: hus100_backend)
2014-09-01 10:34:14.169 28734 WARNING cinder.volume.drivers.hitachi. hbsd_common [req-a0bb70b5-7c3f-422a-a29e-6a55d6508135 None None] MSGID0003-I: The storage backend can be used. (config_group: hus100_backend)Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1.11. HPE 3PAR Fibre Channel and iSCSI drivers Copier lienLien copié sur presse-papiers!
HPE3PARFCDriver and HPE3PARISCSIDriver drivers, which are based on the Block Storage service (Cinder) plug-in architecture, run volume operations by communicating with the HPE 3PAR storage system over HTTP, HTTPS, and SSH connections. The HTTP and HTTPS communications use hp3parclient, which is part of the Python standard library.
2.1.11.1. System requirements Copier lienLien copié sur presse-papiers!
- HPE 3PAR Operating System software version 3.1.3 MU1 or higher.
- Deduplication provisioning requires SSD disks and HPE 3PAR Operating System software version 3.2.1 MU1 or higher.
- Enabling Flash Cache Policy requires the following:
- Array must contain SSD disks.
- HPE 3PAR Operating System software version 3.2.1 MU2 or higher.
- python-3parclient version 4.2.0 or newer.
- Array must have the Adaptive Flash Cache license installed.
- Flash Cache must be enabled on the array with the CLI command createflashcache SIZE, where SIZE must be in 16 GB increments. For example, createflashcache 128g will create 128 GB of Flash Cache for each node pair in the array.
- The Dynamic Optimization license is required to support any feature that results in a volume changing provisioning type or CPG. This may apply to the volume migrate, retype, and manage commands.
- The Virtual Copy License is required to support any feature that involves volume snapshots. This applies to the volume snapshot-* commands.
- HPE 3PAR drivers will now check the licenses installed on the array and disable driver capabilities based on available licenses. This will apply to thin provisioning, QoS support and volume replication.
- HPE 3PAR Web Services API Server must be enabled and running
- One Common Provisioning Group (CPG)
- Additionally, you must install the python-3parclient version 4.2.0 or newer from the Python standard library on the system with the enabled Block Storage service volume drivers.
2.1.11.2. Supported operations Copier lienLien copié sur presse-papiers!
- Create, delete, attach, and detach volumes.
- Create, list, and delete volume snapshots.
- Create a volume from a snapshot.
- Copy an image to a volume.
- Copy a volume to an image.
- Clone a volume.
- Extend a volume.
- Migrate a volume with back-end assistance.
- Retype a volume.
- Manage and unmanage a volume.
- Create, delete, update, snapshot, and clone consistency groups.
- Create and delete consistency group snapshots.
- Create a consistency group from a consistency group snapshot or another group.
cinder.api.contrib.types_extra_specs volume type extra specs extension module:
hpe3par:snap_cpghpe3par:provisioninghpe3par:personahpe3par:vvshpe3par:flash_cache
hpe3par:. For information about how to set the key-value pairs and associate them with a volume type, run the following command:
cinder help type-key
$ cinder help type-key
hpe3par:cpg- Defaults to thehpe3par_cpgsetting in thecinder.conffile.hpe3par:snap_cpg- Defaults to thehpe3par_snapsetting in thecinder.conffile. Ifhpe3par_snapis not set, it defaults to thehpe3par_cpgsetting.hpe3par:provisioning- Defaults to thin provisioning, the valid values arethin,full, anddedup.hpe3par:persona- Defaults to the2 - Generic-ALUApersona. The valid values are,1 - Generic,2 - Generic-ALUA,3 - Generic-legacy,4 - HPUX-legacy,5 - AIX-legacy,6 - EGENERA,7 - ONTAP-legacy,8 - VMware,9 - OpenVMS,10 - HPUX, and11 - WindowsServer.hpe3par:flash_cache- Defaults tofalse, the valid values aretrueandfalse.
cinder.api.contrib.qos_specs_manage qos specs extension module:
minBWSmaxBWSminIOPSmaxIOPSlatencypriority
cinder help qos-create
$ cinder help qos-create
cinder help qos-key
$ cinder help qos-key
cinder help qos-associate
$ cinder help qos-associate
hpe3par:vvs- The virtual volume set name that has been predefined by the Administrator with Quality of Service (QoS) rules associated to it. If you specify extra_specshpe3par:vvs, the qos_specsminIOPS,maxIOPS,minBWS, andmaxBWSsettings are ignored.minBWS- The QoS I/O issue bandwidth minimum goal in MBs. If not set, the I/O issue bandwidth rate has no minimum goal.maxBWS- The QoS I/O issue bandwidth rate limit in MBs. If not set, the I/O issue bandwidth rate has no limit.minIOPS- The QoS I/O issue count minimum goal. If not set, the I/O issue count has no minimum goal.maxIOPS- The QoS I/O issue count rate limit. If not set, the I/O issue count rate has no limit.latency- The latency goal in milliseconds.priority- The priority of the QoS rule over other rules. If not set, the priority is normal, valid values are low, normal and high.
hpe3par:flash_cache- The flash-cache policy, which can be turned on and off by setting the value totrueorfalse.
2.1.11.3. Enable the HPE 3PAR Fibre Channel and iSCSI drivers Copier lienLien copié sur presse-papiers!
HP3PARFCDriver and HP3PARISCSIDriver are installed with the OpenStack software.
- Install the
hp3parclientPython package on the OpenStack Block Storage system.pip install 'python-3parclient>=4.0,<5.0'
# pip install 'python-3parclient>=4.0,<5.0'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Verify that the HPE 3PAR Web Services API server is enabled and running on the HPE 3PAR storage system.
- Log onto the HP 3PAR storage system with administrator access.
ssh 3paradm@<HP 3PAR IP Address>
$ ssh 3paradm@<HP 3PAR IP Address>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - View the current state of the Web Services API Server.
showwsapi
# showwsapi -Service- -State- -HTTP_State- HTTP_Port -HTTPS_State- HTTPS_Port -Version- Enabled Active Enabled 8008 Enabled 8080 1.1Copy to Clipboard Copied! Toggle word wrap Toggle overflow - If the Web Services API Server is disabled, start it.
startwsapi
# startwsapiCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- If the HTTP or HTTPS state is disabled, enable one of them.or
setwsapi -http enable
# setwsapi -http enableCopy to Clipboard Copied! Toggle word wrap Toggle overflow setwsapi -https enable
# setwsapi -https enableCopy to Clipboard Copied! Toggle word wrap Toggle overflow NoteTo stop the Web Services API Server, use the stopwsapi command. For other options run the setwsapi –h command. - If you are not using an existing CPG, create a CPG on the HPE 3PAR storage system to be used as the default location for creating volumes.
- Make the following changes in the
/etc/cinder/cinder.conffile.Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteYou can enable only one driver on each cinder instance unless you enable multiple back-end support.NoteYou can configure one or more iSCSI addresses by using thehpe3par_iscsi_ipsoption. When you configure multiple addresses, the driver selects the iSCSI port with the fewest active volumes at attach time. The IP address might include an IP port by using a colon (:) to separate the address from port. If you do not define an IP port, the default port 3260 is used. Separate IP addresses with a comma (,). Theiscsi_ip_address/iscsi_portoptions might be used as an alternative tohpe3par_iscsi_ipsfor single port iSCSI configuration. - Save the changes to the
cinder.conffile and restart thecinder-volumeservice.
2.1.12. Huawei storage driver Copier lienLien copié sur presse-papiers!
Supported operations Copier lienLien copié sur presse-papiers!
- Create, delete, expand, attach, and detach volumes.
- Create and delete a snapshot.
- Copy an image to a volume.
- Copy a volume to an image.
- Create a volume from a snapshot.
- Clone a volume.
Configure block storage nodes Copier lienLien copié sur presse-papiers!
- Modify the
cinder.confconfiguration file and addvolume_driverandcinder_huawei_conf_file items.- Example for configuring a storage system:
volume_driver = cinder.volume.drivers.huawei.HuaweiVolumeDriver cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xml
volume_driver = cinder.volume.drivers.huawei.HuaweiVolumeDriver cinder_huawei_conf_file = /etc/cinder/cinder_huawei_conf.xmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- Example for configuring multiple storage systems:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- In
/etc/cinder, create a driver configuration file. The driver configuration file name must be the same as thecinder_huawei_conf_fileitem in thecinder_confconfiguration file. Configure product and protocol.
Product and Protocol indicate the storage system type and link type respectively. For the OceanStor 18000 series V100R001 storage systems, the driver configuration file is as follows:Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteNote for fibre channel driver configuration
- In the configuration files of OceanStor T series V200R002 and OceanStor V3 V300R002, parameter configurations are the same with the exception of the RestURL parameter. The following describes how to configure the RestURL parameter:
<RestURL>https://x.x.x.x:8088/deviceManager/rest/</RestURL>
<RestURL>https://x.x.x.x:8088/deviceManager/rest/</RestURL>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- For a Fibre Channel driver, you do not need to configure an iSCSI target IP address. Delete the iSCSI configuration from the preceding examples.
<iSCSI> <DefaultTargetIP>x.x.x.x</DefaultTargetIP> <Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/> <Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/> </iSCSI><iSCSI> <DefaultTargetIP>x.x.x.x</DefaultTargetIP> <Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/> <Initiator Name="xxxxxxxx" TargetIP="x.x.x.x"/> </iSCSI>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
This table describes the Huawei storage driver configuration options:Expand Table 2.9. Huawei storage driver configuration options Property Type Default Description ProductMandatory-Type of a storage product. Valid values areT,TV3, or18000.ProtocolMandatory -Type of a protocol. Valid values are iSCSIorFC.RestURLMandatory -Access address of the Rest port (required only for the 18000) UserNameMandatory-User name of an administratorUserPasswordMandatory-Password of an administratorLUNTypeOptionalThinType of a created LUN. Valid values areThickorThin.StripUnitSizeOptional64Stripe depth of a created LUN. The value is expressed in KB.This flag is not valid for a thin LUN.WriteTypeOptional1Cache write method. The method can be write back, write through, or Required write back. The default value is1, indicating write back.MirrorSwitchOptional1Cache mirroring policy. The default value is1, indicating that a mirroring policy is used.Prefetch TypeOptional 3Cache prefetch strategy. The strategy can be constant prefetch, variable prefetch, or intelligent prefetch. Default value is3, which indicates intelligent prefetch and is not required for the OceanStor 18000 series.Prefetch ValueOptional 0Cache prefetch value.LUNcopyWaitIntervalOptional 5After LUN copy is enabled, the plug-in frequently queries the copy progress. You can set a value to specify the query interval.TimeoutOptional 432,000Timeout period for waiting LUN copy of an array to complete.StoragePoolMandatory -Name of a storage pool that you want to use.DefaultTargetIPOptional -Default IP address of the iSCSI port provided for compute nodes.Initiator NameOptional -Name of a compute node initiator.Initiator TargetIPOptional -IP address of the iSCSI port provided for compute nodes.OSTypeOptional LinuxThe OS type for a compute node. HostIPOptional -The IPs for compute nodes. Note for the configuration- You can configure one iSCSI target port for each or all compute nodes. The driver checks whether a target port IP address is configured for the current compute node. If not, select
DefaultTargetIP. - Only one storage pool can be configured.
- For details about LUN configuration information, see the show lun general command in the command-line interface (CLI) documentation or run the help -c show lun general on the storage system CLI.
- After the driver is loaded, the storage system obtains any modification of the driver configuration file in real time and you do not need to restart the
cinder-volumeservice.
- Restart the Cinder service.
2.1.13. IBM Storwize family and SVC volume driver Copier lienLien copié sur presse-papiers!
2.1.13.1. Configure the Storwize family and SVC system Copier lienLien copié sur presse-papiers!
Network configuration Copier lienLien copié sur presse-papiers!
storwize_svc_multipath_enabled flag is set to True in the Cinder configuration file, the driver uses all available WWPNs to attach the volume to the instance (details about the configuration flags appear in the next section). If the flag is not set, the driver uses the WWPN associated with the volume's preferred node (if available), otherwise it uses the first available WWPN of the system. The driver obtains the WWPNs directly from the storage system; you do not need to provide these WWPNs directly to the driver.
iSCSI CHAP authentication Copier lienLien copié sur presse-papiers!
storwize_svc_iscsi_chap_enabled is set to True, the driver will associate randomly-generated CHAP secrets with all hosts on the Storwize family system. OpenStack compute nodes use these secrets when creating iSCSI connections.
Configure storage pools Copier lienLien copié sur presse-papiers!
storwize_svc_volpool_name configuration flag. Details about the configuration flags and how to provide the flags to the driver appear in the next section.
Configure user authentication for the driver Copier lienLien copié sur presse-papiers!
san_ip flag, and the management port should be provided by the san_ssh_port flag. By default, the port value is configured to be port 22 (SSH).
cinder-volume management driver has SSH network access to the storage system.
san_login and san_password, respectively.
san_private_key configuration flag.
Create a SSH key pair with OpenSSH Copier lienLien copié sur presse-papiers!
ssh-keygen -t rsa
$ ssh-keygen -t rsa
key and key.pub. The key file holds the private SSH key and key.pub holds the public SSH key.
san_private_key configuration flag. The public key should be uploaded to the Storwize family or SVC system using the storage management GUI or command line interface.
2.1.13.2. Configure the Storwize family and SVC driver Copier lienLien copié sur presse-papiers!
Enable the Storwize family and SVC driver Copier lienLien copié sur presse-papiers!
volume_driver option in cinder.conf as follows:
volume_driver = cinder.volume.drivers.ibm.storwize_svc.StorwizeSVCDriver
volume_driver = cinder.volume.drivers.ibm.storwize_svc.StorwizeSVCDriver
Storwize family and SVC driver options in cinder.conf Copier lienLien copié sur presse-papiers!
| Flag name | Type | Default | Description | ||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
san_ip
|
Required
|
|
Management IP or host name
|
||||||||||||||||||||||||||||||||||||||||||||||
san_ssh_port
|
Optional
|
22
|
Management port
|
||||||||||||||||||||||||||||||||||||||||||||||
san_login
|
Required
|
|
Management login username
|
||||||||||||||||||||||||||||||||||||||||||||||
san_password
|
Required [a]
|
|
Management login password
|
||||||||||||||||||||||||||||||||||||||||||||||
san_private_key
|
Required [a]
|
|
Management login SSH private key
|
||||||||||||||||||||||||||||||||||||||||||||||
storwize_svc_volpool_name
|
Required
|
|
Default pool name for volumes
|
||||||||||||||||||||||||||||||||||||||||||||||
storwize_svc_vol_rsize
|
Optional
|
2
|
Initial physical allocation (percentage) [b]
|
||||||||||||||||||||||||||||||||||||||||||||||
storwize_svc_vol_warning
|
Optional
|
0 (disabled)
|
Space allocation warning threshold (percentage) [b]
|
||||||||||||||||||||||||||||||||||||||||||||||
storwize_svc_vol_autoexpand
|
Optional
|
True
|
Enable or disable volume auto expand [c]
|
||||||||||||||||||||||||||||||||||||||||||||||
storwize_svc_vol_grainsize
|
Optional
|
256
|
Volume grain size [b] in KB
|
||||||||||||||||||||||||||||||||||||||||||||||
storwize_svc_vol_compression
|
Optional
|
False
|
Enable or disable Real-time Compression [d]
|
||||||||||||||||||||||||||||||||||||||||||||||
storwize_svc_vol_easytier
|
Optional
|
True
|
Enable or disable Easy Tier [e]
|
||||||||||||||||||||||||||||||||||||||||||||||
storwize_svc_vol_iogrp
|
Optional
|
0
|
The I/O group in which to allocate vdisks
|
||||||||||||||||||||||||||||||||||||||||||||||
storwize_svc_flashcopy_timeout
|
Optional
|
120
|
FlashCopy timeout threshold [f] (seconds)
|
||||||||||||||||||||||||||||||||||||||||||||||
storwize_svc_connection_protocol
|
Optional
|
iSCSI
|
Connection protocol to use (currently supports 'iSCSI' or 'FC')
|
||||||||||||||||||||||||||||||||||||||||||||||
storwize_svc_iscsi_chap_enabled
|
Optional
|
True
|
Configure CHAP authentication for iSCSI connections
|
||||||||||||||||||||||||||||||||||||||||||||||
storwize_svc_multipath_enabled
|
Optional
|
False
|
Enable multipath for FC connections [g]
|
||||||||||||||||||||||||||||||||||||||||||||||
storwize_svc_multihost_enabled
|
Optional
|
True
|
Enable mapping vdisks to multiple hosts [h]
|
||||||||||||||||||||||||||||||||||||||||||||||
storwize_svc_vol_nofmtdisk
|
Optional
|
False
|
Enable or disable fast format [i]
|
||||||||||||||||||||||||||||||||||||||||||||||
[a]
The authentication requires either a password ( san_password) or SSH private key (san_private_key). One must be specified. If both are specified, the driver uses only the SSH private key.
[b]
The driver creates thin-provisioned volumes by default. The storwize_svc_vol_rsize flag defines the initial physical allocation percentage for thin-provisioned volumes, or if set to -1, the driver creates full allocated volumes. More details about the available options are available in the Storwize family and SVC documentation.
[c]
Defines whether thin-provisioned volumes can be auto expanded by the storage system, a value of True means that auto expansion is enabled, a value of False disables auto expansion. Details about this option can be found in the –autoexpand flag of the Storwize family and SVC command line interface mkvdisk command.
[d]
Defines whether Real-time Compression is used for the volumes created with OpenStack. Details on Real-time Compression can be found in the Storwize family and SVC documentation. The Storwize or SVC system must have compression enabled for this feature to work.
[e]
Defines whether Easy Tier is used for the volumes created with OpenStack. Details on EasyTier can be found in the Storwize family and SVC documentation. The Storwize or SVC system must have Easy Tier enabled for this feature to work.
[f]
The driver wait timeout threshold when creating an OpenStack snapshot. This is actually the maximum amount of time that the driver waits for the Storwize family or SVC system to prepare a new FlashCopy mapping. The driver accepts a maximum wait time of 600 seconds (10 minutes).
[g]
Multipath for iSCSI connections requires no storage-side configuration and is enabled if the compute host has multipath configured.
[h]
This option allows the driver to map a vdisk to more than one host at a time. This scenario occurs during migration of a virtual machine with an attached volume; the volume is simultaneously mapped to both the source and destination compute hosts. If your deployment does not require attaching vdisks to multiple hosts, setting this flag to False will provide added safety.
[i]
Defines whether or not the fast formatting of thick-provisioned volumes is disabled at creation. The default value is False and a value of True means that fast format is disabled. Details about this option can be found in the –nofmtdisk flag of the Storwize family and SVC command line interface mkvdisk command.
| |||||||||||||||||||||||||||||||||||||||||||||||||
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
storwize_svc_allow_tenant_qos = False
|
(BoolOpt) Allow tenants to specify QOS on create |
storwize_svc_connection_protocol = iSCSI
|
(StrOpt) Connection protocol (iSCSI/FC) |
storwize_svc_flashcopy_timeout = 120
|
(IntOpt) Maximum number of seconds to wait for FlashCopy to be prepared. |
storwize_svc_iscsi_chap_enabled = True
|
(BoolOpt) Configure CHAP authentication for iSCSI connections (Default: Enabled) |
storwize_svc_multihostmap_enabled = True
|
(BoolOpt) Allows vdisk to multi host mapping |
storwize_svc_multipath_enabled = False
|
(BoolOpt) Connect with multipath (FC only; iSCSI multipath is controlled by Nova) |
storwize_svc_npiv_compatibility_mode = True
|
(BoolOpt) Indicate whether svc driver is compatible for NPIV setup. If it is compatible, it will allow no wwpns being returned on get_conn_fc_wwpns during initialize_connection. It should always be set to True. It will be deprecated and removed in M release. |
storwize_svc_stretched_cluster_partner = None
|
(StrOpt) If operating in stretched cluster mode, specify the name of the pool in which mirrored copies are stored.Example: "pool2" |
storwize_svc_vol_autoexpand = True
|
(BoolOpt) Storage system autoexpand parameter for volumes (True/False) |
storwize_svc_vol_compression = False
|
(BoolOpt) Storage system compression option for volumes |
storwize_svc_vol_easytier = True
|
(BoolOpt) Enable Easy Tier for volumes |
storwize_svc_vol_grainsize = 256
|
(IntOpt) Storage system grain size parameter for volumes (32/64/128/256) |
storwize_svc_vol_iogrp = 0
|
(IntOpt) The I/O group in which to allocate volumes |
storwize_svc_vol_rsize = 2
|
(IntOpt) Storage system space-efficiency parameter for volumes (percentage) |
storwize_svc_vol_warning = 0
|
(IntOpt) Storage system threshold for volume capacity warnings (percentage) |
storwize_svc_volpool_name = volpool
|
(StrOpt) Storage system storage pool for volumes |
Placement with volume types Copier lienLien copié sur presse-papiers!
extra specs of volume types, and used by the filter scheduler to determine placement of new volumes. Make sure to prefix these keys with capabilities: to indicate that the scheduler should use them. The following extra specs are supported:
- capabilities:volume_back-end_name - Specify a specific back-end where the volume should be created. The back-end name is a concatenation of the name of the IBM Storwize/SVC storage system as shown in
lssystem, an underscore, and the name of the pool (mdisk group). For example:capabilities:volume_back-end_name=myV7000_openstackpool
capabilities:volume_back-end_name=myV7000_openstackpoolCopy to Clipboard Copied! Toggle word wrap Toggle overflow - capabilities:compression_support - Specify a back-end according to compression support. A value of
Trueshould be used to request a back-end that supports compression, and a value ofFalsewill request a back-end that does not support compression. If you do not have constraints on compression support, do not set this key. Note that specifyingTruedoes not enable compression; it only requests that the volume be placed on a back-end that supports compression. Example syntax:capabilities:compression_support='<is> True'
capabilities:compression_support='<is> True'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - capabilities:easytier_support - Similar semantics as the
compression_supportkey, but for specifying according to support of the Easy Tier feature. Example syntax:capabilities:easytier_support='<is> True'
capabilities:easytier_support='<is> True'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - capabilities:storage_protocol - Specifies the connection protocol used to attach volumes of this type to instances. Legal values are
iSCSIandFC. Thisextra specsvalue is used for both placement and setting the protocol used for this volume. In the example syntax, note <in> is used as opposed to <is> used in the previous examples.capabilities:storage_protocol='<in> FC'
capabilities:storage_protocol='<in> FC'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Configure per-volume creation options Copier lienLien copié sur presse-papiers!
extra specs keys are supported by the IBM Storwize/SVC driver:
- rsize
- warning
- autoexpand
- grainsize
- compression
- easytier
- multipath
- iogrp
rsize=2 or compression=False.
Example: Volume types Copier lienLien copié sur presse-papiers!
cinder type-create compressed cinder type-key compressed set capabilities:storage_protocol='<in> iSCSI' capabilities:compression_support='<is> True' drivers:compression=True
$ cinder type-create compressed
$ cinder type-key compressed set capabilities:storage_protocol='<in> iSCSI' capabilities:compression_support='<is> True' drivers:compression=True
cinder create --display-name "compressed volume" --volume-type compressed 50
$ cinder create --display-name "compressed volume" --volume-type compressed 50
- performance levels (such as, allocating entirely on an HDD tier, using Easy Tier for an HDD-SDD mix, or allocating entirely on an SSD tier)
- resiliency levels (such as, allocating volumes in pools with different RAID levels)
- features (such as, enabling/disabling Real-time Compression)
QOS Copier lienLien copié sur presse-papiers!
etc/cinder/cinder.conf file and setting the storwize_svc_allow_tenant_qos to True.
IOThrotting parameter for storage volumes:
- Add the
qos:IOThrottlingkey into a QOS specification and associate it with a volume type. - Add the
qos:IOThrottlingkey into an extra specification with a volume type. - Add the
qos:IOThrottlingkey to the storage volume metadata.
2.1.13.3. Operational notes for the Storwize family and SVC driver Copier lienLien copié sur presse-papiers!
Migrate volumes Copier lienLien copié sur presse-papiers!
extent_size. If the pools have different values for extent_size, the data will still be moved directly between the pools (not host-side copy), but the operation will be synchronous.
Extend volumes Copier lienLien copié sur presse-papiers!
Snapshots and clones Copier lienLien copié sur presse-papiers!
Volume retype Copier lienLien copié sur presse-papiers!
- rsize
- warning
- autoexpand
- grainsize
- compression
- easytier
- iogrp
- nofmtdisk
rsize, grainsize or compression properties, volume copies are asynchronously synchronized on the array.
iogrp property, IBM Storwize/SVC firmware version 6.4.0 or later is required.
2.1.14. IBM XIV and DS8000 volume driver Copier lienLien copié sur presse-papiers!
cinder.conf, and use the following options to configure it.
volume_driver = cinder.volume.drivers.xiv_ds8k.XIVDS8KDriver
volume_driver = cinder.volume.drivers.xiv_ds8k.XIVDS8KDriver
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
san_clustername =
|
(StrOpt) Cluster name to use for creating volumes |
san_ip =
|
(StrOpt) IP address of SAN controller |
san_login = admin
|
(StrOpt) Username for SAN controller |
san_password =
|
(StrOpt) Password for SAN controller |
xiv_chap = disabled
|
(StrOpt) CHAP authentication mode, effective only for iscsi (disabled|enabled) |
xiv_ds8k_connection_type = iscsi
|
(StrOpt) Connection type to the IBM Storage Array |
xiv_ds8k_proxy = xiv_ds8k_openstack.nova_proxy.XIVDS8KNovaProxy
|
(StrOpt) Proxy driver that connects to the IBM Storage Array |
2.1.15. LVM Copier lienLien copié sur presse-papiers!
cinder.conf configuration file, and use the following options to configure for iSCSI transport:
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
iscsi_protocol = iscsi
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
iscsi_protocol = iscsi
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
iscsi_protocol = iser
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
iscsi_protocol = iser
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
lvm_conf_file = /etc/cinder/lvm.conf
|
(StrOpt) LVM conf file to use for the LVM driver in Cinder; this setting is ignored if the specified file does not exist (You can also specify 'None' to not use a conf file even if one exists). |
lvm_mirrors = 0
|
(IntOpt) If >0, create LVs with multiple mirrors. Note that this requires lvm_mirrors + 2 PVs with available space |
lvm_type = default
|
(StrOpt) Type of LVM volumes to deploy; (default, thin, or auto). Auto defaults to thin if thin is supported. |
volume_group = cinder-volumes
|
(StrOpt) Name for the VG that will contain exported volumes |
2.1.16. NetApp unified driver Copier lienLien copié sur presse-papiers!
2.1.16.1. NetApp clustered Data ONTAP storage family Copier lienLien copié sur presse-papiers!
2.1.16.1.1. NetApp iSCSI configuration for clustered Data ONTAP Copier lienLien copié sur presse-papiers!
Configuration options for clustered Data ONTAP family with iSCSI protocol Copier lienLien copié sur presse-papiers!
volume_driver, netapp_storage_family and netapp_storage_protocol options in cinder.conf as follows:
netapp_storage_protocol with iscsi.
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
netapp_login = None
|
(StrOpt) Administrative user account name used to access the storage system or proxy server. |
netapp_lun_ostype = None
|
(StrOpt) This option defines the type of operating system that will access a LUN exported from Data ONTAP; it is assigned to the LUN at the time it is created. |
netapp_lun_space_reservation = enabled
|
(StrOpt) This option determines if storage space is reserved for LUN allocation. If enabled, LUNs are thick provisioned. If space reservation is disabled, storage space is allocated on demand. |
netapp_partner_backend_name = None
|
(StrOpt) The name of the config.conf stanza for a Data ONTAP (7-mode) HA partner. This option is only used by the driver when connecting to an instance with a storage family of Data ONTAP operating in 7-Mode, and it is required if the storage protocol selected is FC. |
netapp_password = None
|
(StrOpt) Password for the administrative user account specified in the netapp_login option. |
netapp_pool_name_search_pattern = (.+)
|
(StrOpt) This option is used to restrict provisioning to the specified pools. Specify the value of this option to be a regular expression which will be applied to the names of objects from the storage backend which represent pools in Cinder. This option is only utilized when the storage protocol is configured to use iSCSI or FC. |
netapp_server_hostname = None
|
(StrOpt) The hostname (or IP address) for the storage system or proxy server. |
netapp_server_port = None
|
(IntOpt) The TCP port to use for communication with the storage system or proxy server. If not specified, Data ONTAP drivers will use 80 for HTTP and 443 for HTTPS; E-Series will use 8080 for HTTP and 8443 for HTTPS. |
netapp_size_multiplier = 1.2
|
(FloatOpt) The quantity to be multiplied by the requested volume size to ensure enough space is available on the virtual storage server (Vserver) to fulfill the volume creation request. Note: this option is deprecated and will be removed in favor of "reserved_percentage" in the Mitaka release. |
netapp_storage_family = ontap_cluster
|
(StrOpt) The storage family type used on the storage system; valid values are ontap_7mode for using Data ONTAP operating in 7-Mode, ontap_cluster for using clustered Data ONTAP, or eseries for using E-Series. |
netapp_storage_protocol = None
|
(StrOpt) The storage protocol to be used on the data path with the storage system. |
netapp_transport_type = http
|
(StrOpt) The transport protocol used when communicating with the storage system or proxy server. |
netapp_vserver = None
|
(StrOpt) This option specifies the virtual storage server (Vserver) name on the storage cluster on which provisioning of block storage volumes should occur. |
netapp_login that only has virtual storage server (Vserver) administration privileges (rather than cluster-wide administration privileges), some advanced features of the NetApp unified driver will not work and you may see warnings in the OpenStack Block Storage logs.
2.1.16.1.2. NetApp NFS configuration for clustered Data ONTAP Copier lienLien copié sur presse-papiers!
Configuration options for the clustered Data ONTAP family with NFS protocol Copier lienLien copié sur presse-papiers!
volume_driver, netapp_storage_family and netapp_storage_protocol options in cinder.conf as follows:
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
expiry_thres_minutes = 720
|
(IntOpt) This option specifies the threshold for last access time for images in the NFS image cache. When a cache cleaning cycle begins, images in the cache that have not been accessed in the last M minutes, where M is the value of this parameter, will be deleted from the cache to create free space on the NFS share. |
netapp_copyoffload_tool_path = None
|
(StrOpt) This option specifies the path of the NetApp copy offload tool binary. Ensure that the binary has execute permissions set which allow the effective user of the cinder-volume process to execute the file. |
netapp_host_type = None
|
(StrOpt) This option defines the type of operating system for all initiators that can access a LUN. This information is used when mapping LUNs to individual hosts or groups of hosts. |
netapp_host_type = None
|
(StrOpt) This option defines the type of operating system for all initiators that can access a LUN. This information is used when mapping LUNs to individual hosts or groups of hosts. |
netapp_login = None
|
(StrOpt) Administrative user account name used to access the storage system or proxy server. |
netapp_lun_ostype = None
|
(StrOpt) This option defines the type of operating system that will access a LUN exported from Data ONTAP; it is assigned to the LUN at the time it is created. |
netapp_partner_backend_name = None
|
(StrOpt) The name of the config.conf stanza for a Data ONTAP (7-mode) HA partner. This option is only used by the driver when connecting to an instance with a storage family of Data ONTAP operating in 7-Mode, and it is required if the storage protocol selected is FC. |
netapp_password = None
|
(StrOpt) Password for the administrative user account specified in the netapp_login option. |
netapp_pool_name_search_pattern = (.+)
|
(StrOpt) This option is used to restrict provisioning to the specified pools. Specify the value of this option to be a regular expression which will be applied to the names of objects from the storage backend which represent pools in Cinder. This option is only utilized when the storage protocol is configured to use iSCSI or FC. |
netapp_server_hostname = None
|
(StrOpt) The hostname (or IP address) for the storage system or proxy server. |
netapp_server_port = None
|
(IntOpt) The TCP port to use for communication with the storage system or proxy server. If not specified, Data ONTAP drivers will use 80 for HTTP and 443 for HTTPS; E-Series will use 8080 for HTTP and 8443 for HTTPS. |
netapp_storage_family = ontap_cluster
|
(StrOpt) The storage family type used on the storage system; valid values are ontap_7mode for using Data ONTAP operating in 7-Mode, ontap_cluster for using clustered Data ONTAP, or eseries for using E-Series. |
netapp_storage_protocol = None
|
(StrOpt) The storage protocol to be used on the data path with the storage system. |
netapp_transport_type = http
|
(StrOpt) The transport protocol used when communicating with the storage system or proxy server. |
netapp_vserver = None
|
(StrOpt) This option specifies the virtual storage server (Vserver) name on the storage cluster on which provisioning of block storage volumes should occur. |
thres_avl_size_perc_start = 20
|
(IntOpt) If the percentage of available space for an NFS share has dropped below the value specified by this option, the NFS image cache will be cleaned. |
thres_avl_size_perc_stop = 60
|
(IntOpt) When the percentage of available space on an NFS share has reached the percentage specified by this option, the driver will stop clearing files from the NFS image cache that have not been accessed in the last M minutes, where M is the value of the expiry_thres_minutes configuration option. |
netapp_login that only has virtual storage server (Vserver) administration privileges (rather than cluster-wide administration privileges), some advanced features of the NetApp unified driver will not work and you may see warnings in the OpenStack Block Storage logs.
NetApp NFS Copy Offload client Copier lienLien copié sur presse-papiers!
- The Image Service is configured to store images in an NFS share that is exported from a NetApp FlexVol volume and the destination for the new Block Storage volume will be on an NFS share exported from a different FlexVol volume than the one used by the Image Service. Both FlexVols must be located within the same cluster.
- The source image from the Image Service has already been cached in an NFS image cache within a Block Storage backend. The cached image resides on a different FlexVol volume than the destination for the new Block Storage volume. Both FlexVols must be located within the same cluster.
- Set the
default_storeconfiguration option tofile. - Set the
filesystem_store_datadirconfiguration option to the path to the Image Service NFS export. - Set the
show_image_direct_urlconfiguration option toTrue. - Set the
show_multiple_locationsconfiguration option toTrue.ImportantIf configured without the proper policy settings, a non-admin user of the Image Service can replace active image data (that is, switch out a current image without other users knowing). See the OSSN announcement (recommended actions) for configuration information: https://wiki.openstack.org/wiki/OSSN/OSSN-0065 - Set the
filesystem_store_metadata_fileconfiguration option to a metadata file. The metadata file should contain a JSON object that contains the correct information about the NFS export used by the Image Service, similar to:{ "share_location": "nfs://192.168.0.1/myGlanceExport", "mount_point": "/var/lib/glance/images", "type": "nfs" }{ "share_location": "nfs://192.168.0.1/myGlanceExport", "mount_point": "/var/lib/glance/images", "type": "nfs" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- Set the
netapp_copyoffload_tool_pathconfiguration option to the path to the NetApp Copy Offload binary. - Set the
glance_api_versionconfiguration option to2.
- The storage system must have Data ONTAP v8.2 or greater installed.
- The vStorage feature must be enabled on each storage virtual machine (SVM, also known as a Vserver) that is permitted to interact with the copy offload client.
- To configure the copy offload workflow, enable NFS v4.0 or greater and export it from the SVM.
netapp_copyoffload_tool_path configuration option, visit the Utility Toolchest page at the NetApp Support portal (login is required).
2.1.16.1.3. NetApp-supported extra specs for clustered Data ONTAP Copier lienLien copié sur presse-papiers!
| Extra spec | Type | Description | |||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
netapp_raid_type
|
String |
Limit the candidate volume list based on one of the following raid types: raid4, raid_dp.
|
|||||||||||||||||||||||||||||||||||||||||||||||
netapp_disk_type
|
String |
Limit the candidate volume list based on one of the following disk types: ATA, BSAS, EATA, FCAL, FSAS, LUN, MSATA, SAS, SATA, SCSI, XATA, XSAS, or SSD.
|
|||||||||||||||||||||||||||||||||||||||||||||||
netapp:qos_policy_group[a]
|
String | Specify the name of a QoS policy group, which defines measurable Service Level Objectives, that should be applied to the OpenStack Block Storage volume at the time of volume creation. Ensure that the QoS policy group object within Data ONTAP should be defined before an OpenStack Block Storage volume is created, and that the QoS policy group is not associated with the destination FlexVol volume. | |||||||||||||||||||||||||||||||||||||||||||||||
netapp_mirrored
|
Boolean | Limit the candidate volume list to only the ones that are mirrored on the storage controller. | |||||||||||||||||||||||||||||||||||||||||||||||
netapp_unmirrored[b]
|
Boolean | Limit the candidate volume list to only the ones that are not mirrored on the storage controller. | |||||||||||||||||||||||||||||||||||||||||||||||
netapp_dedup
|
Boolean | Limit the candidate volume list to only the ones that have deduplication enabled on the storage controller. | |||||||||||||||||||||||||||||||||||||||||||||||
netapp_nodedup[b]
|
Boolean | Limit the candidate volume list to only the ones that have deduplication disabled on the storage controller. | |||||||||||||||||||||||||||||||||||||||||||||||
netapp_compression
|
Boolean | Limit the candidate volume list to only the ones that have compression enabled on the storage controller. | |||||||||||||||||||||||||||||||||||||||||||||||
netapp_nocompression[b]
|
Boolean | Limit the candidate volume list to only the ones that have compression disabled on the storage controller. | |||||||||||||||||||||||||||||||||||||||||||||||
netapp_thin_provisioned
|
Boolean | Limit the candidate volume list to only the ones that support thin provisioning on the storage controller. | |||||||||||||||||||||||||||||||||||||||||||||||
netapp_thick_provisioned[b]
|
Boolean | Limit the candidate volume list to only the ones that support thick provisioning on the storage controller. | |||||||||||||||||||||||||||||||||||||||||||||||
[a]
Note that this extra spec has a colon ( :) in its name because it is used by the driver to assign the QoS policy group to the OpenStack Block Storage volume after it has been provisioned.
[b]
In the Juno release, these negative-assertion extra specs are formally deprecated by the NetApp unified driver. Instead of using the deprecated negative-assertion extra specs (for example, netapp_unmirrored) with a value of true, use the corresponding positive-assertion extra spec (for example, netapp_mirrored) with a value of false.
| |||||||||||||||||||||||||||||||||||||||||||||||||
2.1.16.2. NetApp Data ONTAP operating in 7-Mode storage family Copier lienLien copié sur presse-papiers!
2.1.16.2.1. NetApp iSCSI configuration for Data ONTAP operating in 7-Mode Copier lienLien copié sur presse-papiers!
Configuration options for the Data ONTAP operating in 7-Mode storage family with iSCSI protocol Copier lienLien copié sur presse-papiers!
volume_driver, netapp_storage_family and netapp_storage_protocol options in cinder.conf as follows:
netapp_storage_protocol with iscsi.
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
netapp_login = None
|
(StrOpt) Administrative user account name used to access the storage system or proxy server. |
netapp_partner_backend_name = None
|
(StrOpt) The name of the config.conf stanza for a Data ONTAP (7-mode) HA partner. This option is only used by the driver when connecting to an instance with a storage family of Data ONTAP operating in 7-Mode, and it is required if the storage protocol selected is FC. |
netapp_password = None
|
(StrOpt) Password for the administrative user account specified in the netapp_login option. |
netapp_pool_name_search_pattern = (.+)
|
(StrOpt) This option is used to restrict provisioning to the specified pools. Specify the value of this option to be a regular expression which will be applied to the names of objects from the storage backend which represent pools in Cinder. This option is only utilized when the storage protocol is configured to use iSCSI or FC. |
netapp_server_hostname = None
|
(StrOpt) The hostname (or IP address) for the storage system or proxy server. |
netapp_server_port = None
|
(IntOpt) The TCP port to use for communication with the storage system or proxy server. If not specified, Data ONTAP drivers will use 80 for HTTP and 443 for HTTPS; E-Series will use 8080 for HTTP and 8443 for HTTPS. |
netapp_size_multiplier = 1.2
|
(FloatOpt) The quantity to be multiplied by the requested volume size to ensure enough space is available on the virtual storage server (Vserver) to fulfill the volume creation request. Note: this option is deprecated and will be removed in favor of "reserved_percentage" in the Mitaka release. |
netapp_storage_family = ontap_cluster
|
(StrOpt) The storage family type used on the storage system; valid values are ontap_7mode for using Data ONTAP operating in 7-Mode, ontap_cluster for using clustered Data ONTAP, or eseries for using E-Series. |
netapp_storage_protocol = None
|
(StrOpt) The storage protocol to be used on the data path with the storage system. |
netapp_transport_type = http
|
(StrOpt) The transport protocol used when communicating with the storage system or proxy server. |
netapp_vfiler = None
|
(StrOpt) The vFiler unit on which provisioning of block storage volumes will be done. This option is only used by the driver when connecting to an instance with a storage family of Data ONTAP operating in 7-Mode. Only use this option when utilizing the MultiStore feature on the NetApp storage system. |
2.1.16.2.2. NetApp NFS configuration for Data ONTAP operating in 7-Mode Copier lienLien copié sur presse-papiers!
Configuration options for the Data ONTAP operating in 7-Mode family with NFS protocol Copier lienLien copié sur presse-papiers!
volume_driver, netapp_storage_family and netapp_storage_protocol options in cinder.conf as follows:
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
expiry_thres_minutes = 720
|
(IntOpt) This option specifies the threshold for last access time for images in the NFS image cache. When a cache cleaning cycle begins, images in the cache that have not been accessed in the last M minutes, where M is the value of this parameter, will be deleted from the cache to create free space on the NFS share. |
netapp_login = None
|
(StrOpt) Administrative user account name used to access the storage system or proxy server. |
netapp_partner_backend_name = None
|
(StrOpt) The name of the config.conf stanza for a Data ONTAP (7-mode) HA partner. This option is only used by the driver when connecting to an instance with a storage family of Data ONTAP operating in 7-Mode, and it is required if the storage protocol selected is FC. |
netapp_password = None
|
(StrOpt) Password for the administrative user account specified in the netapp_login option. |
netapp_pool_name_search_pattern = (.+)
|
(StrOpt) This option is used to restrict provisioning to the specified pools. Specify the value of this option to be a regular expression which will be applied to the names of objects from the storage backend which represent pools in Cinder. This option is only utilized when the storage protocol is configured to use iSCSI or FC. |
netapp_server_hostname = None
|
(StrOpt) The hostname (or IP address) for the storage system or proxy server. |
netapp_server_port = None
|
(IntOpt) The TCP port to use for communication with the storage system or proxy server. If not specified, Data ONTAP drivers will use 80 for HTTP and 443 for HTTPS; E-Series will use 8080 for HTTP and 8443 for HTTPS. |
netapp_storage_family = ontap_cluster
|
(StrOpt) The storage family type used on the storage system; valid values are ontap_7mode for using Data ONTAP operating in 7-Mode, ontap_cluster for using clustered Data ONTAP, or eseries for using E-Series. |
netapp_storage_protocol = None
|
(StrOpt) The storage protocol to be used on the data path with the storage system. |
netapp_transport_type = http
|
(StrOpt) The transport protocol used when communicating with the storage system or proxy server. |
netapp_vfiler = None
|
(StrOpt) The vFiler unit on which provisioning of block storage volumes will be done. This option is only used by the driver when connecting to an instance with a storage family of Data ONTAP operating in 7-Mode. Only use this option when utilizing the MultiStore feature on the NetApp storage system. |
thres_avl_size_perc_start = 20
|
(IntOpt) If the percentage of available space for an NFS share has dropped below the value specified by this option, the NFS image cache will be cleaned. |
thres_avl_size_perc_stop = 60
|
(IntOpt) When the percentage of available space on an NFS share has reached the percentage specified by this option, the driver will stop clearing files from the NFS image cache that have not been accessed in the last M minutes, where M is the value of the expiry_thres_minutes configuration option. |
2.1.16.3. NetApp E-Series storage family Copier lienLien copié sur presse-papiers!
2.1.16.3.1. NetApp iSCSI configuration for E-Series Copier lienLien copié sur presse-papiers!
- The
use_multipath_for_image_xferoption should be set toTruein thecinder.conffile within the driver-specific stanza (for example,[myDriver]). - The
iscsi_use_multipathoption should be set toTruein thenova.conffile within the[libvirt]stanza.
Configuration options for E-Series storage family with iSCSI protocol Copier lienLien copié sur presse-papiers!
volume_driver, netapp_storage_family and netapp_storage_protocol options in cinder.conf as follows:
netapp_storage_family with eseries.
netapp_storage_protocol with iscsi.
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
netapp_controller_ips = None
|
(StrOpt) This option is only utilized when the storage family is configured to eseries. This option is used to restrict provisioning to the specified controllers. Specify the value of this option to be a comma separated list of controller hostnames or IP addresses to be used for provisioning. |
netapp_enable_multiattach = False
|
(BoolOpt) This option specifies whether the driver should allow operations that require multiple attachments to a volume. An example would be live migration of servers that have volumes attached. When enabled, this backend is limited to 256 total volumes in order to guarantee volumes can be accessed by more than one host. |
netapp_host_type = None
|
(StrOpt) This option defines the type of operating system for all initiators that can access a LUN. This information is used when mapping LUNs to individual hosts or groups of hosts. |
netapp_login = None
|
(StrOpt) Administrative user account name used to access the storage system or proxy server. |
netapp_partner_backend_name = None
|
(StrOpt) The name of the config.conf stanza for a Data ONTAP (7-mode) HA partner. This option is only used by the driver when connecting to an instance with a storage family of Data ONTAP operating in 7-Mode, and it is required if the storage protocol selected is FC. |
netapp_password = None
|
(StrOpt) Password for the administrative user account specified in the netapp_login option. |
netapp_pool_name_search_pattern = (.+)
|
(StrOpt) This option is used to restrict provisioning to the specified pools. Specify the value of this option to be a regular expression which will be applied to the names of objects from the storage backend which represent pools in Cinder. This option is only utilized when the storage protocol is configured to use iSCSI or FC. |
netapp_sa_password = None
|
(StrOpt) Password for the NetApp E-Series storage array. |
netapp_server_hostname = None
|
(StrOpt) The hostname (or IP address) for the storage system or proxy server. |
netapp_server_port = None
|
(IntOpt) The TCP port to use for communication with the storage system or proxy server. If not specified, Data ONTAP drivers will use 80 for HTTP and 443 for HTTPS; E-Series will use 8080 for HTTP and 8443 for HTTPS. |
netapp_storage_family = ontap_cluster
|
(StrOpt) The storage family type used on the storage system; valid values are ontap_7mode for using Data ONTAP operating in 7-Mode, ontap_cluster for using clustered Data ONTAP, or eseries for using E-Series. |
netapp_transport_type = http
|
(StrOpt) The transport protocol used when communicating with the storage system or proxy server. |
netapp_webservice_path = /devmgr/v2
|
(StrOpt) This option is used to specify the path to the E-Series proxy application on a proxy server. The value is combined with the value of the netapp_transport_type, netapp_server_hostname, and netapp_server_port options to create the URL used by the driver to connect to the proxy application. |
2.1.16.4. Upgrading prior NetApp drivers to the NetApp unified driver Copier lienLien copié sur presse-papiers!
2.1.16.4.1. Upgraded NetApp drivers Copier lienLien copié sur presse-papiers!
Driver upgrade configuration Copier lienLien copié sur presse-papiers!
- NetApp iSCSI direct driver for Clustered Data ONTAP in Grizzly (or earlier).
volume_driver = cinder.volume.drivers.netapp.iscsi.NetAppDirectCmodeISCSIDriver
volume_driver = cinder.volume.drivers.netapp.iscsi.NetAppDirectCmodeISCSIDriverCopy to Clipboard Copied! Toggle word wrap Toggle overflow NetApp unified driver configuration.volume_driver = cinder.volume.drivers.netapp.common.NetAppDriver netapp_storage_family = ontap_cluster netapp_storage_protocol = iscsi
volume_driver = cinder.volume.drivers.netapp.common.NetAppDriver netapp_storage_family = ontap_cluster netapp_storage_protocol = iscsiCopy to Clipboard Copied! Toggle word wrap Toggle overflow - NetApp NFS direct driver for Clustered Data ONTAP in Grizzly (or earlier).
volume_driver = cinder.volume.drivers.netapp.nfs.NetAppDirectCmodeNfsDriver
volume_driver = cinder.volume.drivers.netapp.nfs.NetAppDirectCmodeNfsDriverCopy to Clipboard Copied! Toggle word wrap Toggle overflow NetApp unified driver configuration.volume_driver = cinder.volume.drivers.netapp.common.NetAppDriver netapp_storage_family = ontap_cluster netapp_storage_protocol = nfs
volume_driver = cinder.volume.drivers.netapp.common.NetAppDriver netapp_storage_family = ontap_cluster netapp_storage_protocol = nfsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - NetApp iSCSI direct driver for Data ONTAP operating in 7-Mode storage controller in Grizzly (or earlier)
volume_driver = cinder.volume.drivers.netapp.iscsi.NetAppDirect7modeISCSIDriver
volume_driver = cinder.volume.drivers.netapp.iscsi.NetAppDirect7modeISCSIDriverCopy to Clipboard Copied! Toggle word wrap Toggle overflow NetApp unified driver configurationvolume_driver = cinder.volume.drivers.netapp.common.NetAppDriver netapp_storage_family = ontap_7mode netapp_storage_protocol = iscsi
volume_driver = cinder.volume.drivers.netapp.common.NetAppDriver netapp_storage_family = ontap_7mode netapp_storage_protocol = iscsiCopy to Clipboard Copied! Toggle word wrap Toggle overflow - NetApp NFS direct driver for Data ONTAP operating in 7-Mode storage controller in Grizzly (or earlier)
volume_driver = cinder.volume.drivers.netapp.nfs.NetAppDirect7modeNfsDriver
volume_driver = cinder.volume.drivers.netapp.nfs.NetAppDirect7modeNfsDriverCopy to Clipboard Copied! Toggle word wrap Toggle overflow NetApp unified driver configurationvolume_driver = cinder.volume.drivers.netapp.common.NetAppDriver netapp_storage_family = ontap_7mode netapp_storage_protocol = nfs
volume_driver = cinder.volume.drivers.netapp.common.NetAppDriver netapp_storage_family = ontap_7mode netapp_storage_protocol = nfsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1.16.4.2. Deprecated NetApp drivers Copier lienLien copié sur presse-papiers!
- NetApp iSCSI driver for clustered Data ONTAP.
volume_driver = cinder.volume.drivers.netapp.iscsi.NetAppCmodeISCSIDriver
volume_driver = cinder.volume.drivers.netapp.iscsi.NetAppCmodeISCSIDriverCopy to Clipboard Copied! Toggle word wrap Toggle overflow - NetApp NFS driver for clustered Data ONTAP.
volume_driver = cinder.volume.drivers.netapp.nfs.NetAppCmodeNfsDriver
volume_driver = cinder.volume.drivers.netapp.nfs.NetAppCmodeNfsDriverCopy to Clipboard Copied! Toggle word wrap Toggle overflow - NetApp iSCSI driver for Data ONTAP operating in 7-Mode storage controller.
volume_driver = cinder.volume.drivers.netapp.iscsi.NetAppISCSIDriver
volume_driver = cinder.volume.drivers.netapp.iscsi.NetAppISCSIDriverCopy to Clipboard Copied! Toggle word wrap Toggle overflow - NetApp NFS driver for Data ONTAP operating in 7-Mode storage controller.
volume_driver = cinder.volume.drivers.netapp.nfs.NetAppNFSDriver
volume_driver = cinder.volume.drivers.netapp.nfs.NetAppNFSDriverCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1.17. NFS driver Copier lienLien copié sur presse-papiers!
2.1.17.1. How the NFS driver works Copier lienLien copié sur presse-papiers!
/var/lib/nova/instances directory.
2.1.17.2. Enable the NFS driver and related options Copier lienLien copié sur presse-papiers!
volume_driver in cinder.conf:
volume_driver=cinder.volume.drivers.nfs.NfsDriver
volume_driver=cinder.volume.drivers.nfs.NfsDriver
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
nfs_mount_attempts = 3
|
(IntOpt) The number of attempts to mount nfs shares before raising an error. At least one attempt will be made to mount an nfs share, regardless of the value specified. |
nfs_mount_options = None
|
(StrOpt) Mount options passed to the nfs client. See section of the nfs man page for details. |
nfs_mount_point_base = $state_path/mnt
|
(StrOpt) Base dir containing mount points for nfs shares. |
nfs_oversub_ratio = 1.0
|
(FloatOpt) This will compare the allocated to available space on the volume destination. If the ratio exceeds this number, the destination will no longer be valid. Note that this option is deprecated in favor of "max_oversubscription_ratio" and will be removed in the Mitaka release. |
nfs_shares_config = /etc/cinder/nfs_shares
|
(StrOpt) File with the list of available nfs shares |
nfs_sparsed_volumes = True
|
(BoolOpt) Create volumes as sparsed files which take no space.If set to False volume is created as regular file.In such case volume creation takes a lot of time. |
nfs_used_ratio = 0.95
|
(FloatOpt) Percent of ACTUAL usage of the underlying volume before no new volumes can be allocated to the volume destination. Note that this option is deprecated in favor of "reserved_percentage" and will be removed in the Mitaka release. |
nfs_mount_options configuration option contains a request for a specific version of NFS to be used, or if specific options are specified in the shares configuration file specified by the nfs_shares_config configuration option, the mount will be attempted as requested with no subsequent attempts.
2.1.17.3. How to use the NFS driver Copier lienLien copié sur presse-papiers!
- Access to one or more NFS servers. Creating an NFS server is outside the scope of this document. This example assumes access to the following NFS servers and mount points:
192.168.1.200:/storage192.168.1.201:/storage192.168.1.202:/storage
This example demonstrates the use of with this driver with multiple NFS servers. Multiple servers are not required. One is usually enough. - Add your list of NFS servers to the file you specified with the
nfs_shares_configoption. For example, if the value of this option was set to/etc/cinder/shares.txt, then:cat /etc/cinder/shares.txt 192.168.1.200:/storage 192.168.1.201:/storage 192.168.1.202:/storage
# cat /etc/cinder/shares.txt 192.168.1.200:/storage 192.168.1.201:/storage 192.168.1.202:/storageCopy to Clipboard Copied! Toggle word wrap Toggle overflow Comments are allowed in this file. They begin with a#. - Configure the
nfs_mount_point_baseoption. This is a directory wherecinder-volumemounts all NFS shares stored inshares.txt. For this example,/var/lib/cinder/nfsis used. You can, of course, use the default value of$state_path/mnt. - Start the
cinder-volumeservice./var/lib/cinder/nfsshould now contain a directory for each NFS share specified inshares.txt. The name of each directory is a hashed name:ls /var/lib/cinder/nfs/
# ls /var/lib/cinder/nfs/ ... 46c5db75dc3a3a50a10bfd1a456a9f3f ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow - You can now create volumes as you normally would:
nova volume-create --display-name myvol 5 ls /var/lib/cinder/nfs/46c5db75dc3a3a50a10bfd1a456a9f3f
$ nova volume-create --display-name myvol 5 # ls /var/lib/cinder/nfs/46c5db75dc3a3a50a10bfd1a456a9f3f volume-a8862558-e6d6-4648-b5df-bb84f31c8935Copy to Clipboard Copied! Toggle word wrap Toggle overflow This volume can also be attached and deleted just like other volumes. However, snapshotting is not supported.
NFS driver notes Copier lienLien copié sur presse-papiers!
cinder-volumemanages the mounting of the NFS shares as well as volume creation on the shares. Keep this in mind when planning your OpenStack architecture. If you have one master NFS server, it might make sense to only have onecinder-volumeservice to handle all requests to that NFS server. However, if that single server is unable to handle all requests, more than onecinder-volumeservice is needed as well as potentially more than one NFS server.- Because data is stored in a file and not actually on a block storage device, you might not see the same IO performance as you would with a traditional block storage driver. Test accordingly.
- Despite possible IO performance loss, having volume data stored in a file might be beneficial. For example, backing up volumes can be as easy as copying the volume files.NoteRegular IO flushing and syncing still stands.
2.1.18. SolidFire Copier lienLien copié sur presse-papiers!
cinder.conf file as follows:
volume_driver = cinder.volume.drivers.solidfire.SolidFireDriver san_ip = 172.17.1.182 # the address of your MVIP san_login = sfadmin # your cluster admin login san_password = sfpassword # your cluster admin password sf_account_prefix = '' # prefix for tenant account creation on solidfire cluster
volume_driver = cinder.volume.drivers.solidfire.SolidFireDriver
san_ip = 172.17.1.182 # the address of your MVIP
san_login = sfadmin # your cluster admin login
san_password = sfpassword # your cluster admin password
sf_account_prefix = '' # prefix for tenant account creation on solidfire cluster
$cinder-volume-service-hostname-$tenant-id on the SolidFire cluster for each tenant. Unfortunately, this account formation resulted in issues for High Availability (HA) installations and installations where the cinder-volume service can move to a new node. The current default implementation does not experience this issue as no prefix is used. For installations created on a prior release, the OLD default behavior can be configured by using the keyword "hostname" in sf_account_prefix.
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
sf_account_prefix = None
|
(StrOpt) Create SolidFire accounts with this prefix. Any string can be used here, but the string "hostname" is special and will create a prefix using the cinder node hostname (previous default behavior). The default is NO prefix. |
sf_allow_template_caching = True
|
(BoolOpt) Create an internal cache of copy of images when a bootable volume is created to eliminate fetch from glance and qemu-conversion on subsequent calls. |
sf_allow_tenant_qos = False
|
(BoolOpt) Allow tenants to specify QOS on create |
sf_api_port = 443
|
(IntOpt) SolidFire API port. Useful if the device api is behind a proxy on a different port. |
sf_emulate_512 = True
|
(BoolOpt) Set 512 byte emulation on volume creation; |
sf_enable_volume_mapping = True
|
(BoolOpt) Create an internal mapping of volume IDs and account. Optimizes lookups and performance at the expense of memory, very large deployments may want to consider setting to False. |
sf_svip = None
|
(StrOpt) Overrides default cluster SVIP with the one specified. This is required or deployments that have implemented the use of VLANs for iSCSI networks in their cloud. |
sf_template_account_name = openstack-vtemplate
|
(StrOpt) Account name on the SolidFire Cluster to use as owner of template/cache volumes (created if does not exist). |
2.1.19. Tintri Copier lienLien copié sur presse-papiers!
- Edit the
etc/cinder/cinder.conffile and set the cinder.volume.drivers.tintri options:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Edit the
etc/nova/nova.conffile, and set thenfs_mount_options:nfs_mount_options=vers=3
nfs_mount_options=vers=3Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Edit the
/etc/cinder/nfs_sharesfile, and add the Tintri VMstore mount points associated with the configured VMstore management IP in thecinder.conffile:{vmstore_data_ip}:/tintri/{submount1} {vmstore_data_ip}:/tintri/{submount2}{vmstore_data_ip}:/tintri/{submount1} {vmstore_data_ip}:/tintri/{submount2}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
tintri_api_version = v310
|
(StrOpt) API version for the storage system |
tintri_server_hostname = None
|
(StrOpt) The hostname (or IP address) for the storage system |
tintri_server_password = None
|
(StrOpt) Password for the storage system |
tintri_server_username = None
|
(StrOpt) User name for the storage system |
2.1.20. Violin Memory 7000 Series FSP volume driver Copier lienLien copié sur presse-papiers!
2.1.20.1. System requirements Copier lienLien copié sur presse-papiers!
- Violin 7300/7700 series FSP with:
- Concerto OS version 7.5.3 or later
- Fibre channel host interfaces
- The Violin block storage driver: This driver implements the block storage API calls. The driver is included with the OpenStack Liberty release.
- The vmemclient library: This is the Violin Array Communications library to the Flash Storage Platform through a REST-like interface. The client can be installed using the python pip installer tool. Further information on vmemclient can be found on PyPI.
pip install vmemclient
pip install vmemclientCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1.20.2. Supported operations Copier lienLien copié sur presse-papiers!
- Create, delete, attach, and detach volumes.
- Create, list, and delete volume snapshots.
- Create a volume from a snapshot.
- Copy an image to a volume.
- Copy a volume to an image.
- Clone a volume.
- Extend a volume.
noteListed operations are supported for thick, thin, and dedup luns, with the exception of cloning. Cloning operations are supported only on thick luns.
2.1.20.3. Driver configuration Copier lienLien copié sur presse-papiers!
2.1.20.3.1. Fibre channel configuration Copier lienLien copié sur presse-papiers!
cinder.conf configuration file, replacing the variables using the guide in the following section:
2.1.20.3.2. Configuration parameters Copier lienLien copié sur presse-papiers!
- VMEM_CAPABILITIES
- User defined capabilities, a JSON formatted string specifying key-value pairs (string value). The ones particularly supported are
dedupandthin. Only these two capabilities are listed here incinder.conffile, indicating this backend be selected for creating luns which have a volume type associated with them that havededuporthinextra_specs specified. For example, if the FSP is configured to support dedup luns, set the associated driver capabilities to: {"dedup":"True","thin":"True"}. - VMEM_MGMT_IP
- External IP address or host name of the Violin 7300 Memory Gateway. This can be an IP address or host name.
- VMEM_USER_NAME
- Log-in user name for the Violin 7300 Memory Gateway or 7700 FSP controller. This user must have administrative rights on the array or controller.
- VMEM_PASSWORD
- Log-in user's password.
2.2. Backup drivers Copier lienLien copié sur presse-papiers!
cinder-backup service and its drivers.
backup_driver flag. By default there is no backup driver enabled.
2.2.1. Ceph backup driver Copier lienLien copié sur presse-papiers!
- Restore to a new volume, which is the default and recommended action.
- Restore to the original volume from which the backup was taken. The restore action takes a full copy because this is the safest action.
cinder.conf file:
backup_driver = cinder.backup.drivers.ceph
backup_driver = cinder.backup.drivers.ceph
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
backup_ceph_chunk_size = 134217728
|
(IntOpt) The chunk size, in bytes, that a backup is broken into before transfer to the Ceph object store. |
backup_ceph_conf = /etc/ceph/ceph.conf
|
(StrOpt) Ceph configuration file to use. |
backup_ceph_pool = backups
|
(StrOpt) The Ceph pool where volume backups are stored. |
backup_ceph_stripe_count = 0
|
(IntOpt) RBD stripe count to use when creating a backup image. |
backup_ceph_stripe_unit = 0
|
(IntOpt) RBD stripe unit to use when creating a backup image. |
backup_ceph_user = cinder
|
(StrOpt) The Ceph user to connect with. Default here is to use the same user as for Cinder volumes. If not using cephx this should be set to None. |
restore_discard_excess_bytes = True
|
(BoolOpt) If True, always discard excess bytes when restoring volumes i.e. pad with zeroes. |
2.2.2. IBM Tivoli Storage Manager backup driver Copier lienLien copié sur presse-papiers!
cinder-backup service. See the IBM Tivoli Storage Manager Backup-Archive Client Installation and User's Guide for details on installing the TSM client.
cinder.conf:
backup_driver = cinder.backup.drivers.tsm
backup_driver = cinder.backup.drivers.tsm
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
backup_tsm_compression = True
|
(BoolOpt) Enable or Disable compression for backups |
backup_tsm_password = password
|
(StrOpt) TSM password for the running username |
backup_tsm_volume_prefix = backup
|
(StrOpt) Volume prefix for the backup id when backing up to TSM |
backup_tsm_volume_prefix = backup backup_tsm_password = password backup_tsm_compression = True
backup_tsm_volume_prefix = backup
backup_tsm_password = password
backup_tsm_compression = True
2.2.3. Swift backup driver Copier lienLien copié sur presse-papiers!
cinder.conf file:
backup_driver = cinder.backup.drivers.swift
backup_driver = cinder.backup.drivers.swift
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
backup_swift_auth = per_user
|
(StrOpt) Swift authentication mechanism |
backup_swift_auth_version = 1
|
(StrOpt) Swift authentication version. Specify "1" for auth 1.0, or "2" for auth 2.0 |
backup_swift_block_size = 32768
|
(IntOpt) The size in bytes that changes are tracked for incremental backups. backup_swift_object_size has to be multiple of backup_swift_block_size. |
backup_swift_ca_cert_file = None
|
(StrOpt) Location of the CA certificate file to use for swift client requests. |
backup_swift_container = volumebackups
|
(StrOpt) The default Swift container to use |
backup_swift_enable_progress_timer = True
|
(BoolOpt) Enable or Disable the timer to send the periodic progress notifications to Ceilometer when backing up the volume to the Swift backend storage. The default value is True to enable the timer. |
backup_swift_key = None
|
(StrOpt) Swift key for authentication |
backup_swift_object_size = 52428800
|
(IntOpt) The size in bytes of Swift backup objects |
backup_swift_retry_attempts = 3
|
(IntOpt) The number of retries to make for Swift operations |
backup_swift_retry_backoff = 2
|
(IntOpt) The backoff time in seconds between Swift retries |
backup_swift_tenant = None
|
(StrOpt) Swift tenant/account name. Required when connecting to an auth 2.0 system |
backup_swift_url = None
|
(StrOpt) The URL of the Swift endpoint |
backup_swift_user = None
|
(StrOpt) Swift user name |
swift_catalog_info = object-store:swift:publicURL
|
(StrOpt) Info to match when looking for swift in the service catalog. Format is: separated values of the form: <service_type>:<service_name>:<endpoint_type> - Only used if backup_swift_url is unset |
1 or 2 correspondingly. For example:
backup_swift_auth_version = 2
backup_swift_auth_version = 2
backup_swift_tenant setting:
backup_swift_tenant = <None>
backup_swift_tenant = <None>
2.2.4. NFS backup driver Copier lienLien copié sur presse-papiers!
[DEFAULT] section of the cinder.conf file:
backup_driver = cinder.backup.drivers.nfs
backup_driver = cinder.backup.drivers.nfs
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
backup_container = None
|
(StrOpt) Custom directory to use for backups. |
backup_enable_progress_timer = True
|
(BoolOpt) Enable or Disable the timer to send the periodic progress notifications to Ceilometer when backing up the volume to the backend storage. The default value is True to enable the timer. |
backup_file_size = 1999994880
|
(IntOpt) The maximum size in bytes of the files used to hold backups. If the volume being backed up exceeds this size, then it will be backed up into multiple files.backup_file_size must be a multiple of backup_sha_block_size_bytes. |
backup_mount_options = None
|
(StrOpt) Mount options passed to the NFS client. See NFS man page for details. |
backup_mount_point_base = $state_path/backup_mount
|
(StrOpt) Base dir containing mount point for NFS share. |
backup_sha_block_size_bytes = 32768
|
(IntOpt) The size in bytes that changes are tracked for incremental backups. backup_file_size has to be multiple of backup_sha_block_size_bytes. |
backup_share = None
|
(StrOpt) NFS share in hostname:path, ipv4addr:path, or "[ipv6addr]:path" format. |
2.3. Block Storage sample configuration files Copier lienLien copié sur presse-papiers!
/etc/cinder.
2.3.1. cinder.conf Copier lienLien copié sur presse-papiers!
cinder.conf file is installed in /etc/cinder by default. When you manually install the Block Storage service, the options in the cinder.conf file are set to default values.
cinder.conf file contains most of the options to configure the Block Storage service.
2.3.2. api-paste.ini Copier lienLien copié sur presse-papiers!
api-paste.ini file to configure the Block Storage API service.
2.3.3. policy.json Copier lienLien copié sur presse-papiers!
policy.json file defines additional access controls that apply to the Block Storage service.
2.3.4. rootwrap.conf Copier lienLien copié sur presse-papiers!
rootwrap.conf file defines configuration values used by the rootwrap script when the Block Storage service must escalate its privileges to those of the root user.
2.4. Log files used by Block Storage Copier lienLien copié sur presse-papiers!
/var/log/cinder/ directory of the host on which each service runs.
| Log file | Service/interface |
api.log
|
openstack-cinder-api
|
cinder-manage.log
|
cinder-manage
|
scheduler.log
|
openstack-cinder-scheduler
|
volume.log
|
openstack-cinder-volume
|
2.5. Fibre Channel Zone Manager Copier lienLien copié sur presse-papiers!
2.5.1. Configure Block Storage to use Fibre Channel Zone Manager Copier lienLien copié sur presse-papiers!
cinder.conf to add the following configuration options to enable Fibre Channel Zone Manager.
/etc/cinder/cinder.conf file.
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
zoning_mode = none
|
(StrOpt) FC Zoning mode configured |
| [fc-zone-manager] | |
fc_fabric_names = None
|
(StrOpt) Comma separated list of Fibre Channel fabric names. This list of names is used to retrieve other SAN credentials for connecting to each SAN fabric |
fc_san_lookup_service = cinder.zonemanager.drivers.brocade.brcd_fc_san_lookup_service.BrcdFCSanLookupService
|
(StrOpt) FC SAN Lookup Service |
zone_driver = cinder.zonemanager.drivers.brocade.brcd_fc_zone_driver.BrcdFCZoneDriver
|
(StrOpt) FC Zone Driver responsible for zone management |
zoning_policy = initiator-target
|
(StrOpt) Zoning policy configured by user; valid values include "initiator-target" or "initiator" |
zoning_mode configuration option as part of the volume driver configuration where volume_driver option is specified.
zoning_mode is None and this needs to be changed to fabric to allow fabric zoning.
zoning_policy can be configured as initiator-target or initiator
2.5.2. Brocade Fibre Channel Zone Driver Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [fc-zone-manager] | |
brcd_sb_connector = cinder.zonemanager.drivers.brocade.brcd_fc_zone_client_cli.BrcdFCZoneClientCLI
|
(StrOpt) Southbound connector for zoning operation |
| Configuration option = Default value | Description |
|---|---|
| [BRCD_FABRIC_EXAMPLE] | |
fc_fabric_address =
|
(StrOpt) Management IP of fabric |
fc_fabric_password =
|
(StrOpt) Password for user |
fc_fabric_port = 22
|
(IntOpt) Connecting port |
fc_fabric_user =
|
(StrOpt) Fabric user ID |
principal_switch_wwn = None
|
(StrOpt) Principal switch WWN of the fabric |
zone_activate = True
|
(BoolOpt) overridden zoning activation state |
zone_name_prefix = None
|
(StrOpt) overridden zone name prefix |
zoning_policy = initiator-target
|
(StrOpt) overridden zoning policy |
fc_fabric_names configuration option as group name.
2.5.2.1. System requirements Copier lienLien copié sur presse-papiers!
zoneadmin role. Users with admin role (including the default admin user account) are limited to a maximum of two concurrent SSH sessions.
2.5.3. Cisco Fibre Channel Zone Driver Copier lienLien copié sur presse-papiers!
cinder.conf configuration file.
[fc-zone-manager] zone_driver = cinder.zonemanager.drivers.cisco.cisco_fc_zone_driver.CiscoFCZoneDriver fc_san_lookup_service = cinder.zonemanager.drivers.cisco.cisco_fc_san_lookup_service.CiscoFCSanLookupService fc_fabric_names = CISCO_FABRIC_EXAMPLE cisco_sb_connector = cinder.zonemanager.drivers.cisco.cisco_fc_zone_client_cli.CiscoFCZoneClientCLI
[fc-zone-manager]
zone_driver = cinder.zonemanager.drivers.cisco.cisco_fc_zone_driver.CiscoFCZoneDriver
fc_san_lookup_service = cinder.zonemanager.drivers.cisco.cisco_fc_san_lookup_service.CiscoFCSanLookupService
fc_fabric_names = CISCO_FABRIC_EXAMPLE
cisco_sb_connector = cinder.zonemanager.drivers.cisco.cisco_fc_zone_client_cli.CiscoFCZoneClientCLI
| Configuration option = Default value | Description |
|---|---|
| [fc-zone-manager] | |
cisco_sb_connector = cinder.zonemanager.drivers.cisco.cisco_fc_zone_client_cli.CiscoFCZoneClientCLI
|
(StrOpt) Southbound connector for zoning operation |
| Configuration option = Default value | Description |
|---|---|
| [CISCO_FABRIC_EXAMPLE] | |
cisco_fc_fabric_address =
|
(StrOpt) Management IP of fabric |
cisco_fc_fabric_password =
|
(StrOpt) Password for user |
cisco_fc_fabric_port = 22
|
(IntOpt) Connecting port |
cisco_fc_fabric_user =
|
(StrOpt) Fabric user ID |
cisco_zone_activate = True
|
(BoolOpt) overridden zoning activation state |
cisco_zone_name_prefix = None
|
(StrOpt) overridden zone name prefix |
cisco_zoning_policy = initiator-target
|
(StrOpt) overridden zoning policy |
cisco_zoning_vsan = None
|
(StrOpt) VSAN of the Fabric |
fc_fabric_names configuration option as group name.
fc_fabric_names option.
2.5.3.1. System requirements Copier lienLien copié sur presse-papiers!
2.6. Additional options Copier lienLien copié sur presse-papiers!
cinder.conf file.
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
api_paste_config = api-paste.ini
|
(StrOpt) File name for the paste.deploy config for cinder-api |
api_rate_limit = True
|
(BoolOpt) Enables or disables rate limit of the API. |
az_cache_duration = 3600
|
(IntOpt) Cache volume availability zones in memory for the provided duration in seconds |
backend_host = None
|
(StrOpt) Backend override of host value. |
default_timeout = 525600
|
(IntOpt) Default timeout for CLI operations in minutes. For example, LUN migration is a typical long running operation, which depends on the LUN size and the load of the array. An upper bound in the specific deployment can be set to avoid unnecessary long wait. By default, it is 365 days long. |
enable_v1_api = True
|
(BoolOpt) DEPRECATED: Deploy v1 of the Cinder API. |
enable_v2_api = True
|
(BoolOpt) Deploy v2 of the Cinder API. |
extra_capabilities = {}
|
(StrOpt) User defined capabilities, a JSON formatted string specifying key/value pairs. The key/value pairs can be used by the CapabilitiesFilter to select between backends when requests specify volume types. For example, specifying a service level or the geographical location of a backend, then creating a volume type to allow the user to select by these different properties. |
ignore_pool_full_threshold = False
|
(BoolOpt) Force LUN creation even if the full threshold of pool is reached. |
management_ips =
|
(StrOpt) List of Management IP addresses (separated by commas) |
max_header_line = 16384
|
(IntOpt) Maximum line size of message headers to be accepted. max_header_line may need to be increased when using large tokens (typically those generated by the Keystone v3 API with big service catalogs). |
osapi_max_limit = 1000
|
(IntOpt) The maximum number of items that a collection resource returns in a single response |
osapi_max_request_body_size = 114688
|
(IntOpt) Max size for body of a request |
osapi_volume_base_URL = None
|
(StrOpt) Base URL that will be presented to users in links to the OpenStack Volume API |
osapi_volume_ext_list =
|
(ListOpt) Specify list of extensions to load when using osapi_volume_extension option with cinder.api.contrib.select_extensions |
osapi_volume_extension = ['cinder.api.contrib.standard_extensions']
|
(MultiStrOpt) osapi volume extension to load |
osapi_volume_listen = 0.0.0.0
|
(StrOpt) IP address on which OpenStack Volume API listens |
osapi_volume_listen_port = 8776
|
(IntOpt) Port on which OpenStack Volume API listens |
osapi_volume_workers = None
|
(IntOpt) Number of workers for OpenStack Volume API service. The default is equal to the number of CPUs available. |
password =
|
(StrOpt) Password for Redis server (optional). |
per_volume_size_limit = -1
|
(IntOpt) Max size allowed per volume, in gigabytes |
port = 6379
|
(IntOpt) Use this port to connect to redis host. |
public_endpoint = None
|
(StrOpt) Public url to use for versions endpoint. The default is None, which will use the request's host_url attribute to populate the URL base. If Cinder is operating behind a proxy, you will want to change this to represent the proxy's URL. |
query_volume_filters = name, status, metadata, availability_zone
|
(ListOpt) Volume filter options which non-admin user could use to query volumes. Default values are: ['name', 'status', 'metadata', 'availability_zone'] |
transfer_api_class = cinder.transfer.api.API
|
(StrOpt) The full class name of the volume transfer API class |
volume_api_class = cinder.volume.api.API
|
(StrOpt) The full class name of the volume API class to use |
volume_name_template = volume-%s
|
(StrOpt) Template string to be used to generate volume names |
volume_number_multiplier = -1.0
|
(FloatOpt) Multiplier used for weighing volume number. Negative numbers mean to spread vs stack. |
volume_transfer_key_length = 16
|
(IntOpt) The number of characters in the autogenerated auth key. |
volume_transfer_salt_length = 8
|
(IntOpt) The number of characters in the salt. |
| [oslo_middleware] | |
max_request_body_size = 114688
|
(IntOpt) The maximum body size for each request, in bytes. |
secure_proxy_ssl_header = X-Forwarded-Proto
|
(StrOpt) The HTTP Header that will be used to determine what the original request protocol scheme was, even if it was hidden by an SSL termination proxy. |
| [oslo_policy] | |
policy_default_rule = default
|
(StrOpt) Default rule. Enforced when a requested rule is not found. |
policy_dirs = ['policy.d']
|
(MultiStrOpt) 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. |
policy_file = policy.json
|
(StrOpt) The JSON file that defines policies. |
| [oslo_versionedobjects] | |
fatal_exception_format_errors = False
|
(BoolOpt) Make exception message format errors fatal |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
control_exchange = openstack
|
(StrOpt) The default exchange under which topics are scoped. May be overridden by an exchange name specified in the transport_url option. |
notification_driver = []
|
(MultiStrOpt) The Drivers(s) to handle sending notifications. Possible values are messaging, messagingv2, routing, log, test, noop |
notification_topics = notifications
|
(ListOpt) AMQP topic used for OpenStack notifications. |
transport_url = None
|
(StrOpt) A URL representing the messaging driver to use and its full configuration. If not set, we fall back to the rpc_backend option and driver specific configuration. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
auth_strategy = keystone
|
(StrOpt) The strategy to use for auth. Supports noauth, keystone, and deprecated. |
| Configuration option = Default value | Description |
|---|---|
| [keystone_authtoken] | |
admin_password = None
|
(StrOpt) Service user password. |
admin_tenant_name = admin
|
(StrOpt) Service tenant name. |
admin_token = None
|
(StrOpt) This option is deprecated and may be removed in a future release. Single shared secret with the Keystone configuration used for bootstrapping a Keystone installation, or otherwise bypassing the normal authentication process. This option should not be used, use `admin_user` and `admin_password` instead. |
admin_user = None
|
(StrOpt) Service username. |
auth_admin_prefix =
|
(StrOpt) Prefix to prepend at the beginning of the path. Deprecated, use identity_uri. |
auth_host = 127.0.0.1
|
(StrOpt) Host providing the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_plugin = None
|
(StrOpt) Name of the plugin to load |
auth_port = 35357
|
(IntOpt) Port of the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_protocol = https
|
(StrOpt) Protocol of the admin Identity API endpoint (http or https). Deprecated, use identity_uri. |
auth_section = None
|
(StrOpt) Config Section from which to load plugin specific options |
auth_uri = None
|
(StrOpt) Complete public Identity API endpoint. |
auth_version = None
|
(StrOpt) API version of the admin Identity API endpoint. |
cache = None
|
(StrOpt) Env key for the swift cache. |
cafile = None
|
(StrOpt) A PEM encoded Certificate Authority to use when verifying HTTPs connections. Defaults to system CAs. |
certfile = None
|
(StrOpt) Required if identity server requires client certificate |
check_revocations_for_cached = False
|
(BoolOpt) If true, the revocation list will be checked for cached tokens. This requires that PKI tokens are configured on the identity server. |
delay_auth_decision = False
|
(BoolOpt) Do not handle authorization requests within the middleware, but delegate the authorization decision to downstream WSGI components. |
enforce_token_bind = permissive
|
(StrOpt) 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. |
hash_algorithms = md5
|
(ListOpt) Hash algorithms to use for hashing PKI tokens. This may be a single algorithm or multiple. The algorithms are those supported by Python standard hashlib.new(). The hashes will be tried in the order given, so put the preferred one first for performance. The result of the first hash will be stored in the cache. This will typically be set to multiple values only while migrating from a less secure algorithm to a more secure one. Once all the old tokens are expired this option should be set to a single value for better performance. |
http_connect_timeout = None
|
(IntOpt) Request timeout value for communicating with Identity API server. |
http_request_max_retries = 3
|
(IntOpt) How many times are we trying to reconnect when communicating with Identity API Server. |
identity_uri = None
|
(StrOpt) Complete admin Identity API endpoint. This should specify the unversioned root endpoint e.g. https://localhost:35357/ |
include_service_catalog = True
|
(BoolOpt) (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. |
insecure = False
|
(BoolOpt) Verify HTTPS connections. |
keyfile = None
|
(StrOpt) Required if identity server requires client certificate |
memcache_pool_conn_get_timeout = 10
|
(IntOpt) (Optional) Number of seconds that an operation will wait to get a memcached client connection from the pool. |
memcache_pool_dead_retry = 300
|
(IntOpt) (Optional) Number of seconds memcached server is considered dead before it is tried again. |
memcache_pool_maxsize = 10
|
(IntOpt) (Optional) Maximum total number of open connections to every memcached server. |
memcache_pool_socket_timeout = 3
|
(IntOpt) (Optional) Socket timeout in seconds for communicating with a memcached server. |
memcache_pool_unused_timeout = 60
|
(IntOpt) (Optional) Number of seconds a connection to memcached is held unused in the pool before it is closed. |
memcache_secret_key = None
|
(StrOpt) (Optional, mandatory if memcache_security_strategy is defined) This string is used for key derivation. |
memcache_security_strategy = None
|
(StrOpt) (Optional) If defined, indicate whether token data should be authenticated or authenticated and encrypted. Acceptable values are MAC or ENCRYPT. 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. |
memcache_use_advanced_pool = False
|
(BoolOpt) (Optional) Use the advanced (eventlet safe) memcached client pool. The advanced pool will only work under python 2.x. |
region_name = None
|
(StrOpt) The region in which the identity server can be found. |
revocation_cache_time = 10
|
(IntOpt) Determines the frequency at which the list of revoked tokens is retrieved from the Identity service (in seconds). A high number of revocation events combined with a low cache duration may significantly reduce performance. |
signing_dir = None
|
(StrOpt) Directory used to cache files related to PKI tokens. |
token_cache_time = 300
|
(IntOpt) 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. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
backup_api_class = cinder.backup.api.API
|
(StrOpt) The full class name of the volume backup API class |
backup_compression_algorithm = zlib
|
(StrOpt) Compression algorithm (None to disable) |
backup_driver = cinder.backup.drivers.swift
|
(StrOpt) Driver to use for backups. |
backup_manager = cinder.backup.manager.BackupManager
|
(StrOpt) Full class name for the Manager for volume backup |
backup_metadata_version = 2
|
(IntOpt) Backup metadata version to be used when backing up volume metadata. If this number is bumped, make sure the service doing the restore supports the new version. |
backup_name_template = backup-%s
|
(StrOpt) Template string to be used to generate backup names |
backup_object_number_per_notification = 10
|
(IntOpt) The number of chunks or objects, for which one Ceilometer notification will be sent |
backup_posix_path = $state_path/backup
|
(StrOpt) Path specifying where to store backups. |
backup_service_inithost_offload = False
|
(BoolOpt) Offload pending backup delete during backup service startup. |
backup_timer_interval = 120
|
(IntOpt) Interval, in seconds, between two progress notifications reporting the backup status |
backup_topic = cinder-backup
|
(StrOpt) The topic that volume backup nodes listen on |
snapshot_name_template = snapshot-%s
|
(StrOpt) Template string to be used to generate snapshot names |
snapshot_same_host = True
|
(BoolOpt) Create volume from snapshot at the host where snapshot resides |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
available_devices =
|
(ListOpt) List of all available devices |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
ssl_ca_file = None
|
(StrOpt) CA certificate file to use to verify connecting clients |
ssl_cert_file = None
|
(StrOpt) Certificate file to use when starting the server securely |
ssl_key_file = None
|
(StrOpt) Private key file to use when starting the server securely |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
cb_account_name = None
|
(StrOpt) CloudByte storage specific account name. This maps to a project name in OpenStack. |
cb_add_qosgroup = {'latency': '15', 'iops': '10', 'graceallowed': 'false', 'iopscontrol': 'true', 'memlimit': '0', 'throughput': '0', 'tpcontrol': 'false', 'networkspeed': '0'}
|
(DictOpt) These values will be used for CloudByte storage's addQos API call. |
cb_apikey = None
|
(StrOpt) Driver will use this API key to authenticate against the CloudByte storage's management interface. |
cb_auth_group = None
|
(StrOpt) This corresponds to the discovery authentication group in CloudByte storage. Chap users are added to this group. Driver uses the first user found for this group. Default value is None. |
cb_confirm_volume_create_retries = 3
|
(IntOpt) Will confirm a successful volume creation in CloudByte storage by making this many number of attempts. |
cb_confirm_volume_create_retry_interval = 5
|
(IntOpt) A retry value in seconds. Will be used by the driver to check if volume creation was successful in CloudByte storage. |
cb_confirm_volume_delete_retries = 3
|
(IntOpt) Will confirm a successful volume deletion in CloudByte storage by making this many number of attempts. |
cb_confirm_volume_delete_retry_interval = 5
|
(IntOpt) A retry value in seconds. Will be used by the driver to check if volume deletion was successful in CloudByte storage. |
cb_create_volume = {'compression': 'off', 'deduplication': 'off', 'blocklength': '512B', 'sync': 'always', 'protocoltype': 'ISCSI', 'recordsize': '16k'}
|
(DictOpt) These values will be used for CloudByte storage's createVolume API call. |
cb_tsm_name = None
|
(StrOpt) This corresponds to the name of Tenant Storage Machine (TSM) in CloudByte storage. A volume will be created in this TSM. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
allow_availability_zone_fallback = False
|
(BoolOpt) If the requested Cinder availability zone is unavailable, fall back to the value of default_availability_zone, then storage_availability_zone, instead of failing. |
chap_password =
|
(StrOpt) Password for specified CHAP account name. |
chap_username =
|
(StrOpt) CHAP user name. |
chiscsi_conf = /etc/chelsio-iscsi/chiscsi.conf
|
(StrOpt) Chiscsi (CXT) global defaults configuration file |
cinder_internal_tenant_project_id = None
|
(StrOpt) ID of the project which will be used as the Cinder internal tenant. |
cinder_internal_tenant_user_id = None
|
(StrOpt) ID of the user to be used in volume operations as the Cinder internal tenant. |
client_socket_timeout = 900
|
(IntOpt) Timeout for client connections' socket operations. If an incoming connection is idle for this number of seconds it will be closed. A value of '0' means wait forever. |
compute_api_class = cinder.compute.nova.API
|
(StrOpt) The full class name of the compute API class to use |
consistencygroup_api_class = cinder.consistencygroup.api.API
|
(StrOpt) The full class name of the consistencygroup API class |
default_availability_zone = None
|
(StrOpt) Default availability zone for new volumes. If not set, the storage_availability_zone option value is used as the default for new volumes. |
default_volume_type = None
|
(StrOpt) Default volume type to use |
driver_data_namespace = None
|
(StrOpt) Namespace for driver private data values to be saved in. |
driver_ssl_cert_verify = False
|
(BoolOpt) If set to True the http client will validate the SSL certificate of the backend endpoint. |
enable_force_upload = False
|
(BoolOpt) Enables the Force option on upload_to_image. This enables running upload_volume on in-use volumes for backends that support it. |
enable_new_services = True
|
(BoolOpt) Services to be added to the available pool on create |
end_time = None
|
(StrOpt) If this option is specified then the end time specified is used instead of the end time of the last completed audit period. |
enforce_multipath_for_image_xfer = False
|
(BoolOpt) If this is set to True, attachment of volumes for image transfer will be aborted when multipathd is not running. Otherwise, it will fallback to single path. |
executor_thread_pool_size = 64
|
(IntOpt) Size of executor thread pool. |
host = localhost
|
(StrOpt) Name of this node. This can be an opaque identifier. It is not necessarily a host name, FQDN, or IP address. |
iet_conf = /etc/iet/ietd.conf
|
(StrOpt) IET configuration file |
iscsi_secondary_ip_addresses =
|
(ListOpt) The list of secondary IP addresses of the iSCSI daemon |
managed_replication_target = True
|
(BoolOpt) There are two types of target configurations managed (replicate to another configured backend) or unmanaged (replicate to a device not managed by Cinder). |
max_over_subscription_ratio = 20.0
|
(FloatOpt) Float representation of the over subscription ratio when thin provisioning is involved. Default ratio is 20.0, meaning provisioned capacity can be 20 times of the total physical capacity. If the ratio is 10.5, it means provisioned capacity can be 10.5 times of the total physical capacity. A ratio of 1.0 means provisioned capacity cannot exceed the total physical capacity. A ratio lower than 1.0 will be ignored and the default value will be used instead. |
memcached_servers = None
|
(ListOpt) Memcached servers or None for in process cache. |
monkey_patch = False
|
(BoolOpt) Enable monkey patching |
monkey_patch_modules =
|
(ListOpt) List of modules/decorators to monkey patch |
my_ip = 10.0.0.1
|
(StrOpt) IP address of this host |
no_snapshot_gb_quota = False
|
(BoolOpt) Whether snapshots count against gigabyte quota |
num_shell_tries = 3
|
(IntOpt) Number of times to attempt to run flakey shell commands |
os_privileged_user_auth_url = None
|
(StrOpt) Auth URL associated with the OpenStack privileged account. |
os_privileged_user_name = None
|
(StrOpt) OpenStack privileged account username. Used for requests to other services (such as Nova) that require an account with special rights. |
os_privileged_user_password = None
|
(StrOpt) Password associated with the OpenStack privileged account. |
os_privileged_user_tenant = None
|
(StrOpt) Tenant name associated with the OpenStack privileged account. |
periodic_fuzzy_delay = 60
|
(IntOpt) Range, in seconds, to randomly delay when starting the periodic task scheduler to reduce stampeding. (Disable by setting to 0) |
periodic_interval = 60
|
(IntOpt) Interval, in seconds, between running periodic tasks |
replication_api_class = cinder.replication.api.API
|
(StrOpt) The full class name of the volume replication API class |
replication_devices = None
|
(ListOpt) List of k/v pairs representing a replication target for this backend device. For unmanaged the format is: {'key-1'='val1' 'key-2'='val2'...},{...} and for managed devices its simply a list of valid configured backend_names that the driver supports replicating to: backend-a,bakcend-b... |
report_interval = 10
|
(IntOpt) Interval, in seconds, between nodes reporting state to datastore |
request_timeout = 300
|
(IntOpt) Global backend request timeout, in seconds |
reserved_percentage = 0
|
(IntOpt) The percentage of backend capacity is reserved |
rootwrap_config = /etc/cinder/rootwrap.conf
|
(StrOpt) Path to the rootwrap configuration file to use for running commands as root |
send_actions = False
|
(BoolOpt) Send the volume and snapshot create and delete notifications generated in the specified period. |
service_down_time = 60
|
(IntOpt) Maximum time since last check-in for a service to be considered up |
sqlite_clean_db = clean.sqlite
|
(StrOpt) File name of clean sqlite db |
ssh_hosts_key_file = $state_path/ssh_known_hosts
|
(StrOpt) File containing SSH host keys for the systems with which Cinder needs to communicate. OPTIONAL: Default=$state_path/ssh_known_hosts |
start_time = None
|
(StrOpt) If this option is specified then the start time specified is used instead of the start time of the last completed audit period. |
state_path = /var/lib/cinder
|
(StrOpt) Top-level directory for maintaining cinder's state |
storage_availability_zone = nova
|
(StrOpt) Availability zone of this node |
strict_ssh_host_key_policy = False
|
(BoolOpt) Option to enable strict host key checking. When set to "True" Cinder will only connect to systems with a host key present in the configured "ssh_hosts_key_file". When set to "False" the host key will be saved upon first connection and used for subsequent connections. Default=False |
tcp_keepalive = True
|
(BoolOpt) Sets the value of TCP_KEEPALIVE (True/False) for each server socket. |
tcp_keepalive_count = None
|
(IntOpt) Sets the value of TCP_KEEPCNT for each server socket. Not supported on OS X. |
tcp_keepalive_interval = None
|
(IntOpt) Sets the value of TCP_KEEPINTVL in seconds for each server socket. Not supported on OS X. |
tcp_keepidle = 600
|
(IntOpt) Sets the value of TCP_KEEPIDLE in seconds for each server socket. Not supported on OS X. |
until_refresh = 0
|
(IntOpt) Count of reservations until usage is refreshed |
use_chap_auth = False
|
(BoolOpt) Option to enable/disable CHAP authentication for targets. |
use_forwarded_for = False
|
(BoolOpt) Treat X-Forwarded-For as the canonical remote address. Only enable this if you have a sanitizing proxy. |
watch_log_file = False
|
(BoolOpt) (Optional) 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. |
wsgi_keep_alive = True
|
(BoolOpt) If False, closes the client socket connection explicitly. Setting it to True to maintain backward compatibility. Recommended setting is set it to False. |
| [keystone_authtoken] | |
memcached_servers = None
|
(ListOpt) Optionally specify a list of memcached server(s) to use for caching. If left undefined, tokens will instead be cached in-process. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
nova_api_insecure = False
|
(BoolOpt) Allow to perform insecure SSL requests to nova |
nova_ca_certificates_file = None
|
(StrOpt) Location of ca certificates file to use for nova client requests. |
nova_catalog_admin_info = compute:Compute Service:adminURL
|
(StrOpt) Same as nova_catalog_info, but for admin endpoint. |
nova_catalog_info = compute:Compute Service:publicURL
|
(StrOpt) Match this value when searching for nova in the service catalog. Format is: separated values of the form: <service_type>:<service_name>:<endpoint_type> |
nova_endpoint_admin_template = None
|
(StrOpt) Same as nova_endpoint_template, but for admin endpoint. |
nova_endpoint_template = None
|
(StrOpt) Override service catalog lookup with template for nova endpoint e.g. http://localhost:8774/v2/%(project_id)s |
os_region_name = None
|
(StrOpt) Region name of this node |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
db_driver = cinder.db
|
(StrOpt) Driver to use for database access |
| [database] | |
backend = sqlalchemy
|
(StrOpt) The back end to use for the database. |
connection = None
|
(StrOpt) The SQLAlchemy connection string to use to connect to the database. |
connection_debug = 0
|
(IntOpt) Verbosity of SQL debugging information: 0=None, 100=Everything. |
connection_trace = False
|
(BoolOpt) Add Python stack traces to SQL as comment strings. |
db_inc_retry_interval = True
|
(BoolOpt) If True, increases the interval between retries of a database operation up to db_max_retry_interval. |
db_max_retries = 20
|
(IntOpt) Maximum retries in case of connection error or deadlock error before error is raised. Set to -1 to specify an infinite retry count. |
db_max_retry_interval = 10
|
(IntOpt) If db_inc_retry_interval is set, the maximum seconds between retries of a database operation. |
db_retry_interval = 1
|
(IntOpt) Seconds between retries of a database transaction. |
idle_timeout = 3600
|
(IntOpt) Timeout before idle SQL connections are reaped. |
max_overflow = None
|
(IntOpt) If set, use this value for max_overflow with SQLAlchemy. |
max_pool_size = None
|
(IntOpt) Maximum number of SQL connections to keep open in a pool. |
max_retries = 10
|
(IntOpt) Maximum number of database connection retries during startup. Set to -1 to specify an infinite retry count. |
min_pool_size = 1
|
(IntOpt) Minimum number of SQL connections to keep open in a pool. |
mysql_sql_mode = TRADITIONAL
|
(StrOpt) 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= |
pool_timeout = None
|
(IntOpt) If set, use this value for pool_timeout with SQLAlchemy. |
retry_interval = 10
|
(IntOpt) Interval between retries of opening a SQL connection. |
slave_connection = None
|
(StrOpt) The SQLAlchemy connection string to use to connect to the slave database. |
sqlite_db = oslo.sqlite
|
(StrOpt) The file name to use with SQLite. |
sqlite_synchronous = True
|
(BoolOpt) If True, SQLite uses synchronous mode. |
use_db_reconnect = False
|
(BoolOpt) Enable the experimental use of database reconnect on connection lost. |
use_tpool = False
|
(BoolOpt) Enable the experimental use of thread pooling for all DB API calls |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
trace_flags = None
|
(ListOpt) List of options that control which trace info is written to the DEBUG log level to assist developers. Valid values are method and api. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
check_max_pool_luns_threshold = False
|
(BoolOpt) Report free_capacity_gb as 0 when the limit to maximum number of pool LUNs is reached. By default, the value is False. |
cinder_emc_config_file = /etc/cinder/cinder_emc_config.xml
|
(StrOpt) use this file for cinder emc plugin config data |
destroy_empty_storage_group = False
|
(BoolOpt) To destroy storage group when the last LUN is removed from it. By default, the value is False. |
force_delete_lun_in_storagegroup = False
|
(BoolOpt) Delete a LUN even if it is in Storage Groups. |
initiator_auto_deregistration = False
|
(BoolOpt) Automatically deregister initiators after the related storage group is destroyed. By default, the value is False. |
initiator_auto_registration = False
|
(BoolOpt) Automatically register initiators. By default, the value is False. |
io_port_list = *
|
(StrOpt) Comma separated iSCSI or FC ports to be used in Nova or Cinder. |
iscsi_initiators =
|
(StrOpt) Mapping between hostname and its iSCSI initiator IP addresses. |
max_luns_per_storage_group = 255
|
(IntOpt) Default max number of LUNs in a storage group. By default, the value is 255. |
naviseccli_path =
|
(StrOpt) Naviseccli Path. |
storage_vnx_authentication_type = global
|
(StrOpt) VNX authentication scope type. |
storage_vnx_pool_names = None
|
(StrOpt) Comma-separated list of storage pool names to be used. |
storage_vnx_security_file_dir = None
|
(StrOpt) Directory path that contains the VNX security file. Make sure the security file is generated first. |
xtremio_array_busy_retry_count = 5
|
(IntOpt) Number of retries in case array is busy |
xtremio_array_busy_retry_interval = 5
|
(IntOpt) Interval between retries in case array is busy |
xtremio_cluster_name =
|
(StrOpt) XMS cluster id in multi-cluster environment |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
flashsystem_connection_protocol = FC
|
(StrOpt) Connection protocol should be FC. (Default is FC.) |
flashsystem_iscsi_portid = 0
|
(IntOpt) Default iSCSI Port ID of FlashSystem. (Default port is 0.) |
flashsystem_multihostmap_enabled = True
|
(BoolOpt) Allows vdisk to multi host mapping. (Default is True) |
flashsystem_multipath_enabled = False
|
(BoolOpt) Connect with multipath (FC only).(Default is false.) |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
ibmnas_platform_type = v7ku
|
(StrOpt) IBMNAS platform type to be used as backend storage; valid values are - v7ku : for using IBM Storwize V7000 Unified, sonas : for using IBM Scale Out NAS, gpfs-nas : for using NFS based IBM GPFS deployments. |
nas_ip =
|
(StrOpt) IP address or Hostname of NAS system. |
nas_login = admin
|
(StrOpt) User name to connect to NAS system. |
nas_mount_options = None
|
(StrOpt) Options used to mount the storage backend file system where Cinder volumes are stored. |
nas_password =
|
(StrOpt) Password to connect to NAS system. |
nas_private_key =
|
(StrOpt) Filename of private key to use for SSH authentication. |
nas_secure_file_operations = auto
|
(StrOpt) Allow network-attached storage systems to operate in a secure environment where root level access is not permitted. If set to False, access is as the root user and insecure. If set to True, access is not as root. If set to auto, a check is done to determine if this is a new installation: True is used if so, otherwise False. Default is auto. |
nas_secure_file_permissions = auto
|
(StrOpt) Set more secure file permissions on network-attached storage volume files to restrict broad other/world access. If set to False, volumes are created with open permissions. If set to True, volumes are created with permissions for the cinder user and group (660). If set to auto, a check is done to determine if this is a new installation: True is used if so, otherwise False. Default is auto. |
nas_share_path =
|
(StrOpt) Path to the share to use for storing Cinder volumes. For example: "/srv/export1" for an NFS server export available at 10.0.5.10:/srv/export1 . |
nas_ssh_port = 22
|
(IntOpt) SSH port to use to connect to NAS system. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
allowed_direct_url_schemes =
|
(ListOpt) A list of url schemes that can be downloaded directly via the direct_url. Currently supported schemes: [file]. |
glance_api_insecure = False
|
(BoolOpt) Allow to perform insecure SSL (https) requests to glance |
glance_api_servers = $glance_host:$glance_port
|
(ListOpt) A list of the glance API servers available to cinder ([hostname|ip]:port) |
glance_api_ssl_compression = False
|
(BoolOpt) Enables or disables negotiation of SSL layer compression. In some cases disabling compression can improve data throughput, such as when high network bandwidth is available and you use compressed image formats like qcow2. |
glance_api_version = 1
|
(IntOpt) Version of the glance API to use |
glance_ca_certificates_file = None
|
(StrOpt) Location of ca certificates file to use for glance client requests. |
glance_core_properties = checksum, container_format, disk_format, image_name, image_id, min_disk, min_ram, name, size
|
(ListOpt) Default core properties of image |
glance_host = $my_ip
|
(StrOpt) Default glance host name or IP |
glance_num_retries = 0
|
(IntOpt) Number retries when downloading an image from glance |
glance_port = 9292
|
(IntOpt) Default glance port |
glance_request_timeout = None
|
(IntOpt) http/https timeout value for glance operations. If no value (None) is supplied here, the glanceclient default value is used. |
image_conversion_dir = $state_path/conversion
|
(StrOpt) Directory used for temporary storage during image conversion |
image_upload_use_cinder_backend = False
|
(BoolOpt) If set to True, upload-to-image in raw format will create a cloned volume and register its location to the image service, instead of uploading the volume content. The cinder backend and locations support must be enabled in the image service, and glance_api_version must be set to 2. |
image_upload_use_internal_tenant = False
|
(BoolOpt) If set to True, the image volume created by upload-to-image will be placed in the internal tenant. Otherwise, the image volume is created in the current context's tenant. |
image_volume_cache_enabled = False
|
(BoolOpt) Enable the image volume cache for this backend. |
image_volume_cache_max_count = 0
|
(IntOpt) Max number of entries allowed in the image volume cache. 0 => unlimited. |
image_volume_cache_max_size_gb = 0
|
(IntOpt) Max size of the image volume cache for this backend in GB. 0 => unlimited. |
use_multipath_for_image_xfer = False
|
(BoolOpt) Do we attach/detach volumes in cinder using multipath for volume to image and image to volume transfers? |
| Configuration option = Default value | Description |
|---|---|
| [keymgr] | |
api_class = cinder.keymgr.conf_key_mgr.ConfKeyManager
|
(StrOpt) The full class name of the key manager API class |
encryption_api_url = http://localhost:9311/v1
|
(StrOpt) Url for encryption service. |
encryption_auth_url = http://localhost:5000/v3
|
(StrOpt) Authentication url for encryption service. |
fixed_key = None
|
(StrOpt) Fixed key returned by key manager, specified in hex |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
debug = False
|
(BoolOpt) Print debugging output (set logging level to DEBUG instead of default INFO level). |
default_log_levels = amqp=WARN, amqplib=WARN, boto=WARN, qpid=WARN, sqlalchemy=WARN, suds=INFO, oslo.messaging=INFO, iso8601=WARN, requests.packages.urllib3.connectionpool=WARN, urllib3.connectionpool=WARN, websocket=WARN, requests.packages.urllib3.util.retry=WARN, urllib3.util.retry=WARN, keystonemiddleware=WARN, routes.middleware=WARN, stevedore=WARN, taskflow=WARN
|
(ListOpt) List of logger=LEVEL pairs. This option is ignored if log_config_append is set. |
fatal_deprecations = False
|
(BoolOpt) Enables or disables fatal status of deprecations. |
fatal_exception_format_errors = False
|
(BoolOpt) Make exception message format errors fatal. |
instance_format = "[instance: %(uuid)s] "
|
(StrOpt) The format for an instance that is passed with the log message. |
instance_uuid_format = "[instance: %(uuid)s] "
|
(StrOpt) The format for an instance UUID that is passed with the log message. |
log_config_append = None
|
(StrOpt) 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_format). |
log_date_format = %Y-%m-%d %H:%M:%S
|
(StrOpt) Format string for %%(asctime)s in log records. Default: %(default)s . This option is ignored if log_config_append is set. |
log_dir = None
|
(StrOpt) (Optional) The base directory used for relative --log-file paths. This option is ignored if log_config_append is set. |
log_file = None
|
(StrOpt) (Optional) Name of log file to output to. If no default is set, logging will go to stdout. This option is ignored if log_config_append is set. |
log_format = None
|
(StrOpt) DEPRECATED. A logging.Formatter log message format string which may use any of the available logging.LogRecord attributes. This option is deprecate, use logging_context_format_string and logging_default_format_string instead. This option is ignored if log_config_append is set. |
logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
|
(StrOpt) Format string to use for log messages with context. |
logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
|
(StrOpt) Data to append to log format when level is DEBUG. |
logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
|
(StrOpt) Format string to use for log messages without context. |
logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
|
(StrOpt) Prefix each line of exception output with this format. |
publish_errors = False
|
(BoolOpt) Enables or disables publication of error events. |
syslog_log_facility = LOG_USER
|
(StrOpt) Syslog facility to receive log lines. This option is ignored if log_config_append is set. |
use_stderr = True
|
(BoolOpt) Log output to standard error. This option is ignored if log_config_append is set. |
use_syslog = False
|
(BoolOpt) 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_syslog_rfc_format = True
|
(BoolOpt) (Optional) Enables or disables syslog rfc5424 format for logging. If enabled, prefixes the MSG part of the syslog message with APP-NAME (RFC5424). The format without the APP-NAME is deprecated in Kilo, and will be removed in Mitaka, along with this option. This option is ignored if log_config_append is set. |
verbose = True
|
(BoolOpt) If set to false, will disable INFO logging level, making WARNING the default. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
nas_ip =
|
(StrOpt) IP address or Hostname of NAS system. |
nas_login = admin
|
(StrOpt) User name to connect to NAS system. |
nas_mount_options = None
|
(StrOpt) Options used to mount the storage backend file system where Cinder volumes are stored. |
nas_password =
|
(StrOpt) Password to connect to NAS system. |
nas_private_key =
|
(StrOpt) Filename of private key to use for SSH authentication. |
nas_secure_file_operations = auto
|
(StrOpt) Allow network-attached storage systems to operate in a secure environment where root level access is not permitted. If set to False, access is as the root user and insecure. If set to True, access is not as root. If set to auto, a check is done to determine if this is a new installation: True is used if so, otherwise False. Default is auto. |
nas_secure_file_permissions = auto
|
(StrOpt) Set more secure file permissions on network-attached storage volume files to restrict broad other/world access. If set to False, volumes are created with open permissions. If set to True, volumes are created with permissions for the cinder user and group (660). If set to auto, a check is done to determine if this is a new installation: True is used if so, otherwise False. Default is auto. |
nas_share_path =
|
(StrOpt) Path to the share to use for storing Cinder volumes. For example: "/srv/export1" for an NFS server export available at 10.0.5.10:/srv/export1 . |
nas_ssh_port = 22
|
(IntOpt) SSH port to use to connect to NAS system. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
vpool_name =
|
(StrOpt) Vpool to use for volumes - backend is defined by vpool not by us. |
| Configuration option = Default value | Description |
|---|---|
| [oslo_middleware] | |
max_request_body_size = 114688
|
(IntOpt) The maximum body size for each request, in bytes. |
| Configuration option = Default value | Description |
|---|---|
| [profiler] | |
profiler_enabled = False
|
(BoolOpt) If False fully disable profiling feature. |
trace_sqlalchemy = False
|
(BoolOpt) If False doesn't trace SQL requests. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
pure_api_token = None
|
(StrOpt) REST API authorization token. |
| Configuration option = Default value | Description |
|---|---|
| [oslo_messaging_qpid] | |
amqp_auto_delete = False
|
(BoolOpt) Auto-delete queues in AMQP. |
amqp_durable_queues = False
|
(BoolOpt) Use durable queues in AMQP. |
qpid_heartbeat = 60
|
(IntOpt) Seconds between connection keepalive heartbeats. |
qpid_hostname = localhost
|
(StrOpt) Qpid broker hostname. |
qpid_hosts = $qpid_hostname:$qpid_port
|
(ListOpt) Qpid HA cluster host:port pairs. |
qpid_password =
|
(StrOpt) Password for Qpid connection. |
qpid_port = 5672
|
(IntOpt) Qpid broker port. |
qpid_protocol = tcp
|
(StrOpt) Transport to use, either 'tcp' or 'ssl'. |
qpid_receiver_capacity = 1
|
(IntOpt) The number of prefetched messages held by receiver. |
qpid_sasl_mechanisms =
|
(StrOpt) Space separated list of SASL mechanisms to use for auth. |
qpid_tcp_nodelay = True
|
(BoolOpt) Whether to disable the Nagle algorithm. |
qpid_topology_version = 1
|
(IntOpt) The qpid topology version to use. Version 1 is what was originally used by impl_qpid. Version 2 includes some backwards-incompatible changes that allow broker federation to work. Users should update to version 2 when they are able to take everything down, as it requires a clean break. |
qpid_username =
|
(StrOpt) Username for Qpid connection. |
send_single_reply = False
|
(BoolOpt) Send a single AMQP reply to call message. The current behavior since oslo-incubator is to send two AMQP replies - first one with the payload, a second one to ensure the other has finished to send the payload. We are going to remove it in the N release, but we must keep backward compatible at the same time. This option provides such compatibility - it defaults to False in Liberty and can be turned on for early adopters with new installations or for testing. This option will be removed in the Mitaka release. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
max_age = 0
|
(IntOpt) Number of seconds between subsequent usage refreshes |
quota_backup_gigabytes = 1000
|
(IntOpt) Total amount of storage, in gigabytes, allowed for backups per project |
quota_backups = 10
|
(IntOpt) Number of volume backups allowed per project |
quota_consistencygroups = 10
|
(IntOpt) Number of consistencygroups allowed per project |
quota_driver = cinder.quota.DbQuotaDriver
|
(StrOpt) Default driver to use for quota checks |
quota_gigabytes = 1000
|
(IntOpt) Total amount of storage, in gigabytes, allowed for volumes and snapshots per project |
quota_snapshots = 10
|
(IntOpt) Number of volume snapshots allowed per project |
quota_volumes = 10
|
(IntOpt) Number of volumes allowed per project |
reservation_expire = 86400
|
(IntOpt) Number of seconds until a reservation expires |
use_default_quota_class = True
|
(BoolOpt) Enables or disables use of default quota class with default quota. |
| Configuration option = Default value | Description |
|---|---|
| [oslo_messaging_rabbit] | |
amqp_auto_delete = False
|
(BoolOpt) Auto-delete queues in AMQP. |
amqp_durable_queues = False
|
(BoolOpt) Use durable queues in AMQP. |
fake_rabbit = False
|
(BoolOpt) Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake |
heartbeat_rate = 2
|
(IntOpt) How often times during the heartbeat_timeout_threshold we check the heartbeat. |
heartbeat_timeout_threshold = 60
|
(IntOpt) Number of seconds after which the Rabbit broker is considered down if heartbeat's keep-alive fails (0 disable the heartbeat). EXPERIMENTAL |
kombu_reconnect_delay = 1.0
|
(FloatOpt) How long to wait before reconnecting in response to an AMQP consumer cancel notification. |
kombu_reconnect_timeout = 60
|
(IntOpt) How long to wait before considering a reconnect attempt to have failed. This value should not be longer than rpc_response_timeout. |
kombu_ssl_ca_certs =
|
(StrOpt) SSL certification authority file (valid only if SSL enabled). |
kombu_ssl_certfile =
|
(StrOpt) SSL cert file (valid only if SSL enabled). |
kombu_ssl_keyfile =
|
(StrOpt) SSL key file (valid only if SSL enabled). |
kombu_ssl_version =
|
(StrOpt) 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. |
rabbit_ha_queues = False
|
(BoolOpt) Use HA queues in RabbitMQ (x-ha-policy: all). If you change this option, you must wipe the RabbitMQ database. |
rabbit_host = localhost
|
(StrOpt) The RabbitMQ broker address where a single node is used. |
rabbit_hosts = $rabbit_host:$rabbit_port
|
(ListOpt) RabbitMQ HA cluster host:port pairs. |
rabbit_login_method = AMQPLAIN
|
(StrOpt) The RabbitMQ login method. |
rabbit_max_retries = 0
|
(IntOpt) Maximum number of RabbitMQ connection retries. Default is 0 (infinite retry count). |
rabbit_password = guest
|
(StrOpt) The RabbitMQ password. |
rabbit_port = 5672
|
(IntOpt) The RabbitMQ broker port where a single node is used. |
rabbit_retry_backoff = 2
|
(IntOpt) How long to backoff for between retries when connecting to RabbitMQ. |
rabbit_retry_interval = 1
|
(IntOpt) How frequently to retry connecting with RabbitMQ. |
rabbit_use_ssl = False
|
(BoolOpt) Connect over SSL for RabbitMQ. |
rabbit_userid = guest
|
(StrOpt) The RabbitMQ userid. |
rabbit_virtual_host = /
|
(StrOpt) The RabbitMQ virtual host. |
send_single_reply = False
|
(BoolOpt) Send a single AMQP reply to call message. The current behavior since oslo-incubator is to send two AMQP replies - first one with the payload, a second one to ensure the other has finished to send the payload. We are going to remove it in the N release, but we must keep backward compatible at the same time. This option provides such compatibility - it defaults to False in Liberty and can be turned on for early adopters with new installations or for testing. This option will be removed in the Mitaka release. |
| Configuration option = Default value | Description |
|---|---|
| [matchmaker_redis] | |
host = 127.0.0.1
|
(StrOpt) Host to locate redis. |
password =
|
(StrOpt) Password for Redis server (optional). |
port = 6379
|
(IntOpt) Use this port to connect to redis host. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
rpc_backend = rabbit
|
(StrOpt) The messaging driver to use, defaults to rabbit. Other drivers include qpid and zmq. |
rpc_cast_timeout = 30
|
(IntOpt) Seconds to wait before a cast expires (TTL). Only supported by impl_zmq. |
rpc_conn_pool_size = 30
|
(IntOpt) Size of RPC connection pool. |
rpc_poll_timeout = 1
|
(IntOpt) The default number of seconds that poll should wait. Poll raises timeout exception when timeout expired. |
rpc_response_timeout = 60
|
(IntOpt) Seconds to wait for a response from a call. |
volume_topic = cinder-volume
|
(StrOpt) The topic that volume nodes listen on |
| [oslo_concurrency] | |
disable_process_locking = False
|
(BoolOpt) Enables or disables inter-process locks. |
lock_path = None
|
(StrOpt) 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. |
| [oslo_messaging_amqp] | |
allow_insecure_clients = False
|
(BoolOpt) Accept clients using either SSL or plain TCP |
broadcast_prefix = broadcast
|
(StrOpt) address prefix used when broadcasting to all servers |
container_name = None
|
(StrOpt) Name for the AMQP container |
group_request_prefix = unicast
|
(StrOpt) address prefix when sending to any server in group |
idle_timeout = 0
|
(IntOpt) Timeout for inactive connections (in seconds) |
password =
|
(StrOpt) Password for message broker authentication |
sasl_config_dir =
|
(StrOpt) Path to directory that contains the SASL configuration |
sasl_config_name =
|
(StrOpt) Name of configuration file (without .conf suffix) |
sasl_mechanisms =
|
(StrOpt) Space separated list of acceptable SASL mechanisms |
server_request_prefix = exclusive
|
(StrOpt) address prefix used when sending to a specific server |
ssl_ca_file =
|
(StrOpt) CA certificate PEM file to verify server certificate |
ssl_cert_file =
|
(StrOpt) Identifying certificate PEM file to present to clients |
ssl_key_file =
|
(StrOpt) Private key PEM file used to sign cert_file certificate |
ssl_key_password = None
|
(StrOpt) Password for decrypting ssl_key_file (if encrypted) |
trace = False
|
(BoolOpt) Debug: dump AMQP frames to stdout |
username =
|
(StrOpt) User name for message broker authentication |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
san_clustername =
|
(StrOpt) Cluster name to use for creating volumes |
san_ip =
|
(StrOpt) IP address of SAN controller |
san_is_local = False
|
(BoolOpt) Execute commands locally instead of over SSH; use if the volume service is running on the SAN device |
san_login = admin
|
(StrOpt) Username for SAN controller |
san_password =
|
(StrOpt) Password for SAN controller |
san_private_key =
|
(StrOpt) Filename of private key to use for SSH authentication |
san_secondary_ip = None
|
(StrOpt) VNX secondary SP IP Address. |
san_ssh_port = 22
|
(IntOpt) SSH port to use with SAN |
san_thin_provision = True
|
(BoolOpt) Use thin provisioning for SAN volumes? |
ssh_conn_timeout = 30
|
(IntOpt) SSH connection timeout in seconds |
ssh_max_pool_conn = 5
|
(IntOpt) Maximum ssh connections in the pool |
ssh_min_pool_conn = 1
|
(IntOpt) Minimum ssh connections in the pool |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
filter_function = None
|
(StrOpt) String representation for an equation that will be used to filter hosts. Only used when the driver filter is set to be used by the Cinder scheduler. |
goodness_function = None
|
(StrOpt) String representation for an equation that will be used to determine the goodness of a host. Only used when using the goodness weigher is set to be used by the Cinder scheduler. |
scheduler_default_filters = AvailabilityZoneFilter, CapacityFilter, CapabilitiesFilter
|
(ListOpt) Which filter class names to use for filtering hosts when not specified in the request. |
scheduler_default_weighers = CapacityWeigher
|
(ListOpt) Which weigher class names to use for weighing hosts. |
scheduler_driver = cinder.scheduler.filter_scheduler.FilterScheduler
|
(StrOpt) Default scheduler driver to use |
scheduler_host_manager = cinder.scheduler.host_manager.HostManager
|
(StrOpt) The scheduler host manager class to use |
scheduler_json_config_location =
|
(StrOpt) Absolute path to scheduler configuration JSON file. |
scheduler_manager = cinder.scheduler.manager.SchedulerManager
|
(StrOpt) Full class name for the Manager for scheduler |
scheduler_max_attempts = 3
|
(IntOpt) Maximum number of attempts to schedule an volume |
scheduler_topic = cinder-scheduler
|
(StrOpt) The topic that scheduler nodes listen on |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
scst_target_driver = iscsi
|
(StrOpt) SCST target implementation can choose from multiple SCST target drivers. |
scst_target_iqn_name = None
|
(StrOpt) Certain ISCSI targets have predefined target names, SCST target driver uses this name. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
srb_base_urls = None
|
(StrOpt) Comma-separated list of REST servers IP to connect to. (eg http://IP1/,http://IP2:81/path |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
allocated_capacity_weight_multiplier = -1.0
|
(FloatOpt) Multiplier used for weighing volume capacity. Negative numbers mean to stack vs spread. |
capacity_weight_multiplier = 1.0
|
(FloatOpt) Multiplier used for weighing volume capacity. Negative numbers mean to stack vs spread. |
enabled_backends = None
|
(ListOpt) A list of backend names to use. These backend names should be backed by a unique [CONFIG] group with its options |
iscsi_helper = tgtadm
|
(StrOpt) iSCSI target user-land tool to use. tgtadm is default, use lioadm for LIO iSCSI support, scstadmin for SCST target support, iseradm for the ISER protocol, ietadm for iSCSI Enterprise Target, iscsictl for Chelsio iSCSI Target or fake for testing. |
iscsi_iotype = fileio
|
(StrOpt) Sets the behavior of the iSCSI target to either perform blockio or fileio optionally, auto can be set and Cinder will autodetect type of backing device |
iscsi_ip_address = $my_ip
|
(StrOpt) The IP address that the iSCSI daemon is listening on |
iscsi_port = 3260
|
(IntOpt) The port that the iSCSI daemon is listening on |
iscsi_protocol = iscsi
|
(StrOpt) Determines the iSCSI protocol for new iSCSI volumes, created with tgtadm or lioadm target helpers. In order to enable RDMA, this parameter should be set with the value "iser". The supported iSCSI protocol values are "iscsi" and "iser". |
iscsi_target_flags =
|
(StrOpt) Sets the target-specific flags for the iSCSI target. Only used for tgtadm to specify backing device flags using bsoflags option. The specified string is passed as is to the underlying tool. |
iscsi_target_prefix = iqn.2010-10.org.openstack:
|
(StrOpt) Prefix for iSCSI volumes |
iscsi_write_cache = on
|
(StrOpt) Sets the behavior of the iSCSI target to either perform write-back(on) or write-through(off). This parameter is valid if iscsi_helper is set to tgtadm or iseradm. |
iser_helper = tgtadm
|
(StrOpt) The name of the iSER target user-land tool to use |
iser_ip_address = $my_ip
|
(StrOpt) The IP address that the iSER daemon is listening on |
iser_port = 3260
|
(IntOpt) The port that the iSER daemon is listening on |
iser_target_prefix = iqn.2010-10.org.openstack:
|
(StrOpt) Prefix for iSER volumes |
migration_create_volume_timeout_secs = 300
|
(IntOpt) Timeout for creating the volume to migrate to when performing volume migration (seconds) |
num_iser_scan_tries = 3
|
(IntOpt) The maximum number of times to rescan iSER targetto find volume |
num_volume_device_scan_tries = 3
|
(IntOpt) The maximum number of times to rescan targets to find volume |
volume_backend_name = None
|
(StrOpt) The backend name for a given driver implementation |
volume_clear = zero
|
(StrOpt) Method used to wipe old volumes |
volume_clear_ionice = None
|
(StrOpt) The flag to pass to ionice to alter the i/o priority of the process used to zero a volume after deletion, for example "-c3" for idle only priority. |
volume_clear_size = 0
|
(IntOpt) Size in MiB to wipe at start of old volumes. 0 => all |
volume_copy_blkio_cgroup_name = cinder-volume-copy
|
(StrOpt) The blkio cgroup name to be used to limit bandwidth of volume copy |
volume_copy_bps_limit = 0
|
(IntOpt) The upper limit of bandwidth of volume copy. 0 => unlimited |
volume_dd_blocksize = 1M
|
(StrOpt) The default block size used when copying/clearing volumes |
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
|
(StrOpt) Driver to use for volume creation |
volume_manager = cinder.volume.manager.VolumeManager
|
(StrOpt) Full class name for the Manager for volume |
volume_service_inithost_offload = False
|
(BoolOpt) Offload pending volume delete during volume service startup |
volume_usage_audit_period = month
|
(StrOpt) Time period for which to generate volume usages. The options are hour, day, month, or year. |
volumes_dir = $state_path/volumes
|
(StrOpt) Volume configuration file storage directory |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
gateway_mga = None
|
(StrOpt) IP address or hostname of mg-a |
gateway_mgb = None
|
(StrOpt) IP address or hostname of mg-b |
use_igroups = False
|
(BoolOpt) Use igroups to manage targets and initiators |
violin_request_timeout = 300
|
(IntOpt) Global backend request timeout, in seconds. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
cloned_volume_same_az = True
|
(BoolOpt) Ensure that the new volumes are the same AZ as snapshot or source volume |
2.7. New, updated, and deprecated options in Mitaka for OpenStack Block Storage Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[DEFAULT] backup_gcs_block_size = 32768
|
(IntOpt) The size in bytes that changes are tracked for incremental backups. backup_gcs_object_size has to be multiple of backup_gcs_block_size. |
[DEFAULT] backup_gcs_bucket = None
|
(StrOpt) The GCS bucket to use. |
[DEFAULT] backup_gcs_bucket_location = US
|
(StrOpt) Location of GCS bucket. |
[DEFAULT] backup_gcs_credential_file = None
|
(StrOpt) Absolute path of GCS service account credential file. |
[DEFAULT] backup_gcs_enable_progress_timer = True
|
(BoolOpt) Enable or Disable the timer to send the periodic progress notifications to Ceilometer when backing up the volume to the GCS backend storage. The default value is True to enable the timer. |
[DEFAULT] backup_gcs_num_retries = 3
|
(IntOpt) Number of times to retry. |
[DEFAULT] backup_gcs_object_size = 52428800
|
(IntOpt) The size in bytes of GCS backup objects. |
[DEFAULT] backup_gcs_project_id = None
|
(StrOpt) Owner project id for GCS bucket. |
[DEFAULT] backup_gcs_reader_chunk_size = 2097152
|
(IntOpt) GCS object will be downloaded in chunks of bytes. |
[DEFAULT] backup_gcs_retry_error_codes = 429
|
(ListOpt) List of GCS error codes. |
[DEFAULT] backup_gcs_storage_class = NEARLINE
|
(StrOpt) Storage class of GCS bucket. |
[DEFAULT] backup_gcs_user_agent = gcscinder
|
(StrOpt) Http user-agent string for gcs api. |
[DEFAULT] backup_gcs_writer_chunk_size = 2097152
|
(IntOpt) GCS object will be uploaded in chunks of bytes. Pass in a value of -1 if the file is to be uploaded as a single chunk. |
[DEFAULT] backup_swift_auth_insecure = False
|
(BoolOpt) Bypass verification of server certificate when making SSL connection to Swift. |
[DEFAULT] backup_swift_auth_url = None
|
(StrOpt) The URL of the Keystone endpoint |
[DEFAULT] backup_use_same_host = False
|
(BoolOpt) Backup services use same backend. |
[DEFAULT] cb_update_file_system = compression, sync, noofcopies, readonly
|
(ListOpt) These values will be used for CloudByte storage's updateFileSystem API call. |
[DEFAULT] cb_update_qos_group = iops, latency, graceallowed
|
(ListOpt) These values will be used for CloudByte storage's updateQosGroup API call. |
[DEFAULT] cinder_eternus_config_file = /etc/cinder/cinder_fujitsu_eternus_dx.xml
|
(StrOpt) config file for cinder eternus_dx volume driver |
[DEFAULT] clone_check_timeout = 3600
|
(IntOpt) How long we check whether a clone is finished before we give up |
[DEFAULT] coho_rpc_port = 2049
|
(IntOpt) RPC port to connect to Coha Data MicroArray |
[DEFAULT] disco_client = 127.0.0.1
|
(IPOpt) The IP of DMS client socket server |
[DEFAULT] disco_client_port = 9898
|
(PortOpt) The port to connect DMS client socket server |
[DEFAULT] disco_wsdl_path = /etc/cinder/DISCOService.wsdl
|
(StrOpt) Path to the wsdl file to communicate with DISCO request manager |
[DEFAULT] drbdmanage_devs_on_controller = True
|
(BoolOpt) If set, the c-vol node will receive a useable /dev/drbdX device, even if the actual data is stored on other nodes only. This is useful for debugging, maintenance, and to be able to do the iSCSI export from the c-vol node. |
[DEFAULT] drbdmanage_resize_plugin = drbdmanage.plugins.plugins.wait_for.WaitForVolumeSize
|
(StrOpt) Volume resize completion wait plugin. |
[DEFAULT] drbdmanage_resize_policy = {"timeout": "60"}
|
(StrOpt) Volume resize completion wait policy. |
[DEFAULT] drbdmanage_resource_plugin = drbdmanage.plugins.plugins.wait_for.WaitForResource
|
(StrOpt) Resource deployment completion wait plugin. |
[DEFAULT] drbdmanage_resource_policy = {"ratio": "0.51", "timeout": "60"}
|
(StrOpt) Resource deployment completion wait policy. |
[DEFAULT] drbdmanage_snapshot_plugin = drbdmanage.plugins.plugins.wait_for.WaitForSnapshot
|
(StrOpt) Snapshot completion wait plugin. |
[DEFAULT] drbdmanage_snapshot_policy = {"count": "1", "timeout": "60"}
|
(StrOpt) Snapshot completion wait policy. |
[DEFAULT] driver_ssl_cert_path = None
|
(StrOpt) Can be used to specify a non default path to a CA_BUNDLE file or directory with certificates of trusted CAs, which will be used to validate the backend |
[DEFAULT] enable_v3_api = True
|
(BoolOpt) Deploy v3 of the Cinder API. |
[DEFAULT] glance_catalog_info = image:glance:publicURL
|
(StrOpt) Info to match when looking for glance in the service catalog. Format is: separated values of the form: <service_type>:<service_name>:<endpoint_type> - Only used if glance_api_servers are not provided. |
[DEFAULT] hpe3par_api_url =
|
(StrOpt) 3PAR WSAPI Server Url like https://<3par ip>:8080/api/v1 |
[DEFAULT] hpe3par_cpg = OpenStack
|
(ListOpt) List of the CPG(s) to use for volume creation |
[DEFAULT] hpe3par_cpg_snap =
|
(StrOpt) The CPG to use for Snapshots for volumes. If empty the userCPG will be used. |
[DEFAULT] hpe3par_debug = False
|
(BoolOpt) Enable HTTP debugging to 3PAR |
[DEFAULT] hpe3par_iscsi_chap_enabled = False
|
(BoolOpt) Enable CHAP authentication for iSCSI connections. |
[DEFAULT] hpe3par_iscsi_ips =
|
(ListOpt) List of target iSCSI addresses to use. |
[DEFAULT] hpe3par_password =
|
(StrOpt) 3PAR password for the user specified in hpe3par_username |
[DEFAULT] hpe3par_snapshot_expiration =
|
(StrOpt) The time in hours when a snapshot expires and is deleted. This must be larger than expiration |
[DEFAULT] hpe3par_snapshot_retention =
|
(StrOpt) The time in hours to retain a snapshot. You can't delete it before this expires. |
[DEFAULT] hpe3par_username =
|
(StrOpt) 3PAR username with the 'edit' role |
[DEFAULT] hpelefthand_api_url = None
|
(StrOpt) HPE LeftHand WSAPI Server Url like https://<LeftHand ip>:8081/lhos |
[DEFAULT] hpelefthand_clustername = None
|
(StrOpt) HPE LeftHand cluster name |
[DEFAULT] hpelefthand_debug = False
|
(BoolOpt) Enable HTTP debugging to LeftHand |
[DEFAULT] hpelefthand_iscsi_chap_enabled = False
|
(BoolOpt) Configure CHAP authentication for iSCSI connections (Default: Disabled) |
[DEFAULT] hpelefthand_password = None
|
(StrOpt) HPE LeftHand Super user password |
[DEFAULT] hpelefthand_ssh_port = 16022
|
(PortOpt) Port number of SSH service. |
[DEFAULT] hpelefthand_username = None
|
(StrOpt) HPE LeftHand Super user username |
[DEFAULT] hpexp_async_copy_check_interval = 10
|
(IntOpt) Interval to check copy asynchronously |
[DEFAULT] hpexp_compute_target_ports = None
|
(ListOpt) Target port names of compute node for host group or iSCSI target |
[DEFAULT] hpexp_copy_check_interval = 3
|
(IntOpt) Interval to check copy |
[DEFAULT] hpexp_copy_speed = 3
|
(IntOpt) Copy speed of storage system |
[DEFAULT] hpexp_default_copy_method = FULL
|
(StrOpt) Default copy method of storage system. There are two valid values: "FULL" specifies that a full copy; "THIN" specifies that a thin copy. Default value is "FULL" |
[DEFAULT] hpexp_group_request = False
|
(BoolOpt) Request for creating host group or iSCSI target |
[DEFAULT] hpexp_horcm_add_conf = True
|
(BoolOpt) Add to HORCM configuration |
[DEFAULT] hpexp_horcm_name_only_discovery = False
|
(BoolOpt) Only discover a specific name of host group or iSCSI target |
[DEFAULT] hpexp_horcm_numbers = 200, 201
|
(ListOpt) Instance numbers for HORCM |
[DEFAULT] hpexp_horcm_resource_name = meta_resource
|
(StrOpt) Resource group name of storage system for HORCM |
[DEFAULT] hpexp_horcm_user = None
|
(StrOpt) Username of storage system for HORCM |
[DEFAULT] hpexp_ldev_range = None
|
(StrOpt) Logical device range of storage system |
[DEFAULT] hpexp_pool = None
|
(StrOpt) Pool of storage system |
[DEFAULT] hpexp_storage_cli = None
|
(StrOpt) Type of storage command line interface |
[DEFAULT] hpexp_storage_id = None
|
(StrOpt) ID of storage system |
[DEFAULT] hpexp_target_ports = None
|
(ListOpt) Target port names for host group or iSCSI target |
[DEFAULT] hpexp_thin_pool = None
|
(StrOpt) Thin pool of storage system |
[DEFAULT] hpexp_zoning_request = False
|
(BoolOpt) Request for FC Zone creating host group |
[DEFAULT] hypermetro_devices = None
|
(StrOpt) The remote device hypermetro will use. |
[DEFAULT] keystone_catalog_info = identity:Identity Service:publicURL
|
(StrOpt) Info to match when looking for keystone in the service catalog. Format is: separated values of the form: <service_type>:<service_name>:<endpoint_type> - Only used if backup_swift_auth_url is unset |
[DEFAULT] lvm_max_over_subscription_ratio = 1.0
|
(FloatOpt) max_over_subscription_ratio setting for the LVM driver. If set, this takes precedence over the general max_over_subscription_ratio option. If None, the general option is used. |
[DEFAULT] nexenta_blocksize = 4096
|
(IntOpt) Block size for datasets |
[DEFAULT] nexenta_chunksize = 16384
|
(IntOpt) NexentaEdge iSCSI LUN object chunk size |
[DEFAULT] nexenta_client_address =
|
(StrOpt) NexentaEdge iSCSI Gateway client address for non-VIP service |
[DEFAULT] nexenta_dataset_compression = on
|
(StrOpt) Compression value for new ZFS folders. |
[DEFAULT] nexenta_dataset_dedup = off
|
(StrOpt) Deduplication value for new ZFS folders. |
[DEFAULT] nexenta_dataset_description =
|
(StrOpt) Human-readable description for the folder. |
[DEFAULT] nexenta_host =
|
(StrOpt) IP address of Nexenta SA |
[DEFAULT] nexenta_iscsi_service =
|
(StrOpt) NexentaEdge iSCSI service name |
[DEFAULT] nexenta_iscsi_target_portal_port = 3260
|
(IntOpt) Nexenta target portal port |
[DEFAULT] nexenta_lun_container =
|
(StrOpt) NexentaEdge logical path of bucket for LUNs |
[DEFAULT] nexenta_mount_point_base = $state_path/mnt
|
(StrOpt) Base directory that contains NFS share mount points |
[DEFAULT] nexenta_nms_cache_volroot = True
|
(BoolOpt) If set True cache NexentaStor appliance volroot option value. |
[DEFAULT] nexenta_ns5_blocksize = 32
|
(IntOpt) Block size for datasets |
[DEFAULT] nexenta_password = nexenta
|
(StrOpt) Password to connect to Nexenta SA |
[DEFAULT] nexenta_rest_address =
|
(StrOpt) IP address of NexentaEdge management REST API endpoint |
[DEFAULT] nexenta_rest_password = nexenta
|
(StrOpt) Password to connect to NexentaEdge |
[DEFAULT] nexenta_rest_port = 8080
|
(IntOpt) HTTP port to connect to Nexenta REST API server |
[DEFAULT] nexenta_rest_protocol = auto
|
(StrOpt) Use http or https for REST connection (default auto) |
[DEFAULT] nexenta_rest_user = admin
|
(StrOpt) User name to connect to NexentaEdge |
[DEFAULT] nexenta_rrmgr_compression = 0
|
(IntOpt) Enable stream compression, level 1..9. 1 - gives best speed; 9 - gives best compression. |
[DEFAULT] nexenta_rrmgr_connections = 2
|
(IntOpt) Number of TCP connections. |
[DEFAULT] nexenta_rrmgr_tcp_buf_size = 4096
|
(IntOpt) TCP Buffer size in KiloBytes. |
[DEFAULT] nexenta_shares_config = /etc/cinder/nfs_shares
|
(StrOpt) File with the list of available nfs shares |
[DEFAULT] nexenta_sparse = False
|
(BoolOpt) Enables or disables the creation of sparse datasets |
[DEFAULT] nexenta_sparsed_volumes = True
|
(BoolOpt) Enables or disables the creation of volumes as sparsed files that take no space. If disabled (False), volume is created as a regular file, which takes a long time. |
[DEFAULT] nexenta_target_group_prefix = cinder/
|
(StrOpt) Prefix for iSCSI target groups on SA |
[DEFAULT] nexenta_target_prefix = iqn.1986-03.com.sun:02:cinder-
|
(StrOpt) IQN prefix for iSCSI targets |
[DEFAULT] nexenta_user = admin
|
(StrOpt) User name to connect to Nexenta SA |
[DEFAULT] nexenta_volume = cinder
|
(StrOpt) SA Pool that holds all volumes |
[DEFAULT] nexenta_volume_group = iscsi
|
(StrOpt) Volume group for ns5 |
[DEFAULT] pure_automatic_max_oversubscription_ratio = True
|
(BoolOpt) Automatically determine an oversubscription ratio based on the current total data reduction values. If used this calculated value will override the max_over_subscription_ratio config option. |
[DEFAULT] pure_eradicate_on_delete = False
|
(BoolOpt) When enabled, all Pure volumes, snapshots, and protection groups will be eradicated at the time of deletion in Cinder. Data will NOT be recoverable after a delete with this set to True! When disabled, volumes and snapshots will go into pending eradication state and can be recovered. |
[DEFAULT] pure_replica_interval_default = 900
|
(IntOpt) Snapshot replication interval in seconds. |
[DEFAULT] pure_replica_retention_long_term_default = 7
|
(IntOpt) Retain snapshots per day on target for this time (in days.) |
[DEFAULT] pure_replica_retention_long_term_per_day_default = 3
|
(IntOpt) Retain how many snapshots for each day. |
[DEFAULT] pure_replica_retention_short_term_default = 14400
|
(IntOpt) Retain all snapshots on target for this time (in seconds.) |
[DEFAULT] replication_device = None
|
(MultiOpt) Multi opt of dictionaries to represent a replication target device. This option may be specified multiple times in a single config section to specify multiple replication target devices. Each entry takes the standard dict config form: replication_device = target_device_id:<required>,key1:value1,key2:value2... |
[DEFAULT] report_discard_supported = False
|
(BoolOpt) Report to clients of Cinder that the backend supports discard (aka. trim/unmap). This will not actually change the behavior of the backend or the client directly, it will only notify that it can be used. |
[DEFAULT] restore_check_timeout = 3600
|
(IntOpt) How long we check whether a restore is finished before we give up |
[DEFAULT] retry_interval = 1
|
(IntOpt) How long we wait before retrying to get an item detail |
[DEFAULT] sf_enable_vag = False
|
(BoolOpt) Utilize volume access groups on a per-tenant basis. |
[DEFAULT] sf_volume_prefix = UUID-
|
(StrOpt) Create SolidFire volumes with this prefix. Volume names are of the form <sf_volume_prefix><cinder-volume-id>. The default is to use a prefix of 'UUID-'. |
[DEFAULT] smbfs_allocation_info_file_path = $state_path/allocation_data
|
(StrOpt) The path of the automatically generated file containing information about volume disk space allocation. |
[DEFAULT] snapshot_check_timeout = 3600
|
(IntOpt) How long we check whether a snapshot is finished before we give up |
[DEFAULT] storwize_san_secondary_ip = None
|
(StrOpt) Specifies secondary management IP or hostname to be used if san_ip is invalid or becomes inaccessible. |
[DEFAULT] storwize_svc_flashcopy_rate = 50
|
(IntOpt) Specifies the Storwize FlashCopy copy rate to be used when creating a full volume copy. The default is rate is 50, and the valid rates are 1-100. |
[DEFAULT] storwize_svc_vol_nofmtdisk = False
|
(BoolOpt) Specifies that the volume not be formatted during creation. |
[DEFAULT] suppress_requests_ssl_warnings = False
|
(BoolOpt) Suppress requests library SSL certificate warnings. |
[DEFAULT] tegile_default_pool = None
|
(StrOpt) Create volumes in this pool |
[DEFAULT] tegile_default_project = None
|
(StrOpt) Create volumes in this project |
[DEFAULT] tintri_image_cache_expiry_days = 30
|
(IntOpt) Delete unused image snapshots older than mentioned days |
[DEFAULT] tintri_image_shares_config = None
|
(StrOpt) Path to image nfs shares file |
[DEFAULT] volume_name_prefix = openstack-
|
(StrOpt) Prefix before volume name to differenciate DISCO volume created through openstack and the other ones |
[DEFAULT] xtremio_volumes_per_glance_cache = 100
|
(IntOpt) Number of volumes created from each cached glance image |
[DEFAULT] zfssa_manage_policy = loose
|
(StrOpt) Driver policy for volume manage. |
[BRCD_FABRIC_EXAMPLE] fc_fabric_ssh_cert_path =
|
(StrOpt) Local SSH certificate Path. |
[BRCD_FABRIC_EXAMPLE] fc_southbound_protocol = HTTP
|
(StrOpt) South bound connector for the fabric. |
[BRCD_FABRIC_EXAMPLE] fc_virtual_fabric_id = None
|
(StrOpt) Virtual Fabric ID. |
[coordination] backend_url = file://$state_path
|
(StrOpt) The backend URL to use for distributed coordination. |
[coordination] heartbeat = 1.0
|
(FloatOpt) Number of seconds between heartbeats for distributed coordination. |
[coordination] initial_reconnect_backoff = 0.1
|
(FloatOpt) Initial number of seconds to wait after failed reconnection. |
[coordination] max_reconnect_backoff = 60.0
|
(FloatOpt) Maximum number of seconds between sequential reconnection retries. |
[hyperv] force_volumeutils_v1 = False
|
(BoolOpt) DEPRECATED: Force V1 volume utility class |
[profiler] enabled = False
|
(BoolOpt) Enables the profiling for all services on this node. Default value is False (fully disable the profiling feature). Possible values: * True: Enables the feature * False: Disables the feature. The profiling cannot be started via this project operations. If the profiling is triggered by another project, this project part will be empty. |
[profiler] hmac_keys = SECRET_KEY
|
(StrOpt) 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. |
| Option | New default value | New default value |
[DEFAULT] datera_api_version
|
1 | 2 |
[DEFAULT] datera_num_replicas
|
3 | 1 |
[DEFAULT] glance_api_servers
|
$glance_host:$glance_port | None |
[DEFAULT] query_volume_filters
|
name, status, metadata, availability_zone | name, status, metadata, availability_zone, bootable |
[DEFAULT] zoning_mode
|
none | None |
[BRCD_FABRIC_EXAMPLE] zone_name_prefix
|
None | openstack |
[fc-zone-manager] brcd_sb_connector
|
cinder.zonemanager.drivers.brocade.brcd_fc_zone_client_cli.BrcdFCZoneClientCLI | HTTP |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT] enable_v1_api
|
None |
[DEFAULT] enable_v2_api
|
None |
[DEFAULT] eqlx_chap_login
|
[DEFAULT] chap_username |
[DEFAULT] eqlx_chap_password
|
[DEFAULT] chap_password |
[DEFAULT] eqlx_use_chap
|
[DEFAULT] use_chap_auth |
[DEFAULT] host
|
[DEFAULT] backend_host |
[DEFAULT] hp3par_api_url
|
[DEFAULT] hpe3par_api_url |
[DEFAULT] hp3par_cpg
|
[DEFAULT] hpe3par_cpg |
[DEFAULT] hp3par_cpg_snap
|
[DEFAULT] hpe3par_cpg_snap |
[DEFAULT] hp3par_debug
|
[DEFAULT] hpe3par_debug |
[DEFAULT] hp3par_iscsi_chap_enabled
|
[DEFAULT] hpe3par_iscsi_chap_enabled |
[DEFAULT] hp3par_iscsi_ips
|
[DEFAULT] hpe3par_iscsi_ips |
[DEFAULT] hp3par_password
|
[DEFAULT] hpe3par_password |
[DEFAULT] hp3par_snapshot_expiration
|
[DEFAULT] hpe3par_snapshot_expiration |
[DEFAULT] hp3par_snapshot_retention
|
[DEFAULT] hpe3par_snapshot_retention |
[DEFAULT] hp3par_username
|
[DEFAULT] hpe3par_username |
[DEFAULT] hplefthand_api_url
|
[DEFAULT] hpelefthand_api_url |
[DEFAULT] hplefthand_clustername
|
[DEFAULT] hpelefthand_clustername |
[DEFAULT] hplefthand_debug
|
[DEFAULT] hpelefthand_debug |
[DEFAULT] hplefthand_iscsi_chap_enabled
|
[DEFAULT] hpelefthand_iscsi_chap_enabled |
[DEFAULT] hplefthand_password
|
[DEFAULT] hpelefthand_password |
[DEFAULT] hplefthand_username
|
[DEFAULT] hpelefthand_username |
[DEFAULT] hpxp_async_copy_check_interval
|
[DEFAULT] hpexp_async_copy_check_interval |
[DEFAULT] hpxp_compute_target_ports
|
[DEFAULT] hpexp_compute_target_ports |
[DEFAULT] hpxp_copy_check_interval
|
[DEFAULT] hpexp_copy_check_interval |
[DEFAULT] hpxp_copy_speed
|
[DEFAULT] hpexp_copy_speed |
[DEFAULT] hpxp_default_copy_method
|
[DEFAULT] hpexp_default_copy_method |
[DEFAULT] hpxp_group_request
|
[DEFAULT] hpexp_group_request |
[DEFAULT] hpxp_horcm_add_conf
|
[DEFAULT] hpexp_horcm_add_conf |
[DEFAULT] hpxp_horcm_name_only_discovery
|
[DEFAULT] hpexp_horcm_name_only_discovery |
[DEFAULT] hpxp_horcm_numbers
|
[DEFAULT] hpexp_horcm_numbers |
[DEFAULT] hpxp_horcm_resource_name
|
[DEFAULT] hpexp_horcm_resource_name |
[DEFAULT] hpxp_horcm_user
|
[DEFAULT] hpexp_horcm_user |
[DEFAULT] hpxp_ldev_range
|
[DEFAULT] hpexp_ldev_range |
[DEFAULT] hpxp_pool
|
[DEFAULT] hpexp_pool |
[DEFAULT] hpxp_storage_cli
|
[DEFAULT] hpexp_storage_cli |
[DEFAULT] hpxp_storage_id
|
[DEFAULT] hpexp_storage_id |
[DEFAULT] hpxp_target_ports
|
[DEFAULT] hpexp_target_ports |
[DEFAULT] hpxp_thin_pool
|
[DEFAULT] hpexp_thin_pool |
[DEFAULT] hpxp_zoning_request
|
[DEFAULT] hpexp_zoning_request |
[DEFAULT] osapi_max_request_body_size
|
[oslo_middleware] max_request_body_size |
[DEFAULT] use_syslog
|
None |
[hyperv] force_volumeutils_v1
|
None |
[profiler] profiler_enabled
|
[profiler] enabled |
Chapter 3. Compute Copier lienLien copié sur presse-papiers!
nova.conf. Contains most of the Compute configuration options. Resides in the/etc/nova/directory.api-paste.ini. Defines Compute limits. Resides in the/etc/nova/directory.- Related Image service and Identity service management configuration files.
Ephemeral Storage Discrepancy with Ceph
When using Red Hat Ceph as a back end for ephemeral storage, the Compute service does not calculate the amount of available storage correctly. Specifically, Compute simply adds up the amount of available storage without factoring in replication. This results in grossly overstated available storage, which in turn could cause unexpected storage oversubscription.
3.1. Overview of nova.conf Copier lienLien copié sur presse-papiers!
option (nova.conf) parameter when you run one of the nova-* services. This parameter inserts configuration option definitions from the specified configuration file name, which might be useful for debugging or performance tuning.
nova.conf configuration file, review the general purpose configuration options documented in Table 3.17, “Description of common configuration options”.
Sections Copier lienLien copié sur presse-papiers!
[DEFAULT]- Contains most configuration options. If the documentation for a configuration option does not specify its section, assume that it appears in this section.
[baremetal]- Configures the baremetal hypervisor driver.
[cells]- Configures cells functionality. For details, see Section 3.13, “Cells”.
[conductor]- Configures the
nova-conductorservice. [database]- Configures the database that Compute uses.
[glance]- Configures how to access the Image service.
[image_file_url]- Configures additional filesystems to access the Image Service.
[keymgr]- Configures the key manager.
[keystone_authtoken]- Configures authorization via Identity service.
[libvirt]- Configures the hypervisor drivers using the Libvirt library: KVM, LXC, Qemu, UML, Xen.
[matchmaker_redis]- Configures a Redis server.
[matchmaker_ring]- Configures a matchmaker ring.
[metrics]- Configures weights for the metrics weighter.
[neutron]- Configures Networking specific options.
[osapi_v3]- Configures the OpenStack Compute API v3.
[rdp]- Configures RDP proxying.
[serial_console]- Configures serial console.
[spice]- Configures virtual consoles using SPICE.
[ssl]- Configures certificate authority using SSL.
[trusted_computing]- Configures the trusted computing pools functionality and how to connect to a remote attestation service.
[upgrade_levels]- Configures version locking on the RPC (message queue) communications between the various Compute services to allow live upgrading an OpenStack installation.
[vmware]- Configures the VMware hypervisor driver.
[xenserver]- Configures the XenServer hypervisor driver.
[zookeeper]- Configures the ZooKeeper ServiceGroup driver.
3.2. Configure logging Copier lienLien copié sur presse-papiers!
nova.conf file to configure where Compute logs events, the level of logging, and log formats.
3.3. Configure authentication and authorization Copier lienLien copié sur presse-papiers!
3.4. Configure resize Copier lienLien copié sur presse-papiers!
3.4.1. KVM Copier lienLien copié sur presse-papiers!
3.5. Database configuration Copier lienLien copié sur presse-papiers!
nova. The nova-conductor service is the only service that writes to the database. The other Compute services access the database through the nova-conductor service.
nova-manage db sync
# nova-manage db sync
nova-conductor is not used, entries to the database are mostly written by the nova-scheduler service, although all services must be able to update entries in the database.
3.6. Configure the Oslo RPC messaging system Copier lienLien copié sur presse-papiers!
3.6.1. Configure RabbitMQ Copier lienLien copié sur presse-papiers!
rpc_backend option is not required as long as RabbitMQ is the default messaging system. However, if it is included the configuration, you must set it to rabbit.
rpc_backend=rabbit
rpc_backend=rabbit
notification_driver option to nova.openstack.common.notifier.rpc_notifier in the nova.conf file. The default for sending usage data is sixty seconds plus a random number of seconds from zero to sixty.
| Configuration option = Default value | Description |
|---|---|
| [oslo_messaging_rabbit] | |
amqp_auto_delete = False
|
(BoolOpt) Auto-delete queues in AMQP. |
amqp_durable_queues = False
|
(BoolOpt) Use durable queues in AMQP. |
fake_rabbit = False
|
(BoolOpt) Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake |
heartbeat_rate = 2
|
(IntOpt) How often times during the heartbeat_timeout_threshold to check the heartbeat. |
heartbeat_timeout_threshold = 0
|
(IntOpt) Number of seconds after which the Rabbit broker is considered down if heartbeat's keep-alive fails (0 disables the heartbeat, >0 enables it. Enabling heartbeats requires kombu>=3.0.7 and amqp>=1.4.0). EXPERIMENTAL |
kombu_reconnect_delay = 1.0
|
(FloatOpt) How long to wait before reconnecting in response to an AMQP consumer cancel notification. |
kombu_ssl_ca_certs =
|
(StrOpt) SSL certification authority file (valid only if SSL enabled). |
kombu_ssl_certfile =
|
(StrOpt) SSL cert file (valid only if SSL enabled). |
kombu_ssl_keyfile =
|
(StrOpt) SSL key file (valid only if SSL enabled). |
kombu_ssl_version =
|
(StrOpt) SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 are also available. |
rabbit_ha_queues = False
|
(BoolOpt) Use HA queues in RabbitMQ (x-ha-policy: all). If you change this option, you must wipe the RabbitMQ database. |
rabbit_host = localhost
|
(StrOpt) The RabbitMQ broker address where a single node is used. |
rabbit_hosts = $rabbit_host:$rabbit_port
|
(ListOpt) RabbitMQ HA cluster host:port pairs. |
rabbit_login_method = AMQPLAIN
|
(StrOpt) The RabbitMQ login method. |
rabbit_max_retries = 0
|
(IntOpt) Maximum number of RabbitMQ connection retries. Default is 0 (infinite retry count). |
rabbit_password = guest
|
(StrOpt) The RabbitMQ password. |
rabbit_port = 5672
|
(IntOpt) The RabbitMQ broker port where a single node is used. |
rabbit_retry_backoff = 2
|
(IntOpt) How long to backoff for between retries when connecting to RabbitMQ. |
rabbit_retry_interval = 1
|
(IntOpt) How frequently to retry connecting with RabbitMQ. |
rabbit_use_ssl = False
|
(BoolOpt) Connect over SSL for RabbitMQ. |
rabbit_userid = guest
|
(StrOpt) The RabbitMQ userid. |
rabbit_virtual_host = /
|
(StrOpt) The RabbitMQ virtual host. |
rpc_conn_pool_size = 30
|
(IntOpt) Size of RPC connection pool. |
3.6.2. Configure Qpid Copier lienLien copié sur presse-papiers!
rpc_backend option in the nova.conf file.
rpc_backend=qpid
rpc_backend=qpid
qpid_hostname to the host name where the broker runs in the nova.conf file.
--qpid_hostname parameter accepts a host name or IP address value.
qpid_hostname=hostname.example.com
qpid_hostname=hostname.example.com
5672, you must set the qpid_port option to that value:
qpid_port=12345
qpid_port=12345
qpid_username=username qpid_password=password
qpid_username=username
qpid_password=password
qpid_protocol option:
qpid_protocol=ssl
qpid_protocol=ssl
| Configuration option = Default value | Description |
|---|---|
| [oslo_messaging_qpid] | |
amqp_auto_delete = False
|
(BoolOpt) Auto-delete queues in AMQP. |
amqp_durable_queues = False
|
(BoolOpt) Use durable queues in AMQP. |
qpid_heartbeat = 60
|
(IntOpt) Seconds between connection keepalive heartbeats. |
qpid_hostname = localhost
|
(StrOpt) Qpid broker hostname. |
qpid_hosts = $qpid_hostname:$qpid_port
|
(ListOpt) Qpid HA cluster host:port pairs. |
qpid_password =
|
(StrOpt) Password for Qpid connection. |
qpid_port = 5672
|
(IntOpt) Qpid broker port. |
qpid_protocol = tcp
|
(StrOpt) Transport to use, either 'tcp' or 'ssl'. |
qpid_receiver_capacity = 1
|
(IntOpt) The number of prefetched messages held by receiver. |
qpid_sasl_mechanisms =
|
(StrOpt) Space separated list of SASL mechanisms to use for auth. |
qpid_tcp_nodelay = True
|
(BoolOpt) Whether to disable the Nagle algorithm. |
qpid_topology_version = 1
|
(IntOpt) The qpid topology version to use. Version 1 is what was originally used by impl_qpid. Version 2 includes some backwards-incompatible changes that allow broker federation to work. Users should update to version 2 when they are able to take everything down, as it requires a clean break. |
qpid_username =
|
(StrOpt) Username for Qpid connection. |
rpc_conn_pool_size = 30
|
(IntOpt) Size of RPC connection pool. |
3.6.3. Configure messaging Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
control_exchange = openstack
|
(StrOpt) The default exchange under which topics are scoped. May be overridden by an exchange name specified in the transport_url option. |
default_publisher_id = None
|
(StrOpt) Default publisher_id for outgoing notifications |
notification_driver = []
|
(MultiStrOpt) Driver or drivers to handle sending notifications. |
notification_topics = notifications
|
(ListOpt) AMQP topic used for OpenStack notifications. |
transport_url = None
|
(StrOpt) A URL representing the messaging driver to use and its full configuration. If not set, fall back to the rpc_backend option and driver specific configuration. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
matchmaker_heartbeat_freq = 300
|
(IntOpt) Heartbeat frequency. |
matchmaker_heartbeat_ttl = 600
|
(IntOpt) Heartbeat time-to-live. |
rpc_backend = rabbit
|
(StrOpt) The messaging driver to use, defaults to rabbit. Other drivers include qpid and zmq. |
rpc_cast_timeout = 30
|
(IntOpt) Seconds to wait before a cast expires (TTL). Only supported by impl_zmq. |
rpc_response_timeout = 60
|
(IntOpt) Seconds to wait for a response from a call. |
rpc_thread_pool_size = 64
|
(IntOpt) Size of RPC thread pool. |
| [cells] | |
rpc_driver_queue_base = cells.intercell
|
(StrOpt) Base queue name to use when communicating between cells. Various topics by message type will be appended to this. |
| [oslo_concurrency] | |
disable_process_locking = False
|
(BoolOpt) Enables or disables inter-process locks. |
lock_path = None
|
(StrOpt) 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. |
| [oslo_messaging_amqp] | |
allow_insecure_clients = False
|
(BoolOpt) Accept clients using either SSL or plain TCP |
broadcast_prefix = broadcast
|
(StrOpt) address prefix used when broadcasting to all servers |
container_name = None
|
(StrOpt) Name for the AMQP container |
group_request_prefix = unicast
|
(StrOpt) address prefix when sending to any server in group |
idle_timeout = 0
|
(IntOpt) Timeout for inactive connections (in seconds) |
server_request_prefix = exclusive
|
(StrOpt) address prefix used when sending to a specific server |
ssl_ca_file =
|
(StrOpt) CA certificate PEM file for verifing server certificate |
ssl_cert_file =
|
(StrOpt) Identifying certificate PEM file to present to clients |
ssl_key_file =
|
(StrOpt) Private key PEM file used to sign cert_file certificate |
ssl_key_password = None
|
(StrOpt) Password for decrypting ssl_key_file (if encrypted) |
trace = False
|
(BoolOpt) Debug: dump AMQP frames to stdout |
| [upgrade_levels] | |
baseapi = None
|
(StrOpt) Set a version cap for messages sent to the base api in any service |
3.7. Configure the Compute API Copier lienLien copié sur presse-papiers!
nova-api daemon, is the component of OpenStack Compute that receives and responds to user requests, whether they be direct API calls, or via the CLI tools or dashboard.
Configure Compute API password handling Copier lienLien copié sur presse-papiers!
enable_instance_password configuration option to disable the return of the admin password for installations that do not support setting instance passwords.
Configure Compute API rate limiting Copier lienLien copié sur presse-papiers!
Define limits Copier lienLien copié sur presse-papiers!
- The HTTP method used in the API call, typically one of GET, PUT, POST, or DELETE.
- A human readable URI that is used as a friendly description of where the limit is applied.
- A regular expression. The limit is applied to all URIs that match the regular expression and HTTP method.
- A limit value that specifies the maximum count of units before the limit takes effect.
- An interval that specifies time frame to which the limit is applied. The interval can be SECOND, MINUTE, HOUR, or DAY.
Default limits Copier lienLien copié sur presse-papiers!
| HTTP method | API URI | API regular expression | Limit |
|---|---|---|---|
| POST | any URI (*) | .* | 120 per minute |
| POST | /servers | ^/servers | 120 per minute |
| PUT | any URI (*) | .* | 120 per minute |
| GET | *changes-since* | .*changes-since.* | 120 per minute |
| DELETE | any URI (*) | .* | 120 per minute |
| GET | */os-fping | ^/os-fping | 12 per minute |
Configure and change limits Copier lienLien copié sur presse-papiers!
/etc/nova/api-paste.ini file defines the actual limits.
ratelimit filter in the API pipeline specification. If the ratelimit filter is removed from the pipeline, limiting is disabled. You must also define the rate limit filter. The lines appear as follows:
limits specification to the [filter:ratelimit] section of the file. Specify the limits in this order:
- HTTP method
- friendly URI
- regex
- limit
- interval
[filter:ratelimit] paste.filter_factory = nova.api.openstack.compute.limits:RateLimitingMiddleware.factory limits =(POST, "*", .*, 120, MINUTE);(POST, "*/servers", ^/servers, 120, MINUTE);(PUT, "*", .*, 120, MINUTE);(GET, "*changes-since*", .*changes-since.*, 120, MINUTE);(DELETE, "*", .*, 120, MINUTE);(GET, "*/os-fping", ^/os-fping, 12, MINUTE)
[filter:ratelimit]
paste.filter_factory = nova.api.openstack.compute.limits:RateLimitingMiddleware.factory
limits =(POST, "*", .*, 120, MINUTE);(POST, "*/servers", ^/servers, 120, MINUTE);(PUT, "*", .*, 120, MINUTE);(GET, "*changes-since*", .*changes-since.*, 120, MINUTE);(DELETE, "*", .*, 120, MINUTE);(GET, "*/os-fping", ^/os-fping, 12, MINUTE)
Configuration reference Copier lienLien copié sur presse-papiers!
3.8. Configure the EC2 API Copier lienLien copié sur presse-papiers!
nova.conf configuration file to control which network address and port the EC2 API listens on, the formatting of some API responses, and authentication related options.
3.9. Fibre Channel support in Compute Copier lienLien copié sur presse-papiers!
3.9.1. KVM host requirements Copier lienLien copié sur presse-papiers!
- sysfsutils - Nova uses the systool application in this package.
- sg3-utils or sg3_utils - Nova uses the sg_scan and sginfo applications.
3.9.2. Install required packages Copier lienLien copié sur presse-papiers!
yum install sysfsutils sg3_utils multipath-tools
# yum install sysfsutils sg3_utils multipath-tools
3.10. iSCSI interface and offload support in Compute Copier lienLien copié sur presse-papiers!
iface.iscsi_ifacename) should be passed to libvirt via the iscsi_iface parameter for use. All iscsi sessions will be bound to this iSCSI interface.
iscsi_iface parameter.
3.10.1. iSCSI iface configuration Copier lienLien copié sur presse-papiers!
- Note the distinction between the transport name (
iface.transport_name) and iface name (iface.iscsi_ifacename). The actual iface name must be specified via theiscsi_ifaceparameter to libvirt for offload to work. - The default name for an iscsi iface (open-iscsi parameter
iface.iscsi_ifacename) is in the format transport_name.hwaddress when generated by iscsiadm. - iscsiadm can be used to view and generate current iface configuration. Every network interface that supports an open-iscsi transport can have one or more iscsi ifaces associated with it. If no ifaces have been configured for a network interface supported by an open-iscsi transport, this command will create a default iface configuration for that network interface. For example :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow The output is in the format : iface_name transport_name,hwaddress,ipaddress,net_ifacename,initiatorname. - Individual iface configuration can be viewed via
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Configuration can be updated as desired viaiscsiadm -m iface-I IFACE_NAME--op=update -n iface.SETTING -v VALUE
# iscsiadm -m iface-I IFACE_NAME--op=update -n iface.SETTING -v VALUECopy to Clipboard Copied! Toggle word wrap Toggle overflow - All iface configurations need a minimum of
iface.iface_name,iface.transport_nameandiface.hwaddressto be correctly configured to work. Some transports may requireiface.ipaddressandiface.net_ifacenameas well to bind correctly.Detailed configuration instructions can be found in the Linux* Open-iSCSI README file .
3.11. Hypervisors Copier lienLien copié sur presse-papiers!
3.11.1. Hypervisor configuration basics Copier lienLien copié sur presse-papiers!
nova-compute service is installed and operates on the same node that runs all of the virtual machines. This is referred to as the compute node in this guide.
virt_type option in the [libvirt] section of nova.conf and restart the nova-compute service.
nova.conf options that are used to configure the compute node's hypervisor: Table 3.28, “Description of hypervisor configuration options”.
3.11.2. KVM Copier lienLien copié sur presse-papiers!
nova-compute. The nova-compute service depends on qemu-kvm, which installs /lib/udev/rules.d/45-qemu-kvm.rules, which sets the correct permissions on the /dev/kvm device node.
/etc/nova/nova.conf file:
compute_driver = libvirt.LibvirtDriver [libvirt] virt_type = kvm
compute_driver = libvirt.LibvirtDriver
[libvirt]
virt_type = kvm
- Raw
- QEMU Copy-on-write (qcow2)
- QED Qemu Enhanced Disk
- VMware virtual machine disk format (vmdk)
3.11.2.1. Enable KVM Copier lienLien copié sur presse-papiers!
root user.
3.11.2.1.1. For x86 based systems Copier lienLien copié sur presse-papiers!
- To determine whether the
svmorvmxCPU extensions are present, run this command:grep -E 'svm|vmx' /proc/cpuinfo
# grep -E 'svm|vmx' /proc/cpuinfoCopy to Clipboard Copied! Toggle word wrap Toggle overflow This command generates output if the CPU is capable of hardware virtualization. Even if output is shown, you might still need to enable virtualization in the system BIOS for full support.If no output appears, consult your system documentation to ensure that your CPU and motherboard support hardware virtualization. Verify that any relevant hardware virtualization options are enabled in the system BIOS.The BIOS for each manufacturer is different. If you must enable virtualization in the BIOS, look for an option containing the wordsvirtualization,VT,VMX, orSVM. - To list the loaded kernel modules and verify that the
kvmmodules are loaded, run this command:lsmod | grep kvm
# lsmod | grep kvmCopy to Clipboard Copied! Toggle word wrap Toggle overflow If the output includeskvm_intelorkvm_amd, thekvmhardware virtualization modules are loaded and your kernel meets the module requirements for OpenStack Compute.If the output does not show that thekvmmodule is loaded, run this command to load it:modprobe -a kvm
# modprobe -a kvmCopy to Clipboard Copied! Toggle word wrap Toggle overflow Run the command for your CPU. For Intel, run this command:modprobe -a kvm-intel
# modprobe -a kvm-intelCopy to Clipboard Copied! Toggle word wrap Toggle overflow For AMD, run this command:modprobe -a kvm-amd
# modprobe -a kvm-amdCopy to Clipboard Copied! Toggle word wrap Toggle overflow Because a KVM installation can change user group membership, you might need to log in again for changes to take effect.If the kernel modules do not load automatically, use the procedures listed in these subsections.
3.11.2.1.1.1. Intel-based processors Copier lienLien copié sur presse-papiers!
modprobe kvm modprobe kvm-intel
# modprobe kvm
# modprobe kvm-intel
3.11.2.1.1.2. AMD-based processors Copier lienLien copié sur presse-papiers!
modprobe kvm modprobe kvm-amd
# modprobe kvm
# modprobe kvm-amd
3.11.2.1.2. For POWER based systems Copier lienLien copié sur presse-papiers!
- To determine if your POWER platform supports KVM based virtualization run the following command:
grep PowerNV /proc/cpuinfo
# grep PowerNV /proc/cpuinfoCopy to Clipboard Copied! Toggle word wrap Toggle overflow If the previous command generates the following output, then CPU supports KVM based virtualizationplatform: PowerNV
platform: PowerNVCopy to Clipboard Copied! Toggle word wrap Toggle overflow If no output is displayed, then your POWER platform does not support KVM based hardware virtualization. - To list the loaded kernel modules and verify that the
kvmmodules are loaded, run the following command:lsmod | grep kvm
# lsmod | grep kvmCopy to Clipboard Copied! Toggle word wrap Toggle overflow If the output includeskvm_hv, thekvmhardware virtualization modules are loaded and your kernel meets the module requirements for OpenStack Compute.If the output does not show that thekvmmodule is loaded, run the following command to load it:modprobe -a kvm
# modprobe -a kvmCopy to Clipboard Copied! Toggle word wrap Toggle overflow For PowerNV platform, run the following command:modprobe -a kvm-hv
# modprobe -a kvm-hvCopy to Clipboard Copied! Toggle word wrap Toggle overflow Because a KVM installation can change user group membership, you might need to log in again for changes to take effect.
3.11.2.2. Specify the CPU model of KVM guests Copier lienLien copié sur presse-papiers!
- To maximize performance of virtual machines by exposing new host CPU features to the guest
- To ensure a consistent default CPU across all machines, removing reliance of variable QEMU defaults
/usr/share/libvirt/cpu_map.xml file. Check this file to determine which models are supported by your local installation.
[libvirt] group of nova.conf define which type of CPU model is exposed to the hypervisor when using KVM: cpu_mode and cpu_model.
cpu_mode option can take one of the following values: none, host-passthrough, host-model, and custom.
Host model (default for KVM & QEMU) Copier lienLien copié sur presse-papiers!
nova.conf file contains cpu_mode=host-model, libvirt identifies the CPU model in /usr/share/libvirt/cpu_map.xml file that most closely matches the host, and requests additional CPU flags to complete the match. This configuration provides the maximum functionality and performance and maintains good reliability and compatibility if the guest is migrated to another host with slightly different host CPUs.
Host pass through Copier lienLien copié sur presse-papiers!
nova.conf file contains cpu_mode=host-passthrough, libvirt tells KVM to pass through the host CPU with no modifications. The difference to host-model, instead of only matching feature flags, every last detail of the host CPU is matched. This gives the best performance, and can be important to some apps which check low level CPU details, but it comes at a cost with respect to migration. The guest can only be migrated to a matching host CPU.
Custom Copier lienLien copié sur presse-papiers!
nova.conf file contains cpu_mode=custom, you can explicitly specify one of the supported named models using the cpu_model configuration option. For example, to configure the KVM guests to expose Nehalem CPUs, your nova.conf file should contain:
[libvirt] cpu_mode = custom cpu_model = Nehalem
[libvirt]
cpu_mode = custom
cpu_model = Nehalem
None (default for all libvirt-driven hypervisors other than KVM & QEMU) Copier lienLien copié sur presse-papiers!
nova.conf file contains cpu_mode=none, libvirt does not specify a CPU model. Instead, the hypervisor chooses the default model.
3.11.2.3. Guest agent support Copier lienLien copié sur presse-papiers!
hw_qemu_guest_agent=yes as a metadata parameter on the image you want to use to create the guest-agent-capable instances from. You can explicitly disable the feature by setting hw_qemu_guest_agent=no in the image metadata.
3.11.2.4. KVM performance tweaks Copier lienLien copié sur presse-papiers!
modprobe vhost_net
# modprobe vhost_net
3.11.2.5. Troubleshoot KVM Copier lienLien copié sur presse-papiers!
ERRORstate, and the following error appears in the /var/log/nova/nova-compute.log file:
libvirtError: internal error no supported architecture for os type 'hvm'
libvirtError: internal error no supported architecture for os type 'hvm'
nova-compute. To check whether the group is set to kvm, run:
ls -l /dev/kvm
# ls -l /dev/kvm
kvm, run:
udevadm trigger
# udevadm trigger
3.11.3. QEMU Copier lienLien copié sur presse-papiers!
- Running on older hardware that lacks virtualization support.
- Running the Compute service inside of a virtual machine for development or testing purposes, where the hypervisor does not support native virtualization for guests.
nova.conf:
compute_driver = libvirt.LibvirtDriver [libvirt] virt_type = qemu
compute_driver = libvirt.LibvirtDriver
[libvirt]
virt_type = qemu
yum install libguestfs-tools
# yum install libguestfs-tools
- Raw
- QEMU Copy-on-write (qcow2)
- VMware virtual machine disk format (vmdk)
3.12. Scheduling Copier lienLien copié sur presse-papiers!
nova-scheduler service to determine how to dispatch compute requests. For example, the nova-scheduler service determines on which host a VM should launch. In the context of filters, the term host means a physical node that has a nova-compute service running on it. You can configure the scheduler through a variety of options.
/etc/nova/nova.conf file:
scheduler_driver_task_period = 60 scheduler_driver = nova.scheduler.filter_scheduler.FilterScheduler scheduler_available_filters = nova.scheduler.filters.all_filters scheduler_default_filters = RetryFilter, AvailabilityZoneFilter, RamFilter, ComputeFilter, ComputeCapabilitiesFilter, ImagePropertiesFilter, ServerGroupAntiAffinityFilter, ServerGroupAffinityFilter
scheduler_driver_task_period = 60
scheduler_driver = nova.scheduler.filter_scheduler.FilterScheduler
scheduler_available_filters = nova.scheduler.filters.all_filters
scheduler_default_filters = RetryFilter, AvailabilityZoneFilter, RamFilter, ComputeFilter, ComputeCapabilitiesFilter, ImagePropertiesFilter, ServerGroupAntiAffinityFilter, ServerGroupAffinityFilter
scheduler_driver is configured as a filter scheduler, as described in the next section. In the default configuration, this scheduler considers hosts that meet all the following criteria:
- Have not been attempted for scheduling purposes (
RetryFilter). - Are in the requested availability zone (
AvailabilityZoneFilter). - Have sufficient RAM available (
RamFilter). - Can service the request (
ComputeFilter). - Satisfy the extra specs associated with the instance type (
ComputeCapabilitiesFilter). - Satisfy any architecture, hypervisor type, or virtual machine mode properties specified on the instance's image properties (
ImagePropertiesFilter). - Are on a different host than other instances of a group (if requested) (
ServerGroupAntiAffinityFilter). - Are in a set of group hosts (if requested) (
ServerGroupAffinityFilter).
scheduler_driver_task_period option to specify how often the list is updated.
service_down_time to be much smaller than scheduler_driver_task_period; otherwise, hosts appear to be dead while the host list is being cached.
3.12.1. Filter scheduler Copier lienLien copié sur presse-papiers!
nova.scheduler.filter_scheduler.FilterScheduler) is the default scheduler for scheduling virtual machine instances. It supports filtering and weighting to make informed decisions on where a new instance should be created.
3.12.2. Filters Copier lienLien copié sur presse-papiers!
scheduler_available_filters configuration option in nova.conf provides the Compute service with the list of the filters that are used by the scheduler. The default setting specifies all of the filter that are included with the Compute service:
scheduler_available_filters = nova.scheduler.filters.all_filters
scheduler_available_filters = nova.scheduler.filters.all_filters
myfilter.MyFilter and you wanted to use both the built-in filters and your custom filter, your nova.conf file would contain:
scheduler_available_filters = nova.scheduler.filters.all_filters scheduler_available_filters = myfilter.MyFilter
scheduler_available_filters = nova.scheduler.filters.all_filters
scheduler_available_filters = myfilter.MyFilter
scheduler_default_filters configuration option in nova.conf defines the list of filters that are applied by the nova-scheduler service. The default filters are:
scheduler_default_filters = RetryFilter, AvailabilityZoneFilter, RamFilter, ComputeFilter, ComputeCapabilitiesFilter, ImagePropertiesFilter, ServerGroupAntiAffinityFilter, ServerGroupAffinityFilter
scheduler_default_filters = RetryFilter, AvailabilityZoneFilter, RamFilter, ComputeFilter, ComputeCapabilitiesFilter, ImagePropertiesFilter, ServerGroupAntiAffinityFilter, ServerGroupAffinityFilter
3.12.2.1. AggregateCoreFilter Copier lienLien copié sur presse-papiers!
cpu_allocation_ratio value. If the per-aggregate value is not found, the value falls back to the global setting. If the host is in more than one aggregate and more than one value is found, the minimum value will be used. For information about how to use this filter, see Section 3.12.5, “Host aggregates and availability zones”. See also Section 3.12.2.14, “CoreFilter”.
3.12.2.2. AggregateDiskFilter Copier lienLien copié sur presse-papiers!
disk_allocation_ratio value. If the per-aggregate value is not found, the value falls back to the global setting. If the host is in more than one aggregate and more than one value is found, the minimum value will be used. For information about how to use this filter, see Section 3.12.5, “Host aggregates and availability zones”. See also Section 3.12.2.17, “DiskFilter”.
3.12.2.3. AggregateImagePropertiesIsolation Copier lienLien copié sur presse-papiers!
- If a host belongs to an aggregate and the aggregate defines one or more metadata that matches an image's properties, that host is a candidate to boot the image's instance.
- If a host does not belong to any aggregate, it can boot instances from all images.
AggregateImagePropertiesIsolation filter by using the following options in the nova.conf file:
Considers only keys matching the given namespace (string). Separator used between the namespace and keys (string).
# Considers only keys matching the given namespace (string).
aggregate_image_properties_isolation_namespace = <None>
# Separator used between the namespace and keys (string).
aggregate_image_properties_isolation_separator = .
3.12.2.4. AggregateInstanceExtraSpecsFilter Copier lienLien copié sur presse-papiers!
aggregate_instance_extra_specs. For backward compatibility, also works with non-scoped specifications; this action is highly discouraged because it conflicts with ComputeCapabilitiesFilter filter when you enable both filters. For information about how to use this filter, see the host aggregates section.
3.12.2.5. AggregateIoOpsFilter Copier lienLien copié sur presse-papiers!
max_io_ops_per_host value. If the per-aggregate value is not found, the value falls back to the global setting. If the host is in more than one aggregate and more than one value is found, the minimum value will be used. For information about how to use this filter, see Section 3.12.5, “Host aggregates and availability zones”. See also Section 3.12.2.22, “IoOpsFilter”.
3.12.2.6. AggregateMultiTenancyIsolation Copier lienLien copié sur presse-papiers!
filter_tenant_id metadata key, the host creates instances from only that tenant or list of tenants. A host can be in different aggregates. If a host does not belong to an aggregate with the metadata key, the host can create instances from all tenants.
3.12.2.7. AggregateNumInstancesFilter Copier lienLien copié sur presse-papiers!
max_instances_per_host value. If the per-aggregate value is not found, the value falls back to the global setting. If the host is in more than one aggregate and thus more than one value is found, the minimum value will be used. For information about how to use this filter, see Section 3.12.5, “Host aggregates and availability zones”. See also Section 3.12.2.25, “NumInstancesFilter”.
3.12.2.8. AggregateRamFilter Copier lienLien copié sur presse-papiers!
ram_allocation_ratio value. If the per-aggregate value is not found, the value falls back to the global setting. If the host is in more than one aggregate and thus more than one value is found, the minimum value will be used. For information about how to use this filter, see Section 3.12.5, “Host aggregates and availability zones”. See also Section 3.12.2.27, “RamFilter”.
3.12.2.9. AggregateTypeAffinityFilter Copier lienLien copié sur presse-papiers!
instance_type value. For information about how to use this filter, see Section 3.12.5, “Host aggregates and availability zones”. See also Section 3.12.2.34, “TypeAffinityFilter”.
3.12.2.10. AllHostsFilter Copier lienLien copié sur presse-papiers!
3.12.2.11. AvailabilityZoneFilter Copier lienLien copié sur presse-papiers!
3.12.2.12. ComputeCapabilitiesFilter Copier lienLien copié sur presse-papiers!
:), anything before the colon is treated as a namespace and anything after the colon is treated as the key to be matched. If a namespace is present and is not capabilities, the filter ignores the namespace. For backward compatibility, also treats the extra specs key as the key to be matched if no namespace is present; this action is highly discouraged because it conflicts with AggregateInstanceExtraSpecsFilter filter when you enable both filters.
3.12.2.13. ComputeFilter Copier lienLien copié sur presse-papiers!
3.12.2.14. CoreFilter Copier lienLien copié sur presse-papiers!
cpu_allocation_ratio configuration option in nova.conf. The default setting is:
cpu_allocation_ratio = 16.0
cpu_allocation_ratio = 16.0
cpu_allocation_ratio = 1.0
cpu_allocation_ratio = 1.0
cpu_allocation_ratio configuration key. As a result changes to the cpu_allocation_ratio are not reflected via the command line clients or the dashboard. Changes to this configuration key are only taken into account internally in the scheduler.
3.12.2.15. NUMATopologyFilter Copier lienLien copié sur presse-papiers!
extra_specsin combination with the image properties, as described in detail in the related nova-spec document: Filter will try to match the exact NUMA cells of the instance to those of the host. It will consider the standard over-subscription limits each cell, and provide limits to the compute host accordingly.
3.12.2.16. DifferentHostFilter Copier lienLien copié sur presse-papiers!
different_host as the key and a list of instance UUIDs as the value. This filter is the opposite of the SameHostFilter. Using the nova command-line tool, use the --hint flag. For example:
nova boot --image cedef40a-ed67-4d10-800e-17455edce175 --flavor 1 --hint different_host=a0cf03a5-d921-4877-bb5c-86d26cf818e1 --hint different_host=8c19174f-4220-44f0-824a-cd1eeef10287 server-1
$ nova boot --image cedef40a-ed67-4d10-800e-17455edce175 --flavor 1 --hint different_host=a0cf03a5-d921-4877-bb5c-86d26cf818e1 --hint different_host=8c19174f-4220-44f0-824a-cd1eeef10287 server-1
os:scheduler_hints key. For example:
3.12.2.17. DiskFilter Copier lienLien copié sur presse-papiers!
disk_allocation_ratio configuration option in the nova.conf configuration file. The default setting disables the possibility of the overcommitment and allows launching a VM only if there is a sufficient amount of disk space available on a host:
disk_allocation_ratio = 1.0
disk_allocation_ratio = 1.0
disk_available_least property and not the one of the free_disk_gb property of a hypervisor's statistics:
disk_available_least property accounts for the virtual size rather than the actual size of images. If you use an image format that is sparse or copy on write so that each virtual instance does not require a 1:1 allocation of a virtual disk to a physical storage, it may be useful to allow the overcommitment of disk space.
disk_allocation_ratio configuration option to greater than 1.0:
disk_allocation_ratio > 1.0
disk_allocation_ratio > 1.0
>1, keep track of the free disk space, as the value approaching 0 may result in the incorrect functioning of instances using it at the moment.
3.12.2.18. GroupAffinityFilter Copier lienLien copié sur presse-papiers!
group as the key and an arbitrary name as the value. Using the nova command-line tool, use the --hint flag. For example:
nova boot --image IMAGE_ID --flavor 1 --hint group=GROUP server-1
$ nova boot --image IMAGE_ID --flavor 1 --hint group=GROUP server-1
3.12.2.19. GroupAntiAffinityFilter Copier lienLien copié sur presse-papiers!
group as the key and an arbitrary name as the value. Using the nova command-line tool, use the --hint flag. For example:
nova boot --image IMAGE_ID --flavor 1 --hint group=GROUP server-1
$ nova boot --image IMAGE_ID --flavor 1 --hint group=GROUP server-1
3.12.2.20. ImagePropertiesFilter Copier lienLien copié sur presse-papiers!
glance image-update img-uuid --property architecture=arm --property hypervisor_type=qemu
$ glance image-update img-uuid --property architecture=arm --property hypervisor_type=qemu
architecture: describes the machine architecture required by the image. Examples arei686,x86_64,arm, andppc64.hypervisor_type: describes the hypervisor required by the image. Examples arexen,qemu, andxenapi.Noteqemuis used for both QEMU and KVM hypervisor types.hypervisor_version_requires: describes the hypervisor version required by the image. The property is supported for Xen hypervisor type only. It can be used to enable support for multiple hypervisor versions, and to prevent instances with newer Xen tools from being provisioned on an older version of a hypervisor. If available, the property value is compared to the hypervisor version of the compute host.To filter the hosts by the hypervisor version, add thehypervisor_version_requiresproperty on the image as metadata and pass an operator and a required hypervisor version as its value:glance image-update img-uuid --property hypervisor_type=xen --property hypervisor_version_requires=">=4.3"
$ glance image-update img-uuid --property hypervisor_type=xen --property hypervisor_version_requires=">=4.3"Copy to Clipboard Copied! Toggle word wrap Toggle overflow vm_mode: describes the hypervisor application binary interface (ABI) required by the image. Examples arexenfor Xen 3.0 paravirtual ABI,hvmfor native ABI,umlfor User Mode Linux paravirtual ABI,exefor container virt executable ABI.
3.12.2.21. IsolatedHostsFilter Copier lienLien copié sur presse-papiers!
restrict_isolated_hosts_to_isolated_images can be used to force isolated hosts to only run isolated images.
nova.conf file using the isolated_hosts and isolated_images configuration options. For example:
isolated_hosts = server1, server2 isolated_images = 342b492c-128f-4a42-8d3a-c5088cf27d13, ebd267a6-ca86-4d6c-9a0e-bd132d6b7d09
isolated_hosts = server1, server2
isolated_images = 342b492c-128f-4a42-8d3a-c5088cf27d13, ebd267a6-ca86-4d6c-9a0e-bd132d6b7d09
3.12.2.22. IoOpsFilter Copier lienLien copié sur presse-papiers!
max_io_ops_per_host option specifies the maximum number of I/O intensive instances allowed to run on a host. A host will be ignored by the scheduler if more than max_io_ops_per_host instances in build, resize, snapshot, migrate, rescue or unshelve task states are running on it.
3.12.2.23. JsonFilter Copier lienLien copié sur presse-papiers!
- =
- <
- >
- in
- <=
- >=
- not
- or
- and
$free_ram_mb$free_disk_mb$total_usable_ram_mb$vcpus_total$vcpus_used
--hint flag:
nova boot --image 827d564a-e636-4fc4-a376-d36f7ebe1747 --flavor 1 --hint query='[">=","$free_ram_mb",1024]' server1
$ nova boot --image 827d564a-e636-4fc4-a376-d36f7ebe1747 --flavor 1 --hint query='[">=","$free_ram_mb",1024]' server1
os:scheduler_hints key:
3.12.2.24. MetricsFilter Copier lienLien copié sur presse-papiers!
weight_setting. Only hosts with the available metrics are passed so that the metrics weigher will not fail due to these hosts.
3.12.2.25. NumInstancesFilter Copier lienLien copié sur presse-papiers!
max_instances_per_host option are filtered out when this filter is in place.
3.12.2.26. PciPassthroughFilter Copier lienLien copié sur presse-papiers!
extra_specs attribute for the flavor.
3.12.2.27. RamFilter Copier lienLien copié sur presse-papiers!
ram_allocation_ratio configuration option in nova.conf. The default setting is:
ram_allocation_ratio = 1.5
ram_allocation_ratio = 1.5
ram_allocation_ratio to 1.0.
3.12.2.28. RetryFilter Copier lienLien copié sur presse-papiers!
scheduler_max_attempts configuration option is set to a value greater than zero.
3.12.2.29. SameHostFilter Copier lienLien copié sur presse-papiers!
same_host as the key and a list of instance UUIDs as the value. This filter is the opposite of the DifferentHostFilter. Using the nova command-line tool, use the --hint flag:
nova boot --image cedef40a-ed67-4d10-800e-17455edce175 --flavor 1 --hint same_host=a0cf03a5-d921-4877-bb5c-86d26cf818e1 \ --hint same_host=8c19174f-4220-44f0-824a-cd1eeef10287 server-1
$ nova boot --image cedef40a-ed67-4d10-800e-17455edce175 --flavor 1 --hint same_host=a0cf03a5-d921-4877-bb5c-86d26cf818e1 \ --hint same_host=8c19174f-4220-44f0-824a-cd1eeef10287 server-1
os:scheduler_hints key:
3.12.2.30. ServerGroupAffinityFilter Copier lienLien copié sur presse-papiers!
affinity policy, and pass a scheduler hint, using group as the key and the server group UUID as the value. Using the nova command-line tool, use the --hint flag. For example:
nova server-group-create --policy affinity group-1 nova boot --image IMAGE_ID --flavor 1 --hint group=SERVER_GROUP_UUID server-1
$ nova server-group-create --policy affinity group-1
$ nova boot --image IMAGE_ID --flavor 1 --hint group=SERVER_GROUP_UUID server-1
3.12.2.31. ServerGroupAntiAffinityFilter Copier lienLien copié sur presse-papiers!
anti-affinity policy, and pass a scheduler hint, using group as the key and the server group UUID as the value. Using the nova command-line tool, use the --hint flag. For example:
nova server-group-create --policy anti-affinity group-1 nova boot --image IMAGE_ID --flavor 1 --hint group=SERVER_GROUP_UUID server-1
$ nova server-group-create --policy anti-affinity group-1
$ nova boot --image IMAGE_ID --flavor 1 --hint group=SERVER_GROUP_UUID server-1
3.12.2.32. SimpleCIDRAffinityFilter Copier lienLien copié sur presse-papiers!
build_near_host_ip- The first IP address in the subnet (for example,
192.168.1.1) cidr- The CIDR that corresponds to the subnet (for example,
/24)
--hint flag. For example, to specify the IP subnet 192.168.1.1/24
nova boot --image cedef40a-ed67-4d10-800e-17455edce175 --flavor 1 --hint build_near_host_ip=192.168.1.1 --hint cidr=/24 server-1
$ nova boot --image cedef40a-ed67-4d10-800e-17455edce175 --flavor 1 --hint build_near_host_ip=192.168.1.1 --hint cidr=/24 server-1
os:scheduler_hints key:
3.12.2.33. TrustedFilter Copier lienLien copié sur presse-papiers!
3.12.2.34. TypeAffinityFilter Copier lienLien copié sur presse-papiers!
3.12.3. Weights Copier lienLien copié sur presse-papiers!
/etc/nova/nova.conf file:
| Section | Option | Description |
|---|---|---|
| [DEFAULT] |
ram_weight_multiplier
|
By default, the scheduler spreads instances across all hosts evenly. Set the ram_weight_multiplier option to a negative number if you prefer stacking instead of spreading. Use a floating-point value.
|
| [DEFAULT] |
scheduler_host_subset_size
|
New instances are scheduled on a host that is chosen randomly from a subset of the N best hosts. This property defines the subset size from which a host is chosen. A value of 1 chooses the first host returned by the weighting functions. This value must be at least 1. A value less than 1 is ignored, and 1 is used instead. Use an integer value. |
| [DEFAULT] |
scheduler_weight_classes
|
Defaults to nova.scheduler.weights.all_weighers, which selects the RamWeigher and MetricsWeigher. Hosts are then weighted and sorted with the largest weight winning.
|
| [metrics] |
weight_multiplier
|
Multiplier for weighting metrics. Use a floating-point value. |
| [metrics] |
weight_setting
|
Determines how metrics are weighted. Use a comma-separated list of metricName=ratio. For example: "name1=1.0, name2=-1.0" results in: name1.value * 1.0 + name2.value * -1.0
|
| [metrics] |
required
|
Specifies how to treat unavailable metrics:
|
| [metrics] |
weight_of_unavailable
|
If required is set to False, and any one of the metrics set by weight_setting is unavailable, the weight_of_unavailable value is returned to the scheduler.
|
| Section | Option | Description |
|---|---|---|
| [cells] |
mute_weight_multiplier
|
Multiplier to weight mute children (hosts which have not sent capacity or capacity updates for some time). Use a negative, floating-point value. |
| [cells] |
mute_weight_value (deprecated)
|
Weight value assigned to mute children. Use a positive, floating-point value with a maximum of '1.0'. This option is deprecated, use mute_weight_multiplier instead.
|
| [cells] |
offset_weight_multiplier
|
Multiplier to weight cells, so you can specify a preferred cell. Use a floating point value. |
| [cells] |
ram_weight_multiplier
|
By default, the scheduler spreads instances across all cells evenly. Set the ram_weight_multiplier option to a negative number if you prefer stacking instead of spreading. Use a floating-point value.
|
| [cells] |
scheduler_weight_classes
|
Defaults to nova.cells.weights.all_weighers, which maps to all cell weighers included with Compute. Cells are then weighted and sorted with the largest weight winning.
|
[cells] scheduler_weight_classes = nova.cells.weights.all_weighers mute_weight_multiplier = -10.0 ram_weight_multiplier = 1.0 offset_weight_multiplier = 1.0
[cells]
scheduler_weight_classes = nova.cells.weights.all_weighers
mute_weight_multiplier = -10.0
ram_weight_multiplier = 1.0
offset_weight_multiplier = 1.0
3.12.4. Chance scheduler Copier lienLien copié sur presse-papiers!
nova.scheduler.chance.ChanceScheduler, which randomly selects from lists of filtered hosts.
3.12.5. Host aggregates and availability zones Copier lienLien copié sur presse-papiers!
Command-line interface Copier lienLien copié sur presse-papiers!
- nova aggregate-list
- Print a list of all aggregates.
- nova aggregate-create <name> [availability-zone]
- Create a new aggregate named <name>, and optionally in availability zone [availability-zone] if specified. The command returns the ID of the newly created aggregate. Hosts can be made available to multiple host aggregates. Be careful when adding a host to an additional host aggregate when the host is also in an availability zone. Pay attention when using the aggregate-set-metadata and aggregate-update commands to avoid user confusion when they boot instances in different availability zones. An error occurs if you cannot add a particular host to an aggregate zone for which it is not intended.
- nova aggregate-delete <id>
- Delete an aggregate with id <id>.
- nova aggregate-details <id>
- Show details of the aggregate with id <id>.
- nova aggregate-add-host <id> <host>
- Add host with name <host> to aggregate with id <id>.
- nova aggregate-remove-host <id> <host>
- Remove the host with name <host> from the aggregate with id <id>.
- nova aggregate-set-metadata <id> <key=value> [<key=value> ...]
- Add or update metadata (key-value pairs) associated with the aggregate with id <id>.
- nova aggregate-update <id> <name> [<availability_zone>]
- Update the name and availability zone (optional) for the aggregate.
- nova host-list
- List all hosts by service.
- nova host-update --maintenance [enable | disable]
- Put/resume host into/from maintenance.
admin role or the appropriate privileges, these errors occur:
ERROR: Policy does not allow compute_extension:aggregates to be performed. (HTTP 403) (Request-ID: req-299fbff6-6729-4cef-93b2-e7e1f96b4864)
ERROR: Policy does not allow compute_extension:aggregates to be performed. (HTTP 403) (Request-ID: req-299fbff6-6729-4cef-93b2-e7e1f96b4864)
ERROR: Policy does not allow compute_extension:hosts to be performed. (HTTP 403) (Request-ID: req-ef2400f6-6776-4ea3-b6f1-7704085c27d1)
ERROR: Policy does not allow compute_extension:hosts to be performed. (HTTP 403) (Request-ID: req-ef2400f6-6776-4ea3-b6f1-7704085c27d1)
Configure scheduler to support host aggregates Copier lienLien copié sur presse-papiers!
scheduler_default_filters configuration option must contain the AggregateInstanceExtraSpecsFilter in addition to the other filters used by the scheduler. Add the following line to /etc/nova/nova.conf on the host that runs the nova-scheduler service to enable host aggregates filtering, as well as the other filters that are typically enabled:
scheduler_default_filters=AggregateInstanceExtraSpecsFilter,RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter
scheduler_default_filters=AggregateInstanceExtraSpecsFilter,RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter
Example: Specify compute hosts with SSDs Copier lienLien copié sur presse-papiers!
fast-io host aggregate in the nova availability zone and you add the ssd=true key-value pair to the aggregate. Then, you add the node1, and node2 compute nodes to it.
nova flavor-key ssd.large set aggregate_instance_extra_specs:ssd=true
$ nova flavor-key ssd.large set aggregate_instance_extra_specs:ssd=true
extra_specs property of the ssd.large flavor populated with a key of ssd and a corresponding value of true.
ssd.large flavor, the scheduler only considers hosts with the ssd=true key-value pair. In this example, these are node1 and node2.
key and value are case sensitive strings. The Compute scheduler performs a case sensitive string match of the value.
XenServer hypervisor pools to support live migration Copier lienLien copié sur presse-papiers!
3.12.6. Configuration reference Copier lienLien copié sur presse-papiers!
3.13. Cells Copier lienLien copié sur presse-papiers!
nova-api service, but no nova-compute services. Each child cell should run all of the typical nova-* services in a regular Compute cloud except for nova-api. You can think of cells as a normal Compute deployment in that each cell has its own database server and message queue broker.
nova-cells service handles communication between cells and selects cells for new instances. This service is required for every cell. Communication between cells is pluggable, and currently the only option is communication through RPC.
nova-cells first picks a cell. Once a cell is selected and the new build request reaches its nova-cells service, it is sent over to the host scheduler in that cell and the build proceeds as it would have without cells.
3.13.1. Cell configuration options Copier lienLien copié sur presse-papiers!
[cells] section in nova.conf. The following cell-related options are currently supported:
enable- Set to
Trueto turn on cell functionality. Default isfalse. name- Name of the current cell. Must be unique for each cell.
capabilities- List of arbitrary
key=valuepairs defining capabilities of the current cell. Values includehypervisor=xenserver;kvm,os=linux. call_timeout- How long in seconds to wait for replies from calls between cells.
scheduler_filter_classes- Filter classes that the cells scheduler should use. By default, uses "
nova.cells.filters.all_filters" to map to all cells filters included with Compute. scheduler_weight_classes- Weight classes that the scheduler for cells uses. By default, uses
nova.cells.weights.all_weighersto map to all cells weight algorithms included with Compute. ram_weight_multiplier- Multiplier used to weight RAM. Negative numbers indicate that Compute should stack VMs on one host instead of spreading out new VMs to more hosts in the cell. The default value is 10.0.
3.13.2. Configure the API (top-level) cell Copier lienLien copié sur presse-papiers!
nova.conf file in the API cell, and specify api in the cell_type key:
3.13.3. Configure the child cells Copier lienLien copié sur presse-papiers!
nova.conf file in the child cells, and specify compute in the cell_type key:
3.13.4. Configure the database in each cell Copier lienLien copié sur presse-papiers!
api and a child cell named cell1.
api cell, specify the following RabbitMQ server information:
rabbit_host=10.0.0.10 rabbit_port=5672 rabbit_username=api_user rabbit_password=api_passwd rabbit_virtual_host=api_vhost
rabbit_host=10.0.0.10
rabbit_port=5672
rabbit_username=api_user
rabbit_password=api_passwd
rabbit_virtual_host=api_vhost
cell1 child cell, specify the following RabbitMQ server information:
rabbit_host=10.0.1.10 rabbit_port=5673 rabbit_username=cell1_user rabbit_password=cell1_passwd rabbit_virtual_host=cell1_vhost
rabbit_host=10.0.1.10
rabbit_port=5673
rabbit_username=cell1_user
rabbit_password=cell1_passwd
rabbit_virtual_host=cell1_vhost
nova-manage cell create --name cell1 --cell_type child --username cell1_user --password cell1_passwd --hostname 10.0.1.10 --port 5673 --virtual_host cell1_vhost --woffset 1.0 --wscale 1.0
# nova-manage cell create --name cell1 --cell_type child --username cell1_user --password cell1_passwd --hostname 10.0.1.10 --port 5673 --virtual_host cell1_vhost --woffset 1.0 --wscale 1.0
nova-manage cell create --name api --cell_type parent --username api_user --password api_passwd --hostname 10.0.0.10 --port 5672 --virtual_host api_vhost --woffset 1.0 --wscale 1.0
# nova-manage cell create --name api --cell_type parent --username api_user --password api_passwd --hostname 10.0.0.10 --port 5672 --virtual_host api_vhost --woffset 1.0 --wscale 1.0
3.13.5. Cell scheduling configuration Copier lienLien copié sur presse-papiers!
/etc/nova/nova.conf file. The following options are available to prioritize cells for scheduling:
scheduler_filter_classes- List of filter classes. By default
nova.cells.filters.all_filtersis specified, which maps to all cells filters included with Compute (see Section 3.12.2, “Filters”). scheduler_weight_classes- List of weight classes. By default
nova.cells.weights.all_weighersis specified, which maps to all cell weight algorithms included with Compute. The following modules are available:mute_child. Downgrades the likelihood of child cells being chosen for scheduling requests, which have not sent capacity or capability updates in a while. Options includemute_weight_multiplier(multiplier for mute children; value should be negative) andmute_weight_value(assigned to mute children; should be a positive value).WarningThemute_weight_valueis deprecated, usemute_weight_multiplierinstead.ram_by_instance_type. Select cells with the most RAM capacity for the instance type being requested. Because higher weights win, Compute returns the number of available units for the instance type requested. Theram_weight_multiplieroption defaults to 10.0 that adds to the weight by a factor of 10. Use a negative number to stack VMs on one host instead of spreading out new VMs to more hosts in the cell.weight_offset. Allows modifying the database to weight a particular cell. You can use this when you want to disable a cell (for example, '0'), or to set a default cell by making its weight_offset very high (for example, '999999999999999'). The highest weight will be the first cell to be scheduled for launching an instance.
scheduler_retries- Specifies how many times the scheduler tries to launch a new instance when no cells are available (default=10).
scheduler_retry_delay- Specifies the delay (in seconds) between retries (default=2).
policy.json file must have a line with "cells_scheduler_filter:TargetCellFilter" : "is_admin:True" to let an admin user specify a scheduler hint to direct a build to a particular cell.
3.13.6. Optional cell configuration Copier lienLien copié sur presse-papiers!
[cells]cells_config option to specify a JSON file to store cells data. With this configuration, the database is no longer consulted when reloading the cells data. The file must have columns present in the Cell model (excluding common database fields and the id column). You must specify the queue connection information through a transport_url field, instead of username, password, and so on. The transport_url has the following form:
rabbit://USERNAME:PASSWORD@HOSTNAME:PORT/VIRTUAL_HOST
rabbit://USERNAME:PASSWORD@HOSTNAME:PORT/VIRTUAL_HOST
qpid or rabbit, as shown previously. The following sample shows this optional configuration:
3.14. Conductor Copier lienLien copié sur presse-papiers!
nova-conductor service enables OpenStack to function without compute nodes accessing the database. Conceptually, it implements a new layer on top of nova-compute. It should not be deployed on compute nodes, or else the security benefits of removing database access from nova-compute are negated. Just like other nova services such as nova-api or nova-scheduler, it can be scaled horizontally. You can run multiple instances of nova-conductor on different machines as needed for scaling purposes.
nova-conductor are relatively simple methods used by nova-compute to offload its database operations. Places where nova-compute previously performed database access are now talking to nova-conductor. However, there are plans in the medium to long term to move more and more of what is currently in nova-compute up to the nova-conductor layer. The Compute service will start to look like a less intelligent slave service to nova-conductor. The conductor service will implement long running complex operations, ensuring forward progress and graceful error handling. This will be especially beneficial for operations that cross multiple compute nodes, such as migrations or resizes.
3.15. Example nova.conf configuration files Copier lienLien copié sur presse-papiers!
nova.conf file. You must copy the nova.conf file to each compute node. The sample nova.conf files show examples of specific configurations.
Small, private cloud Copier lienLien copié sur presse-papiers!
nova.conf file configures a small private cloud with cloud controller services, database server, and messaging server on the same server. In this case, CONTROLLER_IP represents the IP address of a central server, BRIDGE_INTERFACE represents the bridge such as br100, the NETWORK_INTERFACE represents an interface to your VLAN setup, and passwords are represented as DB_PASSWORD_COMPUTE for your Compute (nova) database password, and RABBIT PASSWORD represents the password to your message queue installation.
KVM, Flat, MySQL, and Glance, OpenStack or EC2 API Copier lienLien copié sur presse-papiers!
nova.conf file, from an internal Rackspace test system, is used for demonstrations.
XenServer, Flat networking, MySQL, and Glance, OpenStack API Copier lienLien copié sur presse-papiers!
nova.conf file is from an internal Rackspace test system.
3.16. Compute log files Copier lienLien copié sur presse-papiers!
/var/log/nova/ directory of the host on which each service runs.
| Log file | Service name | ||||||||||||||||||||||||||||||||||||||||||||||||
api.log
|
openstack-nova-api | ||||||||||||||||||||||||||||||||||||||||||||||||
cert.log [a]
|
openstack-nova-cert
|
||||||||||||||||||||||||||||||||||||||||||||||||
compute.log
|
openstack-nova-compute
|
||||||||||||||||||||||||||||||||||||||||||||||||
conductor.log
|
openstack-nova-conductor
|
||||||||||||||||||||||||||||||||||||||||||||||||
consoleauth.log
|
openstack-nova-consoleauth
|
||||||||||||||||||||||||||||||||||||||||||||||||
network.log[b]
|
openstack-nova-network
|
||||||||||||||||||||||||||||||||||||||||||||||||
nova-manage.log
|
nova-manage
|
||||||||||||||||||||||||||||||||||||||||||||||||
scheduler.log
|
openstack-nova-scheduler
|
||||||||||||||||||||||||||||||||||||||||||||||||
[a]
The X509 certificate service ( openstack-nova-cert/nova-cert) is only required by the EC2 API to the Compute service.
[b]
The nova network service (openstack-nova-network/nova-network) only runs in deployments that are not configured to use the Networking service (neutron).
| |||||||||||||||||||||||||||||||||||||||||||||||||
3.17. Compute sample configuration files Copier lienLien copié sur presse-papiers!
3.17.1. nova.conf - configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
api_paste_config = api-paste.ini
|
(StrOpt) File name for the paste.deploy config for nova-api |
api_rate_limit = False
|
(BoolOpt) Whether to use per-user rate limiting for the api. This option is only used by v2 api. Rate limiting is removed from v3 api. |
client_socket_timeout = 900
|
(IntOpt) Timeout for client connections' socket operations. If an incoming connection is idle for this number of seconds it will be closed. A value of '0' means wait forever. |
enable_new_services = True
|
(BoolOpt) Services to be added to the available pool on create |
enabled_apis = ec2, osapi_compute, metadata
|
(ListOpt) A list of APIs to enable by default |
enabled_ssl_apis =
|
(ListOpt) A list of APIs with enabled SSL |
instance_name_template = instance-%08x
|
(StrOpt) Template string to be used to generate instance names |
max_header_line = 16384
|
(IntOpt) Maximum line size of message headers to be accepted. max_header_line may need to be increased when using large tokens (typically those generated by the Keystone v3 API with big service catalogs). |
multi_instance_display_name_template = %(name)s-%(count)d
|
(StrOpt) When creating multiple instances with a single request using the os-multiple-create API extension, this template will be used to build the display name for each instance. The benefit is that the instances end up with different hostnames. To restore legacy behavior of every instance having the same name, set this option to "%(name)s". Valid keys for the template are: name, uuid, count. |
non_inheritable_image_properties = cache_in_nova, bittorrent
|
(ListOpt) These are image properties which a snapshot should not inherit from an instance |
null_kernel = nokernel
|
(StrOpt) Kernel image that indicates not to use a kernel, but to use a raw disk image instead |
osapi_compute_ext_list =
|
(ListOpt) Specify list of extensions to load when using osapi_compute_extension option with nova.api.openstack.compute.contrib.select_extensions |
osapi_compute_extension = ['nova.api.openstack.compute.contrib.standard_extensions']
|
(MultiStrOpt) osapi compute extension to load |
osapi_compute_link_prefix = None
|
(StrOpt) Base URL that will be presented to users in links to the OpenStack Compute API |
osapi_compute_listen = 0.0.0.0
|
(StrOpt) The IP address on which the OpenStack API will listen. |
osapi_compute_listen_port = 8774
|
(IntOpt) The port on which the OpenStack API will listen. |
osapi_compute_workers = None
|
(IntOpt) Number of workers for OpenStack API service. The default will be the number of CPUs available. |
osapi_hide_server_address_states = building
|
(ListOpt) List of instance states that should hide network info |
servicegroup_driver = db
|
(StrOpt) The driver for servicegroup service (valid options are: db, zk, mc) |
snapshot_name_template = snapshot-%s
|
(StrOpt) Template string to be used to generate snapshot names |
tcp_keepidle = 600
|
(IntOpt) Sets the value of TCP_KEEPIDLE in seconds for each server socket. Not supported on OS X. |
use_forwarded_for = False
|
(BoolOpt) Treat X-Forwarded-For as the canonical remote address. Only enable this if you have a sanitizing proxy. |
wsgi_default_pool_size = 1000
|
(IntOpt) Size of the pool of greenthreads used by wsgi |
wsgi_keep_alive = True
|
(BoolOpt) If False, closes the client socket connection explicitly. |
wsgi_log_format = %(client_ip)s "%(request_line)s" status: %(status_code)s len: %(body_length)s time: %(wall_seconds).7f
|
(StrOpt) A python format string that is used as the template to generate log lines. The following values can be formatted into it: client_ip, date_time, request_line, status_code, body_length, wall_seconds. |
| Configuration option = Default value | Description |
|---|---|
| [osapi_v3] | |
enabled = False
|
(BoolOpt) Whether the V3 API is enabled or not |
extensions_blacklist =
|
(ListOpt) A list of v3 API extensions to never load. Specify the extension aliases here. |
extensions_whitelist =
|
(ListOpt) If the list is not empty then a v3 API extension will only be loaded if it exists in this list. Specify the extension aliases here. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
auth_strategy = keystone
|
(StrOpt) The strategy to use for auth: keystone, noauth (deprecated), or noauth2. Both noauth and noauth2 are designed for testing only, as they do no actual credential checking. noauth provides administrative credentials regardless of the passed in user, noauth2 only does if 'admin' is specified as the username. |
| Configuration option = Default value | Description |
|---|---|
| [keystone_authtoken] | |
admin_password = None
|
(StrOpt) Service user password. |
admin_tenant_name = admin
|
(StrOpt) Service tenant name. |
admin_token = None
|
(StrOpt) This option is deprecated and may be removed in a future release. Single shared secret with the Keystone configuration used for bootstrapping a Keystone installation, or otherwise bypassing the normal authentication process. This option should not be used, use `admin_user` and `admin_password` instead. |
admin_user = None
|
(StrOpt) Service username. |
auth_admin_prefix =
|
(StrOpt) Prefix to prepend at the beginning of the path. Deprecated, use identity_uri. |
auth_host = 127.0.0.1
|
(StrOpt) Host providing the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_plugin = None
|
(StrOpt) Name of the plugin to load |
auth_port = 35357
|
(IntOpt) Port of the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_protocol = https
|
(StrOpt) Protocol of the admin Identity API endpoint (http or https). Deprecated, use identity_uri. |
auth_section = None
|
(StrOpt) Config Section from which to load plugin specific options |
auth_uri = None
|
(StrOpt) Complete public Identity API endpoint. |
auth_version = None
|
(StrOpt) API version of the admin Identity API endpoint. |
cache = None
|
(StrOpt) Env key for the swift cache. |
cafile = None
|
(StrOpt) A PEM encoded Certificate Authority to use when verifying HTTPs connections. Defaults to system CAs. |
certfile = None
|
(StrOpt) Required if identity server requires client certificate |
check_revocations_for_cached = False
|
(BoolOpt) If true, the revocation list will be checked for cached tokens. This requires that PKI tokens are configured on the identity server. |
delay_auth_decision = False
|
(BoolOpt) Do not handle authorization requests within the middleware, but delegate the authorization decision to downstream WSGI components. |
enforce_token_bind = permissive
|
(StrOpt) 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. |
hash_algorithms = md5
|
(ListOpt) Hash algorithms to use for hashing PKI tokens. This may be a single algorithm or multiple. The algorithms are those supported by Python standard hashlib.new(). The hashes will be tried in the order given, so put the preferred one first for performance. The result of the first hash will be stored in the cache. This will typically be set to multiple values only while migrating from a less secure algorithm to a more secure one. Once all the old tokens are expired this option should be set to a single value for better performance. |
http_connect_timeout = None
|
(IntOpt) Request timeout value for communicating with Identity API server. |
http_request_max_retries = 3
|
(IntOpt) How many times to try to reconnect when communicating with Identity API Server. |
identity_uri = None
|
(StrOpt) Complete admin Identity API endpoint. This should specify the unversioned root endpoint e.g. https://localhost:35357/ |
include_service_catalog = True
|
(BoolOpt) (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. |
insecure = False
|
(BoolOpt) Verify HTTPS connections. |
keyfile = None
|
(StrOpt) Required if identity server requires client certificate |
memcache_pool_conn_get_timeout = 10
|
(IntOpt) (Optional) Number of seconds that an operation will wait to get a memcache client connection from the pool. |
memcache_pool_dead_retry = 300
|
(IntOpt) (Optional) Number of seconds memcached server is considered dead before it is tried again. |
memcache_pool_maxsize = 10
|
(IntOpt) (Optional) Maximum total number of open connections to every memcached server. |
memcache_pool_socket_timeout = 3
|
(IntOpt) (Optional) Socket timeout in seconds for communicating with a memcache server. |
memcache_pool_unused_timeout = 60
|
(IntOpt) (Optional) Number of seconds a connection to memcached is held unused in the pool before it is closed. |
memcache_secret_key = None
|
(StrOpt) (Optional, mandatory if memcache_security_strategy is defined) This string is used for key derivation. |
memcache_security_strategy = None
|
(StrOpt) (Optional) If defined, indicate whether token data should be authenticated or authenticated and encrypted. Acceptable values are MAC or ENCRYPT. 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. |
memcache_use_advanced_pool = False
|
(BoolOpt) (Optional) Use the advanced (eventlet safe) memcache client pool. The advanced pool will only work under python 2.x. |
revocation_cache_time = 10
|
(IntOpt) Determines the frequency at which the list of revoked tokens is retrieved from the Identity service (in seconds). A high number of revocation events combined with a low cache duration may significantly reduce performance. |
signing_dir = None
|
(StrOpt) Directory used to cache files related to PKI tokens. |
token_cache_time = 300
|
(IntOpt) 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. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
default_availability_zone = nova
|
(StrOpt) Default compute node availability_zone |
default_schedule_zone = None
|
(StrOpt) Availability zone to use when user does not specify one |
internal_service_availability_zone = internal
|
(StrOpt) The availability_zone to show internal services under |
| Configuration option = Default value | Description |
|---|---|
| [barbican] | |
cafile = None
|
(StrOpt) PEM encoded Certificate Authority to use when verifying HTTPs connections. |
catalog_info = key-manager:barbican:public
|
(StrOpt) Info to match when looking for barbican in the service catalog. Format is: separated values of the form: <service_type>:<service_name>:<endpoint_type> |
certfile = None
|
(StrOpt) PEM encoded client certificate cert file |
endpoint_template = None
|
(StrOpt) Override service catalog lookup with template for barbican endpoint e.g. http://localhost:9311/v1/%(project_id)s |
insecure = False
|
(BoolOpt) Verify HTTPS connections. |
keyfile = None
|
(StrOpt) PEM encoded client certificate key file |
os_region_name = None
|
(StrOpt) Region name of this node |
timeout = None
|
(IntOpt) Timeout value for http requests |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
ca_file = cacert.pem
|
(StrOpt) Filename of root CA |
ca_path = $state_path/CA
|
(StrOpt) Where to keep the root CA |
cert = self.pem
|
(StrOpt) SSL certificate file |
cert_manager = nova.cert.manager.CertManager
|
(StrOpt) Full class name for the Manager for cert |
cert_topic = cert
|
(StrOpt) The topic cert nodes listen on |
crl_file = crl.pem
|
(StrOpt) Filename of root Certificate Revocation List |
key_file = private/cakey.pem
|
(StrOpt) Filename of private key |
keys_path = $state_path/keys
|
(StrOpt) Where to keep the keys |
project_cert_subject = /C=US/ST=California/O=OpenStack/OU=NovaDev/CN=project-ca-%.16s-%s
|
(StrOpt) Subject for certificate for projects, %s for project, timestamp |
ssl_ca_file = None
|
(StrOpt) CA certificate file to use to verify connecting clients |
ssl_cert_file = None
|
(StrOpt) SSL certificate of API server |
ssl_key_file = None
|
(StrOpt) SSL private key of API server |
use_project_ca = False
|
(BoolOpt) Should a CA be used for each project? |
user_cert_subject = /C=US/ST=California/O=OpenStack/OU=NovaDev/CN=%.16s-%.16s-%s
|
(StrOpt) Subject for certificate for users, %s for project, user, timestamp |
| [ssl] | |
ca_file = None
|
(StrOpt) CA certificate file to use to verify connecting clients. |
cert_file = None
|
(StrOpt) Certificate file to use when starting the server securely. |
key_file = None
|
(StrOpt) Private key file to use when starting the server securely. |
| Configuration option = Default value | Description |
|---|---|
| [cells] | |
call_timeout = 60
|
(IntOpt) Seconds to wait for response from a call to a cell. |
capabilities = hypervisor=xenserver;kvm, os=linux
|
(ListOpt) Key/Multi-value list with the capabilities of the cell |
cell_type = compute
|
(StrOpt) Type of cell: api or compute |
cells_config = None
|
(StrOpt) Configuration file from which to read cells configuration. If given, overrides reading cells from the database. |
db_check_interval = 60
|
(IntOpt) Interval, in seconds, for getting fresh cell information from the database. |
driver = nova.cells.rpc_driver.CellsRPCDriver
|
(StrOpt) Cells communication driver to use |
enable = False
|
(BoolOpt) Enable cell functionality |
instance_update_num_instances = 1
|
(IntOpt) Number of instances to update per periodic task run |
instance_updated_at_threshold = 3600
|
(IntOpt) Number of seconds after an instance was updated or deleted to continue to update cells |
manager = nova.cells.manager.CellsManager
|
(StrOpt) Manager for cells |
max_hop_count = 10
|
(IntOpt) Maximum number of hops for cells routing. |
mute_child_interval = 300
|
(IntOpt) Number of seconds after which a lack of capability and capacity updates signals the child cell is to be treated as a mute. |
mute_weight_multiplier = -10.0
|
(FloatOpt) Multiplier used to weigh mute children. (The value should be negative.) |
mute_weight_value = 1000.0
|
(FloatOpt) Weight value assigned to mute children. (The value should be positive.) |
name = nova
|
(StrOpt) Name of this cell |
offset_weight_multiplier = 1.0
|
(FloatOpt) Multiplier used to weigh offset weigher. |
reserve_percent = 10.0
|
(FloatOpt) Percentage of cell capacity to hold in reserve. Affects both memory and disk utilization |
topic = cells
|
(StrOpt) The topic cells nodes listen on |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
bindir = /usr/local/bin
|
(StrOpt) Directory where nova binaries are installed |
compute_topic = compute
|
(StrOpt) The topic compute nodes listen on |
console_topic = console
|
(StrOpt) The topic console proxy nodes listen on |
consoleauth_topic = consoleauth
|
(StrOpt) The topic console auth proxy nodes listen on |
host = localhost
|
(StrOpt) 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. |
memcached_servers = None
|
(ListOpt) Memcached servers or None for in process cache. |
my_ip = 10.0.0.1
|
(StrOpt) IP address of this host |
notify_api_faults = False
|
(BoolOpt) If set, send api.fault notifications on caught exceptions in the API service. |
notify_on_state_change = None
|
(StrOpt) If set, send compute.instance.update notifications on instance state changes. Valid values are None for no notifications, "vm_state" for notifications on VM state changes, or "vm_and_task_state" for notifications on VM and task state changes. |
pybasedir = /usr/lib/python/site-packages/nova
|
(StrOpt) Directory where the nova python module is installed |
report_interval = 10
|
(IntOpt) Seconds between nodes reporting state to datastore |
rootwrap_config = /etc/nova/rootwrap.conf
|
(StrOpt) Path to the rootwrap configuration file to use for running commands as root |
service_down_time = 60
|
(IntOpt) Maximum time since last check-in for up service |
state_path = $pybasedir
|
(StrOpt) Top-level directory for maintaining nova's state |
tempdir = None
|
(StrOpt) Explicitly specify the temporary working directory |
| [keystone_authtoken] | |
memcached_servers = None
|
(ListOpt) Optionally specify a list of memcached server(s) to use for caching. If left undefined, tokens will instead be cached in-process. |
| [workarounds] | |
destroy_after_evacuate = True
|
(BoolOpt) Whether to destroy instances on startup when it is suspected that they have previously been evacuated. This can result in data loss if undesired. See https://launchpad.net/bugs/1419785 |
disable_libvirt_livesnapshot = True
|
(BoolOpt) When using libvirt 1.2.2 fails live snapshots intermittently under load. This config option provides mechanism to disable livesnapshot while this is resolved. See https://bugs.launchpad.net/nova/+bug/1334398 |
disable_rootwrap = False
|
(BoolOpt) This option allows a fallback to sudo for performance reasons. For example see https://bugs.launchpad.net/nova/+bug/1415106 |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
compute_available_monitors = ['nova.compute.monitors.all_monitors']
|
(MultiStrOpt) Monitor classes available to the compute which may be specified more than once. |
compute_driver = None
|
(StrOpt) Driver to use for controlling virtualization. Options include: libvirt.LibvirtDriver, xenapi.XenAPIDriver, fake.FakeDriver, baremetal.BareMetalDriver, vmwareapi.VMwareVCDriver, hyperv.HyperVDriver |
compute_manager = nova.compute.manager.ComputeManager
|
(StrOpt) Full class name for the Manager for compute |
compute_monitors =
|
(ListOpt) A list of monitors that can be used for getting compute metrics. |
compute_resources = vcpu
|
(ListOpt) The names of the extra resources to track. |
compute_stats_class = nova.compute.stats.Stats
|
(StrOpt) Class that will manage stats for the local compute host |
console_host = localhost
|
(StrOpt) Console proxy host to use to connect to instances on this host. |
console_manager = nova.console.manager.ConsoleProxyManager
|
(StrOpt) Full class name for the Manager for console proxy |
default_flavor = m1.small
|
(StrOpt) Default flavor to use for the EC2 API only. The Nova API does not support a default flavor. |
default_notification_level = INFO
|
(StrOpt) Default notification level for outgoing notifications |
enable_instance_password = True
|
(BoolOpt) Enables returning of the instance password by the relevant server API calls such as create, rebuild or rescue, If the hypervisor does not support password injection then the password returned will not be correct |
heal_instance_info_cache_interval = 60
|
(IntOpt) Number of seconds between instance network information cache updates |
image_cache_manager_interval = 2400
|
(IntOpt) Number of seconds to wait between runs of the image cache manager. Set to -1 to disable. Setting this to 0 will run at the default rate. |
image_cache_subdirectory_name = _base
|
(StrOpt) Where cached images are stored under $instances_path. This is NOT the full path - only a folder name. For per-compute-host cached images, set to _base_$my_ip |
instance_build_timeout = 0
|
(IntOpt) Amount of time in seconds an instance can be in BUILD before going into ERROR status. Set to 0 to disable. |
instance_delete_interval = 300
|
(IntOpt) Interval in seconds for retrying failed instance file deletes. Set to -1 to disable. Setting this to 0 will run at the default rate. |
instance_usage_audit = False
|
(BoolOpt) Generate periodic compute.instance.exists notifications |
instance_usage_audit_period = month
|
(StrOpt) Time period to generate instance usages for. Time period must be hour, day, month or year |
instances_path = $state_path/instances
|
(StrOpt) Where instances are stored on disk |
max_concurrent_builds = 10
|
(IntOpt) Maximum number of instance builds to run concurrently |
maximum_instance_delete_attempts = 5
|
(IntOpt) The number of times to attempt to reap an instance's files. |
reboot_timeout = 0
|
(IntOpt) Automatically hard reboot an instance if it has been stuck in a rebooting state longer than N seconds. Set to 0 to disable. |
reclaim_instance_interval = 0
|
(IntOpt) Interval in seconds for reclaiming deleted instances |
rescue_timeout = 0
|
(IntOpt) Automatically unrescue an instance after N seconds. Set to 0 to disable. |
resize_confirm_window = 0
|
(IntOpt) Automatically confirm resizes after N seconds. Set to 0 to disable. |
resume_guests_state_on_host_boot = False
|
(BoolOpt) Whether to start guests that were running before the host rebooted |
running_deleted_instance_action = reap
|
(StrOpt) Action to take if a running deleted instance is detected. Valid options are 'noop', 'log', 'shutdown', or 'reap'. Set to 'noop' to take no action. |
running_deleted_instance_poll_interval = 1800
|
(IntOpt) Number of seconds to wait between runs of the cleanup task. |
running_deleted_instance_timeout = 0
|
(IntOpt) Number of seconds after being deleted when a running instance should be considered eligible for cleanup. |
shelved_offload_time = 0
|
(IntOpt) Time in seconds before a shelved instance is eligible for removing from a host. -1 never offload, 0 offload when shelved |
shelved_poll_interval = 3600
|
(IntOpt) Interval in seconds for polling shelved instances to offload. Set to -1 to disable.Setting this to 0 will run at the default rate. |
shutdown_timeout = 60
|
(IntOpt) Total amount of time to wait in seconds for an instance to perform a clean shutdown. |
sync_power_state_interval = 600
|
(IntOpt) Interval to sync power states between the database and the hypervisor. Set to -1 to disable. Setting this to 0 will run at the default rate. |
vif_plugging_is_fatal = True
|
(BoolOpt) Fail instance boot if vif plugging fails |
vif_plugging_timeout = 300
|
(IntOpt) Number of seconds to wait for neutron vif plugging events to arrive before continuing or failing (see vif_plugging_is_fatal). If this is set to zero and vif_plugging_is_fatal is False, events should not be expected to arrive at all. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
migrate_max_retries = -1
|
(IntOpt) Number of times to retry live-migration before failing. If set to -1, try until out of hosts. If set to 0, only try once, no retries. |
| [conductor] | |
manager = nova.conductor.manager.ConductorManager
|
(StrOpt) Full class name for the Manager for conductor |
topic = conductor
|
(StrOpt) The topic on which conductor nodes listen |
use_local = False
|
(BoolOpt) Perform nova-conductor operations locally |
workers = None
|
(IntOpt) Number of workers for OpenStack Conductor service. The default will be the number of CPUs available. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
config_drive_format = iso9660
|
(StrOpt) Config drive format. One of iso9660 (default) or vfat |
config_drive_skip_versions = 1.0 2007-01-19 2007-03-01 2007-08-29 2007-10-10 2007-12-15 2008-02-01 2008-09-01
|
(StrOpt) List of metadata versions to skip placing into the config drive |
force_config_drive = None
|
(StrOpt) Set to "always" to force injection to take place on a config drive. NOTE: The "always" will be deprecated in the Liberty release cycle. |
mkisofs_cmd = genisoimage
|
(StrOpt) Name and optionally path of the tool used for ISO image creation |
| [hyperv] | |
config_drive_cdrom = False
|
(BoolOpt) Attaches the Config Drive image as a cdrom drive instead of a disk drive |
config_drive_inject_password = False
|
(BoolOpt) Sets the admin password in the config drive image |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
console_public_hostname = localhost
|
(StrOpt) Publicly visible name for this console host |
console_token_ttl = 600
|
(IntOpt) How many seconds before deleting tokens |
consoleauth_manager = nova.consoleauth.manager.ConsoleAuthManager
|
(StrOpt) Manager for console auth |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
db_driver = nova.db
|
(StrOpt) The driver to use for database access |
| [api_database] | |
connection = None
|
(StrOpt) The SQLAlchemy connection string to use to connect to the Nova API database. |
connection_debug = 0
|
(IntOpt) Verbosity of SQL debugging information: 0=None, 100=Everything. |
connection_trace = False
|
(BoolOpt) Add Python stack traces to SQL as comment strings. |
idle_timeout = 3600
|
(IntOpt) Timeout before idle SQL connections are reaped. |
max_overflow = None
|
(IntOpt) If set, use this value for max_overflow with SQLAlchemy. |
max_pool_size = None
|
(IntOpt) Maximum number of SQL connections to keep open in a pool. |
max_retries = 10
|
(IntOpt) Maximum number of database connection retries during startup. Set to -1 to specify an infinite retry count. |
mysql_sql_mode = TRADITIONAL
|
(StrOpt) 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= |
pool_timeout = None
|
(IntOpt) If set, use this value for pool_timeout with SQLAlchemy. |
retry_interval = 10
|
(IntOpt) Interval between retries of opening a SQL connection. |
slave_connection = None
|
(StrOpt) The SQLAlchemy connection string to use to connect to the slave database. |
sqlite_synchronous = True
|
(BoolOpt) If True, SQLite uses synchronous mode. |
| [database] | |
backend = sqlalchemy
|
(StrOpt) The back end to use for the database. |
connection = None
|
(StrOpt) The SQLAlchemy connection string to use to connect to the database. |
connection_debug = 0
|
(IntOpt) Verbosity of SQL debugging information: 0=None, 100=Everything. |
connection_trace = False
|
(BoolOpt) Add Python stack traces to SQL as comment strings. |
db_inc_retry_interval = True
|
(BoolOpt) If True, increases the interval between retries of a database operation up to db_max_retry_interval. |
db_max_retries = 20
|
(IntOpt) Maximum retries in case of connection error or deadlock error before error is raised. Set to -1 to specify an infinite retry count. |
db_max_retry_interval = 10
|
(IntOpt) If db_inc_retry_interval is set, the maximum seconds between retries of a database operation. |
db_retry_interval = 1
|
(IntOpt) Seconds between retries of a database transaction. |
idle_timeout = 3600
|
(IntOpt) Timeout before idle SQL connections are reaped. |
max_overflow = None
|
(IntOpt) If set, use this value for max_overflow with SQLAlchemy. |
max_pool_size = None
|
(IntOpt) Maximum number of SQL connections to keep open in a pool. |
max_retries = 10
|
(IntOpt) Maximum number of database connection retries during startup. Set to -1 to specify an infinite retry count. |
min_pool_size = 1
|
(IntOpt) Minimum number of SQL connections to keep open in a pool. |
mysql_sql_mode = TRADITIONAL
|
(StrOpt) 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= |
pool_timeout = None
|
(IntOpt) If set, use this value for pool_timeout with SQLAlchemy. |
retry_interval = 10
|
(IntOpt) Interval between retries of opening a SQL connection. |
slave_connection = None
|
(StrOpt) The SQLAlchemy connection string to use to connect to the slave database. |
sqlite_db = oslo.sqlite
|
(StrOpt) The file name to use with SQLite. |
sqlite_synchronous = True
|
(BoolOpt) If True, SQLite uses synchronous mode. |
use_db_reconnect = False
|
(BoolOpt) Enable the experimental use of database reconnect on connection lost. |
use_tpool = False
|
(BoolOpt) Enable the experimental use of thread pooling for all DB API calls |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
backdoor_port = None
|
(StrOpt) 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. |
| [guestfs] | |
debug = False
|
(BoolOpt) Enable guestfs debug |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
ec2_dmz_host = $my_ip
|
(StrOpt) The internal IP address of the EC2 API server |
ec2_host = $my_ip
|
(StrOpt) The IP address of the EC2 API server |
ec2_listen = 0.0.0.0
|
(StrOpt) The IP address on which the EC2 API will listen. |
ec2_listen_port = 8773
|
(IntOpt) The port on which the EC2 API will listen. |
ec2_path = /
|
(StrOpt) The path prefix used to call the ec2 API server |
ec2_port = 8773
|
(IntOpt) The port of the EC2 API server |
ec2_private_dns_show_ip = False
|
(BoolOpt) Return the IP address as private dns hostname in describe instances |
ec2_scheme = http
|
(StrOpt) The protocol to use when connecting to the EC2 API server (http, https) |
ec2_strict_validation = True
|
(BoolOpt) Validate security group names according to EC2 specification |
ec2_timestamp_expiry = 300
|
(IntOpt) Time in seconds before ec2 timestamp expires |
ec2_workers = None
|
(IntOpt) Number of workers for EC2 API service. The default will be equal to the number of CPUs available. |
keystone_ec2_insecure = False
|
(BoolOpt) Disable SSL certificate verification. |
keystone_ec2_url = http://localhost:5000/v2.0/ec2tokens
|
(StrOpt) URL to get token from ec2 request. |
lockout_attempts = 5
|
(IntOpt) Number of failed auths before lockout. |
lockout_minutes = 15
|
(IntOpt) Number of minutes to lockout if triggered. |
lockout_window = 15
|
(IntOpt) Number of minutes for lockout window. |
region_list =
|
(ListOpt) List of region=fqdn pairs separated by commas |
| Configuration option = Default value | Description |
|---|---|
| [ephemeral_storage_encryption] | |
cipher = aes-xts-plain64
|
(StrOpt) The cipher and mode to be used to encrypt ephemeral storage. Which ciphers are available ciphers depends on kernel support. See /proc/crypto for the list of available options. |
enabled = False
|
(BoolOpt) Whether to encrypt ephemeral storage |
key_size = 512
|
(IntOpt) The bit length of the encryption key to be used to encrypt ephemeral storage (in XTS mode only half of the bits are used for encryption key) |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
fping_path = /usr/sbin/fping
|
(StrOpt) Full path to fping. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
osapi_glance_link_prefix = None
|
(StrOpt) Base URL that will be presented to users in links to glance resources |
| [glance] | |
allowed_direct_url_schemes =
|
(ListOpt) A list of url scheme that can be downloaded directly via the direct_url. Currently supported schemes: [file]. |
api_insecure = False
|
(BoolOpt) Allow to perform insecure SSL (https) requests to glance |
api_servers = None
|
(ListOpt) A list of the glance api servers available to nova. Prefix with https:// for ssl-based glance api servers. ([hostname|ip]:port) |
host = $my_ip
|
(StrOpt) Default glance hostname or IP address |
num_retries = 0
|
(IntOpt) Number of retries when uploading / downloading an image to / from glance. |
port = 9292
|
(IntOpt) Default glance port |
protocol = http
|
(StrOpt) Default protocol to use when connecting to glance. Set to https for SSL. |
| [image_file_url] | |
filesystems =
|
(ListOpt) List of file systems that are configured in this file in the image_file_url:<list entry name> sections |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
default_ephemeral_format = None
|
(StrOpt) The default format an ephemeral_volume will be formatted with on creation. |
force_raw_images = True
|
(BoolOpt) Force backing images to raw format |
preallocate_images = none
|
(StrOpt) VM image preallocation mode: "none" => no storage provisioning is done up front, "space" => storage is fully allocated at instance start |
timeout_nbd = 10
|
(IntOpt) Amount of time, in seconds, to wait for NBD device start up. |
use_cow_images = True
|
(BoolOpt) Whether to use cow images |
vcpu_pin_set = None
|
(StrOpt) Defines which pcpus that instance vcpus can use. For example, "4-12,^8,15" |
virt_mkfs = []
|
(MultiStrOpt) Name of the mkfs commands for ephemeral device. The format is <os_type>=<mkfs command> |
| Configuration option = Default value | Description |
|---|---|
| [ironic] | |
admin_auth_token = None
|
(StrOpt) Ironic keystone auth token. |
admin_password = None
|
(StrOpt) Ironic keystone admin password. |
admin_tenant_name = None
|
(StrOpt) Ironic keystone tenant name. |
admin_url = None
|
(StrOpt) Keystone public API endpoint. |
admin_username = None
|
(StrOpt) Ironic keystone admin name |
api_endpoint = None
|
(StrOpt) URL for Ironic API endpoint. |
api_max_retries = 60
|
(IntOpt) How many retries when a request does conflict. |
api_retry_interval = 2
|
(IntOpt) How often to retry in seconds when a request does conflict |
api_version = 1
|
(IntOpt) Version of Ironic API service endpoint. |
client_log_level = None
|
(StrOpt) Log level override for ironicclient. Set this in order to override the global "default_log_levels", "verbose", and "debug" settings. DEPRECATED: use standard logging configuration. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
fixed_range_v6 = fd00::/48
|
(StrOpt) Fixed IPv6 address block |
gateway_v6 = None
|
(StrOpt) Default IPv6 gateway |
ipv6_backend = rfc2462
|
(StrOpt) Backend to use for IPv6 generation |
use_ipv6 = False
|
(BoolOpt) Use IPv6 |
| Configuration option = Default value | Description |
|---|---|
| [keymgr] | |
api_class = nova.keymgr.conf_key_mgr.ConfKeyManager
|
(StrOpt) The full class name of the key manager API class |
fixed_key = None
|
(StrOpt) Fixed key returned by key manager, specified in hex |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
ldap_dns_base_dn = ou=hosts,dc=example,dc=org
|
(StrOpt) Base DN for DNS entries in LDAP |
ldap_dns_password = password
|
(StrOpt) Password for LDAP DNS |
ldap_dns_servers = ['dns.example.org']
|
(MultiStrOpt) DNS Servers for LDAP DNS driver |
ldap_dns_soa_expiry = 86400
|
(StrOpt) Expiry interval (in seconds) for LDAP DNS driver Statement of Authority |
ldap_dns_soa_hostmaster = hostmaster@example.org
|
(StrOpt) Hostmaster for LDAP DNS driver Statement of Authority |
ldap_dns_soa_minimum = 7200
|
(StrOpt) Minimum interval (in seconds) for LDAP DNS driver Statement of Authority |
ldap_dns_soa_refresh = 1800
|
(StrOpt) Refresh interval (in seconds) for LDAP DNS driver Statement of Authority |
ldap_dns_soa_retry = 3600
|
(StrOpt) Retry interval (in seconds) for LDAP DNS driver Statement of Authority |
ldap_dns_url = ldap://ldap.example.com:389
|
(StrOpt) URL for LDAP server which will store DNS entries |
ldap_dns_user = uid=admin,ou=people,dc=example,dc=org
|
(StrOpt) User for LDAP DNS |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
remove_unused_base_images = True
|
(BoolOpt) Should unused base images be removed? |
remove_unused_original_minimum_age_seconds = 86400
|
(IntOpt) Unused unresized base images younger than this will not be removed |
| [libvirt] | |
block_migration_flag = VIR_MIGRATE_UNDEFINE_SOURCE, VIR_MIGRATE_PEER2PEER, VIR_MIGRATE_LIVE, VIR_MIGRATE_TUNNELLED, VIR_MIGRATE_NON_SHARED_INC
|
(StrOpt) Migration flags to be set for block migration |
checksum_base_images = False
|
(BoolOpt) Write a checksum for files in _base to disk |
checksum_interval_seconds = 3600
|
(IntOpt) How frequently to checksum base images |
connection_uri =
|
(StrOpt) Override the default libvirt URI (which is dependent on virt_type) |
cpu_mode = None
|
(StrOpt) Set to "host-model" to clone the host CPU feature flags; to "host-passthrough" to use the host CPU model exactly; to "custom" to use a named CPU model; to "none" to not set any CPU model. If virt_type="kvm|qemu", it will default to "host-model", otherwise it will default to "none" |
cpu_model = None
|
(StrOpt) Set to a named libvirt CPU model (see names listed in /usr/share/libvirt/cpu_map.xml). Only has effect if cpu_mode="custom" and virt_type="kvm|qemu" |
disk_cachemodes =
|
(ListOpt) Specific cachemodes to use for different disk types e.g: file=directsync,block=none |
disk_prefix = None
|
(StrOpt) Override the default disk prefix for the devices attached to a server, which is dependent on virt_type. (valid options are: sd, xvd, uvd, vd) |
gid_maps =
|
(ListOpt) List of guid targets and ranges.Syntax is guest-gid:host-gid:countMaximum of 5 allowed. |
hw_disk_discard = None
|
(StrOpt) Discard option for nova managed disks (valid options are: ignore, unmap). Need Libvirt(1.0.6) Qemu1.5 (raw format) Qemu1.6(qcow2 format) |
hw_machine_type = None
|
(ListOpt) For qemu or KVM guests, set this option to specify a default machine type per host architecture. You can find a list of supported machine types in your environment by checking the output of the "virsh capabilities"command. The format of the value for this config option is host-arch=machine-type. For example: x86_64=machinetype1,armv7l=machinetype2 |
image_info_filename_pattern = $instances_path/$image_cache_subdirectory_name/%(image)s.info
|
(StrOpt) Allows image information files to be stored in non-standard locations |
images_rbd_ceph_conf =
|
(StrOpt) Path to the ceph configuration file to use |
images_rbd_pool = rbd
|
(StrOpt) The RADOS pool in which rbd volumes are stored |
images_type = default
|
(StrOpt) VM Images format. Acceptable values are: raw, qcow2, lvm, rbd, default. If default is specified, then use_cow_images flag is used instead of this one. |
images_volume_group = None
|
(StrOpt) LVM Volume Group that is used for VM images, when you specify images_type=lvm. |
inject_key = False
|
(BoolOpt) Inject the ssh public key at boot time |
inject_partition = -2
|
(IntOpt) The partition to inject to : -2 => disable, -1 => inspect (libguestfs only), 0 => not partitioned, >0 => partition number |
inject_password = False
|
(BoolOpt) Inject the admin password at boot time, without an agent. |
iscsi_iface = None
|
(StrOpt) The iSCSI transport iface to use to connect to target in case offload support is desired. Supported transports are be2iscsi, bnx2i, cxgb3i, cxgb4i, qla4xxx and ocs. Default format is transport_name.hwaddress and can be generated manually or via iscsiadm -m iface |
iscsi_use_multipath = False
|
(BoolOpt) Use multipath connection of the iSCSI volume |
iser_use_multipath = False
|
(BoolOpt) Use multipath connection of the iSER volume |
mem_stats_period_seconds = 10
|
(IntOpt) A number of seconds to memory usage statistics period. Zero or negative value mean to disable memory usage statistics. |
remove_unused_kernels = False
|
(BoolOpt) Should unused kernel images be removed? This is only safe to enable if all compute nodes have been updated to support this option. This will be enabled by default in future. |
remove_unused_resized_minimum_age_seconds = 3600
|
(IntOpt) Unused resized base images younger than this will not be removed |
rescue_image_id = None
|
(StrOpt) Rescue ami image. This will not be used if an image id is provided by the user. |
rescue_kernel_id = None
|
(StrOpt) Rescue aki image |
rescue_ramdisk_id = None
|
(StrOpt) Rescue ari image |
rng_dev_path = None
|
(StrOpt) A path to a device that will be used as source of entropy on the host. Permitted options are: /dev/random or /dev/hwrng |
snapshot_compression = False
|
(BoolOpt) Compress snapshot images when possible. This currently applies exclusively to qcow2 images |
snapshot_image_format = None
|
(StrOpt) Snapshot image format (valid options are : raw, qcow2, vmdk, vdi). Defaults to same as source image |
snapshots_directory = $instances_path/snapshots
|
(StrOpt) Location where libvirt driver will store snapshots before uploading them to image service |
sparse_logical_volumes = False
|
(BoolOpt) Create sparse logical volumes (with virtualsize) if this flag is set to True. |
sysinfo_serial = auto
|
(StrOpt) The data source used to the populate the host "serial" UUID exposed to guest in the virtual BIOS. Permitted options are "hardware", "os", "none" or "auto" (default). |
uid_maps =
|
(ListOpt) List of uid targets and ranges. Syntax is guest-uid:host-uid:count. Maximum of 5 allowed.
|
use_usb_tablet = True
|
(BoolOpt) Sync virtual and real mouse cursors (Not applicable to Red Hat Enterprise Linux VMs) |
use_virtio_for_bridges = True
|
(BoolOpt) Use virtio for bridge interfaces with KVM/QEMU |
virt_type = kvm
|
(StrOpt) Libvirt domain type (valid options are: kvm, lxc, qemu, uml, xen and parallels) |
volume_clear = zero
|
(StrOpt) Method used to wipe old volumes (valid options are: none, zero, shred) |
volume_clear_size = 0
|
(IntOpt) Size in MiB to wipe at start of old volumes. 0 => all |
wait_soft_reboot_seconds = 120
|
(IntOpt) Number of seconds to wait for instance to shut down after soft reboot request is made. Fall back to hard reboot if instance does not shut down within this window. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
live_migration_retry_count = 30
|
(IntOpt) Number of 1 second retries needed in live_migration |
| [libvirt] | |
live_migration_bandwidth = 0
|
(IntOpt) Maximum bandwidth to be used during migration, in Mbps |
live_migration_flag = VIR_MIGRATE_UNDEFINE_SOURCE, VIR_MIGRATE_PEER2PEER, VIR_MIGRATE_LIVE, VIR_MIGRATE_TUNNELLED
|
(StrOpt) Migration flags to be set for live migration |
live_migration_uri = qemu+tcp://%s/system
|
(StrOpt) Migration target URI (any included "%s" is replaced with the migration target hostname) |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
debug = False
|
(BoolOpt) Print debugging output (set logging level to DEBUG instead of default WARNING level). |
default_log_levels = amqp=WARN, amqplib=WARN, boto=WARN, qpid=WARN, sqlalchemy=WARN, suds=INFO, oslo.messaging=INFO, iso8601=WARN, requests.packages.urllib3.connectionpool=WARN, urllib3.connectionpool=WARN, websocket=WARN, requests.packages.urllib3.util.retry=WARN, urllib3.util.retry=WARN, keystonemiddleware=WARN, routes.middleware=WARN, stevedore=WARN
|
(ListOpt) List of logger=LEVEL pairs. |
fatal_deprecations = False
|
(BoolOpt) Enables or disables fatal status of deprecations. |
fatal_exception_format_errors = False
|
(BoolOpt) Make exception message format errors fatal |
instance_format = "[instance: %(uuid)s] "
|
(StrOpt) The format for an instance that is passed with the log message. |
instance_uuid_format = "[instance: %(uuid)s] "
|
(StrOpt) The format for an instance UUID that is passed with the log message. |
log_config_append = None
|
(StrOpt) 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. |
log_date_format = %Y-%m-%d %H:%M:%S
|
(StrOpt) Format string for %%(asctime)s in log records. Default: %(default)s . |
log_dir = None
|
(StrOpt) (Optional) The base directory used for relative --log-file paths. |
log_file = None
|
(StrOpt) (Optional) Name of log file to output to. If no default is set, logging will go to stdout. |
log_format = None
|
(StrOpt) DEPRECATED. A logging.Formatter log message format string which may use any of the available logging.LogRecord attributes. This option is deprecated. Use logging_context_format_string and logging_default_format_string instead. |
log_config_append = None
|
(StrOpt) 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. |
log_date_format = %Y-%m-%d %H:%M:%S
|
(StrOpt) Format string for %%(asctime)s in log records. Default: %(default)s . |
log_dir = None
|
(StrOpt) (Optional) The base directory used for relative --log-file paths. |
log_file = None
|
(StrOpt) (Optional) Name of log file to output to. If no default is set, logging will go to stdout. |
log_format = None
|
(StrOpt) DEPRECATED. A logging.Formatter log message format string which may use any of the available logging.LogRecord attributes. This option is deprecated. Use logging_context_format_string and logging_default_format_string instead. |
logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
|
(StrOpt) Format string to use for log messages with context. |
logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
|
(StrOpt) Data to append to log format when level is DEBUG. |
logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
|
(StrOpt) Format string to use for log messages without context. |
logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s
|
(StrOpt) Prefix each line of exception output with this format. |
publish_errors = False
|
(BoolOpt) Enables or disables publication of error events. |
syslog_log_facility = LOG_USER
|
(StrOpt) Syslog facility to receive log lines. |
syslog_log_facility = LOG_USER
|
(StrOpt) Syslog facility to receive log lines. |
use_syslog = False
|
(BoolOpt) Use syslog for logging. Existing syslog format is DEPRECATED during I, and will change in J to honor RFC5424. |
use_syslog_rfc_format = False
|
(BoolOpt) (Optional) Enables or disables syslog rfc5424 format for logging. If enabled, prefixes the MSG part of the syslog message with APP-NAME (RFC5424). The format without the APP-NAME is deprecated in I, and will be removed in J. |
use_stderr = True
|
(BoolOpt) Log output to standard error. |
use_syslog = False
|
(BoolOpt) Use syslog for logging. Existing syslog format is DEPRECATED during I, and will change in J to honor RFC5424. |
use_syslog_rfc_format = False
|
(BoolOpt) (Optional) Enables or disables syslog rfc5424 format for logging. If enabled, prefixes the MSG part of the syslog message with APP-NAME (RFC5424). The format without the APP-NAME is deprecated in I, and will be removed in J. |
verbose = False
|
(BoolOpt) Print more verbose output (set logging level to INFO instead of default WARNING level). |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
metadata_cache_expiration = 15
|
(IntOpt) Time in seconds to cache metadata; 0 to disable metadata caching entirely (not recommended). Increasingthis should improve response times of the metadata API when under heavy load. Higher values may increase memoryusage and result in longer times for host metadata changes to take effect. |
metadata_host = $my_ip
|
(StrOpt) The IP address for the metadata API server |
metadata_listen = 0.0.0.0
|
(StrOpt) The IP address on which the metadata API will listen. |
metadata_listen_port = 8775
|
(IntOpt) The port on which the metadata API will listen. |
metadata_manager = nova.api.manager.MetadataManager
|
(StrOpt) OpenStack metadata service manager |
metadata_port = 8775
|
(IntOpt) The port for the metadata API port |
metadata_workers = None
|
(IntOpt) Number of workers for metadata service. The default will be the number of CPUs available. |
vendordata_driver = nova.api.metadata.vendordata_json.JsonFileVendorData
|
(StrOpt) Driver to use for vendor data |
vendordata_jsonfile_path = None
|
(StrOpt) File to load JSON formatted vendor data from |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
allow_same_net_traffic = True
|
(BoolOpt) Whether to allow network traffic from same network |
auto_assign_floating_ip = False
|
(BoolOpt) Autoassigning floating IP to VM |
cnt_vpn_clients = 0
|
(IntOpt) Number of addresses reserved for vpn clients |
create_unique_mac_address_attempts = 5
|
(IntOpt) Number of attempts to create unique mac address |
default_access_ip_network_name = None
|
(StrOpt) Name of network to use to set access IPs for instances |
default_floating_pool = nova
|
(StrOpt) Default pool for floating IPs |
defer_iptables_apply = False
|
(BoolOpt) Whether to batch up the application of IPTables rules during a host restart and apply all at the end of the init phase |
dhcp_domain = novalocal
|
(StrOpt) Domain to use for building the hostnames |
dhcp_lease_time = 86400
|
(IntOpt) Lifetime of a DHCP lease in seconds |
dhcpbridge = $bindir/nova-dhcpbridge
|
(StrOpt) Location of nova-dhcpbridge |
dhcpbridge_flagfile = ['/etc/nova/nova-dhcpbridge.conf']
|
(MultiStrOpt) Location of flagfiles for dhcpbridge |
dns_server = []
|
(MultiStrOpt) If set, uses specific DNS server for dnsmasq. Can be specified multiple times. |
dns_update_periodic_interval = -1
|
(IntOpt) Number of seconds to wait between runs of updates to DNS entries. |
dnsmasq_config_file =
|
(StrOpt) Override the default dnsmasq settings with this file |
ebtables_exec_attempts = 3
|
(IntOpt) Number of times to retry ebtables commands on failure. |
ebtables_retry_interval = 1.0
|
(FloatOpt) Number of seconds to wait between ebtables retries. |
firewall_driver = None
|
(StrOpt) Firewall driver (defaults to hypervisor specific iptables driver) |
fixed_ip_disassociate_timeout = 600
|
(IntOpt) Seconds after which a deallocated IP is disassociated |
flat_injected = False
|
(BoolOpt) Whether to attempt to inject network setup into guest |
flat_interface = None
|
(StrOpt) FlatDhcp will bridge into this interface if set |
flat_network_bridge = None
|
(StrOpt) Bridge for simple network instances |
flat_network_dns = 8.8.4.4
|
(StrOpt) DNS server for simple network |
floating_ip_dns_manager = nova.network.noop_dns_driver.NoopDNSDriver
|
(StrOpt) Full class name for the DNS Manager for floating IPs |
force_dhcp_release = True
|
(BoolOpt) If True, send a dhcp release on instance termination |
force_snat_range = []
|
(MultiStrOpt) Traffic to this range will always be snatted to the fallback ip, even if it would normally be bridged out of the node. Can be specified multiple times. |
forward_bridge_interface = ['all']
|
(MultiStrOpt) An interface that bridges can forward to. If this is set to all then all traffic will be forwarded. Can be specified multiple times. |
gateway = None
|
(StrOpt) Default IPv4 gateway |
injected_network_template = $pybasedir/nova/virt/interfaces.template
|
(StrOpt) Template file for injected network |
instance_dns_domain =
|
(StrOpt) Full class name for the DNS Zone for instance IPs |
instance_dns_manager = nova.network.noop_dns_driver.NoopDNSDriver
|
(StrOpt) Full class name for the DNS Manager for instance IPs |
iptables_bottom_regex =
|
(StrOpt) Regular expression to match the iptables rule that should always be on the bottom. |
iptables_drop_action = DROP
|
(StrOpt) The table that iptables to jump to when a packet is to be dropped. |
iptables_top_regex =
|
(StrOpt) Regular expression to match the iptables rule that should always be on the top. |
l3_lib = nova.network.l3.LinuxNetL3
|
(StrOpt) Indicates underlying L3 management library |
linuxnet_interface_driver = nova.network.linux_net.LinuxBridgeInterfaceDriver
|
(StrOpt) Driver used to create ethernet devices. |
linuxnet_ovs_integration_bridge = br-int
|
(StrOpt) Name of Open vSwitch bridge used with linuxnet |
multi_host = False
|
(BoolOpt) Default value for multi_host in networks. Also, if set, some rpc network calls will be sent directly to host. |
network_allocate_retries = 0
|
(IntOpt) Number of times to retry network allocation on failures |
network_api_class = nova.network.api.API
|
(StrOpt) The full class name of the network API class to use |
network_device_mtu = None
|
(IntOpt) DEPRECATED: THIS VALUE SHOULD BE SET WHEN CREATING THE NETWORK. MTU setting for network interface. |
network_driver = nova.network.linux_net
|
(StrOpt) Driver to use for network creation |
network_manager = nova.network.manager.VlanManager
|
(StrOpt) Full class name for the Manager for network |
network_size = 256
|
(IntOpt) Number of addresses in each private subnet |
network_topic = network
|
(StrOpt) The topic network nodes listen on |
networks_path = $state_path/networks
|
(StrOpt) Location to keep network config files |
num_networks = 1
|
(IntOpt) Number of networks to support |
ovs_vsctl_timeout = 120
|
(IntOpt) Amount of time, in seconds, that ovs_vsctl should wait for a response from the database. 0 is to wait forever. |
public_interface = eth0
|
(StrOpt) Interface for public IP addresses |
routing_source_ip = $my_ip
|
(StrOpt) Public IP of network host |
security_group_api = nova
|
(StrOpt) The full class name of the security API class |
send_arp_for_ha = False
|
(BoolOpt) Send gratuitous ARPs for HA setup |
send_arp_for_ha_count = 3
|
(IntOpt) Send this many gratuitous ARPs for HA setup |
share_dhcp_address = False
|
(BoolOpt) DEPRECATED: THIS VALUE SHOULD BE SET WHEN CREATING THE NETWORK. If True in multi_host mode, all compute hosts share the same dhcp address. The same IP address used for DHCP will be added on each nova-network node which is only visible to the vms on the same host. |
teardown_unused_network_gateway = False
|
(BoolOpt) If True, unused gateway devices (VLAN and bridge) are deleted in VLAN network mode with multi hosted networks |
update_dns_entries = False
|
(BoolOpt) If True, when a DNS entry must be updated, it sends a fanout cast to all network hosts to update their DNS entries in multi host mode |
use_network_dns_servers = False
|
(BoolOpt) If set, uses the dns1 and dns2 from the network ref. as dns servers. |
use_neutron_default_nets = False
|
(StrOpt) Control for checking for default networks |
use_single_default_gateway = False
|
(BoolOpt) Use single default gateway. Only first nic of vm will get default gateway from dhcp server |
vlan_interface = None
|
(StrOpt) VLANs will bridge into this interface if set |
vlan_start = 100
|
(IntOpt) First VLAN for private networks |
| [vmware] | |
vlan_interface = vmnic0
|
(StrOpt) Physical ethernet adapter name for vlan networking |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
neutron_default_tenant_id = default
|
(StrOpt) Default tenant id when creating neutron networks |
| [neutron] | |
admin_auth_url = http://localhost:5000/v2.0
|
(StrOpt) Authorization URL for connecting to neutron in admin context. DEPRECATED: specify an auth_plugin and appropriate credentials instead. |
admin_password = None
|
(StrOpt) Password for connecting to neutron in admin context DEPRECATED: specify an auth_plugin and appropriate credentials instead. |
admin_tenant_id = None
|
(StrOpt) Tenant id for connecting to neutron in admin context DEPRECATED: specify an auth_plugin and appropriate credentials instead. |
admin_tenant_name = None
|
(StrOpt) Tenant name for connecting to neutron in admin context. This option will be ignored if neutron_admin_tenant_id is set. Note that with Keystone V3 tenant names are only unique within a domain. DEPRECATED: specify an auth_plugin and appropriate credentials instead. |
admin_user_id = None
|
(StrOpt) User id for connecting to neutron in admin context. DEPRECATED: specify an auth_plugin and appropriate credentials instead. |
admin_username = None
|
(StrOpt) Username for connecting to neutron in admin context DEPRECATED: specify an auth_plugin and appropriate credentials instead. |
allow_duplicate_networks = False
|
(BoolOpt) DEPRECATED: Allow an instance to have multiple vNICs attached to the same Neutron network. This option is deprecated in the 2015.1 release and will be removed in the 2015.2 release where the default behavior will be to always allow multiple ports from the same network to be attached to an instance. |
auth_plugin = None
|
(StrOpt) Name of the plugin to load |
auth_section = None
|
(StrOpt) Config Section from which to load plugin specific options |
auth_strategy = keystone
|
(StrOpt) Authorization strategy for connecting to neutron in admin context. DEPRECATED: specify an auth_plugin and appropriate credentials instead. If an auth_plugin is specified strategy will be ignored. |
cafile = None
|
(StrOpt) PEM encoded Certificate Authority to use when verifying HTTPs connections. |
certfile = None
|
(StrOpt) PEM encoded client certificate cert file |
extension_sync_interval = 600
|
(IntOpt) Number of seconds before querying neutron for extensions |
insecure = False
|
(BoolOpt) Verify HTTPS connections. |
keyfile = None
|
(StrOpt) PEM encoded client certificate key file |
metadata_proxy_shared_secret =
|
(StrOpt) Shared secret to validate proxies Neutron metadata requests |
ovs_bridge = br-int
|
(StrOpt) Name of Integration Bridge used by Open vSwitch |
region_name = None
|
(StrOpt) Region name for connecting to neutron in admin context |
service_metadata_proxy = False
|
(BoolOpt) Set flag to indicate Neutron will proxy metadata requests and resolve instance ids. |
timeout = None
|
(IntOpt) Timeout value for http requests |
url = http://127.0.0.1:9696
|
(StrOpt) URL for connecting to neutron |
| Configuration option = Default value | Description |
|---|---|
| [oslo_middleware] | |
max_request_body_size = 114688
|
(IntOpt) The maximum body size for each request, in bytes. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
pci_alias = []
|
(MultiStrOpt) An alias for a PCI passthrough device requirement. This allows users to specify the alias in the extra_spec for a flavor, without needing to repeat all the PCI property requirements. For example: pci_alias = { "name": "QuicAssist", "product_id": "0443", "vendor_id": "8086", "device_type": "ACCEL" } defines an alias for the Intel QuickAssist card. (multi valued) |
pci_passthrough_whitelist = []
|
(MultiStrOpt) White list of PCI devices available to VMs. For example: pci_passthrough_whitelist = [{"vendor_id": "8086", "product_id": "0443"}] |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
periodic_enable = True
|
(BoolOpt) Enable periodic tasks |
periodic_fuzzy_delay = 60
|
(IntOpt) Range of seconds to randomly delay when starting the periodic task scheduler to reduce stampeding. (Disable by setting to 0) |
run_external_periodic_tasks = True
|
(BoolOpt) Some periodic tasks can be run in a separate process. Should they run here? |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
allow_instance_snapshots = True
|
(BoolOpt) Permit instance snapshot operations. |
allow_migrate_to_same_host = False
|
(BoolOpt) Allow migrate machine to the same host. Useful when testing in single-host environments. |
allow_resize_to_same_host = False
|
(BoolOpt) Allow destination machine to match source for resize. Useful when testing in single-host environments. |
max_age = 0
|
(IntOpt) Number of seconds between subsequent usage refreshes. This defaults to 0(off) to avoid additional load but it is useful to turn on to help keep quota usage up to date and reduce the impact of out of sync usage issues. Note that quotas are not updated on a periodic task, they will update on a new reservation if max_age has passed since the last reservation |
max_local_block_devices = 3
|
(IntOpt) Maximum number of devices that will result in a local image being created on the hypervisor node. Setting this to 0 means nova will allow only boot from volume. A negative number means unlimited. |
osapi_compute_unique_server_name_scope =
|
(StrOpt) When set, compute API will consider duplicate hostnames invalid within the specified scope, regardless of case. Should be empty, "project" or "global". |
osapi_max_limit = 1000
|
(IntOpt) The maximum number of items returned in a single response from a collection resource |
password_length = 12
|
(IntOpt) Length of generated instance admin passwords |
policy_default_rule = default
|
(StrOpt) Default rule. Enforced when a requested rule is not found. |
policy_dirs = ['policy.d']
|
(MultiStrOpt) 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. |
policy_file = policy.json
|
(StrOpt) The JSON file that defines policies. |
reservation_expire = 86400
|
(IntOpt) Number of seconds until a reservation expires |
resize_fs_using_block_device = False
|
(BoolOpt) Attempt to resize the filesystem by accessing the image over a block device. This is done by the host and may not be necessary if the image contains a recent version of cloud-init. Possible mechanisms require the nbd driver (for qcow and raw), or loop (for raw). |
until_refresh = 0
|
(IntOpt) Count of reservations until usage is refreshed. This defaults to 0(off) to avoid additional load but it is useful to turn on to help keep quota usage up to date and reduce the impact of out of sync usage issues. |
| Configuration option = Default value | Description |
|---|---|
| [libvirt] | |
quobyte_client_cfg = None
|
(StrOpt) Path to a Quobyte Client configuration file. |
quobyte_mount_point_base = $state_path/mnt
|
(StrOpt) Directory where the Quobyte volume is mounted on the compute node |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
bandwidth_poll_interval = 600
|
(IntOpt) Interval to pull network bandwidth usage info. Not supported on all hypervisors. Set to -1 to disable. Setting this to 0 will run at the default rate. |
enable_network_quota = False
|
(BoolOpt) Enables or disables quota checking for tenant networks |
quota_cores = 20
|
(IntOpt) Number of instance cores allowed per project |
quota_driver = nova.quota.DbQuotaDriver
|
(StrOpt) Default driver to use for quota checks |
quota_fixed_ips = -1
|
(IntOpt) Number of fixed IPs allowed per project (this should be at least the number of instances allowed) |
quota_floating_ips = 10
|
(IntOpt) Number of floating IPs allowed per project |
quota_injected_file_content_bytes = 10240
|
(IntOpt) Number of bytes allowed per injected file |
quota_injected_file_path_length = 255
|
(IntOpt) Length of injected file path |
quota_injected_files = 5
|
(IntOpt) Number of injected files allowed |
quota_instances = 10
|
(IntOpt) Number of instances allowed per project |
quota_key_pairs = 100
|
(IntOpt) Number of key pairs per user |
quota_metadata_items = 128
|
(IntOpt) Number of metadata items allowed per instance |
quota_networks = 3
|
(IntOpt) Number of private networks allowed per project |
quota_ram = 51200
|
(IntOpt) Megabytes of instance RAM allowed per project |
quota_security_group_rules = 20
|
(IntOpt) Number of security rules per security group |
quota_security_groups = 10
|
(IntOpt) Number of security groups per project |
quota_server_group_members = 10
|
(IntOpt) Number of servers per server group |
quota_server_groups = 10
|
(IntOpt) Number of server groups per project |
| [cells] | |
bandwidth_update_interval = 600
|
(IntOpt) Seconds between bandwidth updates for cells. |
| Configuration option = Default value | Description |
|---|---|
| [rdp] | |
enabled = False
|
(BoolOpt) Enable RDP related features |
html5_proxy_base_url = http://127.0.0.1:6083/
|
(StrOpt) Location of RDP html5 console proxy, in the form "http://127.0.0.1:6083/" |
| Configuration option = Default value | Description |
|---|---|
| [matchmaker_redis] | |
host = 127.0.0.1
|
(StrOpt) Host to locate redis. |
password = None
|
(StrOpt) Password for Redis server (optional). |
port = 6379
|
(IntOpt) Use this port to connect to redis host. |
| [matchmaker_ring] | |
ringfile = /etc/oslo/matchmaker_ring.json
|
(StrOpt) Matchmaker ring file (JSON). |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
buckets_path = $state_path/buckets
|
(StrOpt) Path to S3 buckets |
image_decryption_dir = /tmp
|
(StrOpt) Parent directory for tempdir used for image decryption |
s3_access_key = notchecked
|
(StrOpt) Access key to use for S3 server for images |
s3_affix_tenant = False
|
(BoolOpt) Whether to affix the tenant id to the access key when downloading from S3 |
s3_host = $my_ip
|
(StrOpt) Hostname or IP for OpenStack to use when accessing the S3 api |
s3_listen = 0.0.0.0
|
(StrOpt) IP address for S3 API to listen |
s3_listen_port = 3333
|
(IntOpt) Port for S3 API to listen |
s3_port = 3333
|
(IntOpt) Port used when accessing the S3 api |
s3_secret_key = notchecked
|
(StrOpt) Secret key to use for S3 server for images |
s3_use_ssl = False
|
(BoolOpt) Whether to use SSL when talking to S3 |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
aggregate_image_properties_isolation_namespace = None
|
(StrOpt) Force the filter to consider only keys matching the given namespace. |
aggregate_image_properties_isolation_separator = .
|
(StrOpt) The separator used between the namespace and keys |
baremetal_scheduler_default_filters = RetryFilter, AvailabilityZoneFilter, ComputeFilter, ComputeCapabilitiesFilter, ImagePropertiesFilter, ExactRamFilter, ExactDiskFilter, ExactCoreFilter
|
(ListOpt) Which filter class names to use for filtering baremetal hosts when not specified in the request. |
cpu_allocation_ratio = 16.0
|
(FloatOpt) Virtual CPU to physical CPU allocation ratio which affects all CPU filters. This configuration specifies a global ratio for CoreFilter. For AggregateCoreFilter, it will fall back to this configuration value if no per-aggregate setting found. |
disk_allocation_ratio = 1.0
|
(FloatOpt) Virtual disk to physical disk allocation ratio |
io_ops_weight_multiplier = -1.0
|
(FloatOpt) Multiplier used for weighing host io ops. Negative numbers mean a preference to choose light workload compute hosts. |
isolated_hosts =
|
(ListOpt) Host reserved for specific images |
isolated_images =
|
(ListOpt) Images to run on isolated host |
max_instances_per_host = 50
|
(IntOpt) Ignore hosts that have too many instances |
max_io_ops_per_host = 8
|
(IntOpt) Tells filters to ignore hosts that have this many or more instances currently in build, resize, snapshot, migrate, rescue or unshelve task states |
ram_allocation_ratio = 1.5
|
(FloatOpt) Virtual ram to physical ram allocation ratio which affects all ram filters. This configuration specifies a global ratio for RamFilter. For AggregateRamFilter, it will fall back to this configuration value if no per-aggregate setting found. |
ram_weight_multiplier = 1.0
|
(FloatOpt) Multiplier used for weighing ram. Negative numbers mean to stack vs spread. |
reserved_host_disk_mb = 0
|
(IntOpt) Amount of disk in MB to reserve for the host |
reserved_host_memory_mb = 512
|
(IntOpt) Amount of memory in MB to reserve for the host |
restrict_isolated_hosts_to_isolated_images = True
|
(BoolOpt) Whether to force isolated hosts to run only isolated images |
scheduler_available_filters = ['nova.scheduler.filters.all_filters']
|
(MultiStrOpt) Filter classes available to the scheduler which may be specified more than once. An entry of "nova.scheduler.filters.all_filters" maps to all filters included with nova. |
scheduler_default_filters = RetryFilter, AvailabilityZoneFilter, RamFilter, ComputeFilter, ComputeCapabilitiesFilter, ImagePropertiesFilter, ServerGroupAntiAffinityFilter, ServerGroupAffinityFilter
|
(ListOpt) Which filter class names to use for filtering hosts when not specified in the request. |
scheduler_driver = nova.scheduler.filter_scheduler.FilterScheduler
|
(StrOpt) Default driver to use for the scheduler |
scheduler_driver_task_period = 60
|
(IntOpt) How often (in seconds) to run periodic tasks in the scheduler driver of your choice. Note this is likely to interact with the value of service_down_time, but exactly how they interact will depend on your choice of scheduler driver. |
scheduler_host_manager = nova.scheduler.host_manager.HostManager
|
(StrOpt) The scheduler host manager class to use |
scheduler_host_subset_size = 1
|
(IntOpt) New instances will be scheduled on a host chosen randomly from a subset of the N best hosts. This property defines the subset size that a host is chosen from. A value of 1 chooses the first host returned by the weighing functions. This value must be at least 1. Any value less than 1 will be ignored, and 1 will be used instead |
scheduler_instance_sync_interval = 120
|
(IntOpt) Waiting time interval (seconds) between sending the scheduler a list of current instance UUIDs to verify that its view of instances is in sync with nova. If the CONF option `scheduler_tracks_instance_changes` is False, changing this option will have no effect. |
scheduler_json_config_location =
|
(StrOpt) Absolute path to scheduler configuration JSON file. |
scheduler_manager = nova.scheduler.manager.SchedulerManager
|
(StrOpt) Full class name for the Manager for scheduler |
scheduler_max_attempts = 3
|
(IntOpt) Maximum number of attempts to schedule an instance |
scheduler_topic = scheduler
|
(StrOpt) The topic scheduler nodes listen on |
scheduler_tracks_instance_changes = True
|
(BoolOpt) Determines if the Scheduler tracks changes to instances to help with its filtering decisions. |
scheduler_use_baremetal_filters = False
|
(BoolOpt) Flag to decide whether to use baremetal_scheduler_default_filters or not. |
scheduler_weight_classes = nova.scheduler.weights.all_weighers
|
(ListOpt) Which weight class names to use for weighing hosts |
| [cells] | |
ram_weight_multiplier = 10.0
|
(FloatOpt) Multiplier used for weighing ram. Negative numbers mean to stack vs spread. |
scheduler_filter_classes = nova.cells.filters.all_filters
|
(ListOpt) Filter classes the cells scheduler should use. An entry of "nova.cells.filters.all_filters" maps to all cells filters included with nova. |
scheduler_retries = 10
|
(IntOpt) How many retries when no cells are available. |
scheduler_retry_delay = 2
|
(IntOpt) How often to retry in seconds when no cells are available. |
scheduler_weight_classes = nova.cells.weights.all_weighers
|
(ListOpt) Weigher classes the cells scheduler should use. An entry of "nova.cells.weights.all_weighers" maps to all cell weighers included with nova. |
| [metrics] | |
required = True
|
(BoolOpt) How to treat the unavailable metrics. When a metric is NOT available for a host, if it is set to be True, it would raise an exception, so it is recommended to use the scheduler filter MetricFilter to filter out those hosts. If it is set to be False, the unavailable metric would be treated as a negative factor in weighing process, the returned value would be set by the option weight_of_unavailable. |
weight_multiplier = 1.0
|
(FloatOpt) Multiplier used for weighing metrics. |
weight_of_unavailable = -10000.0
|
(FloatOpt) The final weight value to be returned if required is set to False and any one of the metrics set by weight_setting is unavailable. |
weight_setting =
|
(ListOpt) How the metrics are going to be weighed. This should be in the form of "<name1>=<ratio1>, <name2>=<ratio2>, ...", where <nameX> is one of the metrics to be weighed, and <ratioX> is the corresponding ratio. So for "name1=1.0, name2=-1.0" The final weight would be name1.value * 1.0 + name2.value * -1.0. |
| Configuration option = Default value | Description |
|---|---|
| [serial_console] | |
base_url = ws://127.0.0.1:6083/
|
(StrOpt) Location of serial console proxy. |
enabled = False
|
(BoolOpt) Enable serial console related features |
listen = 127.0.0.1
|
(StrOpt) IP address on which instance serial console should listen |
port_range = 10000:20000
|
(StrOpt) Range of TCP ports to use for serial ports on compute hosts |
proxyclient_address = 127.0.0.1
|
(StrOpt) The address to which proxy clients (like nova-serialproxy) should connect |
serialproxy_host = 0.0.0.0
|
(StrOpt) Host on which to listen for incoming requests |
serialproxy_port = 6083
|
(IntOpt) Port on which to listen for incoming requests |
| Configuration option = Default value | Description |
|---|---|
| [spice] | |
agent_enabled = True
|
(BoolOpt) Enable spice guest agent support |
enabled = False
|
(BoolOpt) Enable spice related features |
html5proxy_base_url = http://127.0.0.1:6082/spice_auto.html
|
(StrOpt) Location of spice HTML5 console proxy, in the form "http://127.0.0.1:6082/spice_auto.html" |
html5proxy_host = 0.0.0.0
|
(StrOpt) Host on which to listen for incoming requests |
html5proxy_port = 6082
|
(IntOpt) Port on which to listen for incoming requests |
keymap = en-us
|
(StrOpt) Keymap for spice |
server_listen = 127.0.0.1
|
(StrOpt) IP address on which instance spice server should listen |
server_proxyclient_address = 127.0.0.1
|
(StrOpt) The address to which proxy clients (like nova-spicehtml5proxy) should connect |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
fake_call = False
|
(BoolOpt) If True, skip using the queue and make local calls |
fake_network = False
|
(BoolOpt) If passed, use fake network devices and addresses |
monkey_patch = False
|
(BoolOpt) Whether to log monkey patching |
monkey_patch_modules = nova.api.ec2.cloud:nova.notifications.notify_decorator, nova.compute.api:nova.notifications.notify_decorator
|
(ListOpt) List of modules/decorators to monkey patch |
| Configuration option = Default value | Description |
|---|---|
| [trusted_computing] | |
attestation_api_url = /OpenAttestationWebServices/V1.0
|
(StrOpt) Attestation web API URL |
attestation_auth_blob = None
|
(StrOpt) Attestation authorization blob - must change |
attestation_auth_timeout = 60
|
(IntOpt) Attestation status cache valid period length |
attestation_insecure_ssl = False
|
(BoolOpt) Disable SSL cert verification for Attestation service |
attestation_port = 8443
|
(StrOpt) Attestation server port |
attestation_server = None
|
(StrOpt) Attestation server HTTP |
attestation_server_ca_file = None
|
(StrOpt) Attestation server Cert file for Identity verification |
| Configuration option = Default value | Description |
|---|---|
| [cells] | |
scheduler = nova.cells.scheduler.CellsScheduler
|
(StrOpt) Cells scheduler to use |
| [upgrade_levels] | |
cells = None
|
(StrOpt) Set a version cap for messages sent to local cells services |
cert = None
|
(StrOpt) Set a version cap for messages sent to cert services |
compute = None
|
(StrOpt) Set a version cap for messages sent to compute services. If you plan to do a live upgrade from havana to icehouse, you should set this option to "icehouse-compat" before beginning the live upgrade procedure. |
conductor = None
|
(StrOpt) Set a version cap for messages sent to conductor services |
console = None
|
(StrOpt) Set a version cap for messages sent to console services |
consoleauth = None
|
(StrOpt) Set a version cap for messages sent to consoleauth services |
intercell = None
|
(StrOpt) Set a version cap for messages sent between cells services |
network = None
|
(StrOpt) Set a version cap for messages sent to network services |
scheduler = None
|
(StrOpt) Set a version cap for messages sent to scheduler services |
| Configuration option = Default value | Description |
|---|---|
| [vmware] | |
api_retry_count = 10
|
(IntOpt) The number of times to retry on failures, e.g., socket error, etc. |
cache_prefix = None
|
(StrOpt) The prefix for Where cached images are stored. This is NOT the full path - only a folder prefix. This should only be used when a datastore cache should be shared between compute nodes. Note: this should only be used when the compute nodes have a shared file system. |
cluster_name = None
|
(MultiStrOpt) Name of a VMware Cluster ComputeResource. |
datastore_regex = None
|
(StrOpt) Regex to match the name of a datastore. |
host_ip = None
|
(StrOpt) Hostname or IP address for connection to VMware VC host. |
host_password = None
|
(StrOpt) Password for connection to VMware VC host. |
host_port = 443
|
(IntOpt) Port for connection to VMware VC host. |
host_username = None
|
(StrOpt) Username for connection to VMware VC host. |
integration_bridge = br-int
|
(StrOpt) Name of Integration Bridge |
maximum_objects = 100
|
(IntOpt) The maximum number of ObjectContent data objects that should be returned in a single result. A positive value will cause the operation to suspend the retrieval when the count of objects reaches the specified maximum. The server may still limit the count to something less than the configured value. Any remaining objects may be retrieved with additional requests. |
pbm_default_policy = None
|
(StrOpt) The PBM default policy. If pbm_wsdl_location is set and there is no defined storage policy for the specific request then this policy will be used. |
pbm_enabled = False
|
(BoolOpt) The PBM status. |
pbm_wsdl_location = None
|
(StrOpt) PBM service WSDL file location URL. e.g. file:///opt/SDK/spbm/wsdl/pbmService.wsdl Not setting this will disable storage policy based placement of instances. |
task_poll_interval = 0.5
|
(FloatOpt) The interval used for polling of remote tasks. |
use_linked_clone = True
|
(BoolOpt) Whether to use linked clone |
wsdl_location = None
|
(StrOpt) Optional VIM Service WSDL Location e.g http://<server>/vimService.wsdl. Optional over-ride to default location for bug work-arounds |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
daemon = False
|
(BoolOpt) Become a daemon (background process) |
key = None
|
(StrOpt) SSL key file (if separate from cert) |
novncproxy_base_url = http://127.0.0.1:6080/vnc_auto.html
|
(StrOpt) Location of VNC console proxy, in the form "http://127.0.0.1:6080/vnc_auto.html" |
novncproxy_host = 0.0.0.0
|
(StrOpt) Host on which to listen for incoming requests |
novncproxy_port = 6080
|
(IntOpt) Port on which to listen for incoming requests |
record = False
|
(BoolOpt) Record sessions to FILE.[session_number] |
source_is_ipv6 = False
|
(BoolOpt) Source is ipv6 |
ssl_only = False
|
(BoolOpt) Disallow non-encrypted connections |
vnc_enabled = True
|
(BoolOpt) Enable VNC related features |
vnc_keymap = en-us
|
(StrOpt) Keymap for VNC |
vncserver_listen = 127.0.0.1
|
(StrOpt) IP address on which instance vncservers should listen |
vncserver_proxyclient_address = 127.0.0.1
|
(StrOpt) The address to which proxy clients (like nova-xvpvncproxy) should connect |
web = /usr/share/spice-html5
|
(StrOpt) Run webserver on same port. Serve files from DIR. |
| [vmware] | |
vnc_port = 5900
|
(IntOpt) VNC starting port |
vnc_port_total = 10000
|
(IntOpt) Total number of VNC ports |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
block_device_allocate_retries = 60
|
(IntOpt) Number of times to retry block device allocation on failures |
block_device_allocate_retries_interval = 3
|
(IntOpt) Waiting time interval (seconds) between block device allocation retries on failures |
my_block_storage_ip = $my_ip
|
(StrOpt) Block storage IP address of this host |
volume_api_class = nova.volume.cinder.API
|
(StrOpt) The full class name of the volume API class to use |
volume_usage_poll_interval = 0
|
(IntOpt) Interval in seconds for gathering volume usages |
| [cinder] | |
cafile = None
|
(StrOpt) PEM encoded Certificate Authority to use when verifying HTTPs connections. |
catalog_info = volumev2:cinderv2:publicURL
|
(StrOpt) Info to match when looking for cinder in the service catalog. Format is: separated values of the form: <service_type>:<service_name>:<endpoint_type> |
certfile = None
|
(StrOpt) PEM encoded client certificate cert file |
cross_az_attach = True
|
(BoolOpt) Allow attach between instance and volume in different availability zones. |
endpoint_template = None
|
(StrOpt) Override service catalog lookup with template for cinder endpoint e.g. http://localhost:8776/v1/%(project_id)s |
http_retries = 3
|
(IntOpt) Number of cinderclient retries on failed http calls |
insecure = False
|
(BoolOpt) Verify HTTPS connections. |
keyfile = None
|
(StrOpt) PEM encoded client certificate key file |
os_region_name = None
|
(StrOpt) Region name of this node |
timeout = None
|
(IntOpt) Timeout value for http requests |
| [hyperv] | |
force_volumeutils_v1 = False
|
(BoolOpt) Force V1 volume utility class |
volume_attach_retry_count = 10
|
(IntOpt) The number of times to retry to attach a volume |
volume_attach_retry_interval = 5
|
(IntOpt) Interval between volume attachment attempts, in seconds |
| [libvirt] | |
glusterfs_mount_point_base = $state_path/mnt
|
(StrOpt) Directory where the glusterfs volume is mounted on the compute node |
nfs_mount_options = None
|
(StrOpt) Mount options passed to the NFS client. See section of the nfs man page for details |
nfs_mount_point_base = $state_path/mnt
|
(StrOpt) Directory where the NFS volume is mounted on the compute node |
num_aoe_discover_tries = 3
|
(IntOpt) Number of times to rediscover AoE target to find volume |
num_iscsi_scan_tries = 5
|
(IntOpt) Number of times to rescan iSCSI target to find volume |
num_iser_scan_tries = 5
|
(IntOpt) Number of times to rescan iSER target to find volume |
qemu_allowed_storage_drivers =
|
(ListOpt) Protocols listed here will be accessed directly from QEMU. Currently supported protocols: [gluster] |
rbd_secret_uuid = None
|
(StrOpt) The libvirt UUID of the secret for the rbd_uservolumes |
rbd_user = None
|
(StrOpt) The RADOS client name for accessing rbd volumes |
scality_sofs_config = None
|
(StrOpt) Path or URL to Scality SOFS configuration file |
scality_sofs_mount_point = $state_path/scality
|
(StrOpt) Base dir where Scality SOFS shall be mounted |
smbfs_mount_options =
|
(StrOpt) Mount options passed to the SMBFS client. See mount.cifs man page for details. Note that the libvirt-qemu uid and gid must be specified. |
smbfs_mount_point_base = $state_path/mnt
|
(StrOpt) Directory where the SMBFS shares are mounted on the compute node |
| [xenserver] | |
block_device_creation_timeout = 10
|
(IntOpt) Time to wait for a block device to be created |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
boot_script_template = $pybasedir/nova/cloudpipe/bootscript.template
|
(StrOpt) Template for cloudpipe instance boot script |
dmz_cidr =
|
(ListOpt) A list of dmz ranges that should be accepted |
dmz_mask = 255.255.255.0
|
(StrOpt) Netmask to push into openvpn config |
dmz_net = 10.0.0.0
|
(StrOpt) Network to push into openvpn config |
vpn_flavor = m1.tiny
|
(StrOpt) Flavor for vpn instances |
vpn_image_id = 0
|
(StrOpt) Image ID used when starting up a cloudpipe vpn server |
vpn_ip = $my_ip
|
(StrOpt) Public IP for the cloudpipe VPN servers |
vpn_key_suffix = -vpn
|
(StrOpt) Suffix to add to project name for vpn key and secgroups |
vpn_start = 1000
|
(IntOpt) First Vpn port for private networks |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
console_driver = nova.console.xvp.XVPConsoleProxy
|
(StrOpt) Driver to use for the console proxy |
console_xvp_conf = /etc/xvp.conf
|
(StrOpt) Generated XVP conf file |
console_xvp_conf_template = $pybasedir/nova/console/xvp.conf.template
|
(StrOpt) XVP conf template |
console_xvp_log = /var/log/xvp.log
|
(StrOpt) XVP log file |
console_xvp_multiplex_port = 5900
|
(IntOpt) Port for XVP to multiplex VNC connections on |
console_xvp_pid = /var/run/xvp.pid
|
(StrOpt) XVP master process pid file |
stub_compute = False
|
(BoolOpt) Stub calls to compute worker for tests |
| [libvirt] | |
xen_hvmloader_path = /usr/lib/xen/boot/hvmloader
|
(StrOpt) Location where the Xen hvmloader is kept |
| [xenserver] | |
agent_path = usr/sbin/xe-update-networking
|
(StrOpt) Specifies the path in which the XenAPI guest agent should be located. If the agent is present, network configuration is not injected into the image. Used if compute_driver=xenapi.XenAPIDriver and flat_injected=True |
agent_resetnetwork_timeout = 60
|
(IntOpt) Number of seconds to wait for agent reply to resetnetwork request |
agent_timeout = 30
|
(IntOpt) Number of seconds to wait for agent reply |
agent_version_timeout = 300
|
(IntOpt) Number of seconds to wait for agent to be fully operational |
cache_images = all
|
(StrOpt) Cache glance images locally. `all` will cache all images, `some` will only cache images that have the image_property `cache_in_nova=True`, and `none` turns off caching entirely |
check_host = True
|
(BoolOpt) Ensure compute service is running on host XenAPI connects to. |
connection_concurrent = 5
|
(IntOpt) Maximum number of concurrent XenAPI connections. Used only if compute_driver=xenapi.XenAPIDriver |
connection_password = None
|
(StrOpt) Password for connection to XenServer/Xen Cloud Platform. Used only if compute_driver=xenapi.XenAPIDriver |
connection_url = None
|
(StrOpt) URL for connection to XenServer/Xen Cloud Platform. A special value of unix://local can be used to connect to the local unix socket. Required if compute_driver=xenapi.XenAPIDriver |
connection_username = root
|
(StrOpt) Username for connection to XenServer/Xen Cloud Platform. Used only if compute_driver=xenapi.XenAPIDriver |
default_os_type = linux
|
(StrOpt) Default OS type |
disable_agent = False
|
(BoolOpt) Disables the use of the XenAPI agent in any image regardless of what image properties are present. |
image_compression_level = None
|
(IntOpt) Compression level for images, e.g., 9 for gzip -9. Range is 1-9, 9 being most compressed but most CPU intensive on dom0. |
image_upload_handler = nova.virt.xenapi.image.glance.GlanceStore
|
(StrOpt) Dom0 plugin driver used to handle image uploads. |
introduce_vdi_retry_wait = 20
|
(IntOpt) Number of seconds to wait for an SR to settle if the VDI does not exist when first introduced |
ipxe_boot_menu_url = None
|
(StrOpt) URL to the iPXE boot menu |
ipxe_mkisofs_cmd = mkisofs
|
(StrOpt) Name and optionally path of the tool used for ISO image creation |
ipxe_network_name = None
|
(StrOpt) Name of network to use for booting iPXE ISOs |
iqn_prefix = iqn.2010-10.org.openstack
|
(StrOpt) IQN Prefix |
login_timeout = 10
|
(IntOpt) Timeout in seconds for XenAPI login. |
max_kernel_ramdisk_size = 16777216
|
(IntOpt) Maximum size in bytes of kernel or ramdisk images |
num_vbd_unplug_retries = 10
|
(IntOpt) Maximum number of retries to unplug VBD. if <=0, should try once and no retry |
ovs_integration_bridge = xapi1
|
(StrOpt) Name of Integration Bridge used by Open vSwitch |
remap_vbd_dev = False
|
(BoolOpt) Used to enable the remapping of VBD dev |
remap_vbd_dev_prefix = sd
|
(StrOpt) Specify prefix to remap VBD dev to (ex. /dev/xvdb -> /dev/sdb) |
running_timeout = 60
|
(IntOpt) Number of seconds to wait for instance to go to running state |
sparse_copy = True
|
(BoolOpt) Whether to use sparse_copy for copying data on a resize down (False will use standard dd). This speeds up resizes down considerably since large runs of zeros will not have to be rsynced |
sr_base_path = /var/run/sr-mount
|
(StrOpt) Base path to the storage repository |
sr_matching_filter = default-sr:true
|
(StrOpt) Filter for finding the SR to be used to install guest instances on. To use the Local Storage in default XenServer/XCP installations set this flag to other-config:i18n-key=local-storage. To select an SR with a different matching criteria, you could set it to other-config:my_favorite_sr=true. On the other hand, to fall back on the Default SR, as displayed by XenCenter, set this flag to: default-sr:true |
target_host = None
|
(StrOpt) The iSCSI Target Host |
target_port = 3260
|
(StrOpt) The iSCSI Target Port, default is port 3260 |
torrent_base_url = None
|
(StrOpt) Base URL for torrent files. |
torrent_download_stall_cutoff = 600
|
(IntOpt) Number of seconds a download can remain at the same progress percentage w/o being considered a stall |
torrent_images = none
|
(StrOpt) Whether or not to download images via Bit Torrent (all|some|none). |
torrent_listen_port_end = 6891
|
(IntOpt) End of port range to listen on |
torrent_listen_port_start = 6881
|
(IntOpt) Beginning of port range to listen on |
torrent_max_last_accessed = 86400
|
(IntOpt) Cached torrent files not accessed within this number of seconds can be reaped |
torrent_max_seeder_processes_per_host = 1
|
(IntOpt) Maximum number of seeder processes to run concurrently within a given dom0. (-1 = no limit) |
torrent_seed_chance = 1.0
|
(FloatOpt) Probability that peer will become a seeder. (1.0 = 100%) |
torrent_seed_duration = 3600
|
(IntOpt) Number of seconds after downloading an image via BitTorrent that it should be seeded for other peers. |
use_agent_default = False
|
(BoolOpt) Determines if the XenAPI agent should be used when the image used does not contain a hint to declare if the agent is present or not. The hint is a glance property "xenapi_use_agent" that has the value "True" or "False". Note that waiting for the agent when it is not present will significantly increase server boot times. |
use_join_force = True
|
(BoolOpt) To use for hosts with different CPUs |
vhd_coalesce_max_attempts = 20
|
(IntOpt) Max number of times to poll for VHD to coalesce. Used only if compute_driver=xenapi.XenAPIDriver |
vhd_coalesce_poll_interval = 5.0
|
(FloatOpt) The interval used for polling of coalescing vhds. Used only if compute_driver=xenapi.XenAPIDriver |
vif_driver = nova.virt.xenapi.vif.XenAPIBridgeDriver
|
(StrOpt) The XenAPI VIF driver using XenServer Network APIs. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
xvpvncproxy_base_url = http://127.0.0.1:6081/console
|
(StrOpt) Location of nova xvp VNC console proxy, in the form "http://127.0.0.1:6081/console" |
xvpvncproxy_host = 0.0.0.0
|
(StrOpt) Address that the XCP VNC proxy should bind to |
xvpvncproxy_port = 6081
|
(IntOpt) Port that the XCP VNC proxy should bind to |
| Configuration option = Default value | Description |
|---|---|
| [zookeeper] | |
address = None
|
(StrOpt) The ZooKeeper addresses for servicegroup service in the format of host1:port,host2:port,host3:port |
recv_timeout = 4000
|
(IntOpt) The recv_timeout parameter for the zk session |
sg_prefix = /servicegroups
|
(StrOpt) The prefix used in ZooKeeper to store ephemeral nodes |
sg_retry_interval = 5
|
(IntOpt) Number of seconds to wait until retrying to join the session |
3.17.2. Additional sample configuration files Copier lienLien copié sur presse-papiers!
/etc/nova.
3.17.2.1. api-paste.ini Copier lienLien copié sur presse-papiers!
api-paste.ini file.
3.17.2.2. policy.json Copier lienLien copié sur presse-papiers!
policy.json file defines additional access controls that apply to the Compute service.
3.17.2.3. rootwrap.conf Copier lienLien copié sur presse-papiers!
rootwrap.conf file defines configuration values used by the rootwrap script when the Compute service needs to escalate its privileges to those of the root user.
disable_rootwrap option in the [workaround] section of the nova.conf configuration file.
3.18. New, updated and deprecated options in Kilo for OpenStack Compute Copier lienLien copié sur presse-papiers!
| Option = default value | (Type) Help string |
| [DEFAULT] ebtables_exec_attempts = 3 | (IntOpt) Number of times to retry ebtables commands on failure. |
| [DEFAULT] ebtables_retry_interval = 1.0 | (FloatOpt) Number of seconds to wait between ebtables retries. |
| [DEFAULT] io_ops_weight_multiplier = -1.0 | (FloatOpt) Multiplier used for weighing host io ops. Negative numbers mean a preference to choose light workload compute hosts. |
| [DEFAULT] keystone_ec2_insecure = False | (BoolOpt) Disable SSL certificate verification. |
| [DEFAULT] log-config-append = None | (StrOpt) 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. |
| [DEFAULT] log-date-format = %Y-%m-%d %H:%M:%S | (StrOpt) Format string for %%(asctime)s in log records. Default: %(default)s . |
| [DEFAULT] log-dir = None | (StrOpt) (Optional) The base directory used for relative --log-file paths. |
| [DEFAULT] log-file = None | (StrOpt) (Optional) Name of log file to output to. If no default is set, logging will go to stdout. |
| [DEFAULT] log-format = None | (StrOpt) DEPRECATED. A logging.Formatter log message format string which may use any of the available logging.LogRecord attributes. This option is deprecated. Use logging_context_format_string and logging_default_format_string instead. |
| [DEFAULT] max_concurrent_builds = 10 | (IntOpt) Maximum number of instance builds to run concurrently |
| [DEFAULT] metadata_cache_expiration = 15 | (IntOpt) Time in seconds to cache metadata; 0 to disable metadata caching entirely (not recommended). Increasingthis should improve response times of the metadata API when under heavy load. Higher values may increase memoryusage and result in longer times for host metadata changes to take effect. |
| [DEFAULT] my_block_storage_ip = $my_ip | (StrOpt) Block storage IP address of this host |
| [DEFAULT] novncproxy_host = 0.0.0.0 | (StrOpt) Host on which to listen for incoming requests |
| [DEFAULT] novncproxy_port = 6080 | (IntOpt) Port on which to listen for incoming requests |
| [DEFAULT] policy_dirs = ['policy.d'] | (MultiStrOpt) 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. |
| [DEFAULT] quota_networks = 3 | (IntOpt) Number of private networks allowed per project |
| [DEFAULT] scheduler_instance_sync_interval = 120 | (IntOpt) Waiting time interval (seconds) between sending the scheduler a list of current instance UUIDs to verify that its view of instances is in sync with nova. If the CONF option `scheduler_tracks_instance_changes` is False, changing this option will have no effect. |
| [DEFAULT] scheduler_tracks_instance_changes = True | (BoolOpt) Determines if the Scheduler tracks changes to instances to help with its filtering decisions. |
| [DEFAULT] syslog-log-facility = LOG_USER | (StrOpt) Syslog facility to receive log lines. |
| [DEFAULT] use-syslog = False | (BoolOpt) Use syslog for logging. Existing syslog format is DEPRECATED during I, and will change in J to honor RFC5424. |
| [DEFAULT] use-syslog-rfc-format = False | (BoolOpt) (Optional) Enables or disables syslog rfc5424 format for logging. If enabled, prefixes the MSG part of the syslog message with APP-NAME (RFC5424). The format without the APP-NAME is deprecated in I, and will be removed in J. |
| [api_database] connection = None | (StrOpt) The SQLAlchemy connection string to use to connect to the Nova API database. |
| [api_database] connection_debug = 0 | (IntOpt) Verbosity of SQL debugging information: 0=None, 100=Everything. |
| [api_database] connection_trace = False | (BoolOpt) Add Python stack traces to SQL as comment strings. |
| [api_database] idle_timeout = 3600 | (IntOpt) Timeout before idle SQL connections are reaped. |
| [api_database] max_overflow = None | (IntOpt) If set, use this value for max_overflow with SQLAlchemy. |
| [api_database] max_pool_size = None | (IntOpt) Maximum number of SQL connections to keep open in a pool. |
| [api_database] max_retries = 10 | (IntOpt) Maximum number of database connection retries during startup. Set to -1 to specify an infinite retry count. |
| [api_database] mysql_sql_mode = TRADITIONAL | (StrOpt) 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= |
| [api_database] pool_timeout = None | (IntOpt) If set, use this value for pool_timeout with SQLAlchemy. |
| [api_database] retry_interval = 10 | (IntOpt) Interval between retries of opening a SQL connection. |
| [api_database] slave_connection = None | (StrOpt) The SQLAlchemy connection string to use to connect to the slave database. |
| [api_database] sqlite_synchronous = True | (BoolOpt) If True, SQLite uses synchronous mode. |
| [barbican] cafile = None | (StrOpt) PEM encoded Certificate Authority to use when verifying HTTPs connections. |
| [barbican] catalog_info = key-manager:barbican:public | (StrOpt) Info to match when looking for barbican in the service catalog. Format is: separated values of the form: <service_type>:<service_name>:<endpoint_type> |
| [barbican] certfile = None | (StrOpt) PEM encoded client certificate cert file |
| [barbican] endpoint_template = None | (StrOpt) Override service catalog lookup with template for barbican endpoint e.g. http://localhost:9311/v1/%(project_id)s |
| [barbican] insecure = False | (BoolOpt) Verify HTTPS connections. |
| [barbican] keyfile = None | (StrOpt) PEM encoded client certificate key file |
| [barbican] os_region_name = None | (StrOpt) Region name of this node |
| [barbican] timeout = None | (IntOpt) Timeout value for http requests |
| [cinder] cafile = None | (StrOpt) PEM encoded Certificate Authority to use when verifying HTTPs connections. |
| [cinder] certfile = None | (StrOpt) PEM encoded client certificate cert file |
| [cinder] insecure = False | (BoolOpt) Verify HTTPS connections. |
| [cinder] keyfile = None | (StrOpt) PEM encoded client certificate key file |
| [cinder] timeout = None | (IntOpt) Timeout value for http requests |
| [database] backend = sqlalchemy | (StrOpt) The back end to use for the database. |
| [database] connection = None | (StrOpt) The SQLAlchemy connection string to use to connect to the database. |
| [database] connection_debug = 0 | (IntOpt) Verbosity of SQL debugging information: 0=None, 100=Everything. |
| [database] connection_trace = False | (BoolOpt) Add Python stack traces to SQL as comment strings. |
| [database] db_inc_retry_interval = True | (BoolOpt) If True, increases the interval between retries of a database operation up to db_max_retry_interval. |
| [database] db_max_retries = 20 | (IntOpt) Maximum retries in case of connection error or deadlock error before error is raised. Set to -1 to specify an infinite retry count. |
| [database] db_max_retry_interval = 10 | (IntOpt) If db_inc_retry_interval is set, the maximum seconds between retries of a database operation. |
| [database] db_retry_interval = 1 | (IntOpt) Seconds between retries of a database transaction. |
| [database] idle_timeout = 3600 | (IntOpt) Timeout before idle SQL connections are reaped. |
| [database] max_overflow = None | (IntOpt) If set, use this value for max_overflow with SQLAlchemy. |
| [database] max_pool_size = None | (IntOpt) Maximum number of SQL connections to keep open in a pool. |
| [database] max_retries = 10 | (IntOpt) Maximum number of database connection retries during startup. Set to -1 to specify an infinite retry count. |
| [database] min_pool_size = 1 | (IntOpt) Minimum number of SQL connections to keep open in a pool. |
| [database] mysql_sql_mode = TRADITIONAL | (StrOpt) 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= |
| [database] pool_timeout = None | (IntOpt) If set, use this value for pool_timeout with SQLAlchemy. |
| [database] retry_interval = 10 | (IntOpt) Interval between retries of opening a SQL connection. |
| [database] slave_connection = None | (StrOpt) The SQLAlchemy connection string to use to connect to the slave database. |
| [database] sqlite_db = oslo.sqlite | (StrOpt) The file name to use with SQLite. |
| [database] sqlite_synchronous = True | (BoolOpt) If True, SQLite uses synchronous mode. |
| [database] use_db_reconnect = False | (BoolOpt) Enable the experimental use of database reconnect on connection lost. |
| [guestfs] debug = False | (BoolOpt) Enable guestfs debug |
| [libvirt] iscsi_iface = None | (StrOpt) The iSCSI transport iface to use to connect to target in case offload support is desired. Supported transports are be2iscsi, bnx2i, cxgb3i, cxgb4i, qla4xxx and ocs. Default format is transport_name.hwaddress and can be generated manually or via iscsiadm -m iface |
| [libvirt] quobyte_client_cfg = None | (StrOpt) Path to a Quobyte Client configuration file. |
| [libvirt] quobyte_mount_point_base = $state_path/mnt | (StrOpt) Directory where the Quobyte volume is mounted on the compute node |
| [libvirt] smbfs_mount_options = | (StrOpt) Mount options passed to the SMBFS client. See mount.cifs man page for details. Note that the libvirt-qemu uid and gid must be specified. |
| [libvirt] smbfs_mount_point_base = $state_path/mnt | (StrOpt) Directory where the SMBFS shares are mounted on the compute node |
| [neutron] auth_plugin = None | (StrOpt) Name of the plugin to load |
| [neutron] auth_section = None | (StrOpt) Config Section from which to load plugin specific options |
| [neutron] cafile = None | (StrOpt) PEM encoded Certificate Authority to use when verifying HTTPs connections. |
| [neutron] certfile = None | (StrOpt) PEM encoded client certificate cert file |
| [neutron] insecure = False | (BoolOpt) Verify HTTPS connections. |
| [neutron] keyfile = None | (StrOpt) PEM encoded client certificate key file |
| [neutron] timeout = None | (IntOpt) Timeout value for http requests |
| [oslo_concurrency] disable_process_locking = False | (BoolOpt) Enables or disables inter-process locks. |
| [oslo_concurrency] lock_path = None | (StrOpt) 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. |
| [oslo_messaging_amqp] allow_insecure_clients = False | (BoolOpt) Accept clients using either SSL or plain TCP |
| [oslo_messaging_amqp] broadcast_prefix = broadcast | (StrOpt) address prefix used when broadcasting to all servers |
| [oslo_messaging_amqp] container_name = None | (StrOpt) Name for the AMQP container |
| [oslo_messaging_amqp] group_request_prefix = unicast | (StrOpt) address prefix when sending to any server in group |
| [oslo_messaging_amqp] idle_timeout = 0 | (IntOpt) Timeout for inactive connections (in seconds) |
| [oslo_messaging_amqp] server_request_prefix = exclusive | (StrOpt) address prefix used when sending to a specific server |
| [oslo_messaging_amqp] ssl_ca_file = | (StrOpt) CA certificate PEM file for verifing server certificate |
| [oslo_messaging_amqp] ssl_cert_file = | (StrOpt) Identifying certificate PEM file to present to clients |
| [oslo_messaging_amqp] ssl_key_file = | (StrOpt) Private key PEM file used to sign cert_file certificate |
| [oslo_messaging_amqp] ssl_key_password = None | (StrOpt) Password for decrypting ssl_key_file (if encrypted) |
| [oslo_messaging_amqp] trace = False | (BoolOpt) Debug: dump AMQP frames to stdout |
| [oslo_messaging_qpid] amqp_auto_delete = False | (BoolOpt) Auto-delete queues in AMQP. |
| [oslo_messaging_qpid] amqp_durable_queues = False | (BoolOpt) Use durable queues in AMQP. |
| [oslo_messaging_qpid] qpid_heartbeat = 60 | (IntOpt) Seconds between connection keepalive heartbeats. |
| [oslo_messaging_qpid] qpid_hostname = localhost | (StrOpt) Qpid broker hostname. |
| [oslo_messaging_qpid] qpid_hosts = $qpid_hostname:$qpid_port | (ListOpt) Qpid HA cluster host:port pairs. |
| [oslo_messaging_qpid] qpid_password = | (StrOpt) Password for Qpid connection. |
| [oslo_messaging_qpid] qpid_port = 5672 | (IntOpt) Qpid broker port. |
| [oslo_messaging_qpid] qpid_protocol = tcp | (StrOpt) Transport to use, either 'tcp' or 'ssl'. |
| [oslo_messaging_qpid] qpid_receiver_capacity = 1 | (IntOpt) The number of prefetched messages held by receiver. |
| [oslo_messaging_qpid] qpid_sasl_mechanisms = | (StrOpt) Space separated list of SASL mechanisms to use for auth. |
| [oslo_messaging_qpid] qpid_tcp_nodelay = True | (BoolOpt) Whether to disable the Nagle algorithm. |
| [oslo_messaging_qpid] qpid_topology_version = 1 | (IntOpt) The qpid topology version to use. Version 1 is what was originally used by impl_qpid. Version 2 includes some backwards-incompatible changes that allow broker federation to work. Users should update to version 2 when they are able to take everything down, as it requires a clean break. |
| [oslo_messaging_qpid] qpid_username = | (StrOpt) Username for Qpid connection. |
| [oslo_messaging_qpid] rpc_conn_pool_size = 30 | (IntOpt) Size of RPC connection pool. |
| [oslo_messaging_rabbit] amqp_auto_delete = False | (BoolOpt) Auto-delete queues in AMQP. |
| [oslo_messaging_rabbit] amqp_durable_queues = False | (BoolOpt) Use durable queues in AMQP. |
| [oslo_messaging_rabbit] fake_rabbit = False | (BoolOpt) Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake |
| [oslo_messaging_rabbit] heartbeat_rate = 2 | (IntOpt) How often times during the heartbeat_timeout_threshold to check the heartbeat. |
| [oslo_messaging_rabbit] heartbeat_timeout_threshold = 0 | (IntOpt) Number of seconds after which the Rabbit broker is considered down if heartbeat's keep-alive fails (0 disables the heartbeat, >0 enables it. Enabling heartbeats requires kombu>=3.0.7 and amqp>=1.4.0). EXPERIMENTAL |
| [oslo_messaging_rabbit] kombu_reconnect_delay = 1.0 | (FloatOpt) How long to wait before reconnecting in response to an AMQP consumer cancel notification. |
| [oslo_messaging_rabbit] kombu_ssl_ca_certs = | (StrOpt) SSL certification authority file (valid only if SSL enabled). |
| [oslo_messaging_rabbit] kombu_ssl_certfile = | (StrOpt) SSL cert file (valid only if SSL enabled). |
| [oslo_messaging_rabbit] kombu_ssl_keyfile = | (StrOpt) SSL key file (valid only if SSL enabled). |
| [oslo_messaging_rabbit] kombu_ssl_version = | (StrOpt) SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 are also available. |
| [oslo_messaging_rabbit] rabbit_ha_queues = False | (BoolOpt) Use HA queues in RabbitMQ (x-ha-policy: all). If you change this option, you must wipe the RabbitMQ database. |
| [oslo_messaging_rabbit] rabbit_host = localhost | (StrOpt) The RabbitMQ broker address where a single node is used. |
| [oslo_messaging_rabbit] rabbit_hosts = $rabbit_host:$rabbit_port | (ListOpt) RabbitMQ HA cluster host:port pairs. |
| [oslo_messaging_rabbit] rabbit_login_method = AMQPLAIN | (StrOpt) The RabbitMQ login method. |
| [oslo_messaging_rabbit] rabbit_max_retries = 0 | (IntOpt) Maximum number of RabbitMQ connection retries. Default is 0 (infinite retry count). |
| [oslo_messaging_rabbit] rabbit_password = guest | (StrOpt) The RabbitMQ password. |
| [oslo_messaging_rabbit] rabbit_port = 5672 | (IntOpt) The RabbitMQ broker port where a single node is used. |
| [oslo_messaging_rabbit] rabbit_retry_backoff = 2 | (IntOpt) How long to backoff for between retries when connecting to RabbitMQ. |
| [oslo_messaging_rabbit] rabbit_retry_interval = 1 | (IntOpt) How frequently to retry connecting with RabbitMQ. |
| [oslo_messaging_rabbit] rabbit_use_ssl = False | (BoolOpt) Connect over SSL for RabbitMQ. |
| [oslo_messaging_rabbit] rabbit_userid = guest | (StrOpt) The RabbitMQ userid. |
| [oslo_messaging_rabbit] rabbit_virtual_host = / | (StrOpt) The RabbitMQ virtual host. |
| [oslo_messaging_rabbit] rpc_conn_pool_size = 30 | (IntOpt) Size of RPC connection pool. |
| [oslo_middleware] max_request_body_size = 114688 | (IntOpt) The maximum body size for each request, in bytes. |
| [serial_console] serialproxy_host = 0.0.0.0 | (StrOpt) Host on which to listen for incoming requests |
| [serial_console] serialproxy_port = 6083 | (IntOpt) Port on which to listen for incoming requests |
| [vmware] cache_prefix = None | (StrOpt) The prefix for Where cached images are stored. This is NOT the full path - only a folder prefix. This should only be used when a datastore cache should be shared between compute nodes. Note: this should only be used when the compute nodes have a shared file system. |
| [vmware] pbm_default_policy = None | (StrOpt) The PBM default policy. If pbm_wsdl_location is set and there is no defined storage policy for the specific request then this policy will be used. |
| [vmware] pbm_enabled = False | (BoolOpt) The PBM status. |
| [vmware] pbm_wsdl_location = None | (StrOpt) PBM service WSDL file location URL. e.g. file:///opt/SDK/spbm/wsdl/pbmService.wsdl Not setting this will disable storage policy based placement of instances. |
| [workarounds] destroy_after_evacuate = True | (BoolOpt) Whether to destroy instances on startup when it is suspected that they have previously been evacuated. This can result in data loss if undesired. See https://launchpad.net/bugs/1419785 |
| [workarounds] disable_libvirt_livesnapshot = True | (BoolOpt) When using libvirt 1.2.2 fails live snapshots intermittently under load. This config option provides mechanism to disable livesnapshot while this is resolved. See https://bugs.launchpad.net/nova/+bug/1334398 |
| [workarounds] disable_rootwrap = False | (BoolOpt) This option allows a fallback to sudo for performance reasons. For example see https://bugs.launchpad.net/nova/+bug/1415106 |
| Option | Previous default value | New default value |
| [DEFAULT] client_socket_timeout | 0 | 900 |
| [DEFAULT] default_log_levels | amqp=WARN, amqplib=WARN, boto=WARN, qpid=WARN, sqlalchemy=WARN, suds=INFO, oslo.messaging=INFO, iso8601=WARN, requests.packages.urllib3.connectionpool=WARN, urllib3.connectionpool=WARN, websocket=WARN, keystonemiddleware=WARN, routes.middleware=WARN, stevedore=WARN | amqp=WARN, amqplib=WARN, boto=WARN, qpid=WARN, sqlalchemy=WARN, suds=INFO, oslo.messaging=INFO, iso8601=WARN, requests.packages.urllib3.connectionpool=WARN, urllib3.connectionpool=WARN, websocket=WARN, requests.packages.urllib3.util.retry=WARN, urllib3.util.retry=WARN, keystonemiddleware=WARN, routes.middleware=WARN, stevedore=WARN |
| [DEFAULT] ec2_path | /services/Cloud | / |
| [DEFAULT] multi_instance_display_name_template | %(name)s-%(uuid)s | %(name)s-%(count)d |
| [DEFAULT] rpc_zmq_matchmaker | oslo.messaging._drivers.matchmaker.MatchMakerLocalhost | local |
| [cinder] catalog_info | volume:cinder:publicURL | volumev2:cinderv2:publicURL |
| Deprecated option | New Option |
| [DEFAULT] network_device_mtu | None |
| [DEFAULT] log-format | None |
| [DEFAULT] use-syslog | None |
| [cinder] http_timeout | [cinder] timeout |
| [DEFAULT] use_syslog | None |
| [ironic] client_log_level | None |
| [neutron] admin_username | None |
| [DEFAULT] osapi_max_request_body_size | [oslo_middleware] max_request_body_size |
| [neutron] ca_certificates_file | [neutron] cafile |
| [neutron] auth_strategy | None |
| [neutron] admin_user_id | None |
| [neutron] admin_tenant_id | None |
| [DEFAULT] log_format | None |
| [cinder] api_insecure | [cinder] insecure |
| [neutron] admin_tenant_name | None |
| [neutron] admin_password | None |
| [DEFAULT] share_dhcp_address | None |
| [neutron] api_insecure | [neutron] insecure |
| [cinder] ca_certificates_file | [cinder] cafile |
| [neutron] admin_auth_url | None |
| [neutron] url_timeout | [neutron] timeout |
| [neutron] allow_duplicate_networks | None |
Chapter 4. Dashboard Copier lienLien copié sur presse-papiers!
4.1. Configure the dashboard Copier lienLien copié sur presse-papiers!
4.1.1. Configure the dashboard for HTTP Copier lienLien copié sur presse-papiers!
- Specify the host for your OpenStack Identity Service endpoint in the
/etc/openstack-dashboard/local_settingsfile with theOPENSTACK_HOSTsetting.The following example shows this setting:Copy to Clipboard Copied! Toggle word wrap Toggle overflow The service catalog configuration in the Identity Service determines whether a service appears in the dashboard.. - Restart Apache http server.
systemctl restart httpd
# systemctl restart httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow Next, restart memcached:systemctl restart memcached
# systemctl restart memcachedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.2. Configure the dashboard for HTTPS Copier lienLien copié sur presse-papiers!
http://openstack.example.com domain. Use a domain that fits your current setup.
- In the
/etc/openstack-dashboard/local_settingsfile, update the following options:USE_SSL = True CSRF_COOKIE_SECURE = True SESSION_COOKIE_SECURE = True SESSION_COOKIE_HTTPONLY = True
USE_SSL = True CSRF_COOKIE_SECURE = True SESSION_COOKIE_SECURE = True SESSION_COOKIE_HTTPONLY = TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow To enable HTTPS, theUSE_SSL = Trueoption is required.The other options require that HTTPS is enabled; these options defend against cross-site scripting. - Edit the
/etc/httpd/conf.d/openstack-dashboard.conffile as shown in Example 4.2, “After”:Example 4.1. Before
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example 4.2. After
Copy to Clipboard Copied! Toggle word wrap Toggle overflow In this configuration, the Apache HTTP server listens on port 443 and redirects all non-secure requests to the HTTPS protocol. The secured section defines the private key, public key, and certificate to use. - Restart the Apache HTTP server.
systemctl restart httpd
# systemctl restart httpdCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Restart
memcached:systemctl restart memcached
# systemctl restart memcachedCopy to Clipboard Copied! Toggle word wrap Toggle overflow If you try to access the dashboard through HTTP, the browser redirects you to the HTTPS page.NoteConfiguring the dashboard for HTTPS also requires enablingSSLfor thenoVNCproxy service. On the controller node, add the following additional options to the[DEFAULT]section of the/etc/nova/nova.conffile:[DEFAULT] ... ssl_only = true cert = /etc/apache2/SSL/openstack.example.com.crt key = /etc/apache2/SSL/openstack.example.com.key
[DEFAULT] ... ssl_only = true cert = /etc/apache2/SSL/openstack.example.com.crt key = /etc/apache2/SSL/openstack.example.com.keyCopy to Clipboard Copied! Toggle word wrap Toggle overflow On the compute nodes, ensure thenonvncproxy_base_urloption points to a URL with an HTTPS scheme:[DEFAULT] ... novncproxy_base_url = https://controller:6080/vnc_auto.html
[DEFAULT] ... novncproxy_base_url = https://controller:6080/vnc_auto.htmlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.2. Additional sample configuration files Copier lienLien copié sur presse-papiers!
/etc/openstack-dashboard.
4.2.1. keystone_policy.json Copier lienLien copié sur presse-papiers!
keystone_policy.json file defines additional access controls for the dashboard that apply to the Identity service.
keystone_policy.json file must match the Identity service /etc/keystone/policy.json policy file.
4.2.2. nova_policy.json Copier lienLien copié sur presse-papiers!
nova_policy.json file defines additional access controls for the dashboard that apply to the Compute service.
nova_policy.json file must match the Compute /etc/nova/policy.json policy file.
4.3. Dashboard log files Copier lienLien copié sur presse-papiers!
httpd).
/var/log/httpd directory on the system where the dashboard is hosted.
/etc/httpd/conf.d/ file, which is the Dashboard httpd configuration file, which is again dependent on installer.
| Log file | Description |
access_log
|
Logs all attempts to access the web server. |
error_log
|
Logs all unsuccessful attempts to access the web server, along with the reason that each attempt failed. |
Chapter 5. Database service Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
admin_roles = admin
|
(ListOpt) Roles to add to an admin user. |
api_paste_config = api-paste.ini
|
(StrOpt) File name for the paste.deploy config for trove-api. |
bind_host = 0.0.0.0
|
(StrOpt) IP address the API server will listen on. |
bind_port = 8779
|
(IntOpt) Port the API server will listen on. |
black_list_regex = None
|
(StrOpt) Exclude IP addresses that match this regular expression. |
db_api_implementation = trove.db.sqlalchemy.api
|
(StrOpt) API Implementation for Trove database access. |
hostname_require_valid_ip = True
|
(BoolOpt) Require user hostnames to be valid IP addresses. |
http_delete_rate = 200
|
(IntOpt) Maximum number of HTTP 'DELETE' requests (per minute). |
http_get_rate = 200
|
(IntOpt) Maximum number of HTTP 'GET' requests (per minute). |
http_mgmt_post_rate = 200
|
(IntOpt) Maximum number of management HTTP 'POST' requests (per minute). |
http_post_rate = 200
|
(IntOpt) Maximum number of HTTP 'POST' requests (per minute). |
http_put_rate = 200
|
(IntOpt) Maximum number of HTTP 'PUT' requests (per minute). |
injected_config_location = /etc/trove/conf.d
|
(StrOpt) Path to folder on the Guest where config files will be injected during instance creation. |
instances_page_size = 20
|
(IntOpt) Page size for listing instances. |
max_header_line = 16384
|
(IntOpt) Maximum line size of message headers to be accepted. max_header_line may need to be increased when using large tokens (typically those generated by the Keystone v3 API with big service catalogs). |
os_region_name = RegionOne
|
(StrOpt) Region name of this node. Used when searching catalog. |
region = LOCAL_DEV
|
(StrOpt) The region this service is located. |
tcp_keepidle = 600
|
(IntOpt) Sets the value of TCP_KEEPIDLE in seconds for each server socket. Not supported on OS X. |
trove_api_workers = None
|
(IntOpt) Number of workers for the API service. The default will be the number of CPUs available. |
trove_auth_url = http://0.0.0.0:5000/v2.0
|
(StrOpt) Trove authentication URL. |
trove_conductor_workers = None
|
(IntOpt) Number of workers for the Conductor service. The default will be the number of CPUs available. |
trove_security_group_name_prefix = SecGroup
|
(StrOpt) Prefix to use when creating Security Groups. |
trove_security_group_rule_cidr = 0.0.0.0/0
|
(StrOpt) CIDR to use when creating Security Group Rules. |
trove_security_groups_support = True
|
(BoolOpt) Whether Trove should add Security Groups on create. |
users_page_size = 20
|
(IntOpt) Page size for listing users. |
| Configuration option = Default value | Description |
|---|---|
| [keystone_authtoken] | |
admin_password = None
|
(StrOpt) Service user password. |
admin_tenant_name = admin
|
(StrOpt) Service tenant name. |
admin_token = None
|
(StrOpt) This option is deprecated and may be removed in a future release. Single shared secret with the Keystone configuration used for bootstrapping a Keystone installation, or otherwise bypassing the normal authentication process. This option should not be used, use `admin_user` and `admin_password` instead. |
admin_user = None
|
(StrOpt) Service username. |
auth_admin_prefix =
|
(StrOpt) Prefix to prepend at the beginning of the path. Deprecated, use identity_uri. |
auth_host = 127.0.0.1
|
(StrOpt) Host providing the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_plugin = None
|
(StrOpt) Name of the plugin to load |
auth_port = 35357
|
(IntOpt) Port of the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_protocol = https
|
(StrOpt) Protocol of the admin Identity API endpoint (http or https). Deprecated, use identity_uri. |
auth_section = None
|
(StrOpt) Config Section from which to load plugin specific options |
auth_uri = None
|
(StrOpt) Complete public Identity API endpoint. |
auth_version = None
|
(StrOpt) API version of the admin Identity API endpoint. |
cache = None
|
(StrOpt) Env key for the swift cache. |
cafile = None
|
(StrOpt) A PEM encoded Certificate Authority to use when verifying HTTPs connections. Defaults to system CAs. |
certfile = None
|
(StrOpt) Required if identity server requires client certificate |
check_revocations_for_cached = False
|
(BoolOpt) If true, the revocation list will be checked for cached tokens. This requires that PKI tokens are configured on the identity server. |
delay_auth_decision = False
|
(BoolOpt) Do not handle authorization requests within the middleware, but delegate the authorization decision to downstream WSGI components. |
enforce_token_bind = permissive
|
(StrOpt) 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. |
hash_algorithms = md5
|
(ListOpt) Hash algorithms to use for hashing PKI tokens. This may be a single algorithm or multiple. The algorithms are those supported by Python standard hashlib.new(). The hashes will be tried in the order given, so put the preferred one first for performance. The result of the first hash will be stored in the cache. This will typically be set to multiple values only while migrating from a less secure algorithm to a more secure one. Once all the old tokens are expired this option should be set to a single value for better performance. |
http_connect_timeout = None
|
(IntOpt) Request timeout value for communicating with Identity API server. |
http_request_max_retries = 3
|
(IntOpt) How many times are we trying to reconnect when communicating with Identity API Server. |
identity_uri = None
|
(StrOpt) Complete admin Identity API endpoint. This should specify the unversioned root endpoint e.g. https://localhost:35357/ |
include_service_catalog = True
|
(BoolOpt) (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. |
insecure = False
|
(BoolOpt) Verify HTTPS connections. |
keyfile = None
|
(StrOpt) Required if identity server requires client certificate |
memcache_pool_conn_get_timeout = 10
|
(IntOpt) (Optional) Number of seconds that an operation will wait to get a memcached client connection from the pool. |
memcache_pool_dead_retry = 300
|
(IntOpt) (Optional) Number of seconds memcached server is considered dead before it is tried again. |
memcache_pool_maxsize = 10
|
(IntOpt) (Optional) Maximum total number of open connections to every memcached server. |
memcache_pool_socket_timeout = 3
|
(IntOpt) (Optional) Socket timeout in seconds for communicating with a memcached server. |
memcache_pool_unused_timeout = 60
|
(IntOpt) (Optional) Number of seconds a connection to memcached is held unused in the pool before it is closed. |
memcache_secret_key = None
|
(StrOpt) (Optional, mandatory if memcache_security_strategy is defined) This string is used for key derivation. |
memcache_security_strategy = None
|
(StrOpt) (Optional) If defined, indicate whether token data should be authenticated or authenticated and encrypted. Acceptable values are MAC or ENCRYPT. 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. |
memcache_use_advanced_pool = False
|
(BoolOpt) (Optional) Use the advanced (eventlet safe) memcached client pool. The advanced pool will only work under python 2.x. |
region_name = None
|
(StrOpt) The region in which the identity server can be found. |
revocation_cache_time = 10
|
(IntOpt) Determines the frequency at which the list of revoked tokens is retrieved from the Identity service (in seconds). A high number of revocation events combined with a low cache duration may significantly reduce performance. |
signing_dir = None
|
(StrOpt) Directory used to cache files related to PKI tokens. |
token_cache_time = 300
|
(IntOpt) 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. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
backup_aes_cbc_key = default_aes_cbc_key
|
(StrOpt) Default OpenSSL aes_cbc key. |
backup_chunk_size = 65536
|
(IntOpt) Chunk size (in bytes) to stream to the Swift container. This should be in multiples of 128 bytes, since this is the size of an md5 digest block allowing the process to update the file checksum during streaming. See: http://stackoverflow.com/questions/1131220/ |
backup_runner = trove.guestagent.backup.backup_types.InnoBackupEx
|
(StrOpt) Runner to use for backups. |
backup_runner_options = {}
|
(DictOpt) Additional options to be passed to the backup runner. |
backup_segment_max_size = 2147483648
|
(IntOpt) Maximum size (in bytes) of each segment of the backup file. |
backup_swift_container = database_backups
|
(StrOpt) Swift container to put backups in. |
backup_use_gzip_compression = True
|
(BoolOpt) Compress backups using gzip. |
backup_use_openssl_encryption = True
|
(BoolOpt) Encrypt backups using OpenSSL. |
backup_use_snet = False
|
(BoolOpt) Send backup files over snet. |
backups_page_size = 20
|
(IntOpt) Page size for listing backups. |
| Configuration option = Default value | Description |
|---|---|
| [ssl] | |
ca_file = None
|
(StrOpt) CA certificate file to use to verify connecting clients |
cert_file = None
|
(StrOpt) Certificate file to use when starting the server securely |
key_file = None
|
(StrOpt) Private key file to use when starting the server securely |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
remote_cinder_client = trove.common.remote.cinder_client
|
(StrOpt) Client to send Cinder calls to. |
remote_dns_client = trove.common.remote.dns_client
|
(StrOpt) Client to send DNS calls to. |
remote_guest_client = trove.common.remote.guest_client
|
(StrOpt) Client to send Guest Agent calls to. |
remote_heat_client = trove.common.remote.heat_client
|
(StrOpt) Client to send Heat calls to. |
remote_neutron_client = trove.common.remote.neutron_client
|
(StrOpt) Client to send Neutron calls to. |
remote_nova_client = trove.common.remote.nova_client
|
(StrOpt) Client to send Nova calls to. |
remote_swift_client = trove.common.remote.swift_client
|
(StrOpt) Client to send Swift calls to. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
cluster_delete_time_out = 180
|
(IntOpt) Maximum time (in seconds) to wait for a cluster delete. |
cluster_usage_timeout = 36000
|
(IntOpt) Maximum time (in seconds) to wait for a cluster to become active. |
clusters_page_size = 20
|
(IntOpt) Page size for listing clusters. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
configurations_page_size = 20
|
(IntOpt) Page size for listing configurations. |
databases_page_size = 20
|
(IntOpt) Page size for listing databases. |
default_datastore = None
|
(StrOpt) The default datastore id or name to use if one is not provided by the user. If the default value is None, the field becomes required in the instance create request. |
default_neutron_networks =
|
(ListOpt) List of IDs for management networks which should be attached to the instance regardless of what NICs are specified in the create API call. |
default_password_length = 36
|
(IntOpt) Character length of generated passwords. |
executor_thread_pool_size = 64
|
(IntOpt) Size of executor thread pool. |
expected_filetype_suffixes = json
|
(ListOpt) Filetype endings not to be reattached to an ID by the utils method correct_id_with_req. |
host = 0.0.0.0
|
(StrOpt) Host to listen for RPC messages. |
memcached_servers = None
|
(ListOpt) Memcached servers or None for in process cache. |
pybasedir = /usr/lib/python2.7/site-packages/trove
|
(StrOpt) Directory where the Trove python module is installed. |
pydev_path = None
|
(StrOpt) Set path to pydevd library, used if pydevd is not found in python sys.path. |
taskmanager_queue = taskmanager
|
(StrOpt) Message queue name the Taskmanager will listen to. |
template_path = /etc/trove/templates/
|
(StrOpt) Path which leads to datastore templates. |
timeout_wait_for_service = 120
|
(IntOpt) Maximum time (in seconds) to wait for a service to become alive. |
usage_timeout = 900
|
(IntOpt) Maximum time (in seconds) to wait for a Guest to become active. |
| [keystone_authtoken] | |
memcached_servers = None
|
(ListOpt) Optionally specify a list of memcached server(s) to use for caching. If left undefined, tokens will instead be cached in-process. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
ip_regex = None
|
(StrOpt) List IP addresses that match this regular expression. |
nova_compute_endpoint_type = publicURL
|
(StrOpt) Service endpoint type to use when searching catalog. |
nova_compute_service_type = compute
|
(StrOpt) Service type to use when searching catalog. |
nova_compute_url = None
|
(StrOpt) URL without the tenant segment. |
root_grant = ALL
|
(ListOpt) Permissions to grant to the 'root' user. |
root_grant_option = True
|
(BoolOpt) Assign the 'root' user GRANT permissions. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
backlog = 4096
|
(IntOpt) Number of backlog requests to configure the socket with |
pydev_debug = disabled
|
(StrOpt) Enable or disable pydev remote debugging. If value is 'auto' tries to connect to remote debugger server, but in case of error continues running with debugging disabled. |
pydev_debug_host = None
|
(StrOpt) Pydev debug server host (localhost by default). |
pydev_debug_port = None
|
(IntOpt) Pydev debug server port (5678 by default). |
| [profiler] | |
enabled = False
|
(BoolOpt) If False fully disable profiling feature. |
trace_sqlalchemy = True
|
(BoolOpt) If False doesn't trace SQL requests. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
dns_account_id =
|
(StrOpt) Tenant ID for DNSaaS. |
dns_auth_url =
|
(StrOpt) Authentication URL for DNSaaS. |
dns_domain_id =
|
(StrOpt) Domain ID used for adding DNS entries. |
dns_domain_name =
|
(StrOpt) Domain name used for adding DNS entries. |
dns_driver = trove.dns.driver.DnsDriver
|
(StrOpt) Driver for DNSaaS. |
dns_endpoint_url = 0.0.0.0
|
(StrOpt) Endpoint URL for DNSaaS. |
dns_hostname =
|
(StrOpt) Hostname used for adding DNS entries. |
dns_instance_entry_factory = trove.dns.driver.DnsInstanceEntryFactory
|
(StrOpt) Factory for adding DNS entries. |
dns_management_base_url =
|
(StrOpt) Management URL for DNSaaS. |
dns_passkey =
|
(StrOpt) Passkey for DNSaaS. |
dns_region =
|
(StrOpt) Region name for DNSaaS. |
dns_service_type =
|
(StrOpt) Service Type for DNSaaS. |
dns_time_out = 120
|
(IntOpt) Maximum time (in seconds) to wait for a DNS entry add. |
dns_ttl = 300
|
(IntOpt) Time (in seconds) before a refresh of DNS information occurs. |
dns_username =
|
(StrOpt) Username for DNSaaS. |
trove_dns_support = False
|
(BoolOpt) Whether Trove should add DNS entries on create (using Designate DNSaaS). |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
agent_call_high_timeout = 60
|
(IntOpt) Maximum time (in seconds) to wait for Guest Agent 'slow' requests (such as restarting the database). |
agent_call_low_timeout = 5
|
(IntOpt) Maximum time (in seconds) to wait for Guest Agent 'quick'requests (such as retrieving a list of users or databases). |
agent_heartbeat_expiry = 60
|
(IntOpt) Time (in seconds) after which a guest is considered unreachable |
agent_heartbeat_time = 10
|
(IntOpt) Maximum time (in seconds) for the Guest Agent to reply to a heartbeat request. |
agent_replication_snapshot_timeout = 36000
|
(IntOpt) Maximum time (in seconds) to wait for taking a Guest Agent replication snapshot. |
guest_config = /etc/trove/trove-guestagent.conf
|
(StrOpt) Path to the Guest Agent config file to be injected during instance creation. |
guest_id = None
|
(StrOpt) ID of the Guest Instance. |
guest_info = guest_info.conf
|
(StrOpt) The guest info filename found in the injected config location. If a full path is specified then it will be used as the path to the guest info file |
ignore_dbs = mysql, information_schema, performance_schema
|
(ListOpt) Databases to exclude when listing databases. |
ignore_users = os_admin, root
|
(ListOpt) Users to exclude when listing users. |
mount_options = defaults,noatime
|
(StrOpt) Options to use when mounting a volume. |
storage_namespace = trove.guestagent.strategies.storage.swift
|
(StrOpt) Namespace to load the default storage strategy from. |
storage_strategy = SwiftStorage
|
(StrOpt) Default strategy to store backups. |
usage_sleep_time = 5
|
(IntOpt) Time to sleep during the check for an active Guest. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
heat_endpoint_type = publicURL
|
(StrOpt) Service endpoint type to use when searching catalog. |
heat_service_type = orchestration
|
(StrOpt) Service type to use when searching catalog. |
heat_time_out = 60
|
(IntOpt) Maximum time (in seconds) to wait for a Heat request to complete. |
heat_url = None
|
(StrOpt) URL without the tenant segment. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
debug = False
|
(BoolOpt) Print debugging output (set logging level to DEBUG instead of default INFO level). |
default_log_levels = amqp=WARN, amqplib=WARN, boto=WARN, qpid=WARN, sqlalchemy=WARN, suds=INFO, oslo.messaging=INFO, iso8601=WARN, requests.packages.urllib3.connectionpool=WARN, urllib3.connectionpool=WARN, websocket=WARN, requests.packages.urllib3.util.retry=WARN, urllib3.util.retry=WARN, keystonemiddleware=WARN, routes.middleware=WARN, stevedore=WARN, taskflow=WARN
|
(ListOpt) List of logger=LEVEL pairs. This option is ignored if log_config_append is set. |
fatal_deprecations = False
|
(BoolOpt) Enables or disables fatal status of deprecations. |
format_options = -m 5
|
(StrOpt) Options to use when formatting a volume. |
instance_format = "[instance: %(uuid)s] "
|
(StrOpt) The format for an instance that is passed with the log message. |
instance_uuid_format = "[instance: %(uuid)s] "
|
(StrOpt) The format for an instance UUID that is passed with the log message. |
log_config_append = None
|
(StrOpt) 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_format). |
log_date_format = %Y-%m-%d %H:%M:%S
|
(StrOpt) Format string for %%(asctime)s in log records. Default: %(default)s . This option is ignored if log_config_append is set. |
log_dir = None
|
(StrOpt) (Optional) The base directory used for relative --log-file paths. This option is ignored if log_config_append is set. |
log_file = None
|
(StrOpt) (Optional) Name of log file to output to. If no default is set, logging will go to stdout. This option is ignored if log_config_append is set. |
log_format = None
|
(StrOpt) DEPRECATED. A logging.Formatter log message format string which may use any of the available logging.LogRecord attributes. This option is deprecate, use logging_context_format_string and logging_default_format_string instead. This option is ignored if log_config_append is set. |
logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
|
(StrOpt) Format string to use for log messages with context. |
logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
|
(StrOpt) Data to append to log format when level is DEBUG. |
logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
|
(StrOpt) Format string to use for log messages without context. |
logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
|
(StrOpt) Prefix each line of exception output with this format. |
network_label_regex = ^private$
|
(StrOpt) Regular expression to match Trove network labels. |
publish_errors = False
|
(BoolOpt) Enables or disables publication of error events. |
syslog_log_facility = LOG_USER
|
(StrOpt) Syslog facility to receive log lines. This option is ignored if log_config_append is set. |
use_stderr = True
|
(BoolOpt) Log output to standard error. This option is ignored if log_config_append is set. |
use_syslog = False
|
(BoolOpt) 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_syslog_rfc_format = True
|
(BoolOpt) (Optional) Enables or disables syslog rfc5424 format for logging. If enabled, prefixes the MSG part of the syslog message with APP-NAME (RFC5424). The format without the APP-NAME is deprecated in Kilo, and will be removed in Mitaka, along with this option. This option is ignored if log_config_append is set. |
verbose = True
|
(BoolOpt) If set to false, will disable INFO logging level, making WARNING the default. |
watch_log_file = False
|
(BoolOpt) (Optional) 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. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
network_driver = trove.network.nova.NovaNetwork
|
(StrOpt) Describes the actual network manager used for the management of network attributes (security groups, floating IPs, etc.). |
neutron_endpoint_type = publicURL
|
(StrOpt) Service endpoint type to use when searching catalog. |
neutron_service_type = network
|
(StrOpt) Service type to use when searching catalog. |
neutron_url = None
|
(StrOpt) URL without the tenant segment. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
nova_proxy_admin_pass =
|
(StrOpt) Admin password used to connect to Nova. |
nova_proxy_admin_tenant_id =
|
(StrOpt) Admin tenant ID used to connect to Nova. |
nova_proxy_admin_tenant_name =
|
(StrOpt) Admin tenant name used to connect to Nova. |
nova_proxy_admin_user =
|
(StrOpt) Admin username used to connect to Nova. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
max_accepted_volume_size = 5
|
(IntOpt) Default maximum volume size (in GB) for an instance. |
max_backups_per_user = 50
|
(IntOpt) Default maximum number of backups created by a tenant. |
max_instances_per_user = 5
|
(IntOpt) Default maximum number of instances per tenant. |
max_volumes_per_user = 20
|
(IntOpt) Default maximum volume capacity (in GB) spanning across all Trove volumes per tenant. |
quota_driver = trove.quota.quota.DbQuotaDriver
|
(StrOpt) Default driver to use for quota checks. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
password =
|
(StrOpt) Password for Redis server (optional). |
port = 6379
|
(IntOpt) Use this port to connect to redis host. |
| [matchmaker_redis] | |
host = 127.0.0.1
|
(StrOpt) Host to locate redis. |
password =
|
(StrOpt) Password for Redis server (optional). |
port = 6379
|
(IntOpt) Use this port to connect to redis host. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
swift_endpoint_type = publicURL
|
(StrOpt) Service endpoint type to use when searching catalog. |
swift_service_type = object-store
|
(StrOpt) Service type to use when searching catalog. |
swift_url = None
|
(StrOpt) URL ending in AUTH_. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
cloudinit_location = /etc/trove/cloudinit
|
(StrOpt) Path to folder with cloudinit scripts. |
datastore_manager = None
|
(StrOpt) Manager class in the Guest Agent, set up by the Taskmanager on instance provision. |
datastore_registry_ext = {}
|
(DictOpt) Extension for default datastore managers. Allows the use of custom managers for each of the datastores supported by Trove. |
exists_notification_interval = 3600
|
(IntOpt) Seconds to wait between pushing events. |
exists_notification_transformer = None
|
(StrOpt) Transformer for exists notifications. |
reboot_time_out = 120
|
(IntOpt) Maximum time (in seconds) to wait for a server reboot. |
resize_time_out = 600
|
(IntOpt) Maximum time (in seconds) to wait for a server resize. |
restore_usage_timeout = 36000
|
(IntOpt) Maximum time (in seconds) to wait for a Guest instance restored from a backup to become active. |
revert_time_out = 600
|
(IntOpt) Maximum time (in seconds) to wait for a server resize revert. |
server_delete_time_out = 60
|
(IntOpt) Maximum time (in seconds) to wait for a server delete. |
state_change_wait_time = 180
|
(IntOpt) Maximum time (in seconds) to wait for a state change. |
update_status_on_fail = True
|
(BoolOpt) Set the service and instance task statuses to ERROR when an instance fails to become active within the configured usage_timeout. |
usage_sleep_time = 5
|
(IntOpt) Time to sleep during the check for an active Guest. |
use_heat = False
|
(BoolOpt) Use Heat for provisioning. |
use_nova_server_config_drive = False
|
(BoolOpt) Use config drive for file injection when booting instance. |
use_nova_server_volume = False
|
(BoolOpt) Whether to provision a Cinder volume for the Nova instance. |
verify_swift_checksum_on_restore = True
|
(BoolOpt) Enable verification of Swift checksum before starting restore. Makes sure the checksum of original backup matches the checksum of the Swift backup file. |
| Configuration option = Default value | Description |
|---|---|
| [upgrade_levels] | |
conductor = icehouse
|
(StrOpt) Set a version cap for messages sent to conductor services |
guestagent = icehouse
|
(StrOpt) Set a version cap for messages sent to guestagent services |
taskmanager = icehouse
|
(StrOpt) Set a version cap for messages sent to taskmanager services |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
block_device_mapping = vdb
|
(StrOpt) Block device to map onto the created instance. |
cinder_endpoint_type = publicURL
|
(StrOpt) Service endpoint type to use when searching catalog. |
cinder_service_type = volumev2
|
(StrOpt) Service type to use when searching catalog. |
cinder_url = None
|
(StrOpt) URL without the tenant segment. |
cinder_volume_type = None
|
(StrOpt) Volume type to use when provisioning a Cinder volume. |
device_path = /dev/vdb
|
(StrOpt) Device path for volume if volume support is enabled. |
trove_volume_support = True
|
(BoolOpt) Whether to provision a Cinder volume for datadir. |
volume_format_timeout = 120
|
(IntOpt) Maximum time (in seconds) to wait for a volume format. |
volume_fstype = ext3
|
(StrOpt) File system type used to format a volume. |
volume_time_out = 60
|
(IntOpt) Maximum time (in seconds) to wait for a volume attach. |
5.1. Configure the Database Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [mariadb] | |
backup_incremental_strategy = {'InnoBackupEx': 'InnoBackupExIncremental'}
|
(DictOpt) Incremental Backup Runner based on the default strategy. For strategies that do not implement an incremental backup, the runner will use the default full backup. |
backup_namespace = trove.guestagent.strategies.backup.mysql_impl
|
(StrOpt) Namespace to load backup strategies from. |
backup_strategy = InnoBackupEx
|
(StrOpt) Default strategy to perform backups. |
device_path = /dev/vdb
|
(StrOpt) Device path for volume if volume support is enabled. |
mount_point = /var/lib/mysql
|
(StrOpt) Filesystem path for mounting volumes if volume support is enabled. |
replication_namespace = trove.guestagent.strategies.replication.mysql_binlog
|
(StrOpt) Namespace to load replication strategies from. |
replication_strategy = MysqlBinlogReplication
|
(StrOpt) Default strategy for replication. |
restore_namespace = trove.guestagent.strategies.restore.mysql_impl
|
(StrOpt) Namespace to load restore strategies from. |
root_controller = trove.extensions.common.service.DefaultRootController
|
(StrOpt) Root controller implementation for mysql. |
root_on_create = False
|
(BoolOpt) Enable the automatic creation of the root user for the service during instance-create. The generated password for the root user is immediately returned in the response of instance-create as the 'password' field. |
tcp_ports = 3306
|
(ListOpt) List of TCP ports and/or port ranges to open in the security group (only applicable if trove_security_groups_support is True). |
udp_ports =
|
(ListOpt) List of UDP ports and/or port ranges to open in the security group (only applicable if trove_security_groups_support is True). |
usage_timeout = 400
|
(IntOpt) Maximum time (in seconds) to wait for a Guest to become active. |
volume_support = True
|
(BoolOpt) Whether to provision a Cinder volume for datadir. |
| Configuration option = Default value | Description |
|---|---|
| [mysql] | |
backup_incremental_strategy = {'InnoBackupEx': 'InnoBackupExIncremental'}
|
(DictOpt) Incremental Backup Runner based on the default strategy. For strategies that do not implement an incremental backup, the runner will use the default full backup. |
backup_namespace = trove.guestagent.strategies.backup.mysql_impl
|
(StrOpt) Namespace to load backup strategies from. |
backup_strategy = InnoBackupEx
|
(StrOpt) Default strategy to perform backups. |
device_path = /dev/vdb
|
(StrOpt) Device path for volume if volume support is enabled. |
mount_point = /var/lib/mysql
|
(StrOpt) Filesystem path for mounting volumes if volume support is enabled. |
replication_namespace = trove.guestagent.strategies.replication.mysql_gtid
|
(StrOpt) Namespace to load replication strategies from. |
replication_strategy = MysqlGTIDReplication
|
(StrOpt) Default strategy for replication. |
restore_namespace = trove.guestagent.strategies.restore.mysql_impl
|
(StrOpt) Namespace to load restore strategies from. |
root_controller = trove.extensions.common.service.DefaultRootController
|
(StrOpt) Root controller implementation for mysql. |
root_on_create = False
|
(BoolOpt) Enable the automatic creation of the root user for the service during instance-create. The generated password for the root user is immediately returned in the response of instance-create as the 'password' field. |
tcp_ports = 3306
|
(ListOpt) List of TCP ports and/or port ranges to open in the security group (only applicable if trove_security_groups_support is True). |
udp_ports =
|
(ListOpt) List of UDP ports and/or port ranges to open in the security group (only applicable if trove_security_groups_support is True). |
usage_timeout = 400
|
(IntOpt) Maximum time (in seconds) to wait for a Guest to become active. |
volume_support = True
|
(BoolOpt) Whether to provision a Cinder volume for datadir. |
5.2. Configure the RPC messaging system Copier lienLien copié sur presse-papiers!
5.2.1. Configure RabbitMQ Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [oslo_messaging_rabbit] | |
amqp_auto_delete = False
|
(BoolOpt) Auto-delete queues in AMQP. |
amqp_durable_queues = False
|
(BoolOpt) Use durable queues in AMQP. |
fake_rabbit = False
|
(BoolOpt) Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake |
heartbeat_rate = 2
|
(IntOpt) How often times during the heartbeat_timeout_threshold we check the heartbeat. |
heartbeat_timeout_threshold = 60
|
(IntOpt) Number of seconds after which the Rabbit broker is considered down if heartbeat's keep-alive fails (0 disables the heartbeat). EXPERIMENTAL |
kombu_reconnect_delay = 1.0
|
(FloatOpt) How long to wait before reconnecting in response to an AMQP consumer cancel notification. |
kombu_reconnect_timeout = 60
|
(IntOpt) How long to wait before considering a reconnect attempt to have failed. This value should not be longer than rpc_response_timeout. |
kombu_ssl_ca_certs =
|
(StrOpt) SSL certification authority file (valid only if SSL enabled). |
kombu_ssl_certfile =
|
(StrOpt) SSL cert file (valid only if SSL enabled). |
kombu_ssl_keyfile =
|
(StrOpt) SSL key file (valid only if SSL enabled). |
kombu_ssl_version =
|
(StrOpt) 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. |
rabbit_ha_queues = False
|
(BoolOpt) Use HA queues in RabbitMQ (x-ha-policy: all). If you change this option, you must wipe the RabbitMQ database. |
rabbit_host = localhost
|
(StrOpt) The RabbitMQ broker address where a single node is used. |
rabbit_hosts = $rabbit_host:$rabbit_port
|
(ListOpt) RabbitMQ HA cluster host:port pairs. |
rabbit_login_method = AMQPLAIN
|
(StrOpt) The RabbitMQ login method. |
rabbit_max_retries = 0
|
(IntOpt) Maximum number of RabbitMQ connection retries. Default is 0 (infinite retry count). |
rabbit_password = guest
|
(StrOpt) The RabbitMQ password. |
rabbit_port = 5672
|
(IntOpt) The RabbitMQ broker port where a single node is used. |
rabbit_retry_backoff = 2
|
(IntOpt) How long to backoff for between retries when connecting to RabbitMQ. |
rabbit_retry_interval = 1
|
(IntOpt) How frequently to retry connecting with RabbitMQ. |
rabbit_use_ssl = False
|
(BoolOpt) Connect over SSL for RabbitMQ. |
rabbit_userid = guest
|
(StrOpt) The RabbitMQ userid. |
rabbit_virtual_host = /
|
(StrOpt) The RabbitMQ virtual host. |
send_single_reply = False
|
(BoolOpt) Send a single AMQP reply to call message. The current behavior since oslo-incubator is to send two AMQP replies: first one with the payload, a second one to ensure the other has finished to send the payload. This option defaults to False in Liberty and can be turned on for early adopters with new installations or for testing. This option will be removed in the Mitaka release. |
5.2.2. Configure Qpid Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [oslo_messaging_qpid] | |
amqp_auto_delete = False
|
(BoolOpt) Auto-delete queues in AMQP. |
amqp_durable_queues = False
|
(BoolOpt) Use durable queues in AMQP. |
qpid_heartbeat = 60
|
(IntOpt) Seconds between connection keepalive heartbeats. |
qpid_hostname = localhost
|
(StrOpt) Qpid broker hostname. |
qpid_hosts = $qpid_hostname:$qpid_port
|
(ListOpt) Qpid HA cluster host:port pairs. |
qpid_password =
|
(StrOpt) Password for Qpid connection. |
qpid_port = 5672
|
(IntOpt) Qpid broker port. |
qpid_protocol = tcp
|
(StrOpt) Transport to use, either 'tcp' or 'ssl'. |
qpid_receiver_capacity = 1
|
(IntOpt) The number of prefetched messages held by receiver. |
qpid_sasl_mechanisms =
|
(StrOpt) Space separated list of SASL mechanisms to use for auth. |
qpid_tcp_nodelay = True
|
(BoolOpt) Whether to disable the Nagle algorithm. |
qpid_topology_version = 1
|
(IntOpt) The qpid topology version to use. Version 1 is what was originally used by impl_qpid. Version 2 includes some backwards-incompatible changes that allow broker federation to work. Users should update to version 2 when they are able to take everything down, as it requires a clean break. |
qpid_username =
|
(StrOpt) Username for Qpid connection. |
send_single_reply = False
|
(BoolOpt) Send a single AMQP reply to call message. The current behavior since oslo-incubator is to send two AMQP replies: first one with the payload, a second one to ensure the other has finished to send the payload. This option defaults to False in Liberty and can be turned on for early adopters with new installations or for testing. This option will be removed in the Mitaka release. |
5.2.3. Configure messaging Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
conductor_manager = trove.conductor.manager.Manager
|
(StrOpt) Qualified class name to use for conductor manager. |
conductor_queue = trove-conductor
|
(StrOpt) Message queue name the Conductor will listen on. |
control_exchange = openstack
|
(StrOpt) The default exchange under which topics are scoped. May be overridden by an exchange name specified in the transport_url option. |
notification_driver = []
|
(MultiStrOpt) The Drivers(s) to handle sending notifications. Possible values are messaging, messagingv2, routing, log, test, and noop.
|
notification_service_id = {'mysql': '2f3ff068-2bfb-4f70-9a9d-a6bb65bc084b', 'mariadb': '7a4f82cc-10d2-4bc6-aadc-d9aacc2a3cb5'}
|
(DictOpt) Unique ID to tag notification events. |
notification_topics = notifications
|
(ListOpt) AMQP topic used for OpenStack notifications. |
transport_url = None
|
(StrOpt) A URL representing the messaging driver to use and its full configuration. If not set, we fall back to the rpc_backend option and driver specific configuration. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
num_tries = 3
|
(IntOpt) Number of times to check if a volume exists. |
report_interval = 30
|
(IntOpt) The interval (in seconds) which periodic tasks are run. |
rpc_backend = rabbit
|
(StrOpt) The messaging driver to use, defaults to rabbit. Other drivers include qpid and zmq. |
rpc_cast_timeout = 30
|
(IntOpt) Seconds to wait before a cast expires (TTL). Only supported by impl_zmq. |
rpc_conn_pool_size = 30
|
(IntOpt) Size of RPC connection pool. |
rpc_poll_timeout = 1
|
(IntOpt) The default number of seconds that poll should wait. Poll raises timeout exception when timeout expired. |
rpc_response_timeout = 60
|
(IntOpt) Seconds to wait for a response from a call. |
| [oslo_concurrency] | |
disable_process_locking = False
|
(BoolOpt) Enables or disables inter-process locks. |
lock_path = None
|
(StrOpt) 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. |
| [oslo_messaging_amqp] | |
allow_insecure_clients = False
|
(BoolOpt) Accept clients using either SSL or plain TCP |
broadcast_prefix = broadcast
|
(StrOpt) address prefix used when broadcasting to all servers |
container_name = None
|
(StrOpt) Name for the AMQP container |
group_request_prefix = unicast
|
(StrOpt) address prefix when sending to any server in group |
idle_timeout = 0
|
(IntOpt) Timeout for inactive connections (in seconds) |
password =
|
(StrOpt) Password for message broker authentication |
sasl_config_dir =
|
(StrOpt) Path to directory that contains the SASL configuration |
sasl_config_name =
|
(StrOpt) Name of configuration file (without .conf suffix) |
sasl_mechanisms =
|
(StrOpt) Space separated list of acceptable SASL mechanisms |
server_request_prefix = exclusive
|
(StrOpt) address prefix used when sending to a specific server |
ssl_ca_file =
|
(StrOpt) CA certificate PEM file to verify server certificate |
ssl_cert_file =
|
(StrOpt) Identifying certificate PEM file to present to clients |
ssl_key_file =
|
(StrOpt) Private key PEM file used to sign cert_file certificate |
ssl_key_password = None
|
(StrOpt) Password for decrypting ssl_key_file (if encrypted) |
trace = False
|
(BoolOpt) Debug: dump AMQP frames to stdout |
username =
|
(StrOpt) User name for message broker authentication |
5.3. New, updated and deprecated options in Liberty for Database service Copier lienLien copié sur presse-papiers!
| Option = default value | (Type) Help string |
| [DEFAULT] executor_thread_pool_size = 64 | (IntOpt) Size of executor thread pool. |
| [DEFAULT] exists_notification_interval = 3600 | (IntOpt) Seconds to wait between pushing events. |
| [DEFAULT] nova_proxy_admin_tenant_id = | (StrOpt) Admin tenant ID used to connect to Nova. |
| [DEFAULT] password = | (StrOpt) Password for Redis server (optional). |
| [DEFAULT] port = 6379 | (IntOpt) Use this port to connect to redis host. |
| [DEFAULT] rpc_conn_pool_size = 30 | (IntOpt) Size of RPC connection pool. |
| [DEFAULT] rpc_poll_timeout = 1 | (IntOpt) The default number of seconds that poll should wait. Poll raises timeout exception when timeout expired. |
| [DEFAULT] rpc_zmq_all_req_rep = True | (BoolOpt) Use REQ/REP pattern for all methods CALL/CAST/FANOUT. |
| [DEFAULT] rpc_zmq_concurrency = eventlet | (StrOpt) Type of concurrency used. Either "native" or "eventlet" |
| [DEFAULT] timeout_wait_for_service = 120 | (IntOpt) Maximum time (in seconds) to wait for a service to become alive. |
| [DEFAULT] watch_log_file = False | (BoolOpt) (Optional) 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. |
| [DEFAULT] zmq_use_broker = True | (BoolOpt) Shows whether zmq-messaging uses broker or not. |
| [keystone_authtoken] region_name = None | (StrOpt) The region in which the identity server can be found. |
| [mariadb] backup_incremental_strategy = {'InnoBackupEx': 'InnoBackupExIncremental'} | (DictOpt) Incremental Backup Runner based on the default strategy. For strategies that do not implement an incremental backup, the runner will use the default full backup. |
| [mariadb] backup_namespace = trove.guestagent.strategies.backup.mysql_impl | (StrOpt) Namespace to load backup strategies from. |
| [mariadb] backup_strategy = InnoBackupEx | (StrOpt) Default strategy to perform backups. |
| [mariadb] device_path = /dev/vdb | (StrOpt) Device path for volume if volume support is enabled. |
| [mariadb] mount_point = /var/lib/mysql | (StrOpt) Filesystem path for mounting volumes if volume support is enabled. |
| [mariadb] replication_namespace = trove.guestagent.strategies.replication.mysql_binlog | (StrOpt) Namespace to load replication strategies from. |
| [mariadb] replication_strategy = MysqlBinlogReplication | (StrOpt) Default strategy for replication. |
| [mariadb] restore_namespace = trove.guestagent.strategies.restore.mysql_impl | (StrOpt) Namespace to load restore strategies from. |
| [mariadb] root_controller = trove.extensions.common.service.DefaultRootController | (StrOpt) Root controller implementation for mysql. |
| [mariadb] root_on_create = False | (BoolOpt) Enable the automatic creation of the root user for the service during instance-create. The generated password for the root user is immediately returned in the response of instance-create as the 'password' field. |
| [mariadb] tcp_ports = 3306 | (ListOpt) List of TCP ports and/or port ranges to open in the security group (only applicable if trove_security_groups_support is True). |
| [mariadb] udp_ports = | (ListOpt) List of UDP ports and/or port ranges to open in the security group (only applicable if trove_security_groups_support is True). |
| [mariadb] usage_timeout = 400 | (IntOpt) Maximum time (in seconds) to wait for a Guest to become active. |
| [mariadb] volume_support = True | (BoolOpt) Whether to provision a Cinder volume for datadir. |
| [mysql] root_controller = trove.extensions.common.service.DefaultRootController | (StrOpt) Root controller implementation for mysql. |
| [oslo_messaging_amqp] password = | (StrOpt) Password for message broker authentication |
| [oslo_messaging_amqp] sasl_config_dir = | (StrOpt) Path to directory that contains the SASL configuration |
| [oslo_messaging_amqp] sasl_config_name = | (StrOpt) Name of configuration file (without .conf suffix) |
| [oslo_messaging_amqp] sasl_mechanisms = | (StrOpt) Space separated list of acceptable SASL mechanisms |
| [oslo_messaging_amqp] username = | (StrOpt) User name for message broker authentication |
| [oslo_messaging_qpid] send_single_reply = False | (BoolOpt) Send a single AMQP reply to call message. The current behavior since oslo-incubator is to send two AMQP replies - first one with the payload, a second one to ensure the other has finished to send the payload. We are going to remove it in the N release, but we must keep backward compatible at the same time. This option provides such compatibility - it defaults to False in Liberty and can be turned on for early adopters with new installations or for testing. This option will be removed in the Mitaka release. |
| [oslo_messaging_rabbit] kombu_reconnect_timeout = 60 | (IntOpt) How long to wait before considering a reconnect attempt to have failed. This value should not be longer than rpc_response_timeout. |
| [oslo_messaging_rabbit] send_single_reply = False | (BoolOpt) Send a single AMQP reply to call message. The current behavior since oslo-incubator is to send two AMQP replies - first one with the payload, a second one to ensure the other has finished to send the payload. We are going to remove it in the N release, but we must keep backward compatible at the same time. This option provides such compatibility - it defaults to False in Liberty and can be turned on for early adopters with new installations or for testing. This option will be removed in the Mitaka release. |
| [pxc] api_strategy = trove.common.strategies.cluster.experimental.pxc.api.PXCAPIStrategy | (StrOpt) Class that implements datastore-specific API logic. |
| [pxc] backup_incremental_strategy = {'InnoBackupEx': 'InnoBackupExIncremental'} | (DictOpt) Incremental Backup Runner based on the default strategy. For strategies that do not implement an incremental backup, the runner will use the default full backup. |
| [pxc] backup_namespace = trove.guestagent.strategies.backup.mysql_impl | (StrOpt) Namespace to load backup strategies from. |
| [pxc] backup_strategy = InnoBackupEx | (StrOpt) Default strategy to perform backups. |
| [pxc] cluster_support = True | (BoolOpt) Enable clusters to be created and managed. |
| [pxc] device_path = /dev/vdb | (StrOpt) Device path for volume if volume support is enabled. |
| [pxc] guestagent_strategy = trove.common.strategies.cluster.experimental.pxc.guestagent.PXCGuestAgentStrategy | (StrOpt) Class that implements datastore-specific Guest Agent API logic. |
| [pxc] ignore_users = os_admin, root, clusterrepuser | (ListOpt) Users to exclude when listing users. |
| [pxc] min_cluster_member_count = 3 | (IntOpt) Minimum number of members in PXC cluster. |
| [pxc] mount_point = /var/lib/mysql | (StrOpt) Filesystem path for mounting volumes if volume support is enabled. |
| [pxc] replication_namespace = trove.guestagent.strategies.replication.mysql_gtid | (StrOpt) Namespace to load replication strategies from. |
| [pxc] replication_strategy = MysqlGTIDReplication | (StrOpt) Default strategy for replication. |
| [pxc] replication_user = slave_user | (StrOpt) Userid for replication slave. |
| [pxc] restore_namespace = trove.guestagent.strategies.restore.mysql_impl | (StrOpt) Namespace to load restore strategies from. |
| [pxc] root_controller = trove.extensions.common.service.DefaultRootController | (StrOpt) Root controller implementation for pxc. |
| [pxc] root_on_create = False | (BoolOpt) Enable the automatic creation of the root user for the service during instance-create. The generated password for the root user is immediately returned in the response of instance-create as the 'password' field. |
| [pxc] taskmanager_strategy = trove.common.strategies.cluster.experimental.pxc.taskmanager.PXCTaskManagerStrategy | (StrOpt) Class that implements datastore-specific task manager logic. |
| [pxc] tcp_ports = 3306, 4444, 4567, 4568 | (ListOpt) List of TCP ports and/or port ranges to open in the security group (only applicable if trove_security_groups_support is True). |
| [pxc] udp_ports = | (ListOpt) List of UDP ports and/or port ranges to open in the security group (only applicable if trove_security_groups_support is True). |
| [pxc] usage_timeout = 450 | (IntOpt) Maximum time (in seconds) to wait for a Guest to become active. |
| [pxc] volume_support = True | (BoolOpt) Whether to provision a Cinder volume for datadir. |
| [redis] api_strategy = trove.common.strategies.cluster.experimental.redis.api.RedisAPIStrategy | (StrOpt) Class that implements datastore-specific API logic. |
| [redis] cluster_support = True | (BoolOpt) Enable clusters to be created and managed. |
| [redis] guestagent_strategy = trove.common.strategies.cluster.experimental.redis.guestagent.RedisGuestAgentStrategy | (StrOpt) Class that implements datastore-specific Guest Agent API logic. |
| [redis] replication_namespace = trove.guestagent.strategies.replication.experimental.redis_sync | (StrOpt) Namespace to load replication strategies from. |
| [redis] root_controller = trove.extensions.common.service.DefaultRootController | (StrOpt) Root controller implementation for redis. |
| [redis] taskmanager_strategy = trove.common.strategies.cluster.experimental.redis.taskmanager.RedisTaskManagerStrategy | (StrOpt) Class that implements datastore-specific task manager logic. |
| Option | Previous default value | New default value |
| [DEFAULT] cluster_usage_timeout | 675 | 36000 |
| [DEFAULT] default_log_levels | amqp=WARN, amqplib=WARN, boto=WARN, qpid=WARN, sqlalchemy=WARN, suds=INFO, oslo.messaging=INFO, iso8601=WARN, requests.packages.urllib3.connectionpool=WARN, urllib3.connectionpool=WARN, websocket=WARN, keystonemiddleware=WARN, routes.middleware=WARN, stevedore=WARN | amqp=WARN, amqplib=WARN, boto=WARN, qpid=WARN, sqlalchemy=WARN, suds=INFO, oslo.messaging=INFO, iso8601=WARN, requests.packages.urllib3.connectionpool=WARN, urllib3.connectionpool=WARN, websocket=WARN, requests.packages.urllib3.util.retry=WARN, urllib3.util.retry=WARN, keystonemiddleware=WARN, routes.middleware=WARN, stevedore=WARN, taskflow=WARN |
| [DEFAULT] ignore_dbs | lost+found, #mysql50#lost+found, mysql, information_schema | mysql, information_schema, performance_schema |
| [DEFAULT] logging_exception_prefix | %(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s | %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s |
| [DEFAULT] notification_service_id | {'vertica': 'a8d805ae-a3b2-c4fd-gb23-b62cee5201ae', 'db2': 'e040cd37-263d-4869-aaa6-c62aa97523b5', 'postgresql': 'ac277e0d-4f21-40aa-b347-1ea31e571720', 'mysql': '2f3ff068-2bfb-4f70-9a9d-a6bb65bc084b', 'couchbase': 'fa62fe68-74d9-4779-a24e-36f19602c415', 'mongodb': 'c8c907af-7375-456f-b929-b637ff9209ee', 'couchdb': 'f0a9ab7b-66f7-4352-93d7-071521d44c7c', 'redis': 'b216ffc5-1947-456c-a4cf-70f94c05f7d0', 'cassandra': '459a230d-4e97-4344-9067-2a54a310b0ed'} | {'mongodb': 'c8c907af-7375-456f-b929-b637ff9209ee', 'percona': 'fd1723f5-68d2-409c-994f-a4a197892a17', 'mysql': '2f3ff068-2bfb-4f70-9a9d-a6bb65bc084b', 'pxc': '75a628c3-f81b-4ffb-b10a-4087c26bc854', 'db2': 'e040cd37-263d-4869-aaa6-c62aa97523b5', 'cassandra': '459a230d-4e97-4344-9067-2a54a310b0ed', 'mariadb': '7a4f82cc-10d2-4bc6-aadc-d9aacc2a3cb5', 'postgresql': 'ac277e0d-4f21-40aa-b347-1ea31e571720', 'couchbase': 'fa62fe68-74d9-4779-a24e-36f19602c415', 'couchdb': 'f0a9ab7b-66f7-4352-93d7-071521d44c7c', 'redis': 'b216ffc5-1947-456c-a4cf-70f94c05f7d0', 'vertica': 'a8d805ae-a3b2-c4fd-gb23-b62cee5201ae'} |
| [DEFAULT] report_interval | 10 | 30 |
| [DEFAULT] rpc_zmq_matchmaker | local | redis |
| [DEFAULT] usage_timeout | 600 | 900 |
| [DEFAULT] use_syslog_rfc_format | False | True |
| [DEFAULT] verbose | False | True |
| [matchmaker_redis] password | None | |
| [oslo_messaging_rabbit] heartbeat_timeout_threshold | 0 | 60 |
| [redis] backup_namespace | None | trove.guestagent.strategies.backup.experimental.redis_impl |
| [redis] backup_strategy | None | RedisBackup |
| [redis] replication_strategy | None | RedisSyncReplication |
| [redis] restore_namespace | None | trove.guestagent.strategies.restore.experimental.redis_impl |
| [redis] tcp_ports | 6379 | 6379, 16379 |
| [redis] volume_support | False | True |
| Deprecated option | New Option |
| [DEFAULT] use_syslog | None |
| [DEFAULT] rpc_thread_pool_size | [DEFAULT] executor_thread_pool_size |
| [DEFAULT] log_format | None |
Chapter 6. Data processing service Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
control_exchange = openstack
|
(String) The default exchange under which topics are scoped. May be overridden by an exchange name specified in the transport_url option. |
transport_url = None
|
(String) A URL representing the messaging driver to use and its full configuration. If not set, we fall back to the rpc_backend option and driver specific configuration. |
| Configuration option = Default value | Description |
|---|---|
[oslo_middleware]
|
|
max_request_body_size = 114688
|
(Integer) The maximum body size for each request, in bytes. |
secure_proxy_ssl_header = X-Forwarded-Proto
|
(String) DEPRECATED: The HTTP Header that will be used to determine what the original request protocol scheme was, even if it was hidden by an SSL termination proxy. |
[retries]
|
|
retries_number = 5
|
(Integer) Number of times to retry the request to client before failing |
retry_after = 10
|
(Integer) Time between the retries to client (in seconds). |
[service_auth]
|
|
admin_password = password
|
(String) The service admin password |
admin_project_domain = admin
|
(String) The admin project domain name |
admin_tenant_name = admin
|
(String) The service admin tenant name |
admin_user = admin
|
(String) The service admin user name |
admin_user_domain = admin
|
(String) The admin user domain name |
auth_url = http://127.0.0.1:5000/v2.0
|
(String) Authentication endpoint |
auth_version = 2
|
(String) The auth version used to authenticate |
endpoint_type = public
|
(String) The endpoint_type to be used |
region = RegionOne
|
(String) The deployment region |
service_name = lbaas
|
(String) The name of the service |
| Configuration option = Default value | Description |
|---|---|
[keystone_authtoken]
|
|
admin_password = None
|
(String) Service user password. |
admin_tenant_name = admin
|
(String) Service tenant name. |
admin_token = None
|
(String) This option is deprecated and may be removed in a future release. Single shared secret with the Keystone configuration used for bootstrapping a Keystone installation, or otherwise bypassing the normal authentication process. This option should not be used, use `admin_user` and `admin_password` instead. |
admin_user = None
|
(String) Service username. |
auth_admin_prefix =
|
(String) Prefix to prepend at the beginning of the path. Deprecated, use identity_uri. |
auth_host = 127.0.0.1
|
(String) Host providing the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_port = 35357
|
(Integer) Port of the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_protocol = https
|
(String) Protocol of the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_section = None
|
(Unknown) Config Section from which to load plugin specific options |
auth_type = None
|
(Unknown) Authentication type to load |
auth_uri = None
|
(String) Complete public Identity API endpoint. |
auth_version = None
|
(String) API version of the admin Identity API endpoint. |
cache = None
|
(String) Env key for the swift cache. |
cafile = None
|
(String) A PEM encoded Certificate Authority to use when verifying HTTPs connections. Defaults to system CAs. |
certfile = None
|
(String) Required if identity server requires client certificate |
check_revocations_for_cached = False
|
(Boolean) If true, the revocation list will be checked for cached tokens. This requires that PKI tokens are configured on the identity server. |
delay_auth_decision = False
|
(Boolean) Do not handle authorization requests within the middleware, but delegate the authorization decision to downstream WSGI components. |
enforce_token_bind = permissive
|
(String) 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. |
hash_algorithms = md5
|
(List) Hash algorithms to use for hashing PKI tokens. This may be a single algorithm or multiple. The algorithms are those supported by Python standard hashlib.new(). The hashes will be tried in the order given, so put the preferred one first for performance. The result of the first hash will be stored in the cache. This will typically be set to multiple values only while migrating from a less secure algorithm to a more secure one. Once all the old tokens are expired this option should be set to a single value for better performance. |
http_connect_timeout = None
|
(Integer) Request timeout value for communicating with Identity API server. |
http_request_max_retries = 3
|
(Integer) How many times are we trying to reconnect when communicating with Identity API Server. |
identity_uri = None
|
(String) Complete admin Identity API endpoint. This should specify the unversioned root endpoint e.g. https://localhost:35357/ |
include_service_catalog = True
|
(Boolean) (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. |
insecure = False
|
(Boolean) Verify HTTPS connections. |
keyfile = None
|
(String) Required if identity server requires client certificate |
memcache_pool_conn_get_timeout = 10
|
(Integer) (Optional) Number of seconds that an operation will wait to get a memcached client connection from the pool. |
memcache_pool_dead_retry = 300
|
(Integer) (Optional) Number of seconds memcached server is considered dead before it is tried again. |
memcache_pool_maxsize = 10
|
(Integer) (Optional) Maximum total number of open connections to every memcached server. |
memcache_pool_socket_timeout = 3
|
(Integer) (Optional) Socket timeout in seconds for communicating with a memcached server. |
memcache_pool_unused_timeout = 60
|
(Integer) (Optional) Number of seconds a connection to memcached is held unused in the pool before it is closed. |
memcache_secret_key = None
|
(String) (Optional, mandatory if memcache_security_strategy is defined) This string is used for key derivation. |
memcache_security_strategy = None
|
(String) (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. |
memcache_use_advanced_pool = False
|
(Boolean) (Optional) Use the advanced (eventlet safe) memcached client pool. The advanced pool will only work under python 2.x. |
region_name = None
|
(String) The region in which the identity server can be found. |
revocation_cache_time = 10
|
(Integer) Determines the frequency at which the list of revoked tokens is retrieved from the Identity service (in seconds). A high number of revocation events combined with a low cache duration may significantly reduce performance. |
signing_dir = None
|
(String) Directory used to cache files related to PKI tokens. |
token_cache_time = 300
|
(Integer) 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. |
| Configuration option = Default value | Description |
|---|---|
[cinder]
|
|
api_insecure = False
|
(Boolean) Allow to perform insecure SSL requests to cinder. |
api_version = 2
|
(Integer) Version of the Cinder API to use. |
ca_file = None
|
(String) Location of ca certificates file to use for cinder client requests. |
endpoint_type = internalURL
|
(String) Endpoint type for cinder client requests |
[heat]
|
|
api_insecure = False
|
(Boolean) Allow to perform insecure SSL requests to heat. |
ca_file = None
|
(String) Location of ca certificates file to use for heat client requests. |
endpoint_type = internalURL
|
(String) Endpoint type for heat client requests |
[keystone]
|
|
api_insecure = False
|
(Boolean) Allow to perform insecure SSL requests to keystone. |
ca_file = None
|
(String) Location of ca certificates file to use for keystone client requests. |
endpoint_type = internalURL
|
(String) Endpoint type for keystone client requests |
[manila]
|
|
api_insecure = True
|
(Boolean) Allow to perform insecure SSL requests to manila. |
api_version = 1
|
(Integer) Version of the manila API to use. |
ca_file = None
|
(String) Location of ca certificates file to use for manila client requests. |
[neutron]
|
|
api_insecure = False
|
(Boolean) Allow to perform insecure SSL requests to neutron. |
ca_file = None
|
(String) Location of ca certificates file to use for neutron client requests. |
endpoint_type = internalURL
|
(String) Endpoint type for neutron client requests |
[nova]
|
|
api_insecure = False
|
(Boolean) Allow to perform insecure SSL requests to nova. |
ca_file = None
|
(String) Location of ca certificates file to use for nova client requests. |
endpoint_type = internalURL
|
(String) Endpoint type for nova client requests |
[swift]
|
|
api_insecure = False
|
(Boolean) Allow to perform insecure SSL requests to swift. |
ca_file = None
|
(String) Location of ca certificates file to use for swift client requests. |
endpoint_type = internalURL
|
(String) Endpoint type for swift client requests |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
admin_project_domain_name = default
|
(String) The name of the domain for the service project(ex. tenant). |
admin_user_domain_name = default
|
(String) The name of the domain to which the admin user belongs. |
api_workers = 1
|
(Integer) Number of workers for Sahara API service (0 means all-in-one-thread configuration). |
cleanup_time_for_incomplete_clusters = 0
|
(Integer) Maximal time (in hours) for clusters allowed to be in states other than "Active", "Deleting" or "Error". If a cluster is not in "Active", "Deleting" or "Error" state and last update of it was longer than "cleanup_time_for_incomplete_clusters" hours ago then it will be deleted automatically. (0 value means that automatic clean up is disabled). |
cluster_remote_threshold = 70
|
(Integer) The same as global_remote_threshold, but for a single cluster. |
compute_topology_file = etc/sahara/compute.topology
|
(String) File with nova compute topology. It should contain mapping between nova computes and racks. |
coordinator_heartbeat_interval = 1
|
(Integer) Interval size between heartbeat execution in seconds. Heartbeats are executed to make sure that connection to the coordination server is active. |
default_ntp_server = pool.ntp.org
|
(String) Default ntp server for time sync |
disable_event_log = False
|
(Boolean) Disables event log feature. |
enable_data_locality = False
|
(Boolean) Enables data locality for hadoop cluster. Also enables data locality for Swift used by hadoop. If enabled, 'compute_topology' and 'swift_topology' configuration parameters should point to OpenStack and Swift topology correspondingly. |
enable_hypervisor_awareness = True
|
(Boolean) Enables four-level topology for data locality. Works only if corresponding plugin supports such mode. |
executor_thread_pool_size = 64
|
(Integer) Size of executor thread pool. |
global_remote_threshold = 100
|
(Integer) Maximum number of remote operations that will be running at the same time. Note that each remote operation requires its own process to run. |
hash_ring_replicas_count = 40
|
(Integer) Number of points that belongs to each member on a hash ring. The larger number leads to a better distribution. |
heat_enable_wait_condition = True
|
(Boolean) Enable wait condition feature to reduce polling during cluster creation |
heat_stack_tags = data-processing-cluster
|
(List) List of tags to be used during operating with stack. |
infrastructure_engine = heat
|
(String) DEPRECATED: An engine which will be used to provision infrastructure for Hadoop cluster. |
job_binary_max_KB = 5120
|
(Integer) Maximum length of job binary data in kilobytes that may be stored or retrieved in a single operation. |
job_canceling_timeout = 300
|
(Integer) Timeout for canceling job execution (in seconds). Sahara will try to cancel job execution during this time. |
job_workflow_postfix =
|
(String) Postfix for storing jobs in hdfs. Will be added to '/user/<hdfs user>/' path. |
memcached_servers = None
|
(List) Memcached servers or None for in process cache. |
min_transient_cluster_active_time = 30
|
(Integer) Minimal "lifetime" in seconds for a transient cluster. Cluster is guaranteed to be "alive" within this time period. |
node_domain = novalocal
|
(String) The suffix of the node's FQDN. In nova-network that is the dhcp_domain config parameter. |
os_region_name = None
|
(String) Region name used to get services endpoints. |
periodic_coordinator_backend_url = None
|
(String) The backend URL to use for distributed periodic tasks coordination. |
periodic_enable = True
|
(Boolean) Enable periodic tasks. |
periodic_fuzzy_delay = 60
|
(Integer) Range in seconds to randomly delay when starting the periodic task scheduler to reduce stampeding. (Disable by setting to 0). |
periodic_interval_max = 60
|
(Integer) Max interval size between periodic tasks execution in seconds. |
periodic_workers_number = 1
|
(Integer) Number of threads to run periodic tasks. |
plugins = vanilla, spark, cdh, ambari
|
(List) List of plugins to be loaded. Sahara preserves the order of the list when returning it. |
proxy_command =
|
(String) Proxy command used to connect to instances. If set, this command should open a netcat socket, that Sahara will use for SSH and HTTP connections. Use {host} and {port} to describe the destination. Other available keywords: {tenant_id}, {network_id}, {router_id}. |
remote = ssh
|
(String) A method for Sahara to execute commands on VMs. |
rootwrap_command = sudo sahara-rootwrap /etc/sahara/rootwrap.conf
|
(String) Rootwrap command to leverage. Use in conjunction with use_rootwrap=True |
swift_topology_file = etc/sahara/swift.topology
|
(String) File with Swift topology.It should contain mapping between Swift nodes and racks. |
use_barbican_key_manager = False
|
(Boolean) Enable the usage of the OpenStack Key Management service provided by barbican. |
use_floating_ips = True
|
(Boolean) If set to True, Sahara will use floating IPs to communicate with instances. To make sure that all instances have floating IPs assigned in Nova Network set "auto_assign_floating_ip=True" in nova.conf. If Neutron is used for networking, make sure that all Node Groups have "floating_ip_pool" parameter defined. |
use_identity_api_v3 = True
|
(Boolean) Enables Sahara to use Keystone API v3. If that flag is disabled, per-job clusters will not be terminated automatically. |
use_namespaces = False
|
(Boolean) Use network namespaces for communication (only valid to use in conjunction with use_neutron=True). |
use_neutron = False
|
(Boolean) Use Neutron Networking (False indicates the use of Nova networking). |
use_rootwrap = False
|
(Boolean) Use rootwrap facility to allow non-root users to run the sahara-all server instance and access private network IPs (only valid to use in conjunction with use_namespaces=True) |
[castellan]
|
|
barbican_api_endpoint = None
|
(String) The endpoint to use for connecting to the barbican api controller. By default, castellan will use the URL from the service catalog. |
barbican_api_version = v1
|
(String) Version of the barbican API, for example: "v1" |
[certificates]
|
|
barbican_auth = barbican_acl_auth
|
(String) Name of the Barbican authentication method to use |
cert_manager_type = barbican
|
(String) Certificate Manager plugin. Defaults to barbican. |
[cluster_verifications]
|
|
verification_enable = True
|
(Boolean) Option to enable verifications for all clusters |
verification_periodic_interval = 600
|
(Integer) Interval between two consecutive periodic tasks forverifications, in seconds. |
[conductor]
|
|
use_local = True
|
(Boolean) Perform sahara-conductor operations locally. |
[keystone_authtoken]
|
|
memcached_servers = None
|
(List) Optionally specify a list of memcached server(s) to use for caching. If left undefined, tokens will instead be cached in-process. |
| Configuration option = Default value | Description |
|---|---|
[cors]
|
|
allow_credentials = True
|
(Boolean) Indicate that the actual request can include user credentials |
allow_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma
|
(List) Indicate which header field names may be used during the actual request. |
allow_methods = GET, POST, PUT, DELETE, OPTIONS
|
(List) Indicate which methods can be used during the actual request. |
allowed_origin = None
|
(List) Indicate whether this resource may be shared with the domain received in the requests "origin" header. |
expose_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma
|
(List) Indicate which headers are safe to expose to the API. Defaults to HTTP Simple Headers. |
max_age = 3600
|
(Integer) Maximum cache age of CORS preflight requests. |
[cors.subdomain]
|
|
allow_credentials = True
|
(Boolean) Indicate that the actual request can include user credentials |
allow_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma
|
(List) Indicate which header field names may be used during the actual request. |
allow_methods = GET, POST, PUT, DELETE, OPTIONS
|
(List) Indicate which methods can be used during the actual request. |
allowed_origin = None
|
(List) Indicate whether this resource may be shared with the domain received in the requests "origin" header. |
expose_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma
|
(List) Indicate which headers are safe to expose to the API. Defaults to HTTP Simple Headers. |
max_age = 3600
|
(Integer) Maximum cache age of CORS preflight requests. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
db_driver = sahara.db
|
(String) Driver to use for database access. |
[database]
|
|
backend = sqlalchemy
|
(String) The back end to use for the database. |
connection = None
|
(String) The SQLAlchemy connection string to use to connect to the database. |
connection_debug = 0
|
(Integer) Verbosity of SQL debugging information: 0=None, 100=Everything. |
connection_trace = False
|
(Boolean) Add Python stack traces to SQL as comment strings. |
db_inc_retry_interval = True
|
(Boolean) If True, increases the interval between retries of a database operation up to db_max_retry_interval. |
db_max_retries = 20
|
(Integer) Maximum retries in case of connection error or deadlock error before error is raised. Set to -1 to specify an infinite retry count. |
db_max_retry_interval = 10
|
(Integer) If db_inc_retry_interval is set, the maximum seconds between retries of a database operation. |
db_retry_interval = 1
|
(Integer) Seconds between retries of a database transaction. |
idle_timeout = 3600
|
(Integer) Timeout before idle SQL connections are reaped. |
max_overflow = 50
|
(Integer) If set, use this value for max_overflow with SQLAlchemy. |
max_pool_size = None
|
(Integer) Maximum number of SQL connections to keep open in a pool. |
max_retries = 10
|
(Integer) Maximum number of database connection retries during startup. Set to -1 to specify an infinite retry count. |
min_pool_size = 1
|
(Integer) Minimum number of SQL connections to keep open in a pool. |
mysql_sql_mode = TRADITIONAL
|
(String) 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= |
pool_timeout = None
|
(Integer) If set, use this value for pool_timeout with SQLAlchemy. |
retry_interval = 10
|
(Integer) Interval between retries of opening a SQL connection. |
slave_connection = None
|
(String) The SQLAlchemy connection string to use to connect to the slave database. |
sqlite_db = oslo.sqlite
|
(String) The file name to use with SQLite. |
sqlite_synchronous = True
|
(Boolean) If True, SQLite uses synchronous mode. |
use_db_reconnect = False
|
(Boolean) Enable the experimental use of database reconnect on connection lost. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
proxy_user_domain_name = None
|
(String) The domain Sahara will use to create new proxy users for Swift object access. |
proxy_user_role_names = Member
|
(List) A list of the role names that the proxy user should assume through trust for Swift object access. |
use_domain_for_proxy_users = False
|
(Boolean) Enables Sahara to use a domain for creating temporary proxy users to access Swift. If this is enabled a domain must be created for Sahara to use. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
debug = False
|
(Boolean) If set to true, the logging level will be set to DEBUG instead of the default INFO level. |
default_log_levels = amqplib=WARN, qpid.messaging=INFO, stevedore=INFO, eventlet.wsgi.server=WARN, sqlalchemy=WARN, boto=WARN, suds=INFO, keystone=INFO, paramiko=WARN, requests=WARN, iso8601=WARN, oslo_messaging=INFO, neutronclient=INFO
|
(List) List of package logging levels in logger=LEVEL pairs. This option is ignored if log_config_append is set. |
fatal_deprecations = False
|
(Boolean) Enables or disables fatal status of deprecations. |
instance_format = "[instance: %(uuid)s] "
|
(String) The format for an instance that is passed with the log message. |
instance_uuid_format = "[instance: %(uuid)s] "
|
(String) The format for an instance UUID that is passed with the log message. |
log_config_append = None
|
(String) 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, logging_context_format_string). |
log_date_format = %Y-%m-%d %H:%M:%S
|
(String) Defines the format string for %%(asctime)s in log records. Default: %(default)s . This option is ignored if log_config_append is set. |
log_dir = None
|
(String) (Optional) The base directory used for relative log_file paths. This option is ignored if log_config_append is set. |
log_file = None
|
(String) (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. |
logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
|
(String) Format string to use for log messages with context. |
logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
|
(String) Additional data to append to log message when logging level for the message is DEBUG. |
logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
|
(String) Format string to use for log messages when context is undefined. |
logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
|
(String) Prefix each line of exception output with this format. |
logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s
|
(String) Defines the format string for %(user_identity)s that is used in logging_context_format_string. |
publish_errors = False
|
(Boolean) Enables or disables publication of error events. |
syslog_log_facility = LOG_USER
|
(String) Syslog facility to receive log lines. This option is ignored if log_config_append is set. |
use_stderr = True
|
(Boolean) Log output to standard error. This option is ignored if log_config_append is set. |
use_syslog = False
|
(Boolean) 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. |
verbose = True
|
(Boolean) DEPRECATED: If set to false, the logging level will be set to WARNING instead of the default INFO level. |
watch_log_file = False
|
(Boolean) 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. |
| Configuration option = Default value | Description |
|---|---|
[object_store_access]
|
|
public_identity_ca_file = None
|
(String) Location of ca certificate file to use for identity client requests via public endpoint |
public_object_store_ca_file = None
|
(String) Location of ca certificate file to use for object-store client requests via public endpoint |
| Configuration option = Default value | Description |
|---|---|
[oslo_policy]
|
|
policy_default_rule = default
|
(String) Default rule. Enforced when a requested rule is not found. |
policy_dirs = ['policy.d']
|
(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. |
policy_file = policy.json
|
(String) The JSON file that defines policies. |
| Configuration option = Default value | Description |
|---|---|
| [oslo_messaging_qpid] | |
amqp_auto_delete = False
|
(BoolOpt) Auto-delete queues in AMQP. |
amqp_durable_queues = False
|
(BoolOpt) Use durable queues in AMQP. |
qpid_heartbeat = 60
|
(IntOpt) Seconds between connection keepalive heartbeats. |
qpid_hostname = localhost
|
(StrOpt) Qpid broker hostname. |
qpid_hosts = $qpid_hostname:$qpid_port
|
(ListOpt) Qpid HA cluster host:port pairs. |
qpid_password =
|
(StrOpt) Password for Qpid connection. |
qpid_port = 5672
|
(IntOpt) Qpid broker port. |
qpid_protocol = tcp
|
(StrOpt) Transport to use, either 'tcp' or 'ssl'. |
qpid_receiver_capacity = 1
|
(IntOpt) The number of prefetched messages held by receiver. |
qpid_sasl_mechanisms =
|
(StrOpt) Space separated list of SASL mechanisms to use for auth. |
qpid_tcp_nodelay = True
|
(BoolOpt) Whether to disable the Nagle algorithm. |
qpid_topology_version = 1
|
(IntOpt) The qpid topology version to use. Version 1 is what was originally used by impl_qpid. Version 2 includes some backwards-incompatible changes that allow broker federation to work. Users should update to version 2 when they are able to take everything down, as it requires a clean break. |
qpid_username =
|
(StrOpt) Username for Qpid connection. |
send_single_reply = False
|
(BoolOpt) Send a single AMQP reply to call message. The current behavior since oslo-incubator is to send two AMQP replies - first one with the payload, a second one to ensure the other has finished to send the payload. We are going to remove it in the N release, but we must keep backward compatible at the same time. This option provides such compatibility - it defaults to False in Liberty and can be turned on for early adopters with new installations or for testing. This option will be removed in the Mitaka release. |
| Configuration option = Default value | Description |
|---|---|
[oslo_messaging_rabbit]
|
|
amqp_auto_delete = False
|
(Boolean) Auto-delete queues in AMQP. |
amqp_durable_queues = False
|
(Boolean) Use durable queues in AMQP. |
channel_max = None
|
(Integer) Maximum number of channels to allow |
default_notification_exchange = ${control_exchange}_notification
|
(String) Exchange name for for sending notifications |
default_notification_retry_attempts = -1
|
(Integer) Reconnecting retry count in case of connectivity problem during sending notification, -1 means infinite retry. |
default_rpc_exchange = ${control_exchange}_rpc
|
(String) Exchange name for sending RPC messages |
default_rpc_retry_attempts = -1
|
(Integer) Reconnecting retry count in case of connectivity problem during sending RPC message, -1 means infinite retry. If actual retry attempts in not 0 the rpc request could be processed more then one time |
fake_rabbit = False
|
(Boolean) Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake |
frame_max = None
|
(Integer) The maximum byte size for an AMQP frame |
heartbeat_interval = 1
|
(Integer) How often to send heartbeats for consumer's connections |
heartbeat_rate = 2
|
(Integer) How often times during the heartbeat_timeout_threshold we check the heartbeat. |
heartbeat_timeout_threshold = 60
|
(Integer) Number of seconds after which the Rabbit broker is considered down if heartbeat's keep-alive fails (0 disable the heartbeat). EXPERIMENTAL |
host_connection_reconnect_delay = 0.25
|
(Floating point) Set delay for reconnection to some host which has connection error |
kombu_compression = None
|
(String) EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not be used. This option may notbe available in future versions. |
kombu_failover_strategy = round-robin
|
(String) 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. |
kombu_missing_consumer_retry_timeout = 60
|
(Integer) How long to wait a missing client beforce abandoning to send it its replies. This value should not be longer than rpc_response_timeout. |
kombu_reconnect_delay = 1.0
|
(Floating point) How long to wait before reconnecting in response to an AMQP consumer cancel notification. |
kombu_ssl_ca_certs =
|
(String) SSL certification authority file (valid only if SSL enabled). |
kombu_ssl_certfile =
|
(String) SSL cert file (valid only if SSL enabled). |
kombu_ssl_keyfile =
|
(String) SSL key file (valid only if SSL enabled). |
kombu_ssl_version =
|
(String) 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. |
notification_listener_prefetch_count = 100
|
(Integer) Max number of not acknowledged message which RabbitMQ can send to notification listener. |
notification_persistence = False
|
(Boolean) Persist notification messages. |
notification_retry_delay = 0.25
|
(Floating point) Reconnecting retry delay in case of connectivity problem during sending notification message |
pool_max_overflow = 0
|
(Integer) Maximum number of connections to create above `pool_max_size`. |
pool_max_size = 10
|
(Integer) Maximum number of connections to keep queued. |
pool_recycle = 600
|
(Integer) Lifetime of a connection (since creation) in seconds or None for no recycling. Expired connections are closed on acquire. |
pool_stale = 60
|
(Integer) Threshold at which inactive (since release) connections are considered stale in seconds or None for no staleness. Stale connections are closed on acquire. |
pool_timeout = 30
|
(Integer) Default number of seconds to wait for a connections to available |
rabbit_ha_queues = False
|
(Boolean) 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"}' " |
rabbit_host = localhost
|
(String) The RabbitMQ broker address where a single node is used. |
rabbit_hosts = $rabbit_host:$rabbit_port
|
(List) RabbitMQ HA cluster host:port pairs. |
rabbit_interval_max = 30
|
(Integer) Maximum interval of RabbitMQ connection retries. Default is 30 seconds. |
rabbit_login_method = AMQPLAIN
|
(String) The RabbitMQ login method. |
rabbit_max_retries = 0
|
(Integer) Maximum number of RabbitMQ connection retries. Default is 0 (infinite retry count). |
rabbit_password = guest
|
(String) The RabbitMQ password. |
rabbit_port = 5672
|
(Port number) The RabbitMQ broker port where a single node is used. |
rabbit_qos_prefetch_count = 0
|
(Integer) Specifies the number of messages to prefetch. Setting to zero allows unlimited messages. |
rabbit_retry_backoff = 2
|
(Integer) How long to backoff for between retries when connecting to RabbitMQ. |
rabbit_retry_interval = 1
|
(Integer) How frequently to retry connecting with RabbitMQ. |
rabbit_transient_queues_ttl = 1800
|
(Integer) 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. |
rabbit_use_ssl = False
|
(Boolean) Connect over SSL for RabbitMQ. |
rabbit_userid = guest
|
(String) The RabbitMQ userid. |
rabbit_virtual_host = /
|
(String) The RabbitMQ virtual host. |
rpc_listener_prefetch_count = 100
|
(Integer) Max number of not acknowledged message which RabbitMQ can send to rpc listener. |
rpc_queue_expiration = 60
|
(Integer) Time to live for rpc queues without consumers in seconds. |
rpc_reply_exchange = ${control_exchange}_rpc_reply
|
(String) Exchange name for receiving RPC replies |
rpc_reply_listener_prefetch_count = 100
|
(Integer) Max number of not acknowledged message which RabbitMQ can send to rpc reply listener. |
rpc_reply_retry_attempts = -1
|
(Integer) Reconnecting retry count in case of connectivity problem during sending reply. -1 means infinite retry during rpc_timeout |
rpc_reply_retry_delay = 0.25
|
(Floating point) Reconnecting retry delay in case of connectivity problem during sending reply. |
rpc_retry_delay = 0.25
|
(Floating point) Reconnecting retry delay in case of connectivity problem during sending RPC message |
socket_timeout = 0.25
|
(Floating point) Set socket timeout in seconds for connection's socket |
ssl = None
|
(Boolean) Enable SSL |
ssl_options = None
|
(Dict) Arguments passed to ssl.wrap_socket |
tcp_user_timeout = 0.25
|
(Floating point) Set TCP_USER_TIMEOUT in seconds for connection's socket |
| Configuration option = Default value | Description |
|---|---|
[matchmaker_redis]
|
|
check_timeout = 20000
|
(Integer) Time in ms to wait before the transaction is killed. |
host = 127.0.0.1
|
(String) Host to locate redis. |
password =
|
(String) Password for Redis server (optional). |
port = 6379
|
(Port number) Use this port to connect to redis host. |
sentinel_group_name = oslo-messaging-zeromq
|
(String) Redis replica set name. |
sentinel_hosts =
|
(List) List of Redis Sentinel hosts (fault tolerance mode) e.g. [host:port, host1:port ... ] |
socket_timeout = 1000
|
(Integer) Timeout in ms on blocking socket operations |
wait_timeout = 500
|
(Integer) Time in ms to wait between connection attempts. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
rpc_backend = rabbit
|
(String) The messaging driver to use, defaults to rabbit. Other drivers include amqp and zmq. |
rpc_cast_timeout = -1
|
(Integer) Seconds to wait before a cast expires (TTL). The default value of -1 specifies an infinite linger period. The value of 0 specifies no linger period. Pending messages shall be discarded immediately when the socket is closed. Only supported by impl_zmq. |
rpc_conn_pool_size = 30
|
(Integer) Size of RPC connection pool. |
rpc_poll_timeout = 1
|
(Integer) The default number of seconds that poll should wait. Poll raises timeout exception when timeout expired. |
rpc_response_timeout = 60
|
(Integer) Seconds to wait for a response from a call. |
[oslo_concurrency]
|
|
disable_process_locking = False
|
(Boolean) Enables or disables inter-process locks. |
lock_path = None
|
(String) 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. |
[oslo_messaging]
|
|
event_stream_topic = neutron_lbaas_event
|
(String) topic name for receiving events from a queue |
[oslo_messaging_amqp]
|
|
allow_insecure_clients = False
|
(Boolean) Accept clients using either SSL or plain TCP |
broadcast_prefix = broadcast
|
(String) address prefix used when broadcasting to all servers |
container_name = None
|
(String) Name for the AMQP container |
group_request_prefix = unicast
|
(String) address prefix when sending to any server in group |
idle_timeout = 0
|
(Integer) Timeout for inactive connections (in seconds) |
password =
|
(String) Password for message broker authentication |
sasl_config_dir =
|
(String) Path to directory that contains the SASL configuration |
sasl_config_name =
|
(String) Name of configuration file (without .conf suffix) |
sasl_mechanisms =
|
(String) Space separated list of acceptable SASL mechanisms |
server_request_prefix = exclusive
|
(String) address prefix used when sending to a specific server |
ssl_ca_file =
|
(String) CA certificate PEM file to verify server certificate |
ssl_cert_file =
|
(String) Identifying certificate PEM file to present to clients |
ssl_key_file =
|
(String) Private key PEM file used to sign cert_file certificate |
ssl_key_password = None
|
(String) Password for decrypting ssl_key_file (if encrypted) |
trace = False
|
(Boolean) Debug: dump AMQP frames to stdout |
username =
|
(String) User name for message broker authentication |
[oslo_messaging_notifications]
|
|
driver = []
|
(Multi-valued) The Drivers(s) to handle sending notifications. Possible values are messaging, messagingv2, routing, log, test, noop |
enable = False
|
(Boolean) Enables sending notifications to Ceilometer |
level = INFO
|
(String) Notification level for outgoing notifications |
publisher_id = None
|
(String) Notification publisher_id for outgoing notifications |
topics = notifications
|
(List) AMQP topic used for OpenStack notifications. |
transport_url = None
|
(String) A URL representing the messaging driver to use for notifications. If not set, we fall back to the same configuration used for RPC. |
| Configuration option = Default value | Description |
|---|---|
[timeouts]
|
|
delete_instances_timeout = 10800
|
(Integer) Wait for instances to be deleted, in seconds |
detach_volume_timeout = 300
|
(Integer) Timeout for detaching volumes from instance, in seconds |
ips_assign_timeout = 10800
|
(Integer) Assign IPs timeout, in seconds |
wait_until_accessible = 10800
|
(Integer) Wait for instance accessibility, in seconds |
6.1. New, updated, and deprecated options in Mitaka for Data Processing service Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[DEFAULT] coordinator_heartbeat_interval = 1
|
(IntOpt) Interval size between heartbeat execution in seconds. Heartbeats are executed to make sure that connection to the coordination server is active. |
[DEFAULT] hash_ring_replicas_count = 40
|
(IntOpt) Number of points that belongs to each member on a hash ring. The larger number leads to a better distribution. |
[DEFAULT] periodic_coordinator_backend_url = None
|
(StrOpt) The backend URL to use for distributed periodic tasks coordination. |
[DEFAULT] periodic_workers_number = 1
|
(IntOpt) Number of threads to run periodic tasks. |
[DEFAULT] use_barbican_key_manager = False
|
(BoolOpt) Enable the usage of the OpenStack Key Management service provided by barbican. |
[castellan] barbican_api_endpoint = None
|
(StrOpt) The endpoint to use for connecting to the barbican api controller. By default, castellan will use the URL from the service catalog. |
[castellan] barbican_api_version = v1
|
(StrOpt) Version of the barbican API, for example: "v1" |
[cluster_verifications] verification_enable = True
|
(BoolOpt) Option to enable verifications for all clusters |
[cluster_verifications] verification_periodic_interval = 600
|
(IntOpt) Interval between two consecutive periodic tasks forverifications, in seconds. |
[oslo_messaging_notifications] enable = False
|
(BoolOpt) Enables sending notifications to Ceilometer |
[oslo_messaging_notifications] level = INFO
|
(StrOpt) Notification level for outgoing notifications |
[oslo_messaging_notifications] publisher_id = None
|
(StrOpt) Notification publisher_id for outgoing notifications |
| Option | Previous default value | New default value |
|---|---|---|
[DEFAULT] api_workers
|
0 | 1 |
[DEFAULT] plugins
|
hdp, cdh | cdh |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT] enable_notifications
|
[oslo_messaging_notifications] enable |
[DEFAULT] notification_level
|
[oslo_messaging_notifications] level |
[DEFAULT] notification_publisher_id
|
[oslo_messaging_notifications] publisher_id |
[DEFAULT] use_syslog
|
None |
Chapter 7. Identity service Copier lienLien copié sur presse-papiers!
7.1. Identity service configuration file Copier lienLien copié sur presse-papiers!
/etc/keystone/keystone.conf file.
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
admin_endpoint = None
|
(StrOpt) The base admin endpoint URL for Keystone that is advertised to clients (NOTE: this does NOT affect how Keystone listens for connections). Defaults to the base host URL of the request. E.g. a request to http://server:35357/v3/users will default to http://server:35357. You should only need to set this value if the base URL contains a path (e.g. /prefix/v3) or the endpoint should be found on a different server. |
admin_token = ADMIN
|
(StrOpt) A "shared secret" that can be used to bootstrap Keystone. This "token" does not represent a user, and carries no explicit authorization. To disable in production (highly recommended), remove AdminTokenAuthMiddleware from your paste application pipelines (for example, in keystone-paste.ini). |
domain_id_immutable = True
|
(BoolOpt) Set this to false if you want to enable the ability for user, group and project entities to be moved between domains by updating their domain_id. Allowing such movement is not recommended if the scope of a domain admin is being restricted by use of an appropriate policy file (see policy.v3cloudsample as an example). |
list_limit = None
|
(IntOpt) The maximum number of entities that will be returned in a collection, with no limit set by default. This global limit may be then overridden for a specific driver, by specifying a list_limit in the appropriate section (e.g. [assignment]). |
max_param_size = 64
|
(IntOpt) Limit the sizes of user & project ID/names. |
max_project_tree_depth = 5
|
(IntOpt) Maximum depth of the project hierarchy. WARNING: setting it to a large value may adversely impact performance. |
max_token_size = 8192
|
(IntOpt) Similar to max_param_size, but provides an exception for token values. |
member_role_id = 9fe2ff9ee4384b1894a90878d3e92bab
|
(StrOpt) Similar to the member_role_name option, this represents the default role ID used to associate users with their default projects in the v2 API. This will be used as the explicit role where one is not specified by the v2 API. |
member_role_name = _member_
|
(StrOpt) This is the role name used in combination with the member_role_id option; see that option for more detail. |
public_endpoint = None
|
(StrOpt) The base public endpoint URL for Keystone that is advertised to clients (NOTE: this does NOT affect how Keystone listens for connections). Defaults to the base host URL of the request. E.g. a request to http://server:5000/v3/users will default to http://server:5000. You should only need to set this value if the base URL contains a path (e.g. /prefix/v3) or the endpoint should be found on a different server. |
secure_proxy_ssl_header = None
|
(StrOpt) The HTTP header used to determine the scheme for the original request, even if it was removed by an SSL terminating proxy. Typical value is "HTTP_X_FORWARDED_PROTO". |
strict_password_check = False
|
(BoolOpt) If set to true, strict password length checking is performed for password manipulation. If a password exceeds the maximum length, the operation will fail with an HTTP 403 Forbidden error. If set to false, passwords are automatically truncated to the maximum length. |
| [endpoint_filter] | |
driver = sql
|
(StrOpt) Entrypoint for the endpoint filter backend driver in the keystone.endpoint_filter namespace. |
return_all_endpoints_if_no_filter = True
|
(BoolOpt) Toggle to return all active endpoints if no filter exists. |
| [endpoint_policy] | |
driver = sql
|
(StrOpt) Entrypoint for the endpoint policy backend driver in the keystone.endpoint_policy namespace. |
enabled = True
|
(BoolOpt) Enable endpoint_policy functionality. |
| [eventlet_server] | |
admin_bind_host = 0.0.0.0
|
(StrOpt) The IP address of the network interface for the admin service to listen on. |
admin_port = 35357
|
(IntOpt) The port number which the admin service listens on. |
admin_workers = None
|
(IntOpt) The number of worker processes to serve the admin eventlet application. Defaults to number of CPUs (minimum of 2). |
client_socket_timeout = 900
|
(IntOpt) Timeout for socket operations on a client connection. If an incoming connection is idle for this number of seconds it will be closed. A value of '0' means wait forever. |
public_bind_host = 0.0.0.0
|
(StrOpt) The IP address of the network interface for the public service to listen on. |
public_port = 5000
|
(IntOpt) The port number which the public service listens on. |
public_workers = None
|
(IntOpt) The number of worker processes to serve the public eventlet application. Defaults to number of CPUs (minimum of 2). |
tcp_keepalive = False
|
(BoolOpt) Set this to true if you want to enable TCP_KEEPALIVE on server sockets, i.e. sockets used by the Keystone wsgi server for client connections. |
tcp_keepidle = 600
|
(IntOpt) Sets the value of TCP_KEEPIDLE in seconds for each server socket. Only applies if tcp_keepalive is true. |
wsgi_keep_alive = True
|
(BoolOpt) If set to false, disables keepalives on the server; all connections will be closed after serving one request. |
| [oslo_middleware] | |
max_request_body_size = 114688
|
(IntOpt) The maximum body size for each request, in bytes. |
secure_proxy_ssl_header = X-Forwarded-Proto
|
(StrOpt) The HTTP Header that will be used to determine what the original request protocol scheme was, even if it was hidden by an SSL termination proxy. |
| [paste_deploy] | |
config_file = keystone-paste.ini
|
(StrOpt) Name of the paste configuration file that defines the available pipelines. |
| [resource] | |
cache_time = None
|
(IntOpt) TTL (in seconds) to cache resource data. This has no effect unless global caching is enabled. |
caching = True
|
(BoolOpt) Toggle for resource caching. This has no effect unless global caching is enabled. |
driver = None
|
(StrOpt) Entrypoint for the resource backend driver in the keystone.resource namespace. Supplied drivers are ldap and sql. If a resource driver is not specified, the assignment driver will choose the resource driver. |
list_limit = None
|
(IntOpt) Maximum number of entities that will be returned in a resource collection. |
| Configuration option = Default value | Description |
|---|---|
| [assignment] | |
driver = None
|
(StrOpt) Entrypoint for the assignment backend driver in the keystone.assignment namespace. Supplied drivers are ldap and sql. If an assignment driver is not specified, the identity driver will choose the assignment driver. |
| Configuration option = Default value | Description |
|---|---|
| [auth] | |
external = None
|
(StrOpt) Entrypoint for the external (REMOTE_USER) auth plugin module in the keystone.auth.external namespace. Supplied drivers are DefaultDomain and Domain. The default driver is DefaultDomain. |
methods = external, password, token, oauth1
|
(ListOpt) Allowed authentication methods. |
oauth1 = None
|
(StrOpt) Entrypoint for the oAuth1.0 auth plugin module in the keystone.auth.oauth1 namespace. |
password = None
|
(StrOpt) Entrypoint for the password auth plugin module in the keystone.auth.password namespace. |
token = None
|
(StrOpt) Entrypoint for the token auth plugin module in the keystone.auth.token namespace. |
| Configuration option = Default value | Description |
|---|---|
| [keystone_authtoken] | |
admin_password = None
|
(StrOpt) Service user password. |
admin_tenant_name = admin
|
(StrOpt) Service tenant name. |
admin_token = None
|
(StrOpt) This option is deprecated and may be removed in a future release. Single shared secret with the Keystone configuration used for bootstrapping a Keystone installation, or otherwise bypassing the normal authentication process. This option should not be used, use `admin_user` and `admin_password` instead. |
admin_user = None
|
(StrOpt) Service username. |
auth_admin_prefix =
|
(StrOpt) Prefix to prepend at the beginning of the path. Deprecated, use identity_uri. |
auth_host = 127.0.0.1
|
(StrOpt) Host providing the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_plugin = None
|
(StrOpt) Name of the plugin to load |
auth_port = 35357
|
(IntOpt) Port of the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_protocol = https
|
(StrOpt) Protocol of the admin Identity API endpoint (http or https). Deprecated, use identity_uri. |
auth_section = None
|
(StrOpt) Config Section from which to load plugin specific options |
auth_uri = None
|
(StrOpt) Complete public Identity API endpoint. |
auth_version = None
|
(StrOpt) API version of the admin Identity API endpoint. |
cache = None
|
(StrOpt) Env key for the swift cache. |
cafile = None
|
(StrOpt) A PEM encoded Certificate Authority to use when verifying HTTPs connections. Defaults to system CAs. |
certfile = None
|
(StrOpt) Required if identity server requires client certificate |
check_revocations_for_cached = False
|
(BoolOpt) If true, the revocation list will be checked for cached tokens. This requires that PKI tokens are configured on the identity server. |
delay_auth_decision = False
|
(BoolOpt) Do not handle authorization requests within the middleware, but delegate the authorization decision to downstream WSGI components. |
enforce_token_bind = permissive
|
(StrOpt) 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. |
hash_algorithms = md5
|
(ListOpt) Hash algorithms to use for hashing PKI tokens. This may be a single algorithm or multiple. The algorithms are those supported by Python standard hashlib.new(). The hashes will be tried in the order given, so put the preferred one first for performance. The result of the first hash will be stored in the cache. This will typically be set to multiple values only while migrating from a less secure algorithm to a more secure one. Once all the old tokens are expired this option should be set to a single value for better performance. |
http_connect_timeout = None
|
(IntOpt) Request timeout value for communicating with Identity API server. |
http_request_max_retries = 3
|
(IntOpt) How many times are we trying to reconnect when communicating with Identity API Server. |
identity_uri = None
|
(StrOpt) Complete admin Identity API endpoint. This should specify the unversioned root endpoint e.g. https://localhost:35357/ |
include_service_catalog = True
|
(BoolOpt) (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. |
insecure = False
|
(BoolOpt) Verify HTTPS connections. |
keyfile = None
|
(StrOpt) Required if identity server requires client certificate |
memcache_pool_conn_get_timeout = 10
|
(IntOpt) (Optional) Number of seconds that an operation will wait to get a memcached client connection from the pool. |
memcache_pool_dead_retry = 300
|
(IntOpt) (Optional) Number of seconds memcached server is considered dead before it is tried again. |
memcache_pool_maxsize = 10
|
(IntOpt) (Optional) Maximum total number of open connections to every memcached server. |
memcache_pool_socket_timeout = 3
|
(IntOpt) (Optional) Socket timeout in seconds for communicating with a memcached server. |
memcache_pool_unused_timeout = 60
|
(IntOpt) (Optional) Number of seconds a connection to memcached is held unused in the pool before it is closed. |
memcache_secret_key = None
|
(StrOpt) (Optional, mandatory if memcache_security_strategy is defined) This string is used for key derivation. |
memcache_security_strategy = None
|
(StrOpt) (Optional) If defined, indicate whether token data should be authenticated or authenticated and encrypted. Acceptable values are MAC or ENCRYPT. 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. |
memcache_use_advanced_pool = False
|
(BoolOpt) (Optional) Use the advanced (eventlet safe) memcached client pool. The advanced pool will only work under python 2.x. |
region_name = None
|
(StrOpt) The region in which the identity server can be found. |
revocation_cache_time = 10
|
(IntOpt) Determines the frequency at which the list of revoked tokens is retrieved from the Identity service (in seconds). A high number of revocation events combined with a low cache duration may significantly reduce performance. |
signing_dir = None
|
(StrOpt) Directory used to cache files related to PKI tokens. |
token_cache_time = 300
|
(IntOpt) 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. |
| Configuration option = Default value | Description |
|---|---|
| [eventlet_server_ssl] | |
ca_certs = /etc/keystone/ssl/certs/ca.pem
|
(StrOpt) Path of the CA cert file for SSL. |
cert_required = False
|
(BoolOpt) Require client certificate. |
certfile = /etc/keystone/ssl/certs/keystone.pem
|
(StrOpt) Path of the certfile for SSL. For non-production environments, you may be interested in using `keystone-manage ssl_setup` to generate self-signed certificates. |
enable = False
|
(BoolOpt) Toggle for SSL support on the Keystone eventlet servers. |
keyfile = /etc/keystone/ssl/private/keystonekey.pem
|
(StrOpt) Path of the keyfile for SSL. |
| [signing] | |
ca_certs = /etc/keystone/ssl/certs/ca.pem
|
(StrOpt) Path of the CA for token signing. |
ca_key = /etc/keystone/ssl/private/cakey.pem
|
(StrOpt) Path of the CA key for token signing. |
cert_subject = /C=US/ST=Unset/L=Unset/O=Unset/CN=www.example.com
|
(StrOpt) Certificate subject (auto generated certificate) for token signing. |
certfile = /etc/keystone/ssl/certs/signing_cert.pem
|
(StrOpt) Path of the certfile for token signing. For non-production environments, you may be interested in using `keystone-manage pki_setup` to generate self-signed certificates. |
key_size = 2048
|
(IntOpt) Key size (in bits) for token signing cert (auto generated certificate). |
keyfile = /etc/keystone/ssl/private/signing_key.pem
|
(StrOpt) Path of the keyfile for token signing. |
valid_days = 3650
|
(IntOpt) Days the token signing cert is valid for (auto generated certificate). |
| [ssl] | |
ca_key = /etc/keystone/ssl/private/cakey.pem
|
(StrOpt) Path of the CA key file for SSL. |
cert_subject = /C=US/ST=Unset/L=Unset/O=Unset/CN=localhost
|
(StrOpt) SSL certificate subject (auto generated certificate). |
key_size = 1024
|
(IntOpt) SSL key length (in bits) (auto generated certificate). |
valid_days = 3650
|
(IntOpt) Days the certificate is valid for once signed (auto generated certificate). |
| Configuration option = Default value | Description |
|---|---|
| [catalog] | |
cache_time = None
|
(IntOpt) Time to cache catalog data (in seconds). This has no effect unless global and catalog caching are enabled. |
caching = True
|
(BoolOpt) Toggle for catalog caching. This has no effect unless global caching is enabled. |
driver = sql
|
(StrOpt) Entrypoint for the catalog backend driver in the keystone.catalog namespace. Supplied drivers are kvs, sql, templated, and endpoint_filter.sql |
list_limit = None
|
(IntOpt) Maximum number of entities that will be returned in a catalog collection. |
template_file = default_catalog.templates
|
(StrOpt) Catalog template file name for use with the template catalog backend. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
executor_thread_pool_size = 64
|
(IntOpt) Size of executor thread pool. |
memcached_servers = None
|
(ListOpt) Memcached servers or None for in process cache. |
| [keystone_authtoken] | |
memcached_servers = None
|
(ListOpt) Optionally specify a list of memcached server(s) to use for caching. If left undefined, tokens will instead be cached in-process. |
| [oslo_concurrency] | |
disable_process_locking = False
|
(BoolOpt) Enables or disables inter-process locks. |
lock_path = None
|
(StrOpt) 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. |
| Configuration option = Default value | Description |
|---|---|
| [cors] | |
allow_credentials = True
|
(BoolOpt) Indicate that the actual request can include user credentials |
allow_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma
|
(ListOpt) Indicate which header field names may be used during the actual request. |
allow_methods = GET, POST, PUT, DELETE, OPTIONS
|
(ListOpt) Indicate which methods can be used during the actual request. |
allowed_origin = None
|
(StrOpt) Indicate whether this resource may be shared with the domain received in the requests "origin" header. |
expose_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma
|
(ListOpt) Indicate which headers are safe to expose to the API. Defaults to HTTP Simple Headers. |
max_age = 3600
|
(IntOpt) Maximum cache age of CORS preflight requests. |
| [cors.subdomain] | |
allow_credentials = True
|
(BoolOpt) Indicate that the actual request can include user credentials |
allow_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma
|
(ListOpt) Indicate which header field names may be used during the actual request. |
allow_methods = GET, POST, PUT, DELETE, OPTIONS
|
(ListOpt) Indicate which methods can be used during the actual request. |
allowed_origin = None
|
(StrOpt) Indicate whether this resource may be shared with the domain received in the requests "origin" header. |
expose_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma
|
(ListOpt) Indicate which headers are safe to expose to the API. Defaults to HTTP Simple Headers. |
max_age = 3600
|
(IntOpt) Maximum cache age of CORS preflight requests. |
| Configuration option = Default value | Description |
|---|---|
| [credential] | |
driver = sql
|
(StrOpt) Entrypoint for the credential backend driver in the keystone.credential namespace. |
| Configuration option = Default value | Description |
|---|---|
| [database] | |
backend = sqlalchemy
|
(StrOpt) The back end to use for the database. |
connection = None
|
(StrOpt) The SQLAlchemy connection string to use to connect to the database. |
connection_debug = 0
|
(IntOpt) Verbosity of SQL debugging information: 0=None, 100=Everything. |
connection_trace = False
|
(BoolOpt) Add Python stack traces to SQL as comment strings. |
db_inc_retry_interval = True
|
(BoolOpt) If True, increases the interval between retries of a database operation up to db_max_retry_interval. |
db_max_retries = 20
|
(IntOpt) Maximum retries in case of connection error or deadlock error before error is raised. Set to -1 to specify an infinite retry count. |
db_max_retry_interval = 10
|
(IntOpt) If db_inc_retry_interval is set, the maximum seconds between retries of a database operation. |
db_retry_interval = 1
|
(IntOpt) Seconds between retries of a database transaction. |
idle_timeout = 3600
|
(IntOpt) Timeout before idle SQL connections are reaped. |
max_overflow = None
|
(IntOpt) If set, use this value for max_overflow with SQLAlchemy. |
max_pool_size = None
|
(IntOpt) Maximum number of SQL connections to keep open in a pool. |
max_retries = 10
|
(IntOpt) Maximum number of database connection retries during startup. Set to -1 to specify an infinite retry count. |
min_pool_size = 1
|
(IntOpt) Minimum number of SQL connections to keep open in a pool. |
mysql_sql_mode = TRADITIONAL
|
(StrOpt) 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= |
pool_timeout = None
|
(IntOpt) If set, use this value for pool_timeout with SQLAlchemy. |
retry_interval = 10
|
(IntOpt) Interval between retries of opening a SQL connection. |
slave_connection = None
|
(StrOpt) The SQLAlchemy connection string to use to connect to the slave database. |
sqlite_db = oslo.sqlite
|
(StrOpt) The file name to use with SQLite. |
sqlite_synchronous = True
|
(BoolOpt) If True, SQLite uses synchronous mode. |
use_db_reconnect = False
|
(BoolOpt) Enable the experimental use of database reconnect on connection lost. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
pydev_debug_host = None
|
(StrOpt) Host to connect to for remote debugger. |
pydev_debug_port = None
|
(IntOpt) Port to connect to for remote debugger. |
standard_threads = False
|
(BoolOpt) Do not monkey-patch threading system modules. |
| [audit] | |
namespace = openstack
|
(StrOpt) namespace prefix for generated id |
| Configuration option = Default value | Description |
|---|---|
| [domain_config] | |
cache_time = 300
|
(IntOpt) TTL (in seconds) to cache domain config data. This has no effect unless domain config caching is enabled. |
caching = True
|
(BoolOpt) Toggle for domain config caching. This has no effect unless global caching is enabled. |
driver = sql
|
(StrOpt) Entrypoint for the domain config backend driver in the keystone.resource.domain_config namespace. |
| Configuration option = Default value | Description |
|---|---|
| [federation] | |
assertion_prefix =
|
(StrOpt) Value to be used when filtering assertion parameters from the environment. |
driver = sql
|
(StrOpt) Entrypoint for the federation backend driver in the keystone.federation namespace. |
federated_domain_name = Federated
|
(StrOpt) A domain name that is reserved to allow federated ephemeral users to have a domain concept. Note that an admin will not be able to create a domain with this name or update an existing domain to this name. You are not advised to change this value unless you really have to. |
remote_id_attribute = None
|
(StrOpt) Value to be used to obtain the entity ID of the Identity Provider from the environment (e.g. if using the mod_shib plugin this value is `Shib-Identity-Provider`). |
sso_callback_template = /etc/keystone/sso_callback_template.html
|
(StrOpt) Location of Single Sign-On callback handler, will return a token to a trusted dashboard host. |
trusted_dashboard = []
|
(MultiStrOpt) A list of trusted dashboard hosts. Before accepting a Single Sign-On request to return a token, the origin host must be a member of the trusted_dashboard list. This configuration option may be repeated for multiple values. For example: trusted_dashboard=http://acme.com/auth/websso trusted_dashboard=http://beta.com/auth/websso |
| Configuration option = Default value | Description |
|---|---|
| [fernet_tokens] | |
key_repository = /etc/keystone/fernet-keys/
|
(StrOpt) Directory containing Fernet token keys. |
max_active_keys = 3
|
(IntOpt) This controls how many keys are held in rotation by keystone-manage fernet_rotate before they are discarded. The default value of 3 means that keystone will maintain one staged key, one primary key, and one secondary key. Increasing this value means that additional secondary keys will be kept in the rotation. |
| Configuration option = Default value | Description |
|---|---|
| [identity] | |
cache_time = 600
|
(IntOpt) Time to cache identity data (in seconds). This has no effect unless global and identity caching are enabled. |
caching = True
|
(BoolOpt) Toggle for identity caching. This has no effect unless global caching is enabled. |
default_domain_id = default
|
(StrOpt) This references the domain to use for all Identity API v2 requests (which are not aware of domains). A domain with this ID will be created for you by keystone-manage db_sync in migration 008. The domain referenced by this ID cannot be deleted on the v3 API, to prevent accidentally breaking the v2 API. There is nothing special about this domain, other than the fact that it must exist to order to maintain support for your v2 clients. |
domain_config_dir = /etc/keystone/domains
|
(StrOpt) Path for Keystone to locate the domain specific identity configuration files if domain_specific_drivers_enabled is set to true. |
domain_configurations_from_database = False
|
(BoolOpt) Extract the domain specific configuration options from the resource backend where they have been stored with the domain data. This feature is disabled by default (in which case the domain specific options will be loaded from files in the domain configuration directory); set to true to enable. |
domain_specific_drivers_enabled = False
|
(BoolOpt) A subset (or all) of domains can have their own identity driver, each with their own partial configuration options, stored in either the resource backend or in a file in a domain configuration directory (depending on the setting of domain_configurations_from_database). Only values specific to the domain need to be specified in this manner. This feature is disabled by default; set to true to enable. |
driver = sql
|
(StrOpt) Entrypoint for the identity backend driver in the keystone.identity namespace. Supplied drivers are ldap and sql. |
list_limit = None
|
(IntOpt) Maximum number of entities that will be returned in an identity collection. |
max_password_length = 4096
|
(IntOpt) Maximum supported length for user passwords; decrease to improve performance. |
| Configuration option = Default value | Description |
|---|---|
| [kvs] | |
backends =
|
(ListOpt) Extra dogpile.cache backend modules to register with the dogpile.cache library. |
config_prefix = keystone.kvs
|
(StrOpt) Prefix for building the configuration dictionary for the KVS region. This should not need to be changed unless there is another dogpile.cache region with the same configuration name. |
default_lock_timeout = 5
|
(IntOpt) Default lock timeout (in seconds) for distributed locking. |
enable_key_mangler = True
|
(BoolOpt) Toggle to disable using a key-mangling function to ensure fixed length keys. This is toggle-able for debugging purposes, it is highly recommended to always leave this set to true. |
| Configuration option = Default value | Description |
|---|---|
| [ldap] | |
alias_dereferencing = default
|
(StrOpt) The LDAP dereferencing option for queries. The "default" option falls back to using default dereferencing configured by your ldap.conf. |
allow_subtree_delete = False
|
(BoolOpt) Delete subtrees using the subtree delete control. Only enable this option if your LDAP server supports subtree deletion. |
auth_pool_connection_lifetime = 60
|
(IntOpt) End user auth connection lifetime in seconds. |
auth_pool_size = 100
|
(IntOpt) End user auth connection pool size. |
chase_referrals = None
|
(BoolOpt) Override the system's default referral chasing behavior for queries. |
debug_level = None
|
(IntOpt) Sets the LDAP debugging level for LDAP calls. A value of 0 means that debugging is not enabled. This value is a bitmask, consult your LDAP documentation for possible values. |
dumb_member = cn=dumb,dc=nonexistent
|
(StrOpt) DN of the "dummy member" to use when "use_dumb_member" is enabled. |
group_additional_attribute_mapping =
|
(ListOpt) Additional attribute mappings for groups. Attribute mapping format is <ldap_attr>:<user_attr>, where ldap_attr is the attribute in the LDAP entry and user_attr is the Identity API attribute. |
group_allow_create = True
|
(BoolOpt) Allow group creation in LDAP backend. |
group_allow_delete = True
|
(BoolOpt) Allow group deletion in LDAP backend. |
group_allow_update = True
|
(BoolOpt) Allow group update in LDAP backend. |
group_attribute_ignore =
|
(ListOpt) List of attributes stripped off the group on update. |
group_desc_attribute = description
|
(StrOpt) LDAP attribute mapped to group description. |
group_filter = None
|
(StrOpt) LDAP search filter for groups. |
group_id_attribute = cn
|
(StrOpt) LDAP attribute mapped to group id. |
group_member_attribute = member
|
(StrOpt) LDAP attribute mapped to show group membership. |
group_name_attribute = ou
|
(StrOpt) LDAP attribute mapped to group name. |
group_objectclass = groupOfNames
|
(StrOpt) LDAP objectclass for groups. |
group_tree_dn = None
|
(StrOpt) Search base for groups. Defaults to the suffix value. |
page_size = 0
|
(IntOpt) Maximum results per page; a value of zero ("0") disables paging. |
password = None
|
(StrOpt) Password for the BindDN to query the LDAP server. |
pool_connection_lifetime = 600
|
(IntOpt) Connection lifetime in seconds. |
pool_connection_timeout = -1
|
(IntOpt) Connector timeout in seconds. Value -1 indicates indefinite wait for response. |
pool_retry_delay = 0.1
|
(FloatOpt) Time span in seconds to wait between two reconnect trials. |
pool_retry_max = 3
|
(IntOpt) Maximum count of reconnect trials. |
pool_size = 10
|
(IntOpt) Connection pool size. |
project_additional_attribute_mapping =
|
(ListOpt) Additional attribute mappings for projects. Attribute mapping format is <ldap_attr>:<user_attr>, where ldap_attr is the attribute in the LDAP entry and user_attr is the Identity API attribute. |
project_allow_create = True
|
(BoolOpt) Allow project creation in LDAP backend. |
project_allow_delete = True
|
(BoolOpt) Allow project deletion in LDAP backend. |
project_allow_update = True
|
(BoolOpt) Allow project update in LDAP backend. |
project_attribute_ignore =
|
(ListOpt) List of attributes stripped off the project on update. |
project_desc_attribute = description
|
(StrOpt) LDAP attribute mapped to project description. |
project_domain_id_attribute = businessCategory
|
(StrOpt) LDAP attribute mapped to project domain_id. |
project_enabled_attribute = enabled
|
(StrOpt) LDAP attribute mapped to project enabled. |
project_enabled_emulation = False
|
(BoolOpt) If true, Keystone uses an alternative method to determine if a project is enabled or not by checking if they are a member of the "project_enabled_emulation_dn" group. |
project_enabled_emulation_dn = None
|
(StrOpt) DN of the group entry to hold enabled projects when using enabled emulation. |
project_filter = None
|
(StrOpt) LDAP search filter for projects. |
project_id_attribute = cn
|
(StrOpt) LDAP attribute mapped to project id. |
project_member_attribute = member
|
(StrOpt) LDAP attribute mapped to project membership for user. |
project_name_attribute = ou
|
(StrOpt) LDAP attribute mapped to project name. |
project_objectclass = groupOfNames
|
(StrOpt) LDAP objectclass for projects. |
project_tree_dn = None
|
(StrOpt) Search base for projects. Defaults to the suffix value. |
query_scope = one
|
(StrOpt) The LDAP scope for queries, "one" represents oneLevel/singleLevel and "sub" represents subtree/wholeSubtree options. |
role_additional_attribute_mapping =
|
(ListOpt) Additional attribute mappings for roles. Attribute mapping format is <ldap_attr>:<user_attr>, where ldap_attr is the attribute in the LDAP entry and user_attr is the Identity API attribute. |
role_allow_create = True
|
(BoolOpt) Allow role creation in LDAP backend. |
role_allow_delete = True
|
(BoolOpt) Allow role deletion in LDAP backend. |
role_allow_update = True
|
(BoolOpt) Allow role update in LDAP backend. |
role_attribute_ignore =
|
(ListOpt) List of attributes stripped off the role on update. |
role_filter = None
|
(StrOpt) LDAP search filter for roles. |
role_id_attribute = cn
|
(StrOpt) LDAP attribute mapped to role id. |
role_member_attribute = roleOccupant
|
(StrOpt) LDAP attribute mapped to role membership. |
role_name_attribute = ou
|
(StrOpt) LDAP attribute mapped to role name. |
role_objectclass = organizationalRole
|
(StrOpt) LDAP objectclass for roles. |
role_tree_dn = None
|
(StrOpt) Search base for roles. |
suffix = cn=example,cn=com
|
(StrOpt) LDAP server suffix |
tls_cacertdir = None
|
(StrOpt) CA certificate directory path for communicating with LDAP servers. |
tls_cacertfile = None
|
(StrOpt) CA certificate file path for communicating with LDAP servers. |
tls_req_cert = demand
|
(StrOpt) Specifies what checks to perform on client certificates in an incoming TLS session. |
url = ldap://localhost
|
(StrOpt) URL for connecting to the LDAP server. |
use_auth_pool = False
|
(BoolOpt) Enable LDAP connection pooling for end user authentication. If use_pool is disabled, then this setting is meaningless and is not used at all. |
use_dumb_member = False
|
(BoolOpt) If true, will add a dummy member to groups. This is required if the objectclass for groups requires the "member" attribute. |
use_pool = False
|
(BoolOpt) Enable LDAP connection pooling. |
use_tls = False
|
(BoolOpt) Enable TLS for communicating with LDAP servers. |
user = None
|
(StrOpt) User BindDN to query the LDAP server. |
user_additional_attribute_mapping =
|
(ListOpt) List of additional LDAP attributes used for mapping additional attribute mappings for users. Attribute mapping format is <ldap_attr>:<user_attr>, where ldap_attr is the attribute in the LDAP entry and user_attr is the Identity API attribute. |
user_allow_create = True
|
(BoolOpt) Allow user creation in LDAP backend. |
user_allow_delete = True
|
(BoolOpt) Allow user deletion in LDAP backend. |
user_allow_update = True
|
(BoolOpt) Allow user updates in LDAP backend. |
user_attribute_ignore = default_project_id
|
(ListOpt) List of attributes stripped off the user on update. |
user_default_project_id_attribute = None
|
(StrOpt) LDAP attribute mapped to default_project_id for users. |
user_enabled_attribute = enabled
|
(StrOpt) LDAP attribute mapped to user enabled flag. |
user_enabled_default = True
|
(StrOpt) Default value to enable users. This should match an appropriate int value if the LDAP server uses non-boolean (bitmask) values to indicate if a user is enabled or disabled. If this is not set to "True" the typical value is "512". This is typically used when "user_enabled_attribute = userAccountControl". |
user_enabled_emulation = False
|
(BoolOpt) If true, Keystone uses an alternative method to determine if a user is enabled or not by checking if they are a member of the "user_enabled_emulation_dn" group. |
user_enabled_emulation_dn = None
|
(StrOpt) DN of the group entry to hold enabled users when using enabled emulation. |
user_enabled_invert = False
|
(BoolOpt) Invert the meaning of the boolean enabled values. Some LDAP servers use a boolean lock attribute where "true" means an account is disabled. Setting "user_enabled_invert = true" will allow these lock attributes to be used. This setting will have no effect if "user_enabled_mask" or "user_enabled_emulation" settings are in use. |
user_enabled_mask = 0
|
(IntOpt) Bitmask integer to indicate the bit that the enabled value is stored in if the LDAP server represents "enabled" as a bit on an integer rather than a boolean. A value of "0" indicates the mask is not used. If this is not set to "0" the typical value is "2". This is typically used when "user_enabled_attribute = userAccountControl". |
user_filter = None
|
(StrOpt) LDAP search filter for users. |
user_id_attribute = cn
|
(StrOpt) LDAP attribute mapped to user id. WARNING: must not be a multivalued attribute. |
user_mail_attribute = mail
|
(StrOpt) LDAP attribute mapped to user email. |
user_name_attribute = sn
|
(StrOpt) LDAP attribute mapped to user name. |
user_objectclass = inetOrgPerson
|
(StrOpt) LDAP objectclass for users. |
user_pass_attribute = userPassword
|
(StrOpt) LDAP attribute mapped to password. |
user_tree_dn = None
|
(StrOpt) Search base for users. Defaults to the suffix value. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
debug = False
|
(BoolOpt) Print debugging output (set logging level to DEBUG instead of default INFO level). |
default_log_levels = amqp=WARN, amqplib=WARN, boto=WARN, qpid=WARN, sqlalchemy=WARN, suds=INFO, oslo.messaging=INFO, iso8601=WARN, requests.packages.urllib3.connectionpool=WARN, urllib3.connectionpool=WARN, websocket=WARN, requests.packages.urllib3.util.retry=WARN, urllib3.util.retry=WARN, keystonemiddleware=WARN, routes.middleware=WARN, stevedore=WARN, taskflow=WARN
|
(ListOpt) List of logger=LEVEL pairs. This option is ignored if log_config_append is set. |
fatal_deprecations = False
|
(BoolOpt) Enables or disables fatal status of deprecations. |
instance_format = "[instance: %(uuid)s] "
|
(StrOpt) The format for an instance that is passed with the log message. |
instance_uuid_format = "[instance: %(uuid)s] "
|
(StrOpt) The format for an instance UUID that is passed with the log message. |
log_config_append = None
|
(StrOpt) 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_format). |
log_date_format = %Y-%m-%d %H:%M:%S
|
(StrOpt) Format string for %%(asctime)s in log records. Default: %(default)s . This option is ignored if log_config_append is set. |
log_dir = None
|
(StrOpt) (Optional) The base directory used for relative --log-file paths. This option is ignored if log_config_append is set. |
log_file = None
|
(StrOpt) (Optional) Name of log file to output to. If no default is set, logging will go to stdout. This option is ignored if log_config_append is set. |
log_format = None
|
(StrOpt) DEPRECATED. A logging.Formatter log message format string which may use any of the available logging.LogRecord attributes. This option is deprecate, use logging_context_format_string and logging_default_format_string instead. This option is ignored if log_config_append is set. |
logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
|
(StrOpt) Format string to use for log messages with context. |
logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
|
(StrOpt) Data to append to log format when level is DEBUG. |
logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
|
(StrOpt) Format string to use for log messages without context. |
logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
|
(StrOpt) Prefix each line of exception output with this format. |
publish_errors = False
|
(BoolOpt) Enables or disables publication of error events. |
syslog_log_facility = LOG_USER
|
(StrOpt) Syslog facility to receive log lines. This option is ignored if log_config_append is set. |
use_stderr = True
|
(BoolOpt) Log output to standard error. This option is ignored if log_config_append is set. |
use_syslog = False
|
(BoolOpt) 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_syslog_rfc_format = True
|
(BoolOpt) (Optional) Enables or disables syslog rfc5424 format for logging. If enabled, prefixes the MSG part of the syslog message with APP-NAME (RFC5424). The format without the APP-NAME is deprecated in Kilo, and will be removed in Mitaka, along with this option. This option is ignored if log_config_append is set. |
verbose = True
|
(BoolOpt) If set to false, will disable INFO logging level, making WARNING the default. |
watch_log_file = False
|
(BoolOpt) (Optional) 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. |
| Configuration option = Default value | Description |
|---|---|
| [identity_mapping] | |
backward_compatible_ids = True
|
(BoolOpt) The format of user and group IDs changed in Juno for backends that do not generate UUIDs (e.g. LDAP), with keystone providing a hash mapping to the underlying attribute in LDAP. By default this mapping is disabled, which ensures that existing IDs will not change. Even when the mapping is enabled by using domain specific drivers, any users and groups from the default domain being handled by LDAP will still not be mapped to ensure their IDs remain backward compatible. Setting this value to False will enable the mapping for even the default LDAP driver. It is only safe to do this if you do not already have assignments for users and groups from the default LDAP domain, and it is acceptable for Keystone to provide the different IDs to clients than it did previously. Typically this means that the only time you can set this value to False is when configuring a fresh installation. |
driver = sql
|
(StrOpt) Entrypoint for the identity mapping backend driver in the keystone.identity.id_mapping namespace. |
generator = sha256
|
(StrOpt) Entrypoint for the public ID generator for user and group entities in the keystone.identity.id_generator namespace. The Keystone identity mapper only supports generators that produce no more than 64 characters. |
| Configuration option = Default value | Description |
|---|---|
| [memcache] | |
servers = localhost:11211
|
(ListOpt) Memcache servers in the format of "host:port". |
socket_timeout = 3
|
(IntOpt) Timeout in seconds for every call to a server. This is used by the key value store system (e.g. token pooled memcached persistence backend). |
| Configuration option = Default value | Description |
|---|---|
| [oauth1] | |
access_token_duration = 86400
|
(IntOpt) Duration (in seconds) for the OAuth Access Token. |
driver = sql
|
(StrOpt) Entrypoint for hte OAuth backend driver in the keystone.oauth1 namespace. |
request_token_duration = 28800
|
(IntOpt) Duration (in seconds) for the OAuth Request Token. |
| Configuration option = Default value | Description |
|---|---|
| [os_inherit] | |
enabled = False
|
(BoolOpt) role-assignment inheritance to projects from owning domain or from projects higher in the hierarchy can be optionally enabled. |
| Configuration option = Default value | Description |
|---|---|
| [oslo_policy] | |
policy_default_rule = default
|
(StrOpt) Default rule. Enforced when a requested rule is not found. |
policy_dirs = ['policy.d']
|
(MultiStrOpt) 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. |
policy_file = policy.json
|
(StrOpt) The JSON file that defines policies. |
| [policy] | |
driver = sql
|
(StrOpt) Entrypoint for the policy backend driver in the keystone.policy namespace. Supplied drivers are rules and sql. |
list_limit = None
|
(IntOpt) Maximum number of entities that will be returned in a policy collection. |
| Configuration option = Default value | Description |
|---|---|
| [revoke] | |
cache_time = 3600
|
(IntOpt) Time to cache the revocation list and the revocation events (in seconds). This has no effect unless global and token caching are enabled. |
caching = True
|
(BoolOpt) Toggle for revocation event caching. This has no effect unless global caching is enabled. |
driver = sql
|
(StrOpt) Entrypoint for an implementation of the backend for persisting revocation events in the keystone.revoke namespace. Supplied drivers are kvs and sql. |
expiration_buffer = 1800
|
(IntOpt) This value (calculated in seconds) is added to token expiration before a revocation event may be removed from the backend. |
| Configuration option = Default value | Description |
|---|---|
| [role] | |
cache_time = None
|
(IntOpt) TTL (in seconds) to cache role data. This has no effect unless global caching is enabled. |
caching = True
|
(BoolOpt) Toggle for role caching. This has no effect unless global caching is enabled. |
driver = None
|
(StrOpt) Entrypoint for the role backend driver in the keystone.role namespace. Supplied drivers are ldap and sql. |
list_limit = None
|
(IntOpt) Maximum number of entities that will be returned in a role collection. |
| Configuration option = Default value | Description |
|---|---|
| [auth] | |
saml2 = keystone.auth.plugins.mapped.Mapped
|
(StrOpt) The saml2 auth plugin module. |
| Configuration option = Default value | Description |
|---|---|
| [saml] | |
assertion_expiration_time = 3600
|
(IntOpt) Default TTL, in seconds, for any generated SAML assertion created by Keystone. |
certfile = /etc/keystone/ssl/certs/signing_cert.pem
|
(StrOpt) Path of the certfile for SAML signing. For non-production environments, you may be interested in using `keystone-manage pki_setup` to generate self-signed certificates. Note, the path cannot contain a comma. |
idp_contact_company = None
|
(StrOpt) Company of contact person. |
idp_contact_email = None
|
(StrOpt) Email address of contact person. |
idp_contact_name = None
|
(StrOpt) Given name of contact person |
idp_contact_surname = None
|
(StrOpt) Surname of contact person. |
idp_contact_telephone = None
|
(StrOpt) Telephone number of contact person. |
idp_contact_type = other
|
(StrOpt) The contact type describing the main point of contact for the identity provider. |
idp_entity_id = None
|
(StrOpt) Entity ID value for unique Identity Provider identification. Usually FQDN is set with a suffix. A value is required to generate IDP Metadata. For example: https://keystone.example.com/v3/OS-FEDERATION/saml2/idp |
idp_lang = en
|
(StrOpt) Language used by the organization. |
idp_metadata_path = /etc/keystone/saml2_idp_metadata.xml
|
(StrOpt) Path to the Identity Provider Metadata file. This file should be generated with the keystone-manage saml_idp_metadata command. |
idp_organization_display_name = None
|
(StrOpt) Organization name to be displayed. |
idp_organization_name = None
|
(StrOpt) Organization name the installation belongs to. |
idp_organization_url = None
|
(StrOpt) URL of the organization. |
idp_sso_endpoint = None
|
(StrOpt) Identity Provider Single-Sign-On service value, required in the Identity Provider's metadata. A value is required to generate IDP Metadata. For example: https://keystone.example.com/v3/OS-FEDERATION/saml2/sso |
keyfile = /etc/keystone/ssl/private/signing_key.pem
|
(StrOpt) Path of the keyfile for SAML signing. Note, the path cannot contain a comma. |
relay_state_prefix = ss:mem:
|
(StrOpt) The prefix to use for the RelayState SAML attribute, used when generating ECP wrapped assertions. |
xmlsec1_binary = xmlsec1
|
(StrOpt) Binary to be called for XML signing. Install the appropriate package, specify absolute path or adjust your PATH environment variable if the binary cannot be found. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
crypt_strength = 10000
|
(IntOpt) The value passed as the keyword "rounds" to passlib's encrypt method. |
| Configuration option = Default value | Description |
|---|---|
| [token] | |
allow_rescope_scoped_token = True
|
(BoolOpt) Allow rescoping of scoped token. Setting allow_rescoped_scoped_token to false prevents a user from exchanging a scoped token for any other token. |
bind =
|
(ListOpt) External auth mechanisms that should add bind information to token, e.g., kerberos,x509. |
cache_time = None
|
(IntOpt) Time to cache tokens (in seconds). This has no effect unless global and token caching are enabled. |
caching = True
|
(BoolOpt) Toggle for token system caching. This has no effect unless global caching is enabled. |
driver = sql
|
(StrOpt) Entrypoint for the token persistence backend driver in the keystone.token.persistence namespace. Supplied drivers are kvs, memcache, memcache_pool, and sql. |
enforce_token_bind = permissive
|
(StrOpt) Enforcement policy on tokens presented to Keystone with bind information. One of disabled, permissive, strict, required or a specifically required bind mode, e.g., kerberos or x509 to require binding to that authentication. |
expiration = 3600
|
(IntOpt) Amount of time a token should remain valid (in seconds). |
hash_algorithm = md5
|
(StrOpt) The hash algorithm to use for PKI tokens. This can be set to any algorithm that hashlib supports. WARNING: Before changing this value, the auth_token middleware must be configured with the hash_algorithms, otherwise token revocation will not be processed correctly. |
provider = uuid
|
(StrOpt) Controls the token construction, validation, and revocation operations. Entrypoint in the keystone.token.provider namespace. Core providers are [fernet|pkiz|pki|uuid]. |
revoke_by_id = True
|
(BoolOpt) Revoke token by token identifier. Setting revoke_by_id to true enables various forms of enumerating tokens, e.g. `list tokens for user`. These enumerations are processed to determine the list of tokens to revoke. Only disable if you are switching to using the Revoke extension with a backend other than KVS, which stores events in memory. |
| Configuration option = Default value | Description |
|---|---|
| [tokenless_auth] | |
issuer_attribute = SSL_CLIENT_I_DN
|
(StrOpt) The issuer attribute that is served as an IdP ID for the X.509 tokenless authorization along with the protocol to look up its corresponding mapping. It is the environment variable in the WSGI environment that references to the issuer of the client certificate. |
protocol = x509
|
(StrOpt) The protocol name for the X.509 tokenless authorization along with the option issuer_attribute below can look up its corresponding mapping. |
trusted_issuer = []
|
(MultiStrOpt) The list of trusted issuers to further filter the certificates that are allowed to participate in the X.509 tokenless authorization. If the option is absent then no certificates will be allowed. The naming format for the attributes of a Distinguished Name(DN) must be separated by a comma and contain no spaces. This configuration option may be repeated for multiple values. For example: trusted_issuer=CN=john,OU=keystone,O=openstack trusted_issuer=CN=mary,OU=eng,O=abc |
| Configuration option = Default value | Description |
|---|---|
| [trust] | |
allow_redelegation = False
|
(BoolOpt) Enable redelegation feature. |
driver = sql
|
(StrOpt) Entrypoint for the trust backend driver in the keystone.trust namespace. |
enabled = True
|
(BoolOpt) Delegation and impersonation features can be optionally disabled. |
max_redelegation_count = 3
|
(IntOpt) Maximum depth of trust redelegation. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
rpc_backend = rabbit
|
(StrOpt) The messaging driver to use, defaults to rabbit. Other drivers include qpid and zmq. |
rpc_cast_timeout = 30
|
(IntOpt) Seconds to wait before a cast expires (TTL). Only supported by impl_zmq. |
rpc_conn_pool_size = 30
|
(IntOpt) Size of RPC connection pool. |
rpc_poll_timeout = 1
|
(IntOpt) The default number of seconds that poll should wait. Poll raises timeout exception when timeout expired. |
rpc_response_timeout = 60
|
(IntOpt) Seconds to wait for a response from a call. |
| [oslo_messaging_amqp] | |
allow_insecure_clients = False
|
(BoolOpt) Accept clients using either SSL or plain TCP |
broadcast_prefix = broadcast
|
(StrOpt) address prefix used when broadcasting to all servers |
container_name = None
|
(StrOpt) Name for the AMQP container |
group_request_prefix = unicast
|
(StrOpt) address prefix when sending to any server in group |
idle_timeout = 0
|
(IntOpt) Timeout for inactive connections (in seconds) |
password =
|
(StrOpt) Password for message broker authentication |
sasl_config_dir =
|
(StrOpt) Path to directory that contains the SASL configuration |
sasl_config_name =
|
(StrOpt) Name of configuration file (without .conf suffix) |
sasl_mechanisms =
|
(StrOpt) Space separated list of acceptable SASL mechanisms |
server_request_prefix = exclusive
|
(StrOpt) address prefix used when sending to a specific server |
ssl_ca_file =
|
(StrOpt) CA certificate PEM file to verify server certificate |
ssl_cert_file =
|
(StrOpt) Identifying certificate PEM file to present to clients |
ssl_key_file =
|
(StrOpt) Private key PEM file used to sign cert_file certificate |
ssl_key_password = None
|
(StrOpt) Password for decrypting ssl_key_file (if encrypted) |
trace = False
|
(BoolOpt) Debug: dump AMQP frames to stdout |
username =
|
(StrOpt) User name for message broker authentication |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
control_exchange = keystone
|
(StrOpt) The default exchange under which topics are scoped. May be overridden by an exchange name specified in the transport_url option. |
default_publisher_id = None
|
(StrOpt) Default publisher_id for outgoing notifications |
notification_driver = []
|
(MultiStrOpt) The Drivers(s) to handle sending notifications. Possible values are messaging, messagingv2, routing, log, test, noop |
notification_format = basic
|
(StrOpt) Define the notification format for Identity Service events. A "basic" notification has information about the resource being operated on. A "cadf" notification has the same information, as well as information about the initiator of the event. |
notification_topics = notifications
|
(ListOpt) AMQP topic used for OpenStack notifications. |
transport_url = None
|
(StrOpt) A URL representing the messaging driver to use and its full configuration. If not set, we fall back to the rpc_backend option and driver specific configuration. |
| Configuration option = Default value | Description |
|---|---|
| [oslo_messaging_qpid] | |
amqp_auto_delete = False
|
(BoolOpt) Auto-delete queues in AMQP. |
amqp_durable_queues = False
|
(BoolOpt) Use durable queues in AMQP. |
qpid_heartbeat = 60
|
(IntOpt) Seconds between connection keepalive heartbeats. |
qpid_hostname = localhost
|
(StrOpt) Qpid broker hostname. |
qpid_hosts = $qpid_hostname:$qpid_port
|
(ListOpt) Qpid HA cluster host:port pairs. |
qpid_password =
|
(StrOpt) Password for Qpid connection. |
qpid_port = 5672
|
(IntOpt) Qpid broker port. |
qpid_protocol = tcp
|
(StrOpt) Transport to use, either 'tcp' or 'ssl'. |
qpid_receiver_capacity = 1
|
(IntOpt) The number of prefetched messages held by receiver. |
qpid_sasl_mechanisms =
|
(StrOpt) Space separated list of SASL mechanisms to use for auth. |
qpid_tcp_nodelay = True
|
(BoolOpt) Whether to disable the Nagle algorithm. |
qpid_topology_version = 1
|
(IntOpt) The qpid topology version to use. Version 1 is what was originally used by impl_qpid. Version 2 includes some backwards-incompatible changes that allow broker federation to work. Users should update to version 2 when they are able to take everything down, as it requires a clean break. |
qpid_username =
|
(StrOpt) Username for Qpid connection. |
send_single_reply = False
|
(BoolOpt) Send a single AMQP reply to call message. The current behavior since oslo-incubator is to send two AMQP replies - first one with the payload, a second one to ensure the other has finished to send the payload. We are going to remove it in the N release, but we must keep backward compatible at the same time. This option provides such compatibility - it defaults to False in Liberty and can be turned on for early adopters with new installations or for testing. This option will be removed in the Mitaka release. |
| Configuration option = Default value | Description |
|---|---|
| [oslo_messaging_rabbit] | |
amqp_auto_delete = False
|
(BoolOpt) Auto-delete queues in AMQP. |
amqp_durable_queues = False
|
(BoolOpt) Use durable queues in AMQP. |
fake_rabbit = False
|
(BoolOpt) Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake |
heartbeat_rate = 2
|
(IntOpt) How often times during the heartbeat_timeout_threshold we check the heartbeat. |
heartbeat_timeout_threshold = 60
|
(IntOpt) Number of seconds after which the Rabbit broker is considered down if heartbeat's keep-alive fails (0 disable the heartbeat). EXPERIMENTAL |
kombu_reconnect_delay = 1.0
|
(FloatOpt) How long to wait before reconnecting in response to an AMQP consumer cancel notification. |
kombu_reconnect_timeout = 60
|
(IntOpt) How long to wait before considering a reconnect attempt to have failed. This value should not be longer than rpc_response_timeout. |
kombu_ssl_ca_certs =
|
(StrOpt) SSL certification authority file (valid only if SSL enabled). |
kombu_ssl_certfile =
|
(StrOpt) SSL cert file (valid only if SSL enabled). |
kombu_ssl_keyfile =
|
(StrOpt) SSL key file (valid only if SSL enabled). |
kombu_ssl_version =
|
(StrOpt) 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. |
rabbit_ha_queues = False
|
(BoolOpt) Use HA queues in RabbitMQ (x-ha-policy: all). If you change this option, you must wipe the RabbitMQ database. |
rabbit_host = localhost
|
(StrOpt) The RabbitMQ broker address where a single node is used. |
rabbit_hosts = $rabbit_host:$rabbit_port
|
(ListOpt) RabbitMQ HA cluster host:port pairs. |
rabbit_login_method = AMQPLAIN
|
(StrOpt) The RabbitMQ login method. |
rabbit_max_retries = 0
|
(IntOpt) Maximum number of RabbitMQ connection retries. Default is 0 (infinite retry count). |
rabbit_password = guest
|
(StrOpt) The RabbitMQ password. |
rabbit_port = 5672
|
(IntOpt) The RabbitMQ broker port where a single node is used. |
rabbit_retry_backoff = 2
|
(IntOpt) How long to backoff for between retries when connecting to RabbitMQ. |
rabbit_retry_interval = 1
|
(IntOpt) How frequently to retry connecting with RabbitMQ. |
rabbit_use_ssl = False
|
(BoolOpt) Connect over SSL for RabbitMQ. |
rabbit_userid = guest
|
(StrOpt) The RabbitMQ userid. |
rabbit_virtual_host = /
|
(StrOpt) The RabbitMQ virtual host. |
send_single_reply = False
|
(BoolOpt) Send a single AMQP reply to call message. The current behavior since oslo-incubator is to send two AMQP replies - first one with the payload, a second one to ensure the other has finished to send the payload. We are going to remove it in the N release, but we must keep backward compatible at the same time. This option provides such compatibility - it defaults to False in Liberty and can be turned on for early adopters with new installations or for testing. This option will be removed in the Mitaka release. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
host = 127.0.0.1
|
(StrOpt) Host to locate redis. |
password =
|
(StrOpt) Password for Redis server (optional). |
port = 6379
|
(IntOpt) Use this port to connect to redis host. |
| [matchmaker_redis] | |
host = 127.0.0.1
|
(StrOpt) Host to locate redis. |
password =
|
(StrOpt) Password for Redis server (optional). |
port = 6379
|
(IntOpt) Use this port to connect to redis host. |
7.2. Identity service sample configuration files Copier lienLien copié sur presse-papiers!
/etc/keystone directory.
7.2.1. keystone.conf Copier lienLien copié sur presse-papiers!
keystone.conf file to configure most Identity service options:
7.2.2. keystone-paste.ini Copier lienLien copié sur presse-papiers!
keystone-paste.ini file to configure the Web Service Gateway Interface (WSGI) middleware pipeline for the Identity service.
7.2.3. logging.conf Copier lienLien copié sur presse-papiers!
keystone.conf configuration file. For example, /etc/keystone/logging.conf.
7.2.4. policy.json Copier lienLien copié sur presse-papiers!
policy.json file to define additional access controls that apply to the Identity service.
7.2.5. Domain-specific configuration Copier lienLien copié sur presse-papiers!
[identity] section in the keystone.conf file:
[identity] domain_specific_drivers_enabled = True domain_config_dir = /etc/keystone/domains
[identity]
domain_specific_drivers_enabled = True
domain_config_dir = /etc/keystone/domains
domain_config_dir directory for configuration files that are named as follows: keystone.DOMAIN_NAME.conf, where DOMAIN_NAME is the domain name.
7.3. New, updated and deprecated options in Kilo for OpenStack Identity Copier lienLien copié sur presse-papiers!
| Option = default value | (Type) Help string |
| [DEFAULT] executor_thread_pool_size = 64 | (IntOpt) Size of executor thread pool. |
| [DEFAULT] host = 127.0.0.1 | (StrOpt) Host to locate redis. |
| [DEFAULT] password = | (StrOpt) Password for Redis server (optional). |
| [DEFAULT] port = 6379 | (IntOpt) Use this port to connect to redis host. |
| [DEFAULT] rpc_conn_pool_size = 30 | (IntOpt) Size of RPC connection pool. |
| [DEFAULT] rpc_poll_timeout = 1 | (IntOpt) The default number of seconds that poll should wait. Poll raises timeout exception when timeout expired. |
| [DEFAULT] rpc_zmq_all_req_rep = True | (BoolOpt) Use REQ/REP pattern for all methods CALL/CAST/FANOUT. |
| [DEFAULT] rpc_zmq_concurrency = eventlet | (StrOpt) Type of concurrency used. Either "native" or "eventlet" |
| [DEFAULT] watch_log_file = False | (BoolOpt) (Optional) 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. |
| [DEFAULT] zmq_use_broker = True | (BoolOpt) Shows whether zmq-messaging uses broker or not. |
| [cors] allow_credentials = True | (BoolOpt) Indicate that the actual request can include user credentials |
| [cors] allow_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma | (ListOpt) Indicate which header field names may be used during the actual request. |
| [cors] allow_methods = GET, POST, PUT, DELETE, OPTIONS | (ListOpt) Indicate which methods can be used during the actual request. |
| [cors] allowed_origin = None | (StrOpt) Indicate whether this resource may be shared with the domain received in the requests "origin" header. |
| [cors] expose_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma | (ListOpt) Indicate which headers are safe to expose to the API. Defaults to HTTP Simple Headers. |
| [cors] max_age = 3600 | (IntOpt) Maximum cache age of CORS preflight requests. |
| [cors.subdomain] allow_credentials = True | (BoolOpt) Indicate that the actual request can include user credentials |
| [cors.subdomain] allow_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma | (ListOpt) Indicate which header field names may be used during the actual request. |
| [cors.subdomain] allow_methods = GET, POST, PUT, DELETE, OPTIONS | (ListOpt) Indicate which methods can be used during the actual request. |
| [cors.subdomain] allowed_origin = None | (StrOpt) Indicate whether this resource may be shared with the domain received in the requests "origin" header. |
| [cors.subdomain] expose_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma | (ListOpt) Indicate which headers are safe to expose to the API. Defaults to HTTP Simple Headers. |
| [cors.subdomain] max_age = 3600 | (IntOpt) Maximum cache age of CORS preflight requests. |
| [endpoint_policy] enabled = True | (BoolOpt) Enable endpoint_policy functionality. |
| [keystone_authtoken] region_name = None | (StrOpt) The region in which the identity server can be found. |
| [oslo_messaging_amqp] password = | (StrOpt) Password for message broker authentication |
| [oslo_messaging_amqp] sasl_config_dir = | (StrOpt) Path to directory that contains the SASL configuration |
| [oslo_messaging_amqp] sasl_config_name = | (StrOpt) Name of configuration file (without .conf suffix) |
| [oslo_messaging_amqp] sasl_mechanisms = | (StrOpt) Space separated list of acceptable SASL mechanisms |
| [oslo_messaging_amqp] username = | (StrOpt) User name for message broker authentication |
| [oslo_messaging_qpid] send_single_reply = False | (BoolOpt) Send a single AMQP reply to call message. The current behavior since oslo-incubator is to send two AMQP replies - first one with the payload, a second one to ensure the other has finished to send the payload. We are going to remove it in the N release, but we must keep backward compatible at the same time. This option provides such compatibility - it defaults to False in Liberty and can be turned on for early adopters with new installations or for testing. This option will be removed in the Mitaka release. |
| [oslo_messaging_rabbit] kombu_reconnect_timeout = 60 | (IntOpt) How long to wait before considering a reconnect attempt to have failed. This value should not be longer than rpc_response_timeout. |
| [oslo_messaging_rabbit] send_single_reply = False | (BoolOpt) Send a single AMQP reply to call message. The current behavior since oslo-incubator is to send two AMQP replies - first one with the payload, a second one to ensure the other has finished to send the payload. We are going to remove it in the N release, but we must keep backward compatible at the same time. This option provides such compatibility - it defaults to False in Liberty and can be turned on for early adopters with new installations or for testing. This option will be removed in the Mitaka release. |
| [oslo_middleware] secure_proxy_ssl_header = X-Forwarded-Proto | (StrOpt) The HTTP Header that will be used to determine what the original request protocol scheme was, even if it was hidden by an SSL termination proxy. |
| [tokenless_auth] issuer_attribute = SSL_CLIENT_I_DN | (StrOpt) The issuer attribute that is served as an IdP ID for the X.509 tokenless authorization along with the protocol to look up its corresponding mapping. It is the environment variable in the WSGI environment that references to the issuer of the client certificate. |
| [tokenless_auth] protocol = x509 | (StrOpt) The protocol name for the X.509 tokenless authorization along with the option issuer_attribute below can look up its corresponding mapping. |
| [tokenless_auth] trusted_issuer = [] | (MultiStrOpt) The list of trusted issuers to further filter the certificates that are allowed to participate in the X.509 tokenless authorization. If the option is absent then no certificates will be allowed. The naming format for the attributes of a Distinguished Name(DN) must be separated by a comma and contain no spaces. This configuration option may be repeated for multiple values. For example: trusted_issuer=CN=john,OU=keystone,O=openstack trusted_issuer=CN=mary,OU=eng,O=abc |
| Option | Previous default value | New default value |
| [DEFAULT] crypt_strength | 40000 | 10000 |
| [DEFAULT] default_log_levels | amqp=WARN, amqplib=WARN, boto=WARN, qpid=WARN, sqlalchemy=WARN, suds=INFO, oslo.messaging=INFO, iso8601=WARN, requests.packages.urllib3.connectionpool=WARN, urllib3.connectionpool=WARN, websocket=WARN, requests.packages.urllib3.util.retry=WARN, urllib3.util.retry=WARN, keystonemiddleware=WARN, routes.middleware=WARN, stevedore=WARN | amqp=WARN, amqplib=WARN, boto=WARN, qpid=WARN, sqlalchemy=WARN, suds=INFO, oslo.messaging=INFO, iso8601=WARN, requests.packages.urllib3.connectionpool=WARN, urllib3.connectionpool=WARN, websocket=WARN, requests.packages.urllib3.util.retry=WARN, urllib3.util.retry=WARN, keystonemiddleware=WARN, routes.middleware=WARN, stevedore=WARN, taskflow=WARN |
| [DEFAULT] logging_exception_prefix | %(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s | %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s |
| [DEFAULT] rpc_zmq_matchmaker | local | redis |
| [DEFAULT] use_syslog_rfc_format | False | True |
| [DEFAULT] verbose | False | True |
| [auth] external | keystone.auth.plugins.external.DefaultDomain | None |
| [auth] oauth1 | keystone.auth.plugins.oauth1.OAuth | None |
| [auth] password | keystone.auth.plugins.password.Password | None |
| [auth] token | keystone.auth.plugins.token.Token | None |
| [catalog] driver | keystone.catalog.backends.sql.Catalog | sql |
| [credential] driver | keystone.credential.backends.sql.Credential | sql |
| [domain_config] driver | keystone.resource.config_backends.sql.DomainConfig | sql |
| [endpoint_filter] driver | keystone.contrib.endpoint_filter.backends.sql.EndpointFilter | sql |
| [endpoint_policy] driver | keystone.contrib.endpoint_policy.backends.sql.EndpointPolicy | sql |
| [federation] driver | keystone.contrib.federation.backends.sql.Federation | sql |
| [identity] driver | keystone.identity.backends.sql.Identity | sql |
| [identity_mapping] driver | keystone.identity.mapping_backends.sql.Mapping | sql |
| [identity_mapping] generator | keystone.identity.id_generators.sha256.Generator | sha256 |
| [ldap] user_attribute_ignore | default_project_id, tenants | default_project_id |
| [matchmaker_redis] password | None | |
| [oauth1] driver | keystone.contrib.oauth1.backends.sql.OAuth1 | sql |
| [oslo_messaging_rabbit] heartbeat_timeout_threshold | 0 | 60 |
| [policy] driver | keystone.policy.backends.sql.Policy | sql |
| [revoke] driver | keystone.contrib.revoke.backends.sql.Revoke | sql |
| [token] driver | keystone.token.persistence.backends.sql.Token | sql |
| [token] provider | keystone.token.providers.uuid.Provider | uuid |
| [trust] driver | keystone.trust.backends.sql.Trust | sql |
| Deprecated option | New Option |
| [DEFAULT] use_syslog | None |
| [DEFAULT] log_format | None |
| [DEFAULT] rpc_thread_pool_size | [DEFAULT] executor_thread_pool_size |
Chapter 8. Image service Copier lienLien copié sur presse-papiers!
euca2ools to register new images, you must run the nova-objectstore service. This service provides an Amazon S3 front-end for Image service, which is required by euca2ools.
| Configuration option = Default value | Description |
|---|---|
[keystone_authtoken]
|
|
admin_password = None
|
(String) Service user password. |
admin_tenant_name = admin
|
(String) Service tenant name. |
admin_token = None
|
(String) This option is deprecated and may be removed in a future release. Single shared secret with the Keystone configuration used for bootstrapping a Keystone installation, or otherwise bypassing the normal authentication process. This option should not be used, use `admin_user` and `admin_password` instead. |
admin_user = None
|
(String) Service username. |
auth_admin_prefix =
|
(String) Prefix to prepend at the beginning of the path. Deprecated, use identity_uri. |
auth_host = 127.0.0.1
|
(String) Host providing the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_port = 35357
|
(Integer) Port of the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_protocol = https
|
(String) Protocol of the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_section = None
|
(Unknown) Config Section from which to load plugin specific options |
auth_type = None
|
(Unknown) Authentication type to load |
auth_uri = None
|
(String) Complete public Identity API endpoint. |
auth_version = None
|
(String) API version of the admin Identity API endpoint. |
cache = None
|
(String) Env key for the swift cache. |
cafile = None
|
(String) A PEM encoded Certificate Authority to use when verifying HTTPs connections. Defaults to system CAs. |
certfile = None
|
(String) Required if identity server requires client certificate |
check_revocations_for_cached = False
|
(Boolean) If true, the revocation list will be checked for cached tokens. This requires that PKI tokens are configured on the identity server. |
delay_auth_decision = False
|
(Boolean) Do not handle authorization requests within the middleware, but delegate the authorization decision to downstream WSGI components. |
enforce_token_bind = permissive
|
(String) 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. |
hash_algorithms = md5
|
(List) Hash algorithms to use for hashing PKI tokens. This may be a single algorithm or multiple. The algorithms are those supported by Python standard hashlib.new(). The hashes will be tried in the order given, so put the preferred one first for performance. The result of the first hash will be stored in the cache. This will typically be set to multiple values only while migrating from a less secure algorithm to a more secure one. Once all the old tokens are expired this option should be set to a single value for better performance. |
http_connect_timeout = None
|
(Integer) Request timeout value for communicating with Identity API server. |
http_request_max_retries = 3
|
(Integer) How many times are we trying to reconnect when communicating with Identity API Server. |
identity_uri = None
|
(String) Complete admin Identity API endpoint. This should specify the unversioned root endpoint e.g. https://localhost:35357/ |
include_service_catalog = True
|
(Boolean) (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. |
insecure = False
|
(Boolean) Verify HTTPS connections. |
keyfile = None
|
(String) Required if identity server requires client certificate |
memcache_pool_conn_get_timeout = 10
|
(Integer) (Optional) Number of seconds that an operation will wait to get a memcached client connection from the pool. |
memcache_pool_dead_retry = 300
|
(Integer) (Optional) Number of seconds memcached server is considered dead before it is tried again. |
memcache_pool_maxsize = 10
|
(Integer) (Optional) Maximum total number of open connections to every memcached server. |
memcache_pool_socket_timeout = 3
|
(Integer) (Optional) Socket timeout in seconds for communicating with a memcached server. |
memcache_pool_unused_timeout = 60
|
(Integer) (Optional) Number of seconds a connection to memcached is held unused in the pool before it is closed. |
memcache_secret_key = None
|
(String) (Optional, mandatory if memcache_security_strategy is defined) This string is used for key derivation. |
memcache_security_strategy = None
|
(String) (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. |
memcache_use_advanced_pool = False
|
(Boolean) (Optional) Use the advanced (eventlet safe) memcached client pool. The advanced pool will only work under python 2.x. |
region_name = None
|
(String) The region in which the identity server can be found. |
revocation_cache_time = 10
|
(Integer) Determines the frequency at which the list of revoked tokens is retrieved from the Identity service (in seconds). A high number of revocation events combined with a low cache duration may significantly reduce performance. |
signing_dir = None
|
(String) Directory used to cache files related to PKI tokens. |
token_cache_time = 300
|
(Integer) 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. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
allow_additional_image_properties = True
|
(Boolean) Whether to allow users to specify image properties beyond what the image schema provides |
api_limit_max = 1000
|
(Integer) Maximum permissible number of items that could be returned by a request |
backlog = 4096
|
(Integer) The backlog value that will be used when creating the TCP listener socket. |
bind_host = 0.0.0.0
|
(String) Address to bind the server. Useful when selecting a particular network interface. |
bind_port = None
|
(Port number) The port on which the server will listen. |
data_api = glance.db.sqlalchemy.api
|
(String) Python module path of data access API |
digest_algorithm = sha256
|
(String) Digest algorithm which will be used for digital signature. Use the command "openssl list-message-digest-algorithms" to get the available algorithms supported by the version of OpenSSL on the platform. Examples are "sha1", "sha256", "sha512", etc. |
executor_thread_pool_size = 64
|
(Integer) Size of executor thread pool. |
image_location_quota = 10
|
(Integer) Maximum number of locations allowed on an image. Negative values evaluate to unlimited. |
image_member_quota = 128
|
(Integer) Maximum number of image members per image. Negative values evaluate to unlimited. |
image_property_quota = 128
|
(Integer) Maximum number of properties allowed on an image. Negative values evaluate to unlimited. |
image_tag_quota = 128
|
(Integer) Maximum number of tags allowed on an image. Negative values evaluate to unlimited. |
limit_param_default = 25
|
(Integer) Default value for the number of items returned by a request if not specified explicitly in the request |
memcached_servers = None
|
(List) Memcached servers or None for in process cache. |
metadata_encryption_key = None
|
(String) AES key for encrypting store 'location' metadata. This includes, if used, Swift or S3 credentials. Should be set to a random string of length 16, 24 or 32 bytes |
metadata_source_path = /etc/glance/metadefs/
|
(String) Path to the directory where json metadata files are stored |
property_protection_file = None
|
(String) The location of the property protection file.This file contains the rules for property protections and the roles/policies associated with it. If this config value is not specified, by default, property protections won't be enforced. If a value is specified and the file is not found, then the glance-api service will not start. |
property_protection_rule_format = roles
|
(String) This config value indicates whether "roles" or "policies" are used in the property protection file. |
show_image_direct_url = False
|
(Boolean) Whether to include the backend image storage location in image properties. Revealing storage location can be a security risk, so use this setting with caution! |
user_storage_quota = 0
|
(String) Set a system wide quota for every user. This value is the total capacity that a user can use across all storage systems. A value of 0 means unlimited.Optional unit can be specified for the value. Accepted units are B, KB, MB, GB and TB representing Bytes, KiloBytes, MegaBytes, GigaBytes and TeraBytes respectively. If no unit is specified then Bytes is assumed. Note that there should not be any space between value and unit and units are case sensitive. |
workers = None
|
(Integer) The number of child process workers that will be created to service requests. The default will be equal to the number of CPUs available. |
[glance_store]
|
|
rootwrap_config = /etc/glance/rootwrap.conf
|
(String) Path to the rootwrap configuration file to use for running commands as root. |
[image_format]
|
|
container_formats = ami, ari, aki, bare, ovf, ova, docker
|
(List) Supported values for the 'container_format' image attribute |
disk_formats = ami, ari, aki, vhd, vmdk, raw, qcow2, vdi, iso
|
(List) Supported values for the 'disk_format' image attribute |
[keystone_authtoken]
|
|
memcached_servers = None
|
(List) Optionally specify a list of memcached server(s) to use for caching. If left undefined, tokens will instead be cached in-process. |
[task]
|
|
task_executor = taskflow
|
(String) Specifies which task executor to be used to run the task scripts. |
task_time_to_live = 48
|
(Integer) Time in hours for which a task lives after, either succeeding or failing |
work_dir = None
|
(String) Work dir for asynchronous task operations. The directory set here will be used to operate over images - normally before they are imported in the destination store. When providing work dir, make sure enough space is provided for concurrent tasks to run efficiently without running out of space. A rough estimation can be done by multiplying the number of `max_workers` - or the N of workers running - by an average image size (e.g 500MB). The image size estimation should be done based on the average size in your deployment. Note that depending on the tasks running you may need to multiply this number by some factor depending on what the task does. For example, you may want to double the available size if image conversion is enabled. All this being said, remember these are just estimations and you should do them based on the worst case scenario and be prepared to act in case they were wrong. |
| Configuration option = Default value | Description |
|---|---|
[cors]
|
|
allow_credentials = True
|
(Boolean) Indicate that the actual request can include user credentials |
allow_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma
|
(List) Indicate which header field names may be used during the actual request. |
allow_methods = GET, POST, PUT, DELETE, OPTIONS
|
(List) Indicate which methods can be used during the actual request. |
allowed_origin = None
|
(List) Indicate whether this resource may be shared with the domain received in the requests "origin" header. |
expose_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma
|
(List) Indicate which headers are safe to expose to the API. Defaults to HTTP Simple Headers. |
max_age = 3600
|
(Integer) Maximum cache age of CORS preflight requests. |
[cors.subdomain]
|
|
allow_credentials = True
|
(Boolean) Indicate that the actual request can include user credentials |
allow_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma
|
(List) Indicate which header field names may be used during the actual request. |
allow_methods = GET, POST, PUT, DELETE, OPTIONS
|
(List) Indicate which methods can be used during the actual request. |
allowed_origin = None
|
(List) Indicate whether this resource may be shared with the domain received in the requests "origin" header. |
expose_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma
|
(List) Indicate which headers are safe to expose to the API. Defaults to HTTP Simple Headers. |
max_age = 3600
|
(Integer) Maximum cache age of CORS preflight requests. |
| Configuration option = Default value | Description |
|---|---|
[database]
|
|
backend = sqlalchemy
|
(String) The back end to use for the database. |
connection = None
|
(String) The SQLAlchemy connection string to use to connect to the database. |
connection_debug = 0
|
(Integer) Verbosity of SQL debugging information: 0=None, 100=Everything. |
connection_trace = False
|
(Boolean) Add Python stack traces to SQL as comment strings. |
db_inc_retry_interval = True
|
(Boolean) If True, increases the interval between retries of a database operation up to db_max_retry_interval. |
db_max_retries = 20
|
(Integer) Maximum retries in case of connection error or deadlock error before error is raised. Set to -1 to specify an infinite retry count. |
db_max_retry_interval = 10
|
(Integer) If db_inc_retry_interval is set, the maximum seconds between retries of a database operation. |
db_retry_interval = 1
|
(Integer) Seconds between retries of a database transaction. |
idle_timeout = 3600
|
(Integer) Timeout before idle SQL connections are reaped. |
max_overflow = 50
|
(Integer) If set, use this value for max_overflow with SQLAlchemy. |
max_pool_size = None
|
(Integer) Maximum number of SQL connections to keep open in a pool. |
max_retries = 10
|
(Integer) Maximum number of database connection retries during startup. Set to -1 to specify an infinite retry count. |
min_pool_size = 1
|
(Integer) Minimum number of SQL connections to keep open in a pool. |
mysql_sql_mode = TRADITIONAL
|
(String) 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= |
pool_timeout = None
|
(Integer) If set, use this value for pool_timeout with SQLAlchemy. |
retry_interval = 10
|
(Integer) Interval between retries of opening a SQL connection. |
slave_connection = None
|
(String) The SQLAlchemy connection string to use to connect to the slave database. |
sqlite_db = oslo.sqlite
|
(String) The file name to use with SQLite. |
sqlite_synchronous = True
|
(Boolean) If True, SQLite uses synchronous mode. |
use_db_reconnect = False
|
(Boolean) Enable the experimental use of database reconnect on connection lost. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
backdoor_port = None
|
(StrOpt) 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. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
delayed_delete = False
|
(Boolean) Turn on/off delayed delete. |
image_cache_dir = None
|
(String) Base directory that the image cache uses. |
image_cache_driver = sqlite
|
(String) The driver to use for image cache management. |
image_cache_max_size = 10737418240
|
(Integer) The upper limit (the maximum size of accumulated cache in bytes) beyond which the cache pruner, if running, starts cleaning the image cache. |
image_cache_sqlite_db = cache.db
|
(String) The path to the sqlite file database that will be used for image cache management. |
image_cache_stall_time = 86400
|
(Integer) The amount of time to let an incomplete image remain in the cache, before the cache cleaner, if running, will remove the incomplete image. |
scrub_pool_size = 1
|
(Integer) The size of thread pool to be used for scrubbing images. The default is one, which signifies serial scrubbing. Any value above one indicates the max number of images that may be scrubbed in parallel. |
scrub_time = 0
|
(Integer) The amount of time in seconds to delay before performing a delete. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
debug = False
|
(Boolean) If set to true, the logging level will be set to DEBUG instead of the default INFO level. |
default_log_levels = amqp=WARN, amqplib=WARN, boto=WARN, qpid=WARN, sqlalchemy=WARN, suds=INFO, oslo.messaging=INFO, iso8601=WARN, requests.packages.urllib3.connectionpool=WARN, urllib3.connectionpool=WARN, websocket=WARN, requests.packages.urllib3.util.retry=WARN, urllib3.util.retry=WARN, keystonemiddleware=WARN, routes.middleware=WARN, stevedore=WARN, taskflow=WARN, keystoneauth=WARN, oslo.cache=INFO, dogpile.core.dogpile=INFO
|
(List) List of package logging levels in logger=LEVEL pairs. This option is ignored if log_config_append is set. |
fatal_deprecations = False
|
(Boolean) Enables or disables fatal status of deprecations. |
instance_format = "[instance: %(uuid)s] "
|
(String) The format for an instance that is passed with the log message. |
instance_uuid_format = "[instance: %(uuid)s] "
|
(String) The format for an instance UUID that is passed with the log message. |
log_config_append = None
|
(String) 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, logging_context_format_string). |
log_date_format = %Y-%m-%d %H:%M:%S
|
(String) Defines the format string for %%(asctime)s in log records. Default: %(default)s . This option is ignored if log_config_append is set. |
log_dir = None
|
(String) (Optional) The base directory used for relative log_file paths. This option is ignored if log_config_append is set. |
log_file = None
|
(String) (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. |
logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
|
(String) Format string to use for log messages with context. |
logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
|
(String) Additional data to append to log message when logging level for the message is DEBUG. |
logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
|
(String) Format string to use for log messages when context is undefined. |
logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
|
(String) Prefix each line of exception output with this format. |
logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s
|
(String) Defines the format string for %(user_identity)s that is used in logging_context_format_string. |
publish_errors = False
|
(Boolean) Enables or disables publication of error events. |
syslog_log_facility = LOG_USER
|
(String) Syslog facility to receive log lines. This option is ignored if log_config_append is set. |
use_stderr = True
|
(Boolean) Log output to standard error. This option is ignored if log_config_append is set. |
use_syslog = False
|
(Boolean) 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. |
verbose = True
|
(Boolean) DEPRECATED: If set to false, the logging level will be set to WARNING instead of the default INFO level. |
watch_log_file = False
|
(Boolean) 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. |
| Configuration option = Default value | Description |
|---|---|
[oslo_policy]
|
|
policy_default_rule = default
|
(String) Default rule. Enforced when a requested rule is not found. |
policy_dirs = ['policy.d']
|
(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. |
policy_file = policy.json
|
(String) The JSON file that defines policies. |
| Configuration option = Default value | Description |
|---|---|
[profiler]
|
|
enabled = False
|
(Boolean) If False fully disable profiling feature. |
hmac_keys = SECRET_KEY
|
(String) Secret key to use to sign Glance API and Glance Registry services tracing messages. |
trace_sqlalchemy = False
|
(Boolean) If False doesn't trace SQL requests. |
| Configuration option = Default value | Description |
|---|---|
[matchmaker_redis]
|
|
check_timeout = 20000
|
(Integer) Time in ms to wait before the transaction is killed. |
host = 127.0.0.1
|
(String) Host to locate redis. |
password =
|
(String) Password for Redis server (optional). |
port = 6379
|
(Port number) Use this port to connect to redis host. |
sentinel_group_name = oslo-messaging-zeromq
|
(String) Redis replica set name. |
sentinel_hosts =
|
(List) List of Redis Sentinel hosts (fault tolerance mode) e.g. [host:port, host1:port ... ] |
socket_timeout = 1000
|
(Integer) Timeout in ms on blocking socket operations |
wait_timeout = 500
|
(Integer) Time in ms to wait between connection attempts. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
admin_password = None
|
(String) DEPRECATED: The administrators password. If "use_user_token" is not in effect, then admin credentials can be specified. This option was considered harmful and has been deprecated in M release. It will be removed in O release. For more information read OSSN-0060. Related functionality with uploading big images has been implemented with Keystone trusts support. |
admin_tenant_name = None
|
(String) DEPRECATED: The tenant name of the administrative user. If "use_user_token" is not in effect, then admin tenant name can be specified. This option was considered harmful and has been deprecated in M release. It will be removed in O release. For more information read OSSN-0060. Related functionality with uploading big images has been implemented with Keystone trusts support. |
admin_user = None
|
(String) DEPRECATED: The administrators user name. If "use_user_token" is not in effect, then admin credentials can be specified. This option was considered harmful and has been deprecated in M release. It will be removed in O release. For more information read OSSN-0060. Related functionality with uploading big images has been implemented with Keystone trusts support. |
auth_region = None
|
(String) DEPRECATED: The region for the authentication service. If "use_user_token" is not in effect and using keystone auth, then region name can be specified. This option was considered harmful and has been deprecated in M release. It will be removed in O release. For more information read OSSN-0060. Related functionality with uploading big images has been implemented with Keystone trusts support. |
auth_strategy = noauth
|
(String) DEPRECATED: The strategy to use for authentication. If "use_user_token" is not in effect, then auth strategy can be specified. This option was considered harmful and has been deprecated in M release. It will be removed in O release. For more information read OSSN-0060. Related functionality with uploading big images has been implemented with Keystone trusts support. |
auth_url = None
|
(String) DEPRECATED: The URL to the keystone service. If "use_user_token" is not in effect and using keystone auth, then URL of keystone can be specified. This option was considered harmful and has been deprecated in M release. It will be removed in O release. For more information read OSSN-0060. Related functionality with uploading big images has been implemented with Keystone trusts support. |
registry_client_ca_file = None
|
(String) The path to the certifying authority cert file to use in SSL connections to the registry server, if any. Alternately, you may set the GLANCE_CLIENT_CA_FILE environment variable to a filepath of the CA cert file. |
registry_client_cert_file = None
|
(String) The path to the cert file to use in SSL connections to the registry server, if any. Alternately, you may set the GLANCE_CLIENT_CERT_FILE environment variable to a filepath of the CA cert file |
registry_client_insecure = False
|
(Boolean) When using SSL in connections to the registry server, do not require validation via a certifying authority. This is the registry's equivalent of specifying --insecure on the command line using glanceclient for the API. |
registry_client_key_file = None
|
(String) The path to the key file to use in SSL connections to the registry server, if any. Alternately, you may set the GLANCE_CLIENT_KEY_FILE environment variable to a filepath of the key file |
registry_client_protocol = http
|
(String) The protocol to use for communication with the registry server. Either http or https. |
registry_client_timeout = 600
|
(Integer) The period of time, in seconds, that the API server will wait for a registry request to complete. A value of 0 implies no timeout. |
registry_host = 0.0.0.0
|
(String) Address to find the registry server. |
registry_port = 9191
|
(Port number) Port the registry server is listening on. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
args = None
|
(List) Arguments for the command |
chunksize = 65536
|
(Integer) Amount of data to transfer per HTTP write. |
command = None
|
(String) Command to be given to replicator |
dontreplicate = created_at date deleted_at location updated_at
|
(String) List of fields to not replicate. |
mastertoken =
|
(String) Pass in your authentication token if you have one. This is the token used for the master. |
metaonly = False
|
(Boolean) Only replicate metadata, not images. |
slavetoken =
|
(String) Pass in your authentication token if you have one. This is the token used for the slave. |
token =
|
(String) Pass in your authentication token if you have one. If you use this option the same token is used for both the master and the slave. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
wakeup_time = 300
|
(Integer) Loop time between checking for new items to schedule for delete. |
| Configuration option = Default value | Description |
|---|---|
[taskflow_executor]
|
|
conversion_format = None
|
(String) The format to which images will be automatically converted. When using the RBD backend, this should be set to 'raw' |
engine_mode = parallel
|
(String) The mode in which the engine will run. Can be 'serial' or 'parallel'. |
max_workers = 10
|
(Integer) The number of parallel activities executed at the same time by the engine. The value can be greater than one when the engine mode is 'parallel'. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
pydev_worker_debug_host = None
|
(String) The hostname/IP of the pydev process listening for debug connections |
pydev_worker_debug_port = 5678
|
(Port number) The port on which a pydev process is listening for connections. |
8.1. Configure the API Copier lienLien copié sur presse-papiers!
enable_v1_api, enable_v2_api, enable_v1_registry and enable_v2_registry. If only the v2 API is used, running glance-registry is optional, as v2 of glance-api can connect directly to the database. If both the APIs are used, the v1 API still needs the registry and there is only one data_api specified in the config.
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
admin_role = admin
|
(String) Role used to identify an authenticated user as administrator. |
allow_anonymous_access = False
|
(Boolean) Allow unauthenticated users to access the API with read-only privileges. This only applies when using ContextMiddleware. |
available_plugins =
|
(List) A list of artifacts that are allowed in the format name or name-version. Empty list means that any artifact can be loaded. |
client_socket_timeout = 900
|
(Integer) Timeout for client connections' socket operations. If an incoming connection is idle for this number of seconds it will be closed. A value of '0' means wait forever. |
enable_v1_api = True
|
(Boolean) Deploy the v1 OpenStack Images API. |
enable_v1_registry = True
|
(Boolean) Deploy the v1 OpenStack Registry API. |
enable_v2_api = True
|
(Boolean) Deploy the v2 OpenStack Images API. |
enable_v2_registry = True
|
(Boolean) Deploy the v2 OpenStack Registry API. |
http_keepalive = True
|
(Boolean) If False, server will return the header "Connection: close", If True, server will return "Connection: Keep-Alive" in its responses. In order to close the client socket connection explicitly after the response is sent and read successfully by the client, you simply have to set this option to False when you create a wsgi server. |
image_size_cap = 1099511627776
|
(Integer) Maximum size of image a user can upload in bytes. Defaults to 1099511627776 bytes (1 TB).WARNING: this value should only be increased after careful consideration and must be set to a value under 8 EB (9223372036854775808). |
load_enabled = True
|
(Boolean) When false, no artifacts can be loaded regardless of available_plugins. When true, artifacts can be loaded. |
location_strategy = location_order
|
(String) This value sets what strategy will be used to determine the image location order. Currently two strategies are packaged with Glance 'location_order' and 'store_type'. |
max_header_line = 16384
|
(Integer) Maximum line size of message headers to be accepted. max_header_line may need to be increased when using large tokens (typically those generated by the Keystone v3 API with big service catalogs |
max_request_id_length = 64
|
(Integer) Limits request ID length. |
owner_is_tenant = True
|
(Boolean) When true, this option sets the owner of an image to be the tenant. Otherwise, the owner of the image will be the authenticated user issuing the request. |
public_endpoint = None
|
(String) Public url to use for versions endpoint. The default is None, which will use the request's host_url attribute to populate the URL base. If Glance is operating behind a proxy, you will want to change this to represent the proxy's URL. |
secure_proxy_ssl_header = None
|
(String) The HTTP header used to determine the scheme for the original request, even if it was removed by an SSL terminating proxy. Typical value is "HTTP_X_FORWARDED_PROTO". |
send_identity_headers = False
|
(Boolean) Whether to pass through headers containing user and tenant information when making requests to the registry. This allows the registry to use the context middleware without keystonemiddleware's auth_token middleware, removing calls to the keystone auth service. It is recommended that when using this option, secure communication between glance api and glance registry is ensured by means other than auth_token middleware. |
show_multiple_locations = False
|
(Boolean) Whether to include the backend image locations in image properties. For example, if using the file system store a URL of "file:///path/to/image" will be returned to the user in the 'direct_url' meta-data field. Revealing storage location can be a security risk, so use this setting with caution! Setting this to true overrides the show_image_direct_url option.
Important
If configured without the proper policy settings, a non-admin user of the Image Service can replace active image data (that is, switch out a current image without other users knowing). See the OSSN announcement (recommended actions) for configuration information: https://wiki.openstack.org/wiki/OSSN/OSSN-0065
|
tcp_keepidle = 600
|
(Integer) The value for the socket option TCP_KEEPIDLE. This is the time in seconds that the connection must be idle before TCP starts sending keepalive probes. |
use_user_token = True
|
(Boolean) DEPRECATED: Whether to pass through the user token when making requests to the registry. To prevent failures with token expiration during big files upload, it is recommended to set this parameter to False.If "use_user_token" is not in effect, then admin credentials can be specified. This option was considered harmful and has been deprecated in M release. It will be removed in O release. For more information read OSSN-0060. Related functionality with uploading big images has been implemented with Keystone trusts support. |
[glance_store]
|
|
default_store = file
|
(String) Default scheme to use to store image data. The scheme must be registered by one of the stores defined by the 'stores' config option. |
store_capabilities_update_min_interval = 0
|
(Integer) Minimum interval seconds to execute updating dynamic storage capabilities based on backend status then. It's not a periodic routine, the update logic will be executed only when interval seconds elapsed and an operation of store has triggered. The feature will be enabled only when the option value greater then zero. |
stores = file, http
|
(List) List of stores enabled. Valid stores are: cinder, file, http, rbd, sheepdog, swift, s3, vsphere |
[oslo_middleware]
|
|
max_request_body_size = 114688
|
(Integer) The maximum body size for each request, in bytes. |
secure_proxy_ssl_header = X-Forwarded-Proto
|
(String) DEPRECATED: The HTTP Header that will be used to determine what the original request protocol scheme was, even if it was hidden by an SSL termination proxy. |
[paste_deploy]
|
|
config_file = None
|
(String) Name of the paste configuration file. |
flavor = None
|
(String) Partial name of a pipeline in your paste configuration file with the service name removed. For example, if your paste section name is [pipeline:glance-api-keystone] use the value "keystone" |
[store_type_location_strategy]
|
|
store_type_preference =
|
(List) The store names to use to get store preference order. The name must be registered by one of the stores defined by the 'stores' config option. This option will be applied when you using 'store_type' option as image location strategy defined by the 'location_strategy' config option. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
ca_file = None
|
(String) CA certificate file to use to verify connecting clients. |
cert_file = None
|
(String) Certificate file to use when starting API server securely. |
key_file = None
|
(String) Private key file to use when starting API server securely. |
8.2. Configure the RPC messaging system Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
control_exchange = openstack
|
(String) The default exchange under which topics are scoped. May be overridden by an exchange name specified in the transport_url option. |
default_publisher_id = image.localhost
|
(String) Default publisher_id for outgoing notifications. |
disabled_notifications =
|
(List) List of disabled notifications. A notification can be given either as a notification type to disable a single event, or as a notification group prefix to disable all events within a group. Example: if this config option is set to ["image.create", "metadef_namespace"], then "image.create" notification will not be sent after image is created and none of the notifications for metadefinition namespaces will be sent. |
transport_url = None
|
(String) A URL representing the messaging driver to use and its full configuration. If not set, we fall back to the rpc_backend option and driver specific configuration. |
[oslo_messaging_notifications]
|
|
driver = []
|
(Multi-valued) The Drivers(s) to handle sending notifications. Possible values are messaging, messagingv2, routing, log, test, noop |
topics = notifications
|
(List) AMQP topic used for OpenStack notifications. |
transport_url = None
|
(String) A URL representing the messaging driver to use for notifications. If not set, we fall back to the same configuration used for RPC. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
allowed_rpc_exception_modules = glance.common.exception, builtins, exceptions
|
(List) Modules of exceptions that are permitted to be recreated upon receiving exception data from an rpc call. |
rpc_backend = rabbit
|
(String) The messaging driver to use, defaults to rabbit. Other drivers include amqp and zmq. |
rpc_cast_timeout = -1
|
(Integer) Seconds to wait before a cast expires (TTL). The default value of -1 specifies an infinite linger period. The value of 0 specifies no linger period. Pending messages shall be discarded immediately when the socket is closed. Only supported by impl_zmq. |
rpc_conn_pool_size = 30
|
(Integer) Size of RPC connection pool. |
rpc_poll_timeout = 1
|
(Integer) The default number of seconds that poll should wait. Poll raises timeout exception when timeout expired. |
rpc_response_timeout = 60
|
(Integer) Seconds to wait for a response from a call. |
[oslo_concurrency]
|
|
disable_process_locking = False
|
(Boolean) Enables or disables inter-process locks. |
lock_path = None
|
(String) 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. |
[oslo_messaging_amqp]
|
|
allow_insecure_clients = False
|
(Boolean) Accept clients using either SSL or plain TCP |
broadcast_prefix = broadcast
|
(String) address prefix used when broadcasting to all servers |
container_name = None
|
(String) Name for the AMQP container |
group_request_prefix = unicast
|
(String) address prefix when sending to any server in group |
idle_timeout = 0
|
(Integer) Timeout for inactive connections (in seconds) |
password =
|
(String) Password for message broker authentication |
sasl_config_dir =
|
(String) Path to directory that contains the SASL configuration |
sasl_config_name =
|
(String) Name of configuration file (without .conf suffix) |
sasl_mechanisms =
|
(String) Space separated list of acceptable SASL mechanisms |
server_request_prefix = exclusive
|
(String) address prefix used when sending to a specific server |
ssl_ca_file =
|
(String) CA certificate PEM file to verify server certificate |
ssl_cert_file =
|
(String) Identifying certificate PEM file to present to clients |
ssl_key_file =
|
(String) Private key PEM file used to sign cert_file certificate |
ssl_key_password = None
|
(String) Password for decrypting ssl_key_file (if encrypted) |
trace = False
|
(Boolean) Debug: dump AMQP frames to stdout |
username =
|
(String) User name for message broker authentication |
[oslo_messaging_rabbit]
|
|
rpc_listener_prefetch_count = 100
|
(Integer) Max number of not acknowledged message which RabbitMQ can send to rpc listener. |
rpc_queue_expiration = 60
|
(Integer) Time to live for rpc queues without consumers in seconds. |
rpc_reply_exchange = ${control_exchange}_rpc_reply
|
(String) Exchange name for receiving RPC replies |
rpc_reply_listener_prefetch_count = 100
|
(Integer) Max number of not acknowledged message which RabbitMQ can send to rpc reply listener. |
rpc_reply_retry_attempts = -1
|
(Integer) Reconnecting retry count in case of connectivity problem during sending reply. -1 means infinite retry during rpc_timeout |
rpc_reply_retry_delay = 0.25
|
(Floating point) Reconnecting retry delay in case of connectivity problem during sending reply. |
rpc_retry_delay = 0.25
|
(Floating point) Reconnecting retry delay in case of connectivity problem during sending RPC message |
socket_timeout = 0.25
|
(Floating point) Set socket timeout in seconds for connection's socket |
ssl = None
|
(Boolean) Enable SSL |
ssl_options = None
|
(Dict) Arguments passed to ssl.wrap_socket |
tcp_user_timeout = 0.25
|
(Floating point) Set TCP_USER_TIMEOUT in seconds for connection's socket |
| Configuration option = Default value | Description |
|---|---|
[oslo_messaging_rabbit]
|
|
amqp_auto_delete = False
|
(Boolean) Auto-delete queues in AMQP. |
amqp_durable_queues = False
|
(Boolean) Use durable queues in AMQP. |
channel_max = None
|
(Integer) Maximum number of channels to allow |
default_notification_exchange = ${control_exchange}_notification
|
(String) Exchange name for for sending notifications |
default_notification_retry_attempts = -1
|
(Integer) Reconnecting retry count in case of connectivity problem during sending notification, -1 means infinite retry. |
default_rpc_exchange = ${control_exchange}_rpc
|
(String) Exchange name for sending RPC messages |
default_rpc_retry_attempts = -1
|
(Integer) Reconnecting retry count in case of connectivity problem during sending RPC message, -1 means infinite retry. If actual retry attempts in not 0 the rpc request could be processed more then one time |
fake_rabbit = False
|
(Boolean) Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake |
frame_max = None
|
(Integer) The maximum byte size for an AMQP frame |
heartbeat_interval = 1
|
(Integer) How often to send heartbeats for consumer's connections |
heartbeat_rate = 2
|
(Integer) How often times during the heartbeat_timeout_threshold we check the heartbeat. |
heartbeat_timeout_threshold = 60
|
(Integer) Number of seconds after which the Rabbit broker is considered down if heartbeat's keep-alive fails (0 disable the heartbeat). EXPERIMENTAL |
host_connection_reconnect_delay = 0.25
|
(Floating point) Set delay for reconnection to some host which has connection error |
kombu_compression = None
|
(String) EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not be used. This option may notbe available in future versions. |
kombu_failover_strategy = round-robin
|
(String) 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. |
kombu_missing_consumer_retry_timeout = 60
|
(Integer) How long to wait a missing client beforce abandoning to send it its replies. This value should not be longer than rpc_response_timeout. |
kombu_reconnect_delay = 1.0
|
(Floating point) How long to wait before reconnecting in response to an AMQP consumer cancel notification. |
kombu_ssl_ca_certs =
|
(String) SSL certification authority file (valid only if SSL enabled). |
kombu_ssl_certfile =
|
(String) SSL cert file (valid only if SSL enabled). |
kombu_ssl_keyfile =
|
(String) SSL key file (valid only if SSL enabled). |
kombu_ssl_version =
|
(String) 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. |
notification_listener_prefetch_count = 100
|
(Integer) Max number of not acknowledged message which RabbitMQ can send to notification listener. |
notification_persistence = False
|
(Boolean) Persist notification messages. |
notification_retry_delay = 0.25
|
(Floating point) Reconnecting retry delay in case of connectivity problem during sending notification message |
pool_max_overflow = 0
|
(Integer) Maximum number of connections to create above `pool_max_size`. |
pool_max_size = 10
|
(Integer) Maximum number of connections to keep queued. |
pool_recycle = 600
|
(Integer) Lifetime of a connection (since creation) in seconds or None for no recycling. Expired connections are closed on acquire. |
pool_stale = 60
|
(Integer) Threshold at which inactive (since release) connections are considered stale in seconds or None for no staleness. Stale connections are closed on acquire. |
pool_timeout = 30
|
(Integer) Default number of seconds to wait for a connections to available |
rabbit_ha_queues = False
|
(Boolean) 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"}' " |
rabbit_host = localhost
|
(String) The RabbitMQ broker address where a single node is used. |
rabbit_hosts = $rabbit_host:$rabbit_port
|
(List) RabbitMQ HA cluster host:port pairs. |
rabbit_interval_max = 30
|
(Integer) Maximum interval of RabbitMQ connection retries. Default is 30 seconds. |
rabbit_login_method = AMQPLAIN
|
(String) The RabbitMQ login method. |
rabbit_max_retries = 0
|
(Integer) Maximum number of RabbitMQ connection retries. Default is 0 (infinite retry count). |
rabbit_password = guest
|
(String) The RabbitMQ password. |
rabbit_port = 5672
|
(Port number) The RabbitMQ broker port where a single node is used. |
rabbit_qos_prefetch_count = 0
|
(Integer) Specifies the number of messages to prefetch. Setting to zero allows unlimited messages. |
rabbit_retry_backoff = 2
|
(Integer) How long to backoff for between retries when connecting to RabbitMQ. |
rabbit_retry_interval = 1
|
(Integer) How frequently to retry connecting with RabbitMQ. |
rabbit_transient_queues_ttl = 1800
|
(Integer) 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. |
rabbit_use_ssl = False
|
(Boolean) Connect over SSL for RabbitMQ. |
rabbit_userid = guest
|
(String) The RabbitMQ userid. |
rabbit_virtual_host = /
|
(String) The RabbitMQ virtual host. |
| Configuration option = Default value | Description |
|---|---|
| [oslo_messaging_qpid] | |
amqp_auto_delete = False
|
(BoolOpt) Auto-delete queues in AMQP. |
amqp_durable_queues = False
|
(BoolOpt) Use durable queues in AMQP. |
qpid_heartbeat = 60
|
(IntOpt) Seconds between connection keepalive heartbeats. |
qpid_hostname = localhost
|
(StrOpt) Qpid broker hostname. |
qpid_hosts = $qpid_hostname:$qpid_port
|
(ListOpt) Qpid HA cluster host:port pairs. |
qpid_password =
|
(StrOpt) Password for Qpid connection. |
qpid_port = 5672
|
(IntOpt) Qpid broker port. |
qpid_protocol = tcp
|
(StrOpt) Transport to use, either 'tcp' or 'ssl'. |
qpid_receiver_capacity = 1
|
(IntOpt) The number of prefetched messages held by receiver. |
qpid_sasl_mechanisms =
|
(StrOpt) Space separated list of SASL mechanisms to use for auth. |
qpid_tcp_nodelay = True
|
(BoolOpt) Whether to disable the Nagle algorithm. |
qpid_topology_version = 1
|
(IntOpt) The qpid topology version to use. Version 1 is what was originally used by impl_qpid. Version 2 includes some backwards-incompatible changes that allow broker federation to work. Users should update to version 2 when they are able to take everything down, as it requires a clean break. |
qpid_username =
|
(StrOpt) Username for Qpid connection. |
send_single_reply = False
|
(BoolOpt) Send a single AMQP reply to call message. The current behavior since oslo-incubator is to send two AMQP replies - first one with the payload, a second one to ensure the other has finished to send the payload. We are going to remove it in the N release, but we must keep backward compatible at the same time. This option provides such compatibility - it defaults to False in Liberty and can be turned on for early adopters with new installations or for testing. This option will be removed in the Mitaka release. |
8.3. Configure Image Cache Copier lienLien copié sur presse-papiers!
glance configuration files, usually stored in /etc/glance or /usr/share/glance.
glance-cache is deployment specific, and depending on the store that is being used, it is possible that having glance-cache may not provide any benefit.
glance-cache
glance-api. Therefore, requests would be spread across the cache node and not go directly to glance-api.
glance-cache node. Therefore, it is necessary to account for the extra storage when provisioning the cloud.
8.3.1. Enable the Image Cache Copier lienLien copié sur presse-papiers!
glance-api-paste.ini in a section titled [filter:cache]. It should look like this:
[filter:cache] paste.filter_factory = glance.api.middleware.cache:CacheFilter.factory
[filter:cache]
paste.filter_factory = glance.api.middleware.cache:CacheFilter.factory
glance-api-paste.ini file as follows:
[pipeline:glance-api-caching] pipeline = versionnegotiation context cache apiv1app
[pipeline:glance-api-caching]
pipeline = versionnegotiation context cache apiv1app
glance-api.conf configuration file, select the appropriate deployment flavor as follows:
[paste_deploy] flavor = caching
[paste_deploy]
flavor = caching
8.3.2. Enable the Image Cache Management Copier lienLien copié sur presse-papiers!
cachemanage option that allows you to directly interact with cache images. Use this flavor in place of the cache flavor in your API config file.
[paste_deploy] flavor = cachemanage
[paste_deploy]
flavor = cachemanage
[paste_deploy] flavor = keystone+cachemanage
[paste_deploy]
flavor = keystone+cachemanage
8.3.3. Configuration Options Affecting the Image Cache Copier lienLien copié sur presse-papiers!
glance-cache and glance-api configuration files.
| Configuration option = Default value | Description |
|---|---|
image_cache_dir = /var/lib/glance/image-cache
|
Required when image cache middleware is enabled. This is the base directory the image cache can write files to. Make sure the directory is writable by the user running the glance-api server.
|
image_cache_driver = sqlite
|
(Optional) The default sqlite cache driver has no special dependencies, other than the python-sqlite3 library, which is installed on almost all operating systems with modern versions of Python. It stores information about the cached files in a SQLite database.
The
xattr cache driver requires the python-xattr>=0.6.0 library and requires that the filesystem containing image_cache_dir has access times tracked for all files (in other words, the noatime option CANNOT be set for that filesystem). In addition, user_xattr must be set on the filesystem’s description line in fstab.
|
image_cache_sqlite_db = cache.db
|
(Optional) When using the sqlite cache driver, you can set the name of the database that will be used to store the cached images information. The database is always contained in the image_cache_dir .
|
image_cache_max_size = 10737418240 (10 GB)
|
(Optional) Size, in bytes, that the image cache should be constrained to. Images files are cached automatically in the local image cache, even if the writing of that image file would put the total cache size over this size. The glance-cache-pruner executable is what prunes the image cache to be equal to or less than this value. The glance-cache-pruner executable is designed to be run via cron on a regular basis.
|
8.3.4. Configure Image-Volume Cache Copier lienLien copié sur presse-papiers!
cinder tenant manually for image cache, by setting the following parameter values in the cinder.conf file.
cinder_internal_tenant_project_id=PROJECT_ID cinder_internal_tenant_user_id=USER_ID
cinder_internal_tenant_project_id=PROJECT_ID
cinder_internal_tenant_user_id=USER_ID
8.4. Support for ISO images Copier lienLien copié sur presse-papiers!
Procedure 8.1. To load an ISO image to an Image service data store
- In the Image service, run the following command:
glance image-create --name "rhel-server-7.0.iso"
$ glance image-create --name "rhel-server-7.0.iso" --copy-from https://access.redhat.com/downloads/content/69/ver=/rhel---7/7.0/x86_64/product-downloads/rhel-server-7.0-x86_64-dvd.iso --is-public True --container-format bare --disk-format isoCopy to Clipboard Copied! Toggle word wrap Toggle overflow In this command,rhel-server-7.0.isois the name for the ISO image after it is loaded to the Image service, and rhel-server-7.0-x86_64-dvd.iso is the name of the source ISO image. - Optionally, to confirm the upload in Image service (glance), run this command:
glance image-list
$ glance image-listCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Procedure 8.2. To boot an instance from an ISO image
- Boot instance with ISO image using the following command:
nova boot
$ nova boot --image rhel-server-7.0-x86_64-dvd.iso --block-device source=blank,dest=volume,size=10,shutdown=preserve --nic net-id=NETWORK_UUID --flavor 3 INSTANCE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow In this command,rhel-server-7.0.isois the ISO image, and INSTANCE_NAME is the name of the new instance. NETWORK_UUID is a valid network id in your systemYou will need Block Storage service and setting the parametershutdown=preservewill preserve the volume even after the shutting down an instance. - After the instance is successfully launched, connect to the instance using remote console and follow the instructions to install the system as using ISO images on regular computers. When the installation is complete and system reboots, the instance prompts you to install the operating system, which implies your instance is not usable.
Procedure 8.3. To make an instance that was booted from an ISO image functional
- Delete the instance you just created:
nova delete INSTANCE_NAME
$ nova delete INSTANCE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow - After you delete an instance, the system you just installed using your ISO image remains because the parameter
shutdown=preservewas set, run the following command:cinder list
$ cinder listCopy to Clipboard Copied! Toggle word wrap Toggle overflow You get a list with all the volumes in your system. In this list, you can find the volume that is attached to your ISO created instance, with thefalsebootable property. - Upload the volume to glance:
cinder upload-to-image VOLUME_UUID IMAGE_NAME
$ cinder upload-to-image VOLUME_UUID IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow The VOLUME_UUID is the uuid of the volume that is attached to your ISO created instance, and the IMAGE_NAME is the name that you give to your new image. - After the image is successfully uploaded, you can now use the new image to boot instances, the instance launched using this image will contain the system you just installed using the ISO image.
8.5. Configure back ends Copier lienLien copié sur presse-papiers!
- OpenStack Block Storage (cinder)
- A directory on a local file system
- GridFS
- Ceph RBD
- Amazon S3
- Sheepdog
- OpenStack Object Storage (swift)
- VMware ESX
| Configuration option = Default value | Description |
|---|---|
[glance_store]
|
|
cinder_api_insecure = False
|
(Boolean) Allow to perform insecure SSL requests to cinder |
cinder_ca_certificates_file = None
|
(String) Location of ca certicates file to use for cinder client requests. |
cinder_catalog_info = volumev2::publicURL
|
(String) Info to match when looking for cinder in the service catalog. Format is : separated values of the form: <service_type>:<service_name>:<endpoint_type> |
cinder_endpoint_template = None
|
(String) Override service catalog lookup with template for cinder endpoint e.g. http://localhost:8776/v2/%(tenant)s |
cinder_http_retries = 3
|
(Integer) Number of cinderclient retries on failed http calls |
cinder_os_region_name = None
|
(String) Region name of this node. If specified, it will be used to locate OpenStack services for stores. |
cinder_state_transition_timeout = 300
|
(Integer) Time period of time in seconds to wait for a cinder volume transition to complete. |
cinder_store_auth_address = None
|
(String) The address where the Cinder authentication service is listening. If <None>, the cinder endpoint in the service catalog is used. |
cinder_store_password = None
|
(String) Password for the user authenticating against Cinder. If <None>, the current context auth token is used. |
cinder_store_project_name = None
|
(String) Project name where the image is stored in Cinder. If <None>, the project in current context is used. |
cinder_store_user_name = None
|
(String) User name to authenticate against Cinder. If <None>, the user of current context is used. |
| Configuration option = Default value | Description |
|---|---|
[glance_store]
|
|
filesystem_store_datadir = /var/lib/glance/images
|
(String) Directory to which the Filesystem backend store writes images. |
filesystem_store_datadirs = None
|
(Multi-valued) List of directories and its priorities to which the Filesystem backend store writes images. |
filesystem_store_file_perm = 0
|
(Integer) The required permission for created image file. In this way the user other service used, e.g. Nova, who consumes the image could be the exclusive member of the group that owns the files created. Assigning it less then or equal to zero means don't change the default permission of the file. This value will be decoded as an octal digit. |
filesystem_store_metadata_file = None
|
(String) The path to a file which contains the metadata to be returned with any location associated with this store. The file must contain a valid JSON object. The object should contain the keys 'id' and 'mountpoint'. The value for both keys should be 'string'. |
| Configuration option = Default value | Description |
|---|---|
[glance_store]
|
|
http_proxy_information = {}
|
(Dict) Specify the http/https proxy information that should be used to connect to the remote server. The proxy information should be a key value pair of the scheme and proxy. e.g. http:10.0.0.1:3128. You can specify proxies for multiple schemes by seperating the key value pairs with a comma.e.g. http:10.0.0.1:3128, https:10.0.0.1:1080. |
https_ca_certificates_file = None
|
(String) Specify the path to the CA bundle file to use in verifying the remote server certificate. |
https_insecure = True
|
(Boolean) If true, the remote server certificate is not verified. If false, then the default CA truststore is used for verification. This option is ignored if "https_ca_certificates_file" is set. |
| Configuration option = Default value | Description |
|---|---|
[glance_store]
|
|
rados_connect_timeout = 0
|
(Integer) Timeout value (in seconds) used when connecting to ceph cluster. If value <= 0, no timeout is set and default librados value is used. |
rbd_store_ceph_conf = /etc/ceph/ceph.conf
|
(String) Ceph configuration file path. If <None>, librados will locate the default config. If using cephx authentication, this file should include a reference to the right keyring in a client.<USER> section |
rbd_store_chunk_size = 8
|
(Integer) RADOS images will be chunked into objects of this size (in megabytes). For best performance, this should be a power of two. |
rbd_store_pool = images
|
(String) RADOS pool in which images are stored. |
rbd_store_user = None
|
(String) RADOS user to authenticate as (only applicable if using Cephx. If <None>, a default will be chosen based on the client. section in rbd_store_ceph_conf) |
| Configuration option = Default value | Description |
|---|---|
[glance_store]
|
|
sheepdog_store_address = localhost
|
(String) IP address of sheep daemon. |
sheepdog_store_chunk_size = 64
|
(Integer) Images will be chunked into objects of this size (in megabytes). For best performance, this should be a power of two. |
sheepdog_store_port = 7000
|
(Integer) Port of sheep daemon. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
default_swift_reference = ref1
|
(String) The reference to the default swift account/backing store parameters to use for adding new images. |
swift_store_auth_address = None
|
(String) The address where the Swift authentication service is listening.(deprecated) |
swift_store_config_file = None
|
(String) The config file that has the swift account(s)configs. |
swift_store_key = None
|
(String) Auth key for the user authenticating against the Swift authentication service. (deprecated) |
swift_store_user = None
|
(String) The user to authenticate against the Swift authentication service (deprecated) |
[glance_store]
|
|
default_swift_reference = ref1
|
(String) The reference to the default swift account/backing store parameters to use for adding new images. |
swift_store_admin_tenants =
|
(List) A list of tenants that will be granted read/write access on all Swift containers created by Glance in multi-tenant mode. |
swift_store_auth_address = None
|
(String) The address where the Swift authentication service is listening. (deprecated - use "auth_address" in swift_store_config_file) |
swift_store_auth_insecure = False
|
(Boolean) If True, swiftclient won't check for a valid SSL certificate when authenticating. |
swift_store_auth_version = 2
|
(String) Version of the authentication service to use. Valid versions are 2 and 3 for keystone and 1 (deprecated) for swauth and rackspace. (deprecated - use "auth_version" in swift_store_config_file) |
swift_store_cacert = None
|
(String) A string giving the CA certificate file to use in SSL connections for verifying certs. |
swift_store_config_file = None
|
(String) The config file that has the swift account(s)configs. |
swift_store_container = glance
|
(String) Container within the account that the account should use for storing images in Swift when using single container mode. In multiple container mode, this will be the prefix for all containers. |
swift_store_create_container_on_put = False
|
(Boolean) A boolean value that determines if we create the container if it does not exist. |
swift_store_endpoint = None
|
(String) If set, the configured endpoint will be used. If None, the storage url from the auth response will be used. |
swift_store_endpoint_type = publicURL
|
(String) A string giving the endpoint type of the swift service to use (publicURL, adminURL or internalURL). This setting is only used if swift_store_auth_version is 2. |
swift_store_expire_soon_interval = 60
|
(Integer) The period of time (in seconds) before token expirationwhen glance_store will try to reques new user token. Default value 60 sec means that if token is going to expire in 1 min then glance_store request new user token. |
swift_store_key = None
|
(String) Auth key for the user authenticating against the Swift authentication service. (deprecated - use "key" in swift_store_config_file) |
swift_store_large_object_chunk_size = 200
|
(Integer) The amount of data written to a temporary disk buffer during the process of chunking the image file. |
swift_store_large_object_size = 5120
|
(Integer) The size, in MB, that Glance will start chunking image files and do a large object manifest in Swift. |
swift_store_multi_tenant = False
|
(Boolean) If set to True, enables multi-tenant storage mode which causes Glance images to be stored in tenant specific Swift accounts. |
swift_store_multiple_containers_seed = 0
|
(Integer) 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.Used only when swift_store_multi_tenant is disabled. The total number of containers that will be used is equal to 16^N, so if this config option is set to 2, then 16^2=256 containers will be used to store images. |
swift_store_region = None
|
(String) The region of the swift endpoint to be used for single tenant. This setting is only necessary if the tenant has multiple swift endpoints. |
swift_store_retry_get_count = 0
|
(Integer) The number of times a Swift download will be retried before the request fails. |
swift_store_service_type = object-store
|
(String) A string giving the service type of the swift service to use. This setting is only used if swift_store_auth_version is 2. |
swift_store_ssl_compression = True
|
(Boolean) If set to False, disables SSL layer compression of https swift requests. Setting to False may improve performance for images which are already in a compressed format, eg qcow2. |
swift_store_use_trusts = True
|
(Boolean) If set to True create a trust for each add/get request to Multi-tenant store in order to prevent authentication token to be expired during uploading/downloading data. If set to False then user token is used for Swift connection (so no overhead on trust creation). Please note that this option is considered only and only if swift_store_multi_tenant=True |
swift_store_user = None
|
(String) The user to authenticate against the Swift authentication service (deprecated - use "user" in swift_store_config_file) |
8.6. Image service sample configuration files Copier lienLien copié sur presse-papiers!
/etc/glance/ directory.
8.6.1. glance-api.conf Copier lienLien copié sur presse-papiers!
glance-api.conf file.
8.6.2. glance-registry.conf Copier lienLien copié sur presse-papiers!
glance-registry.conf file.
8.6.3. glance-api-paste.ini Copier lienLien copié sur presse-papiers!
glance-api-paste.ini file.
8.6.4. glance-manage.conf Copier lienLien copié sur presse-papiers!
glance-manage.conf file.
glance-manage.conf will override options of the same section and name set in glance-registry.conf and glance-api.conf. Similarly, options in glance-api.conf will override options set in glance-registry.conf.
8.6.5. glance-registry-paste.ini Copier lienLien copié sur presse-papiers!
glance-registry-paste.ini file.
8.6.6. glance-scrubber.conf Copier lienLien copié sur presse-papiers!
glance-scrubber.conf file.
glance-scrubber can be run in a single deployment, but only one of them can be designated as the cleanup_scrubber in the glance-scrubber.conf file. The cleanup_scrubber coordinates other glance-scrubber instances by maintaining the master queue of images that need to be removed.
8.6.7. policy.json Copier lienLien copié sur presse-papiers!
/etc/glance/policy.json file defines additional access controls that apply to the Image service.
8.7. New, updated and deprecated options in Liberty for OpenStack Image service Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [profiler] hmac_keys = SECRET_KEY | (StrOpt) Secret key to use to sign Glance API and Glance Registry services tracing messages. |
| Option | New default value | New default value |
[DEFAULT] allowed_rpc_exception_modules
|
glance.common.exception, exceptions | glance.common.exception, builtins, exceptions |
[DEFAULT] workers
|
4
|
None
|
[image_format] container_formats
|
ami, ari, aki, bare, ovf, ova | ami, ari, aki, bare, ovf, ova, docker |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT] use_syslog
|
None
|
Chapter 9. Networking Copier lienLien copié sur presse-papiers!
9.1. Networking configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
agent_down_time = 75
|
(Integer) Seconds to regard the agent is down; should be at least twice report_interval, to be sure the agent is down for good. |
api_workers = None
|
(Integer) Number of separate API worker processes for service. If not specified, the default is equal to the number of CPUs available for best performance. |
auth_ca_cert = None
|
(String) Certificate Authority public key (CA cert) file for ssl |
auth_strategy = keystone
|
(String) The type of authentication to use |
base_mac = fa:16:3e:00:00:00
|
(String) The base MAC address Neutron will use for VIFs. The first 3 octets will remain unchanged. If the 4th octet is not 00, it will also be used. The others will be randomly generated. |
bgp_drscheduler_driver = neutron.services.bgp.scheduler.bgp_dragent_scheduler.ChanceScheduler
|
(String) Driver used for scheduling BGP speakers to BGP DrAgent |
bind_host = 0.0.0.0
|
(String) The host IP to bind to |
bind_port = 9696
|
(Port number) The port to bind to |
core_plugin = None
|
(String) The core plugin Neutron will use |
default_availability_zones =
|
(List) Default value of availability zone hints. The availability zone aware schedulers use this when the resources availability_zone_hints is empty. Multiple availability zones can be specified by a comma separated string. This value can be empty. In this case, even if availability_zone_hints for a resource is empty, availability zone is considered for high availability while scheduling the resource. |
default_ipv4_subnet_pool = None
|
(String) DEPRECATED: Default IPv4 subnet pool to be used for automatic subnet CIDR allocation. Specifies by UUID the pool to be used in case where creation of a subnet is being called without a subnet pool ID. If not set then no pool will be used unless passed explicitly to the subnet create. If no pool is used, then a CIDR must be passed to create a subnet and that subnet will not be allocated from any pool; it will be considered part of the tenant's private address space. This option is deprecated for removal in the N release. |
default_ipv6_subnet_pool = None
|
(String) DEPRECATED: Default IPv6 subnet pool to be used for automatic subnet CIDR allocation. Specifies by UUID the pool to be used in case where creation of a subnet is being called without a subnet pool ID. See the description for default_ipv4_subnet_pool for more information. This option is deprecated for removal in the N release. |
dhcp_agent_notification = True
|
(Boolean) Allow sending resource operation notification to DHCP agent |
dhcp_agents_per_network = 1
|
(Integer) Number of DHCP agents scheduled to host a tenant network. If this number is greater than 1, the scheduler automatically assigns multiple DHCP agents for a given tenant network, providing high availability for DHCP service. |
dhcp_broadcast_reply = False
|
(Boolean) Use broadcast in DHCP replies. |
dhcp_confs = $state_path/dhcp
|
(String) Location to store DHCP server config files. |
dhcp_domain = openstacklocal
|
(String) DEPRECATED: Domain to use for building the hostnames. This option is deprecated. It has been moved to neutron.conf as dns_domain. It will be removed in a future release. |
dhcp_lease_duration = 86400
|
(Integer) DHCP lease duration (in seconds). Use -1 to tell dnsmasq to use infinite lease times. |
dhcp_load_type = networks
|
(String) Representing the resource type whose load is being reported by the agent. This can be "networks", "subnets" or "ports". When specified (Default is networks), the server will extract particular load sent as part of its agent configuration object from the agent report state, which is the number of resources being consumed, at every report_interval.dhcp_load_type can be used in combination with network_scheduler_driver = neutron.scheduler.dhcp_agent_scheduler.WeightScheduler When the network_scheduler_driver is WeightScheduler, dhcp_load_type can be configured to represent the choice for the resource being balanced. Example: dhcp_load_type=networks |
dns_domain = openstacklocal
|
(String) Domain to use for building the hostnames |
enable_new_agents = True
|
(Boolean) Agent starts with admin_state_up=False when enable_new_agents=False. In the case, user's resources will not be scheduled automatically to the agent until admin changes admin_state_up to True. |
enable_services_on_agents_with_admin_state_down = False
|
(Boolean) Enable services on an agent with admin_state_up False. If this option is False, when admin_state_up of an agent is turned False, services on it will be disabled. Agents with admin_state_up False are not selected for automatic scheduling regardless of this option. But manual scheduling to such agents is available if this option is True. |
executor_thread_pool_size = 64
|
(Integer) Size of executor thread pool. |
external_dns_driver = None
|
(String) Driver for external DNS integration. |
global_physnet_mtu = 1500
|
(Integer) MTU of the underlying physical network. Neutron uses this value to calculate MTU for all virtual network components. For flat and VLAN networks, neutron uses this value without modification. For overlay networks such as VXLAN, neutron automatically subtracts the overlay protocol overhead from this value. Defaults to 1500, the standard value for Ethernet. If using the ML2 plug-in with overlay/tunnel networks, also configure the ml2 path_mtu option with the same value as the global_physnet_mtu option. |
ip_lib_force_root = False
|
(Boolean) Force ip_lib calls to use the root helper |
ipam_driver = None
|
(String) Neutron IPAM (IP address management) driver to use. If ipam_driver is not set (default behavior), no IPAM driver is used. In order to use the reference implementation of Neutron IPAM driver, use 'internal'. |
mac_generation_retries = 16
|
(Integer) How many times Neutron will retry MAC generation |
max_allowed_address_pair = 10
|
(Integer) Maximum number of allowed address pairs |
max_dns_nameservers = 5
|
(Integer) Maximum number of DNS nameservers per subnet |
max_fixed_ips_per_port = 5
|
(Integer) DEPRECATED: Maximum number of fixed ips per port. This option is deprecated and will be removed in the N release. |
max_rtr_adv_interval = 100
|
(Integer) MaxRtrAdvInterval setting for radvd.conf |
max_subnet_host_routes = 20
|
(Integer) Maximum number of host routes per subnet |
memcached_servers = None
|
(List) Memcached servers or None for in process cache. |
min_rtr_adv_interval = 30
|
(Integer) MinRtrAdvInterval setting for radvd.conf |
periodic_fuzzy_delay = 5
|
(Integer) Range of seconds to randomly delay when starting the periodic task scheduler to reduce stampeding. (Disable by setting to 0) |
periodic_interval = 40
|
(Integer) Seconds between running periodic tasks |
report_interval = 300
|
(Integer) Interval between two metering reports |
state_path = /var/lib/neutron
|
(String) Where to store Neutron state files. This directory must be writable by the agent. |
vlan_transparent = False
|
(Boolean) If True, then allow plugins that support it to create VLAN transparent networks. |
web_framework = legacy
|
(String) This will choose the web framework in which to run the Neutron API server. 'pecan' is a new experiemental rewrite of the API server. |
[AGENT]
|
|
check_child_processes_action = respawn
|
(String) Action to be executed when a child process dies |
check_child_processes_interval = 60
|
(Integer) Interval between checks of child process liveness (seconds), use 0 to disable |
log_agent_heartbeats = False
|
(Boolean) Log agent heartbeats |
polling_interval = 2
|
(Integer) The number of seconds the agent will wait between polling for local device changes. |
root_helper = sudo
|
(String) Root helper application. Use 'sudo neutron-rootwrap /etc/neutron/rootwrap.conf' to use the real root filter facility. Change to 'sudo' to skip the filtering and just run the command directly. |
root_helper_daemon = None
|
(String) Root helper daemon application to use when possible. |
[keystone_authtoken]
|
|
memcached_servers = None
|
(List) Optionally specify a list of memcached server(s) to use for caching. If left undefined, tokens will instead be cached in-process. |
[qos]
|
|
notification_drivers = message_queue
|
(List) Drivers list to use to send the update notification |
[service_providers]
|
|
service_provider = []
|
(Multi-valued) Defines providers for advanced services using the format: <service_type>:<name>:<driver>[:default] |
9.1.1. Networking plug-ins Copier lienLien copié sur presse-papiers!
- Ryu plugin. The Ryu team recommends that you migrate to the ML2 plugin with the ofagent mechanism driver. However, note that the functionality is not the same. There is no upgrade procedure currently available.
- Mellanox plugin.
9.1.1.1. BaGpipe configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [BAGPIPE] | |
bagpipe_bgp_ip = 127.0.0.1
|
(StrOpt) BGP component REST service IP address. |
bagpipe_bgp_port = 8082
|
(IntOpt) BGP component REST service IP port. |
mpls_bridge = br-mpls
|
(StrOpt) OVS MPLS bridge to use. |
mpls_from_tun_peer_patch_port = patch-from-tun
|
(StrOpt) OVS Peer patch port in MPLS bridge to tunnel bridge (traffic from tunnel bridge). |
mpls_to_tun_peer_patch_port = patch-to-tun
|
(StrOpt) OVS Peer patch port in MPLS bridge to tunnel bridge(traffic to tunnel bridge). |
ping_interval = 10
|
(IntOpt) The number of seconds the BGP component client will wait between polling for restart detection. |
tun_from_mpls_peer_patch_port = patch-from-mpls
|
(StrOpt) OVS Peer patch port in tunnel bridge to MPLS bridge (traffic from MPLS bridge). |
tun_to_mpls_peer_patch_port = patch-to-mpls
|
(StrOpt) OVS Peer patch port in tunnel bridge to MPLS bridge (traffic to MPLS bridge). |
9.1.1.2. BigSwitch configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [NOVA] | |
node_override_vif_802.1qbg =
|
(ListOpt) Nova compute nodes to manually set VIF type to 802.1qbg |
node_override_vif_802.1qbh =
|
(ListOpt) Nova compute nodes to manually set VIF type to 802.1qbh |
node_override_vif_binding_failed =
|
(ListOpt) Nova compute nodes to manually set VIF type to binding_failed |
node_override_vif_bridge =
|
(ListOpt) Nova compute nodes to manually set VIF type to bridge |
node_override_vif_distributed =
|
(ListOpt) Nova compute nodes to manually set VIF type to distributed |
node_override_vif_dvs =
|
(ListOpt) Nova compute nodes to manually set VIF type to dvs |
node_override_vif_hw_web =
|
(ListOpt) Nova compute nodes to manually set VIF type to hw_web |
node_override_vif_hyperv =
|
(ListOpt) Nova compute nodes to manually set VIF type to hyperv |
node_override_vif_ib_hostdev =
|
(ListOpt) Nova compute nodes to manually set VIF type to ib_hostdev |
node_override_vif_iovisor =
|
(ListOpt) Nova compute nodes to manually set VIF type to iovisor |
node_override_vif_ivs =
|
(ListOpt) Nova compute nodes to manually set VIF type to ivs |
node_override_vif_midonet =
|
(ListOpt) Nova compute nodes to manually set VIF type to midonet |
node_override_vif_other =
|
(ListOpt) Nova compute nodes to manually set VIF type to other |
node_override_vif_ovs =
|
(ListOpt) Nova compute nodes to manually set VIF type to ovs |
node_override_vif_unbound =
|
(ListOpt) Nova compute nodes to manually set VIF type to unbound |
node_override_vif_vhostuser =
|
(ListOpt) Nova compute nodes to manually set VIF type to vhostuser |
node_override_vif_vrouter =
|
(ListOpt) Nova compute nodes to manually set VIF type to vrouter |
vif_type = ivs
|
(StrOpt) Virtual interface type to configure on Nova compute nodes |
vif_types = unbound, binding_failed, distributed, ovs, bridge, other, ivs, iovisor, vhostuser, dvs, 802.1qbg, 802.1qbh, hyperv, midonet, ib_hostdev, hw_web, vrouter
|
(ListOpt) List of allowed vif_type values. |
| [RESTPROXY] | |
add_meta_server_route = True
|
(BoolOpt) Determines whether a route to the metadata server should be injected into the VM |
auto_sync_on_failure = True
|
(BoolOpt) If neutron fails to create a resource because the back end controller doesn't know of a dependency, the plugin automatically triggers a full data synchronization to the controller. |
cache_connections = True
|
(BoolOpt) Re-use HTTP/HTTPS connections to the controller. |
consistency_interval = 60
|
(IntOpt) Time between verifications that the backend controller database is consistent with Neutron. (0 to disable) |
neutron_id = neutron-images
|
(StrOpt) User-defined identifier for this neutron deployment |
no_ssl_validation = False
|
(BoolOpt) Disables SSL certificate validation for controllers |
server_auth = None
|
(StrOpt) The username and password for authenticating against the Big Switch or Floodlight controller. |
server_ssl = True
|
(BoolOpt) If True, use SSL when connecting to the Big Switch or Floodlight controller. |
server_timeout = 10
|
(IntOpt) Maximum number of seconds to wait for proxy request to connect and complete. |
servers = localhost:8800
|
(ListOpt) A comma separated list of Big Switch/Floodlight servers, and port numbers. The plugin proxies the requests to the Big Switch/Floodlight server, which performs the networking configuration. Only one server is needed per deployment, but you can deploy multiple servers for failover. |
ssl_cert_directory = /etc/neutron/plugins/bigswitch/ssl
|
(StrOpt) Directory containing ca_certs and host_certs certificate directories. |
ssl_sticky = True
|
(BoolOpt) Trust and store the first certificate received for each controller address and use it to validate future connections to that address. |
sync_data = False
|
(BoolOpt) Sync data on connect |
thread_pool_size = 4
|
(IntOpt) Maximum number of threads to spawn to handle large volumes of port creations. |
| [RESTPROXYAGENT] | |
integration_bridge = br-int
|
(StrOpt) Name of integration bridge on Compute nodes used for security group insertion. |
polling_interval = 5
|
(IntOpt) Seconds between agent checks for port changes |
virtual_switch_type = ivs
|
(StrOpt) Virtual switch type. |
| [ROUTER] | |
max_router_rules = 200
|
(IntOpt) Maximum number of router rules |
tenant_default_router_rule = ['*:any:any:permit']
|
(MultiStrOpt) The default router rules installed in new tenant routers. Repeat the config option for each rule. Format is <tenant>:<source>:<destination>:<action> Use an * to specify default for all tenants. |
9.1.1.3. Brocade configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [PHYSICAL_INTERFACE] | |
physical_interface = eth0
|
(StrOpt) The network interface to use when creating a port |
| [SWITCH] | |
address =
|
(StrOpt) The address of the host to SSH to |
ostype = NOS
|
(StrOpt) Currently unused |
password =
|
(StrOpt) The SSH password to use |
username =
|
(StrOpt) The SSH username to use |
9.1.1.4. Brocade MLX L3 plug-in Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [L3_BROCADE_MLX_EXAMPLE] | |
address =
|
(StrOpt) The IP address of the MLX switch |
password = password
|
(StrOpt) The SSH password of the switch |
physical_networks =
|
(StrOpt) Allowed physical networks where VLAN can be configured on this switch |
ports =
|
(StrOpt) Ports to be tagged in the VLAN being configured on the switch |
username = admin
|
(StrOpt) The SSH username for the switch |
| [l3_brocade_mlx] | |
switch_names =
|
(StrOpt) Switches connected to the Compute nodes |
9.1.1.5. Brocade Vyatta layer 3 plug-in Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [VROUTER] | |
flavor = 2
|
(StrOpt) Nova VM flavor for instances of Vyatta vRouter. |
image_id = None
|
(StrOpt) Nova image id for instances of Vyatta vRouter. |
keystone_url = None
|
(StrOpt) Keystone URL. |
management_network_id = None
|
(StrOpt) Vyatta vRouter management network id. |
nova_poll_interval = 5
|
(IntOpt) Number of seconds between consecutive Nova queries when waiting for router instance status change. |
nova_spawn_timeout = 300
|
(IntOpt) Number of seconds to wait for Nova to activate instance before setting resource to error state. |
tenant_admin_name = None
|
(StrOpt) Name of tenant admin user. |
tenant_admin_password = None
|
(StrOpt) Tenant admin password. |
tenant_id = None
|
(StrOpt) UUID of tenant that holds Vyatta vRouter instances. |
vrouter_boot_timeout = 300
|
(IntOpt) Number of seconds to wait for Vyatta vRouter to boot before setting resource to error state. |
vrouter_credentials = vyatta:vyatta
|
(StrOpt) Vyatta vRouter login credentials |
vrouter_poll_interval = 5
|
(IntOpt) Number of seconds between consecutive Vyatta vRouter queries when waiting for router instance boot. |
9.1.1.6. CISCO configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [cfg_agent] | |
device_connection_timeout = 30
|
(IntOpt) Time in seconds for connecting to a hosting device |
fw_svc_helper_class = neutron_fwaas.services.firewall.drivers.cisco.csr_firewall_svc_helper.CsrFirewallServiceHelper
|
(StrOpt) Path of the firewall service helper class. |
hosting_device_dead_timeout = 300
|
(IntOpt) The time in seconds until a backlogged hosting device is presumed dead. This value should be set up high enough to recover from a period of connectivity loss or high load when the device may not be responding. |
routing_svc_helper_class = networking_cisco.plugins.cisco.cfg_agent.service_helpers.routing_svc_helper.RoutingServiceHelper
|
(StrOpt) Path of the routing service helper class. |
rpc_loop_interval = 10
|
(IntOpt) Interval when the process_services() loop executes in seconds. This is when the config agent lets each service helper process its neutron resources. |
| [cisco_csr_ipsec] | |
status_check_interval = 60
|
(IntOpt) Status check interval for Cisco CSR IPSec connections |
| [general] | |
backlog_processing_interval = 10
|
(IntOpt) Time in seconds between renewed scheduling attempts of non-scheduled routers. |
cfg_agent_down_time = 60
|
(IntOpt) Seconds of no status update until a cfg agent is considered down. |
default_security_group = mgmt_sec_grp
|
(StrOpt) Default security group applied on management port. Default value is mgmt_sec_grp. |
ensure_nova_running = True
|
(BoolOpt) Ensure that nova is running before attempting to create a VM. |
l3_admin_tenant = L3AdminTenant
|
(StrOpt) Name of the L3 admin tenant. |
management_network = osn_mgmt_nw
|
(StrOpt) Name of management network for device configuration. Default value is osn_mgmt_nw |
service_vm_config_path = /opt/stack/data/neutron/cisco/config_drive
|
(StrOpt) Path to config drive files for service VM instances. |
templates_path = /opt/stack/data/neutron/cisco/templates
|
(StrOpt) Path to templates for hosting devices. |
| [hosting_devices] | |
csr1kv_booting_time = 420
|
(IntOpt) Booting time in seconds before a CSR1kv becomes operational. |
csr1kv_cfgagent_router_driver = networking_cisco.plugins.cisco.cfg_agent.device_drivers.csr1kv.csr1kv_routing_driver.CSR1kvRoutingDriver
|
(StrOpt) Config agent driver for CSR1kv. |
csr1kv_configdrive_template = csr1kv_cfg_template
|
(StrOpt) CSR1kv configdrive template file. |
csr1kv_device_driver = networking_cisco.plugins.cisco.l3.hosting_device_drivers.csr1kv_hd_driver.CSR1kvHostingDeviceDriver
|
(StrOpt) Hosting device driver for CSR1kv. |
csr1kv_flavor = 621
|
(StrOpt) UUID of Nova flavor for CSR1kv. |
csr1kv_image = csr1kv_openstack_img
|
(StrOpt) Name of Glance image for CSR1kv. |
csr1kv_password = cisco
|
(StrOpt) Password to use for CSR1kv configurations. |
csr1kv_plugging_driver = networking_cisco.plugins.cisco.l3.plugging_drivers.n1kv_trunking_driver.N1kvTrunkingPlugDriver
|
(StrOpt) Plugging driver for CSR1kv. |
csr1kv_username = stack
|
(StrOpt) Username to use for CSR1kv configurations. |
| [ml2_cisco_n1kv] | |
max_vsm_retries = 2
|
(IntOpt) Maximum number of retry attempts for VSM REST API. |
| [n1kv] | |
management_port_profile = osn_mgmt_pp
|
(StrOpt) Name of N1kv port profile for management ports. |
t1_network_profile = osn_t1_np
|
(StrOpt) Name of N1kv network profile for T1 networks (for example, trunk networks for VXLAN segmented traffic). |
t1_port_profile = osn_t1_pp
|
(StrOpt) Name of N1kv port profile for T1 ports (for example, ports carrying traffic from VXLAN segmented networks). |
t2_network_profile = osn_t2_np
|
(StrOpt) Name of N1kv network profile for T2 networks (for example, trunk networks for VLAN segmented traffic). |
t2_port_profile = osn_t2_pp
|
(StrOpt) Name of N1kv port profile for T2 ports (for example, ports carrying traffic from VLAN segmented networks). |
9.1.1.7. Fujitsu CFAB configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [fujitsu_cfab] | |
address =
|
(StrOpt) The address of the C-Fabric to telnet to. |
password = admin
|
(StrOpt) The C-Fabric password to use. |
physical_networks =
|
(ListOpt) List of <physical_network>:<vfab_id> tuples specifying physical_network names and corresponding vfab ids. |
pprofile_prefix =
|
(StrOpt) The prefix string for pprofile name. |
save_config = True
|
(BoolOpt) Whether to save configuration. |
share_pprofile = False
|
(BoolOpt) Whether to share a C-Fabric pprofile among Neutron ports using the same VLAN ID. |
username = admin
|
(StrOpt) The C-Fabric username to use. |
9.1.1.8. Fujitsu ISM configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [fujitsu_ism] | |
address = furukawa-ism
|
(StrOpt) The IP address or hostname of the ISM. |
certificate_authority = /etc/neutron/plugins/ml2/fujitsu/server.crt
|
(StrOpt) The certification authority for ISM. |
password = admin
|
(StrOpt) The ISM password to use. |
port = 25566
|
(StrOpt) The port number of the ISM. |
timeout = 30
|
(StrOpt) The API timeout value for ISM. |
username = admin
|
(StrOpt) The ISM username to use. |
9.1.1.9. CloudBase Hyper-V Agent configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [AGENT] | |
enable_metrics_collection = False
|
(BoolOpt) Enables metrics collections for switch ports by using Hyper-V's metric APIs. Collected data can by retrieved by other apps and services, e.g. ceilometer. Requires Hyper-V / Windows Server 2012 and above |
local_network_vswitch = private
|
(StrOpt) Private vswitch name used for local networks |
metrics_max_retries = 100
|
(IntOpt) Specifies the maximum number of retries to enable Hyper-V's port metrics collection. The agent will try to enable the feature once every polling_interval period for at most metrics_max_retries, or until it succeeds. |
neutron_metadata_address = 169.254.169.254
|
(StrOpt) Specifies the address which will serve the metadata for the instance. |
physical_network_vswitch_mappings =
|
(ListOpt) List of <physical_network>:<vswitch> where the physical networks can be expressed with wildcards, e.g. ."*:external" |
polling_interval = 2
|
(IntOpt) The number of seconds the agent will wait between polling for local device changes. |
| [NVGRE] | |
enable_support = False
|
(BoolOpt) Enables Hyper-V NVGRE. Requires Windows Server 2012 or above. |
provider_tunnel_ip = None
|
(StrOpt) Specifies the tunnel IP which will be used and reported by this host for NVGRE networks. |
provider_vlan_id = 0
|
(IntOpt) Specifies the VLAN ID of the physical network, required for setting the NVGRE Provider Address. |
| [hyperv] | |
force_hyperv_utils_v1 = False
|
(BoolOpt) Force V1 WMI utility classes |
| [neutron] | |
admin_auth_url = http://localhost:5000/v2.0
|
(StrOpt) auth url for connecting to neutron in admin context |
admin_password = None
|
(StrOpt) password for connecting to neutron in admin context |
admin_tenant_name = None
|
(StrOpt) tenant name for connecting to neutron in admin context |
admin_username = None
|
(StrOpt) username for connecting to neutron in admin context |
auth_strategy = keystone
|
(StrOpt) auth strategy for connecting to neutron in admin context |
url = http://127.0.0.1:9696
|
(StrOpt) URL for connecting to neutron |
url_timeout = 30
|
(IntOpt) timeout value for connecting to neutron in seconds |
9.1.1.10. Embrane configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [heleos] | |
admin_username = admin
|
(StrOpt) ESM admin username. |
async_requests = True
|
(BoolOpt) Define if the requests have run asynchronously or not |
dummy_utif_id = None
|
(StrOpt) Dummy user traffic Security Zone id |
esm_mgmt = None
|
(StrOpt) ESM management root address |
inband_id = None
|
(StrOpt) In band Security Zone id |
mgmt_id = None
|
(StrOpt) Management Security Zone id |
oob_id = None
|
(StrOpt) Out of band Security Zone id |
resource_pool_id = default
|
(StrOpt) Shared resource pool id |
router_image = None
|
(StrOpt) Router image id (Embrane FW/VPN) |
9.1.1.11. IBM SDN-VE configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [SDNVE] | |
base_url = /one/nb/v2/
|
(StrOpt) Base URL for SDN-VE controller REST API. |
controller_ips = 127.0.0.1
|
(ListOpt) List of IP addresses of SDN-VE controller(s). |
default_tenant_type = OVERLAY
|
(StrOpt) Tenant type: OVERLAY (default) or OF. |
format = json
|
(StrOpt) SDN-VE request/response format. |
info = sdnve_info_string
|
(StrOpt) SDN-VE RPC subject. |
integration_bridge = None
|
(StrOpt) Integration bridge to use. |
interface_mappings =
|
(ListOpt) List of <physical_network_name>:<interface_name> mappings. |
of_signature = SDNVE-OF
|
(StrOpt) The string in tenant description that indicates the tenant is a OF tenant. |
out_of_band = True
|
(BoolOpt) Indicating if controller is out of band or not. |
overlay_signature = SDNVE-OVERLAY
|
(StrOpt) The string in tenant description that indicates the tenant is a OVERLAY tenant. |
password = admin
|
(StrOpt) SDN-VE administrator password. |
port = 8443
|
(StrOpt) SDN-VE controller port number. |
reset_bridge = True
|
(BoolOpt) Whether to reset the integration bridge before use. |
use_fake_controller = False
|
(BoolOpt) Whether to use a fake controller. |
userid = admin
|
(StrOpt) SDN-VE administrator user ID. |
| [SDNVE_AGENT] | |
polling_interval = 2
|
(IntOpt) Agent polling interval if necessary. |
rpc = True
|
(BoolOpt) Whether to use rpc. |
9.1.1.12. Layer 2 Gateway configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[agent]
|
|
extensions =
|
(List) Extensions list to use |
9.1.1.13. Layer 2 Gateway configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
default_device_name = Switch1
|
(StrOpt) default_device_name of the l2 gateway |
default_l2_gw_service_uuid = None
|
(StrOpt) Unique identifier of the NSX L2 Gateway service which will be used by default for network gateways |
default_l3_gw_service_uuid = None
|
(StrOpt) Unique identifier of the NSX L3 Gateway service which will be used for implementing routers and floating IPs |
l2gw_callback_class = networking_l2gw.services.l2gateway.ovsdb.data.L2GatewayOVSDBCallbacks
|
(StrOpt) L2 gateway plugin callback class where the RPCs from the agent are going to get invoked |
quota_l2_gateway = 5
|
(IntOpt) Number of l2 gateways allowed per tenant, -1 for unlimited |
| [ovsdb] | |
enable_manager = False
|
(BoolOpt) Set to 'True' if ovsdb Manager manages the client |
l2_gw_agent_ca_cert_base_path = None
|
(StrOpt) Trusted issuer CA cert |
l2_gw_agent_cert_base_path = None
|
(StrOpt) L2 gateway agent public certificate |
l2_gw_agent_priv_key_base_path = None
|
(StrOpt) L2 gateway agent private key |
max_connection_retries = 10
|
(IntOpt) Maximum number of retries to open a socket with the OVSDB server |
ovsdb_hosts = host1:127.0.0.1:6632
|
(StrOpt) OVSDB server name:host/IP:port |
periodic_interval = 20
|
(IntOpt) Seconds between periodic task runs |
9.1.1.14. Linux bridge Agent configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[AGENT]
|
|
quitting_rpc_timeout = 10
|
(Integer) Set new timeout in seconds for new rpc calls after agent receives SIGTERM. If value is set to 0, rpc timeout won't be changed |
[LINUX_BRIDGE]
|
|
bridge_mappings =
|
(List) List of <physical_network>:<physical_bridge> |
physical_interface_mappings =
|
(List) Comma-separated list of <physical_network>:<physical_interface> tuples mapping physical network names to the agent's node-specific physical network interfaces to be used for flat and VLAN networks. All physical networks listed in network_vlan_ranges on the server should have mappings to appropriate interfaces on each agent. |
[VXLAN]
|
|
arp_responder = False
|
(Boolean) Enable local ARP responder which provides local responses instead of performing ARP broadcast into the overlay. Enabling local ARP responder is not fully compatible with the allowed-address-pairs extension. |
enable_vxlan = True
|
(Boolean) Enable VXLAN on the agent. Can be enabled when agent is managed by ml2 plugin using linuxbridge mechanism driver |
l2_population = False
|
(Boolean) Extension to use alongside ml2 plugin's l2population mechanism driver. It enables the plugin to populate VXLAN forwarding table. |
local_ip = None
|
(Unknown) Local IP address of the VXLAN endpoints. |
tos = None
|
(Integer) TOS for vxlan interface protocol packets. |
ttl = None
|
(Integer) TTL for vxlan interface protocol packets. |
vxlan_group = 224.0.0.1
|
(String) Multicast group(s) for vxlan interface. A range of group addresses may be specified by using CIDR notation. Specifying a range allows different VNIs to use different group addresses, reducing or eliminating spurious broadcast traffic to the tunnel endpoints. To reserve a unique group for each possible (24-bit) VNI, use a /8 such as 239.0.0.0/8. This setting must be the same on all the agents. |
9.1.1.15. Modular Layer 2 (ml2) configuration options Copier lienLien copié sur presse-papiers!
- One option is to increase the MTU value of the physical interface and physical switch fabric by at least 50 bytes. For example, increase the MTU value to 1550. This value enables an automatic 50-byte MTU difference between the physical interface (1500) and the VXLAN interface (automatically 1500-50 = 1450). An MTU value of 1450 causes issues when virtual machine taps are configured at an MTU value of 1500.
- Another option is to decrease the virtual Ethernet devices' MTU. Set the
network_device_mtuoption to 1450 in theneutron.conffile, and set all guest virtual machines' MTU to the same value by using a DHCP option. For information about how to use this option, see Configure OVS plug-in.
| Configuration option = Default value | Description |
|---|---|
[ml2]
|
|
extension_drivers =
|
(List) An ordered list of extension driver entrypoints to be loaded from the neutron.ml2.extension_drivers namespace. For example: extension_drivers = port_security,qos |
external_network_type = None
|
(String) Default network type for external networks when no provider attributes are specified. By default it is None, which means that if provider attributes are not specified while creating external networks then they will have the same type as tenant networks. Allowed values for external_network_type config option depend on the network type values configured in type_drivers config option. |
mechanism_drivers =
|
(List) An ordered list of networking mechanism driver entrypoints to be loaded from the neutron.ml2.mechanism_drivers namespace. |
path_mtu = 1500
|
(Integer) Maximum size of an IP packet (MTU) that can traverse the underlying physical network infrastructure without fragmentation for overlay/tunnel networks. In most cases, use the same value as the global_physnet_mtu option. |
physical_network_mtus =
|
(List) A list of mappings of physical networks to MTU values. The format of the mapping is <physnet>:<mtu val>. This mapping allows specifying a physical network MTU value that differs from the default global_physnet_mtu value. |
tenant_network_types = local
|
(List) Ordered list of network_types to allocate as tenant networks. The default value 'local' is useful for single-box testing but provides no connectivity between hosts. |
type_drivers = local, flat, vlan, gre, vxlan, geneve
|
(List) List of network type driver entrypoints to be loaded from the neutron.ml2.type_drivers namespace. |
9.1.1.15.1. Modular Layer 2 (ml2) Flat Type configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[ml2_type_flat]
|
|
flat_networks = *
|
(List) List of physical_network names with which flat networks can be created. Use default '*' to allow flat networks with arbitrary physical_network names. Use an empty list to disable flat networks. |
9.1.1.15.2. Modular Layer 2 (ml2) GRE Type configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[ml2_type_gre]
|
|
tunnel_id_ranges =
|
(List) Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of GRE tunnel IDs that are available for tenant network allocation |
9.1.1.15.3. Modular Layer 2 (ml2) VLAN Type configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[ml2_type_vlan]
|
|
network_vlan_ranges =
|
(List) List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> specifying physical_network names usable for VLAN provider and tenant networks, as well as ranges of VLAN tags on each available for allocation to tenant networks. |
9.1.1.15.4. Modular Layer 2 (ml2) VXLAN Type configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[ml2_type_vxlan]
|
|
vni_ranges =
|
(List) Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges of VXLAN VNI IDs that are available for tenant network allocation |
vxlan_group = None
|
(String) Multicast group for VXLAN. When configured, will enable sending all broadcast traffic to this multicast group. When left unconfigured, will disable multicast VXLAN mode. |
9.1.1.15.5. Modular Layer 2 (ml2) Arista Mechanism configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [ml2_arista] | |
eapi_host =
|
(StrOpt) Arista EOS IP address. This is required field. If not set, all communications to Arista EOS will fail. |
eapi_password =
|
(StrOpt) Password for Arista EOS. This is required field. If not set, all communications to Arista EOS will fail. |
eapi_username =
|
(StrOpt) Username for Arista EOS. This is required field. If not set, all communications to Arista EOS will fail. |
region_name = RegionOne
|
(StrOpt) Defines Region Name that is assigned to this OpenStack Controller. This is useful when multiple OpenStack/neutron controllers are managing the same Arista HW clusters. Note that this name must match with the region name registered (or known) to keystone service. Authentication with keystone is performed by EOS. This is an optional field. If not set, a value of 'RegionOne' is assumed. |
sync_interval = 180
|
(IntOpt) Sync interval in seconds between neutron plugin and EOS. This interval defines how often the synchronization is performed. This is an optional field. If not set, a value of '180' seconds is assumed. |
use_fqdn = True
|
(BoolOpt) Defines if hostnames are sent to Arista EOS as FQDNs ("node1.domain.com") or as short names ("node1"). This is optional field. If not set, a value of 'True' is assumed. |
| Configuration option = Default value | Description |
|---|---|
| [l3_arista] | |
l3_sync_interval = 180
|
(IntOpt) Sync interval in seconds between L3 Service plugin and EOS. This interval defines how often the synchronization is performed. This is an optional field. If not set, a value of 180 seconds is assumed |
mlag_config = False
|
(BoolOpt) This flag is used indicate if Arista Switches are configured in MLAG mode. If yes, all L3 config is pushed to both the switches automatically. If this flag is set to True, ensure to specify IP addresses of both switches. This is optional. If not set, a value of "False" is assumed. |
primary_l3_host =
|
(StrOpt) Arista EOS IP address. This is required field. If not set, all communications to Arista EOS will fail |
primary_l3_host_password =
|
(StrOpt) Password for Arista EOS. This is required field. If not set, all communications to Arista EOS will fail |
primary_l3_host_username =
|
(StrOpt) Username for Arista EOS. This is required field. If not set, all communications to Arista EOS will fail |
secondary_l3_host =
|
(StrOpt) Arista EOS IP address for second Switch MLAGed with the first one. This an optional field, however, if mlag_config flag is set, then this is required. If not set, all communications to Arista EOS will fail |
use_vrf = False
|
(BoolOpt) A "True" value for this flag indicates to create a router in VRF. If not set, all routers are created in default VRF. This is optional. If not set, a value of "False" is assumed. |
9.1.1.15.6. Modular Layer 2 (ml2) BaGpipe Mechanism configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [ml2_bagpipe] | |
as_number = 64512
|
(IntOpt) Autonomous System number |
| [ml2_type_route_target] | |
rt_asn = 64512
|
(IntOpt) Route Target Autonomous System number. |
rt_nn_ranges =
|
(ListOpt) Comma-separated list of <rt_nn_min>:<rt_nn_max> tuples enumerating ranges of Route Target number that are available for tenant network allocation |
9.1.1.15.7. Modular Layer 2 (ml2) BigSwitch Mechanism configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [NOVA] | |
node_override_vif_802.1qbg =
|
(ListOpt) Nova compute nodes to manually set VIF type to 802.1qbg |
node_override_vif_802.1qbh =
|
(ListOpt) Nova compute nodes to manually set VIF type to 802.1qbh |
node_override_vif_binding_failed =
|
(ListOpt) Nova compute nodes to manually set VIF type to binding_failed |
node_override_vif_bridge =
|
(ListOpt) Nova compute nodes to manually set VIF type to bridge |
node_override_vif_distributed =
|
(ListOpt) Nova compute nodes to manually set VIF type to distributed |
node_override_vif_dvs =
|
(ListOpt) Nova compute nodes to manually set VIF type to dvs |
node_override_vif_hw_web =
|
(ListOpt) Nova compute nodes to manually set VIF type to hw_web |
node_override_vif_hyperv =
|
(ListOpt) Nova compute nodes to manually set VIF type to hyperv |
node_override_vif_ib_hostdev =
|
(ListOpt) Nova compute nodes to manually set VIF type to ib_hostdev |
node_override_vif_iovisor =
|
(ListOpt) Nova compute nodes to manually set VIF type to iovisor |
node_override_vif_ivs =
|
(ListOpt) Nova compute nodes to manually set VIF type to ivs |
node_override_vif_midonet =
|
(ListOpt) Nova compute nodes to manually set VIF type to midonet |
node_override_vif_other =
|
(ListOpt) Nova compute nodes to manually set VIF type to other |
node_override_vif_ovs =
|
(ListOpt) Nova compute nodes to manually set VIF type to ovs |
node_override_vif_unbound =
|
(ListOpt) Nova compute nodes to manually set VIF type to unbound |
node_override_vif_vhostuser =
|
(ListOpt) Nova compute nodes to manually set VIF type to vhostuser |
node_override_vif_vrouter =
|
(ListOpt) Nova compute nodes to manually set VIF type to vrouter |
vif_type = ivs
|
(StrOpt) Virtual interface type to configure on Nova compute nodes |
vif_types = unbound, binding_failed, distributed, ovs, bridge, other, ivs, iovisor, vhostuser, dvs, 802.1qbg, 802.1qbh, hyperv, midonet, ib_hostdev, hw_web, vrouter
|
(ListOpt) List of allowed vif_type values. |
| [RESTPROXY] | |
add_meta_server_route = True
|
(BoolOpt) Determines if a route to the metadata server should be injected into the VM. |
auto_sync_on_failure = True
|
(BoolOpt) If neutron fails to create a resource because the back end controller doesn't know of a dependency, the plugin automatically triggers a full data synchronization to the controller. |
cache_connections = True
|
(BoolOpt) Re-use HTTP/HTTPS connections to the controller. |
consistency_interval = 60
|
(IntOpt) Time between verifications that the backend controller database is consistent with Neutron. (0 to disable) |
neutron_id = neutron-ubuntu1404-master
|
(StrOpt) User defined identifier for this Neutron deployment |
no_ssl_validation = False
|
(BoolOpt) Disables SSL certificate validation for controllers |
server_auth = None
|
(StrOpt) The username and password for authenticating against the Big Switch or Floodlight controller. |
server_ssl = True
|
(BoolOpt) If True, Use SSL when connecting to the Big Switch or Floodlight controller. |
server_timeout = 10
|
(IntOpt) Maximum number of seconds to wait for proxy request to connect and complete. |
servers = localhost:8800
|
(ListOpt) A comma separated list of Big Switch or Floodlight servers and port numbers. The plugin proxies the requests to the Big Switch/Floodlight server, which performs the networking configuration. Only one server is needed per deployment, but you can deploy multiple servers for failover. |
ssl_cert_directory = /etc/neutron/plugins/bigswitch/ssl
|
(StrOpt) Directory containing ca_certs and host_certs certificate directories. |
ssl_sticky = True
|
(BoolOpt) Trust and store the first certificate received for each controller address and use it to validate future connections to that address. |
sync_data = False
|
(BoolOpt) Sync data on connect |
thread_pool_size = 4
|
(IntOpt) Maximum number of threads to spawn to handle large volumes of port creations. |
| [RESTPROXYAGENT] | |
integration_bridge = br-int
|
(StrOpt) Name of integration bridge on compute nodes used for security group insertion. |
polling_interval = 5
|
(IntOpt) Seconds between agent checks for port changes |
virtual_switch_type = ivs
|
(StrOpt) Virtual switch type. |
| [ROUTER] | |
max_router_rules = 200
|
(IntOpt) Maximum number of router rules |
tenant_default_router_rule = ['*:any:any:permit']
|
(MultiStrOpt) The default router rules installed in new tenant routers. Repeat the config option for each rule. Format is <tenant>:<source>:<destination>:<action> Use an * to specify default for all tenants. |
9.1.1.15.8. Modular Layer 2 (ml2) Brocade Mechanism configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [ML2_BROCADE_MLX_EXAMPLE] | |
address =
|
(StrOpt) The address of the host to SSH to |
ostype = NI
|
(StrOpt) OS type of the device. |
password = password
|
(StrOpt) The SSH password to use |
physical_networks =
|
(StrOpt) Allowed physical networks |
ports =
|
(StrOpt) Ports |
transport = SSH
|
(StrOpt) Protocol used to communicate with the switch |
username = admin
|
(StrOpt) The SSH username to use |
| [ml2_brocade] | |
address =
|
(StrOpt) The address of the host to SSH to |
ostype = NOS
|
(StrOpt) OS Type of the switch |
osversion = 4.0.0
|
(StrOpt) OS Version number |
password = password
|
(StrOpt) The SSH password to use |
physical_networks =
|
(StrOpt) Allowed physical networks |
rbridge_id = 1
|
(StrOpt) Rbridge id of provider edge router(s) |
username = admin
|
(StrOpt) The SSH username to use |
9.1.1.15.9. Modular Layer 3 (ml2) Brocade MLX ICX Mechanism configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [ml2_brocade_fi_ni] | |
switch_names =
|
(StrOpt) Switches connected to the compute nodes |
9.1.1.15.10. Modular Layer 2 (ml2) Cisco Mechanism configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
apic_system_id = openstack
|
(StrOpt) Prefix for APIC domain/names/profiles created |
| [ml2_cisco] | |
host_key_checks = False
|
(BoolOpt) Enable strict host key checks when connecting to Nexus switches |
managed_physical_network = None
|
(StrOpt) The physical network managed by the switches. |
never_cache_ssh_connection = False
|
(BoolOpt) Prevent caching SSH connections to Nexus device |
persistent_switch_config = False
|
(BoolOpt) To make Nexus configuration persistent |
provider_vlan_auto_create = True
|
(BoolOpt) Provider VLANs are automatically created as needed on the Nexus switch |
provider_vlan_auto_trunk = True
|
(BoolOpt) Provider VLANs are automatically trunked as needed on the ports of the Nexus switch |
provider_vlan_name_prefix = p-
|
(StrOpt) VLAN Name prefix for provider VLANs |
svi_round_robin = False
|
(BoolOpt) Distribute SVI interfaces over all switches |
switch_heartbeat_time = 0
|
(IntOpt) Periodic time to check switch connection. (0=disabled) |
vlan_name_prefix = q-
|
(StrOpt) VLAN Name prefix |
vxlan_global_config = False
|
(BoolOpt) Create and delete Nexus switch VXLAN global settings; feature nv overlay, feature vn-segment-vlan-based, interface nve + source-interface loopback |
| [ml2_cisco_apic] | |
apic_agent_poll_interval = 2
|
(FloatOpt) Interval between agent poll for topology (in sec) |
apic_agent_report_interval = 30
|
(FloatOpt) Interval between agent status updates (in sec) |
apic_app_profile_name = ${apic_system_id}_app
|
(StrOpt) Name for the app profile used for Openstack |
apic_domain_name = ${apic_system_id}
|
(StrOpt) Name for the domain created on APIC |
apic_entity_profile = ${apic_system_id}_entity_profile
|
(StrOpt) Name of the entity profile to be created |
apic_function_profile = ${apic_system_id}_function_profile
|
(StrOpt) Name of the function profile to be created |
apic_host_uplink_ports =
|
(ListOpt) The uplink ports to check for ACI connectivity |
apic_hosts =
|
(ListOpt) An ordered list of host names or IP addresses of the APIC controller(s). |
apic_lacp_profile = ${apic_system_id}_lacp_profile
|
(StrOpt) Name of the LACP profile to be created |
apic_name_mapping = use_name
|
(StrOpt) Name mapping strategy to use: use_uuid | use_name |
apic_node_profile = ${apic_system_id}_node_profile
|
(StrOpt) Name of the node profile to be created |
apic_password = None
|
(StrOpt) Password for the APIC controller |
apic_sync_interval = 0
|
(IntOpt) Synchronization interval in seconds |
apic_use_ssl = True
|
(BoolOpt) Use SSL to connect to the APIC controller |
apic_username = None
|
(StrOpt) Username for the APIC controller |
apic_vlan_ns_name = ${apic_system_id}_vlan_ns
|
(StrOpt) Name of the VLAN namespace to be used for Openstack |
apic_vlan_range = 2:4093
|
(StrOpt) Range of VLANs to be used for Openstack |
apic_vpc_pairs =
|
(ListOpt) The switch pairs for VPC connectivity |
| [ml2_cisco_n1kv] | |
default_policy_profile = default-pp
|
(StrOpt) Cisco Nexus1000V default policy profile. |
http_pool_size = 4
|
(IntOpt) Number of threads to use to make HTTP requests. |
http_timeout = 15
|
(IntOpt) HTTP timeout, in seconds, for connections to the Cisco Nexus1000V VSMs. |
n1kv_vsm_ips = None
|
(ListOpt) Comma-separated IP Addresses of the Cisco Nexus1000V VSMs. |
password = None
|
(StrOpt) Password for all configured Cisco Nexus1000V VSMs. |
poll_duration = 60
|
(IntOpt) Cisco Nexus1000V policy profile polling duration in seconds. |
restrict_network_profiles = False
|
(BoolOpt) Restrict the visibility of network profiles to the tenants. |
restrict_policy_profiles = False
|
(BoolOpt) Restrict the visibility of policy profiles to the tenants. |
sync_interval = 300
|
(IntOpt) Time interval between consecutive neutron-VSM syncs. |
username = None
|
(StrOpt) Username for all configured Cisco Nexus1000V VSMs. |
| [ml2_cisco_ucsm] | |
supported_pci_devs = 1137:0071, 8086:10c9
|
(ListOpt) List of comma separated vendor_id:product_id of SR_IOV capable devices supported by this MD. This MD supports both VM-FEX and SR-IOV devices. |
ucsm_host_list = None
|
(ListOpt) List of comma separated Host:Service Profile tuples providing the Service Profile associated with each host to be supported by this MD. |
ucsm_ip = None
|
(StrOpt) Cisco UCS Manager IP address. This is a required field to communicate with a Cisco UCS Manager. |
ucsm_password = None
|
(StrOpt) Password for UCS Manager. This is a required field to communicate with a Cisco UCS Manager. |
ucsm_username = None
|
(StrOpt) Username for UCS Manager. This is a required field to communicate with a Cisco UCS Manager. |
| [ml2_type_nexus_vxlan] | |
mcast_ranges =
|
(ListOpt) List of multicast groups to be used for global VNIDs in the format - a:b,c,e:f. |
vni_ranges =
|
(ListOpt) List of global VNID ranges in the format - a:b, c:d. Multiple ranges can be separated by a comma |
9.1.1.15.11. Modular Layer 2 (ml2) Freescale SDN Mechanism configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [ml2_fslsdn] | |
crd_api_insecure = False
|
(BoolOpt) If set, ignore any SSL validation issues. |
crd_auth_strategy = keystone
|
(StrOpt) Auth strategy for connecting to neutron in admin context. |
crd_auth_url = http://127.0.0.1:5000/v2.0/
|
(StrOpt) CRD Auth URL. |
crd_ca_certificates_file = None
|
(StrOpt) Location of ca certificates file to use for CRD client requests. |
crd_password = password
|
(StrOpt) CRD Service Password. |
crd_region_name = RegionOne
|
(StrOpt) Region name for connecting to CRD Service in admin context. |
crd_tenant_name = service
|
(StrOpt) CRD Tenant Name. |
crd_url = http://127.0.0.1:9797
|
(StrOpt) URL for connecting to CRD service. |
crd_url_timeout = 30
|
(IntOpt) Timeout value for connecting to CRD service in seconds. |
crd_user_name = crd
|
(StrOpt) CRD service Username. |
9.1.1.15.12. Modular Layer 2 (ml2) Geneve Mechanism configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[ml2_type_geneve]
|
|
max_header_size = 50
|
(Integer) Geneve encapsulation header size is dynamic, this value is used to calculate the maximum MTU for the driver. This is the sum of the sizes of the outer ETH + IP + UDP + GENEVE header sizes. The default size for this field is 50, which is the size of the Geneve header without any additional option headers. |
vni_ranges =
|
(List) Comma-separated list of <vni_min>:<vni_max> tuples enumerating ranges of Geneve VNI IDs that are available for tenant network allocation |
9.1.1.15.13. Modular Layer 2 (ml2) OpenDaylight Mechanism configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
backdoor_port = None
|
(StrOpt) 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. |
policy_default_rule = default
|
(StrOpt) Default rule. Enforced when a requested rule is not found. |
policy_dirs = ['policy.d']
|
(MultiStrOpt) 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. |
policy_file = policy.json
|
(StrOpt) The JSON file that defines policies. |
run_external_periodic_tasks = True
|
(BoolOpt) Some periodic tasks can be run in a separate process. Should we run them here? |
| [ml2_odl] | |
password = None
|
(StrOpt) HTTP password for authentication |
session_timeout = 30
|
(IntOpt) Tomcat session timeout in minutes. |
timeout = 10
|
(IntOpt) HTTP timeout in seconds. |
url = None
|
(StrOpt) HTTP URL of OpenDaylight REST interface. |
username = None
|
(StrOpt) HTTP username for authentication |
9.1.1.15.14. Modular Layer 2 (ml2) OpenFlow Agent (ofagent) Mechanism configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[AGENT]
|
|
dont_fragment = True
|
(Boolean) Set or un-set the don't fragment (DF) bit on outgoing IP packet carrying GRE/VXLAN tunnel. |
9.1.1.15.15. Modular Layer 2 (ml2) L2 Population Mechanism configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[l2pop]
|
|
agent_boot_time = 180
|
(Integer) Delay within which agent is expected to update existing ports whent it restarts |
9.1.1.15.16. Modular Layer 2 (ml2) Tail-f NCS Mechanism configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [ml2_ncs] | |
password = None
|
(StrOpt) HTTP password for authentication |
timeout = 10
|
(IntOpt) HTTP timeout in seconds. |
url = None
|
(StrOpt) HTTP URL of Tail-f NCS REST interface. |
username = None
|
(StrOpt) HTTP username for authentication |
9.1.1.15.17. Modular Layer 2 (ml2) SR-IOV Mechanism configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[ml2_sriov]
|
|
supported_pci_vendor_devs = 15b3:1004, 8086:10ca
|
(List) Comma-separated list of supported PCI vendor devices, as defined by vendor_id:product_id according to the PCI ID Repository. Default enables support for Intel and Mellanox SR-IOV capable NICs. |
9.1.1.16. MidoNet configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [MIDONET] | |
client = midonet.neutron.client.api.MidonetApiClient
|
(StrOpt) MidoNet client used to access MidoNet data storage. |
cluster_ip = localhost
|
(StrOpt) IP that the cluster service can be reached on |
cluster_port = 8088
|
(StrOpt) Port that the cluster service can be reached on |
midonet_uri = http://localhost:8080/midonet-api
|
(StrOpt) MidoNet API server URI. |
password = passw0rd
|
(StrOpt) MidoNet admin password. |
project_id = 77777777-7777-7777-7777-777777777777
|
(StrOpt) ID of the project that MidoNet admin user belongs to. |
tunnel_protocol = vxlan
|
(StrOpt) Tunnel protocol used by Midonet |
username = admin
|
(StrOpt) MidoNet admin username. |
9.1.1.17. NEC configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [OFC] | |
api_max_attempts = 3
|
(IntOpt) Maximum attempts per OFC API request. NEC plugin retries API request to OFC when OFC returns ServiceUnavailable (503). The value must be greater than 0. |
cert_file = None
|
(StrOpt) Location of certificate file. |
driver = trema
|
(StrOpt) Driver to use. |
enable_packet_filter = True
|
(BoolOpt) Enable packet filter. |
host = 127.0.0.1
|
(StrOpt) Host to connect to. |
insecure_ssl = False
|
(BoolOpt) Disable SSL certificate verification. |
key_file = None
|
(StrOpt) Location of key file. |
path_prefix =
|
(StrOpt) Base URL of OFC REST API. It is prepended to each API request. |
port = 8888
|
(StrOpt) Port to connect to. |
support_packet_filter_on_ofc_router = True
|
(BoolOpt) Support packet filter on OFC router interface. |
use_ssl = False
|
(BoolOpt) Use SSL to connect. |
| [PROVIDER] | |
default_router_provider = l3-agent
|
(StrOpt) Default router provider to use. |
router_providers = l3-agent, openflow
|
(ListOpt) List of enabled router providers. |
| [fwaas] | |
driver =
|
(StrOpt) Name of the FWaaS Driver |
9.1.1.18. One Convergence NVSD configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [AGENT] | |
integration_bridge = br-int
|
(StrOpt) Integration bridge |
| [nvsd] | |
nvsd_ip = 127.0.0.1
|
(StrOpt) NVSD Controller IP address |
nvsd_passwd = oc123
|
(StrOpt) NVSD Controller password |
nvsd_port = 8082
|
(IntOpt) NVSD Controller Port number |
nvsd_retries = 0
|
(IntOpt) Number of login retries to NVSD controller |
nvsd_user = ocplugin
|
(StrOpt) NVSD Controller username |
request_timeout = 30
|
(IntOpt) NVSD controller REST API request timeout in seconds |
9.1.1.19. Open Networking Operating System (ONOS) configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [onos] | |
password =
|
(StrOpt) Password for authentication. |
url_path =
|
(StrOpt) ONOS ReST interface URL |
username =
|
(StrOpt) Username for authentication. |
9.1.1.20. OpenContrail configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [CONTRAIL] | |
api_server_ip = 127.0.0.1
|
(StrOpt) IP address to connect to the OpenContrail controller. |
api_server_port = 8082
|
(IntOpt) Port to connect to the OpenContrail controller. |
9.1.1.21. Open vSwitch Agent configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
ovs_integration_bridge = br-int
|
(String) Name of Open vSwitch bridge to use |
ovs_use_veth = False
|
(Boolean) Uses veth for an OVS interface or not. Support kernels with limited namespace support (e.g. RHEL 6.5) so long as ovs_use_veth is set to True. |
ovs_vsctl_timeout = 10
|
(Integer) Timeout in seconds for ovs-vsctl commands. If the timeout expires, ovs commands will fail with ALARMCLOCK error. |
[AGENT]
|
|
arp_responder = False
|
(Boolean) Enable local ARP responder if it is supported. Requires OVS 2.1 and ML2 l2population driver. Allows the switch (when supporting an overlay) to respond to an ARP request locally without performing a costly ARP broadcast into the overlay. |
dont_fragment = True
|
(Boolean) Set or un-set the don't fragment (DF) bit on outgoing IP packet carrying GRE/VXLAN tunnel. |
drop_flows_on_start = False
|
(Boolean) Reset flow table on start. Setting this to True will cause brief traffic interruption. |
enable_distributed_routing = False
|
(Boolean) Make the l2 agent run in DVR mode. |
l2_population = False
|
(Boolean) Use ML2 l2population mechanism driver to learn remote MAC and IPs and improve tunnel scalability. |
minimize_polling = True
|
(Boolean) Minimize polling by monitoring ovsdb for interface changes. |
ovsdb_monitor_respawn_interval = 30
|
(Integer) The number of seconds to wait before respawning the ovsdb monitor after losing communication with it. |
prevent_arp_spoofing = True
|
(Boolean) DEPRECATED: Enable suppression of ARP responses that don't match an IP address that belongs to the port from which they originate. Note: This prevents the VMs attached to this agent from spoofing, it doesn't protect them from other devices which have the capability to spoof (e.g. bare metal or VMs attached to agents without this flag set to True). Spoofing rules will not be added to any ports that have port security disabled. For LinuxBridge, this requires ebtables. For OVS, it requires a version that supports matching ARP headers. This option will be removed in Newton so the only way to disable protection will be via the port security extension. |
quitting_rpc_timeout = 10
|
(Integer) Set new timeout in seconds for new rpc calls after agent receives SIGTERM. If value is set to 0, rpc timeout won't be changed |
tunnel_csum = False
|
(Boolean) Set or un-set the tunnel header checksum on outgoing IP packet carrying GRE/VXLAN tunnel. |
tunnel_types =
|
(List) Network types supported by the agent (gre and/or vxlan). |
veth_mtu = 9000
|
(Integer) MTU size of veth interfaces |
vxlan_udp_port = 4789
|
(Port number) The UDP port to use for VXLAN tunnels. |
[OVS]
|
|
bridge_mappings =
|
(List) Comma-separated list of <physical_network>:<bridge> tuples mapping physical network names to the agent's node-specific Open vSwitch bridge names to be used for flat and VLAN networks. The length of bridge names should be no more than 11. Each bridge must exist, and should have a physical network interface configured as a port. All physical networks configured on the server should have mappings to appropriate bridges on each agent. Note: If you remove a bridge from this mapping, make sure to disconnect it from the integration bridge as it won't be managed by the agent anymore. Deprecated for ofagent. |
datapath_type = system
|
(String) OVS datapath to use. 'system' is the default value and corresponds to the kernel datapath. To enable the userspace datapath set this value to 'netdev'. |
int_peer_patch_port = patch-tun
|
(String) Peer patch port in integration bridge for tunnel bridge. |
integration_bridge = br-int
|
(String) Integration bridge to use. Do not change this parameter unless you have a good reason to. This is the name of the OVS integration bridge. There is one per hypervisor. The integration bridge acts as a virtual 'patch bay'. All VM VIFs are attached to this bridge and then 'patched' according to their network connectivity. |
local_ip = None
|
(Unknown) Local IP address of tunnel endpoint. |
of_connect_timeout = 30
|
(Integer) Timeout in seconds to wait for the local switch connecting the controller. Used only for 'native' driver. |
of_interface = ovs-ofctl
|
(String) OpenFlow interface to use. |
of_listen_address = 127.0.0.1
|
(Unknown) Address to listen on for OpenFlow connections. Used only for 'native' driver. |
of_listen_port = 6633
|
(Port number) Port to listen on for OpenFlow connections. Used only for 'native' driver. |
of_request_timeout = 10
|
(Integer) Timeout in seconds to wait for a single OpenFlow request. Used only for 'native' driver. |
ovsdb_connection = tcp:127.0.0.1:6640
|
(String) The connection string for the native OVSDB backend. Requires the native ovsdb_interface to be enabled. |
ovsdb_interface = vsctl
|
(String) The interface for interacting with the OVSDB |
tun_peer_patch_port = patch-int
|
(String) Peer patch port in tunnel bridge for integration bridge. |
tunnel_bridge = br-tun
|
(String) Tunnel bridge to use. |
use_veth_interconnection = False
|
(Boolean) Use veths instead of patch ports to interconnect the integration bridge to physical networks. Support kernel without Open vSwitch patch port support so long as it is set to True. |
vhostuser_socket_dir = /var/run/openvswitch
|
(String) OVS vhost-user socket directory. |
9.1.1.22. Virtual Network for Open vSwitch options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [ovn] | |
neutron_sync_mode = log
|
(StrOpt) The synchronization mode of OVN with Neutron DB. Available options are: 'off' - synchronization is off. 'log' - during neutron-server startup, check to see if OVN is in sync with the neutron database. Log warnings for any inconsistencies found so that an admin can investigate. 'repair' - during neutron-server startup, automatically create resources found in Neutron but not in OVN. Also remove resources from OVN that are no longer in neutron. |
ovsdb_connection = tcp:127.0.0.1:6640
|
(StrOpt) The connection string for the native OVSDB backend. |
ovsdb_connection_timeout = 60
|
(IntOpt) Timeout in seconds for the OVSDB connection transaction. |
9.1.1.23. IPv6 Prefix Delegation configuradtion options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
pd_confs = $state_path/pd
|
(String) Location to store IPv6 PD files. |
pd_dhcp_driver = dibbler
|
(String) Service to handle DHCPv6 Prefix delegation. |
vendor_pen = 8888
|
(String) A decimal value as Vendor's Registered Private Enterprise Number as required by RFC3315 DUID-EN. |
9.1.1.24. PLUMgrid configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [plumgriddirector] | |
director_server = localhost
|
(StrOpt) PLUMgrid Director server to connect to |
director_server_port = 8080
|
(IntOpt) PLUMgrid Director server port to connect to |
distributed_locking = True
|
(BoolOpt) Distributed locking is enabled or disabled |
driver = networking_plumgrid.neutron.plugins.drivers.plumlib.Plumlib
|
(StrOpt) PLUMgrid Driver |
password = password
|
(StrOpt) PLUMgrid Director admin password |
servertimeout = 5
|
(IntOpt) PLUMgrid Director server timeout |
username = username
|
(StrOpt) PLUMgrid Director admin username |
9.1.1.25. SR-IOV configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [SRIOV_NIC] | |
exclude_devices =
|
(ListOpt) List of <network_device>:<excluded_devices> mapping network_device to the agent's node-specific list of virtual functions that should not be used for virtual networking. excluded_devices is a semicolon separated list of virtual functions (BDF format).to exclude from network_device. The network_device in the mapping should appear in the physical_device_mappings list. |
physical_device_mappings =
|
(ListOpt) List of <physical_network>:<network_device> mapping physical network names to the agent's node-specific physical network device of SR-IOV physical function to be used for VLAN networks. All physical networks listed in network_vlan_ranges on the server should have mappings to appropriate interfaces on each agent |
9.1.1.26. VMware vSphere configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
default_interface_name = FortyGigE1/0/1
|
(StrOpt) default_interface_name of the l2 gateway |
| [OVSVAPP] | |
agent_driver = networking_vsphere.agent.ovsvapp_agent.OVSvAppL2Agent
|
(StrOpt) OVSvApp Agent implementation. |
bridge_mappings =
|
(ListOpt) Bridge mappings. |
dont_fragment = True
|
(IntOpt) Do not fragment. |
enable_ovsvapp_monitor = True
|
(BoolOpt) To monitor the OVSvApp Agents. |
integration_bridge = br-int
|
(StrOpt) Integration Bridge. |
local_ip =
|
(StrOpt) Local IP address of VXLAN tunnel endpoint. |
monitoring_ip =
|
(StrOpt) IP address for monitoring OVS Status. |
network_manager = networking_vsphere.drivers.manager.VcenterManager
|
(StrOpt) Driver Manager implementation for NetworkDriver. |
polling_interval = 2
|
(IntOpt) The number of seconds the agent will wait between polling for local device changes. |
report_interval = 30
|
(IntOpt) Seconds between nodes reporting state to server. |
tenant_network_type = vlan
|
(StrOpt) Network type for tenant networks |
tunnel_bridge = br-tun
|
(StrOpt) Tunnel Bridge for tunneling. |
tunnel_csum = False
|
(BoolOpt) Set or un-set the tunnel header checksum on outgoing IP packet carrying GRE/VXLAN tunnel. |
tunnel_types = vxlan
|
(ListOpt) Tunnel network types supported by the OVSvApp Agent. |
veth_mtu = 1500
|
(IntOpt) MTU size of veth interfaces. |
vxlan_udp_port = 4789
|
(IntOpt) The UDP port to use for VXLAN tunnels. |
| [VMWARE] | |
cert_check = False
|
(BoolOpt) Enable SSL certificate check for vCenter. |
cert_path = None
|
(StrOpt) Certificate chain path containing cacert of vCenters. |
cluster_dvs_mapping = ['']
|
(MultiStrOpt) vCenter cluster to DVS mapping. |
esx_hostname = None
|
(StrOpt) ESX host name where this OVSvApp is hosted. |
esx_maintenance_mode = True
|
(BoolOpt) Set host into maintenance mode. |
https_port = 443
|
(IntOpt) Customized https_port for vCenter communication. |
vcenter_api_retry_count = 5
|
(StrOpt) Number of retries while connecting to vcenter server. |
vcenter_id = None
|
(StrOpt) Unique ID of the vCenter Server on which this OVSvApp ishosted |
vcenter_ip = None
|
(StrOpt) vCenter server IP. |
vcenter_password = None
|
(StrOpt) vCenter server password. |
vcenter_username = None
|
(StrOpt) vCenter server user name. |
wsdl_location = None
|
(StrOpt) vCenter server wsdl location. |
| [vmware] | |
console_delay_seconds = None
|
(IntOpt) Set this value if affected by an increased network latency causing repeated characters when typing in a remote console. |
maximum_objects = 100
|
(IntOpt) The maximum number of ObjectContent data objects that should be returned in a single result. A positive value will cause the operation to suspend the retrieval when the count of objects reaches the specified maximum. The server may still limit the count to something less than the configured value. Any remaining objects may be retrieved with additional requests. |
serial_port_proxy_uri = None
|
(StrOpt) Identifies a proxy service that provides network access to the serial_port_service_uri. This option is ignored if serial_port_service_uri is not specified. |
serial_port_service_uri = None
|
(StrOpt) Identifies the remote system that serial port traffic will be sent to. If this is not set, no serial ports will be added to the created VMs. |
9.1.1.27. VMware NSX configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
conn_idle_timeout = 900
|
(IntOpt) Reconnect connection to nsx if not used within this amount of time. |
default_service_cluster_uuid = None
|
(StrOpt) Unique identifier of the Service Cluster which will be used by logical services like dhcp and metadata |
default_tz_uuid = None
|
(StrOpt) This is uuid of the default NSX Transport zone that will be used for creating tunneled isolated "Neutron" networks. It needs to be created in NSX before starting Neutron with the nsx plugin. |
http_timeout = 75
|
(IntOpt) Time before aborting a request |
nsx_controllers = None
|
(ListOpt) Lists the NSX controllers in this cluster |
nsx_default_interface_name = breth0
|
(StrOpt) Name of the interface on a L2 Gateway transport nodewhich should be used by default when setting up a network connection |
nsx_l2gw_driver = None
|
(StrOpt) Class path for the L2 gateway backend driver |
nsx_password = admin
|
(StrOpt) Password for NSX controllers in this cluster |
nsx_user = admin
|
(StrOpt) User name for NSX controllers in this cluster |
redirects = 2
|
(IntOpt) Number of times a redirect should be followed |
retries = 2
|
(IntOpt) Number of time a request should be retried |
| [NSX] | |
agent_mode = agent
|
(StrOpt) The mode used to implement DHCP/metadata services. |
concurrent_connections = 10
|
(IntOpt) Maximum concurrent connections to each NSX controller. |
default_transport_type = stt
|
(StrOpt) The default network tranport type to use (stt, gre, bridge, ipsec_gre, or ipsec_stt) |
max_lp_per_bridged_ls = 5000
|
(IntOpt) Maximum number of ports of a logical switch on a bridged transport zone (default 5000) |
max_lp_per_overlay_ls = 256
|
(IntOpt) Maximum number of ports of a logical switch on an overlay transport zone (default 256) |
metadata_mode = access_network
|
(StrOpt) If set to access_network this enables a dedicated connection to the metadata proxy for metadata server access via Neutron router. If set to dhcp_host_route this enables host route injection via the dhcp agent. This option is only useful if running on a host that does not support namespaces otherwise access_network should be used. |
nsx_gen_timeout = -1
|
(IntOpt) Number of seconds a generation id should be valid for (default -1 meaning do not time out) |
replication_mode = service
|
(StrOpt) The default option leverages service nodes to perform packet replication though one could set to this to 'source' to perform replication locally. This is useful if one does not want to deploy a service node(s). It must be set to 'service' for leveraging distributed routers. |
| [NSX_DHCP] | |
default_lease_time = 43200
|
(IntOpt) Default DHCP lease time |
domain_name = openstacklocal
|
(StrOpt) Domain to use for building the hostnames |
extra_domain_name_servers =
|
(ListOpt) Comma separated list of additional domain name servers |
| [NSX_LSN] | |
sync_on_missing_data = False
|
(BoolOpt) Pull LSN information from NSX in case it is missing from the local data store. This is useful to rebuild the local store in case of server recovery. |
| [NSX_METADATA] | |
metadata_server_address = 127.0.0.1
|
(StrOpt) IP address used by Metadata server. |
metadata_server_port = 8775
|
(IntOpt) TCP Port used by Metadata server. |
metadata_shared_secret =
|
(StrOpt) Shared secret to sign instance-id request |
| [NSX_SYNC] | |
always_read_status = False
|
(BoolOpt) Always read operational status from backend on show operations. Enabling this option might slow down the system. |
max_random_sync_delay = 0
|
(IntOpt) Maximum value for the additional random delay in seconds between runs of the state synchronization task |
min_chunk_size = 500
|
(IntOpt) Minimum number of resources to be retrieved from NSX during state synchronization |
min_sync_req_delay = 1
|
(IntOpt) Minimum delay, in seconds, between two state synchronization queries to NSX. It must not exceed state_sync_interval |
state_sync_interval = 10
|
(IntOpt) Interval in seconds between runs of the state synchronization task. Set it to 0 to disable it |
| [nsx_v3] | |
ca_file = None
|
(StrOpt) Specify a CA bundle file to use in verifying the NSX Manager server certificate. |
default_bridge_cluster_uuid = None
|
(StrOpt) Default bridge cluster identifier for L2 gateway. This needs to be created in NSX before using the L2 gateway service plugin. |
default_edge_cluster_uuid = None
|
(StrOpt) Default edge cluster identifier |
default_overlay_tz_uuid = None
|
(StrOpt) This is the UUID of the default NSX overlay transport zone that will be used for creating tunneled isolated Neutron networks. It needs to be created in NSX before starting Neutron with the NSX plugin. |
default_tier0_router_uuid = None
|
(StrOpt) Default tier0 router identifier |
default_vlan_tz_uuid = None
|
(StrOpt) This is the UUID of the default NSX VLAN transport zone that will be used for bridging between Neutron networks. It needs to be created in NSX before starting Neutron with the NSX plugin. |
insecure = True
|
(BoolOpt) If true, the NSX Manager server certificate is not verified. If false, then the default CA truststore is used for verification. This option is ignored if "ca_file" is set. |
nsx_manager = None
|
(StrOpt) IP address of the NSX manager |
nsx_password = default
|
(StrOpt) Password for the NSX manager |
nsx_user = admin
|
(StrOpt) User name for the NSX manager |
retries = 10
|
(IntOpt) Maximum number of times to retry API request |
| [nsxv] | |
backup_edge_pool = service:large:4:10, service:compact:4:10, vdr:large:4:10
|
(ListOpt) Defines edge pool using the format: <edge_type>:[edge_size]:<min_edges>:<max_edges>.edge_type: service,vdr. edge_size: compact, large, xlarge, quadlarge and default is large. |
ca_file = None
|
(StrOpt) Specify a CA bundle file to use in verifying the NSXv server certificate. |
cluster_moid =
|
(ListOpt) Parameter listing the IDs of the clusters which are used by OpenStack. |
datacenter_moid = None
|
(StrOpt) Optional parameter identifying the ID of datacenter to deploy NSX Edges |
datastore_id = None
|
(StrOpt) Optional parameter identifying the ID of datastore to deploy NSX Edges |
deployment_container_id = None
|
(StrOpt) Optional parameter identifying the ID of datastore to deploy NSX Edges |
dhcp_lease_time = 86400
|
(IntOpt) DHCP default lease time. |
dvs_id = None
|
(StrOpt) DVS ID for VLANs |
edge_appliance_password = None
|
(StrOpt) Password to configure for Edge appliance login |
edge_appliance_user = None
|
(StrOpt) Username to configure for Edge appliance login |
edge_ha = False
|
(BoolOpt) Enable HA for NSX Edges |
exclusive_router_appliance_size = compact
|
(StrOpt) Edge appliance size to be used for creating exclusive router. Valid values: ['compact', 'large', 'xlarge', 'quadlarge']. This edge_appliance_size will be picked up if --router-size parameter is not specified while doing neutron router-create |
external_network = None
|
(StrOpt) Network ID for physical network connectivity |
insecure = True
|
(BoolOpt) If true, the NSXv server certificate is not verified. If false, then the default CA truststore is used for verification. This option is ignored if "ca_file" is set. |
locking_coordinator_url = None
|
(StrOpt) A URL to a locking mechanism coordinator |
manager_uri = None
|
(StrOpt) uri for vsm |
maximum_tunnels_per_vnic = 20
|
(IntOpt) Maximum number of sub interfaces supported per vnic in edge. |
metadata_initializer = True
|
(BoolOpt) If True, the server instance will attempt to initialize the metadata infrastructure |
metadata_shared_secret = None
|
(StrOpt) Shared secret to sign metadata requests |
mgt_net_default_gateway = None
|
(StrOpt) Management network default gateway for metadata proxy |
mgt_net_moid = None
|
(StrOpt) Network ID for management network connectivity |
mgt_net_proxy_ips = None
|
(ListOpt) Management network IP address for metadata proxy |
mgt_net_proxy_netmask = None
|
(StrOpt) Management network netmask for metadata proxy |
nova_metadata_ips = None
|
(ListOpt) IP addresses used by Nova metadata service |
nova_metadata_port = 8775
|
(IntOpt) TCP Port used by Nova metadata server |
password = default
|
(StrOpt) Password for vsm |
resource_pool_id = None
|
(StrOpt) Optional parameter identifying the ID of resource to deploy NSX Edges |
retries = 10
|
(IntOpt) Maximum number of API retries on endpoint. |
spoofguard_enabled = True
|
(BoolOpt) If True then plugin will use NSXV spoofguard component for port-security feature. |
task_status_check_interval = 2000
|
(IntOpt) Task status check interval |
tenant_router_types = shared, distributed, exclusive
|
(ListOpt) Ordered list of router_types to allocate as tenant routers. |
user = admin
|
(StrOpt) User name for vsm |
vdn_scope_id = None
|
(StrOpt) Network scope ID for VXLAN virtual wires |
9.1.1.28. VMware DVS configuration options Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
| [dvs] | |
api_retry_count = 10
|
(IntOpt) The number of times we retry on failures, e.g., socket error, etc. |
ca_file = None
|
(StrOpt) Specify a CA bundle file to use in verifying the vCenter server certificate. |
dvs_name = None
|
(StrOpt) The name of the preconfigured DVS. |
host_ip = None
|
(StrOpt) Hostname or IP address for connection to VMware vCenter host. |
host_password = None
|
(StrOpt) Password for connection to VMware vCenter host. |
host_port = 443
|
(IntOpt) Port for connection to VMware vCenter host. |
host_username = None
|
(StrOpt) Username for connection to VMware vCenter host. |
insecure = False
|
(BoolOpt) If true, the vCenter server certificate is not verified. If false, then the default CA truststore is used for verification. This option is ignored if "ca_file" is set. |
task_poll_interval = 0.5
|
(FloatOpt) The interval used for polling of remote tasks. |
9.1.2. Configure the Oslo RPC messaging system Copier lienLien copié sur presse-papiers!
9.1.2.1. Configure RabbitMQ Copier lienLien copié sur presse-papiers!
rpc_backend option is optional as long as RabbitMQ is the default messaging system. However, if it is included the configuration, you must set it to neutron.openstack.common.rpc.impl_kombu.
rpc_backend=neutron.openstack.common.rpc.impl_kombu
rpc_backend=neutron.openstack.common.rpc.impl_kombu
notification_driver option to neutron.openstack.common.notifier.rpc_notifier in the neutron.conf file:
| Configuration option = Default value | Description |
|---|---|
[oslo_messaging_rabbit]
|
|
amqp_auto_delete = False
|
(Boolean) Auto-delete queues in AMQP. |
amqp_durable_queues = False
|
(Boolean) Use durable queues in AMQP. |
channel_max = None
|
(Integer) Maximum number of channels to allow |
default_notification_exchange = ${control_exchange}_notification
|
(String) Exchange name for for sending notifications |
default_notification_retry_attempts = -1
|
(Integer) Reconnecting retry count in case of connectivity problem during sending notification, -1 means infinite retry. |
default_rpc_exchange = ${control_exchange}_rpc
|
(String) Exchange name for sending RPC messages |
default_rpc_retry_attempts = -1
|
(Integer) Reconnecting retry count in case of connectivity problem during sending RPC message, -1 means infinite retry. If actual retry attempts in not 0 the rpc request could be processed more then one time |
fake_rabbit = False
|
(Boolean) Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake |
frame_max = None
|
(Integer) The maximum byte size for an AMQP frame |
heartbeat_interval = 1
|
(Integer) How often to send heartbeats for consumer's connections |
heartbeat_rate = 2
|
(Integer) How often times during the heartbeat_timeout_threshold we check the heartbeat. |
heartbeat_timeout_threshold = 60
|
(Integer) Number of seconds after which the Rabbit broker is considered down if heartbeat's keep-alive fails (0 disable the heartbeat). EXPERIMENTAL |
host_connection_reconnect_delay = 0.25
|
(Floating point) Set delay for reconnection to some host which has connection error |
kombu_compression = None
|
(String) EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not be used. This option may notbe available in future versions. |
kombu_failover_strategy = round-robin
|
(String) 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. |
kombu_missing_consumer_retry_timeout = 60
|
(Integer) How long to wait a missing client beforce abandoning to send it its replies. This value should not be longer than rpc_response_timeout. |
kombu_reconnect_delay = 1.0
|
(Floating point) How long to wait before reconnecting in response to an AMQP consumer cancel notification. |
kombu_ssl_ca_certs =
|
(String) SSL certification authority file (valid only if SSL enabled). |
kombu_ssl_certfile =
|
(String) SSL cert file (valid only if SSL enabled). |
kombu_ssl_keyfile =
|
(String) SSL key file (valid only if SSL enabled). |
kombu_ssl_version =
|
(String) 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. |
notification_listener_prefetch_count = 100
|
(Integer) Max number of not acknowledged message which RabbitMQ can send to notification listener. |
notification_persistence = False
|
(Boolean) Persist notification messages. |
notification_retry_delay = 0.25
|
(Floating point) Reconnecting retry delay in case of connectivity problem during sending notification message |
pool_max_overflow = 0
|
(Integer) Maximum number of connections to create above `pool_max_size`. |
pool_max_size = 10
|
(Integer) Maximum number of connections to keep queued. |
pool_recycle = 600
|
(Integer) Lifetime of a connection (since creation) in seconds or None for no recycling. Expired connections are closed on acquire. |
pool_stale = 60
|
(Integer) Threshold at which inactive (since release) connections are considered stale in seconds or None for no staleness. Stale connections are closed on acquire. |
pool_timeout = 30
|
(Integer) Default number of seconds to wait for a connections to available |
rabbit_ha_queues = False
|
(Boolean) 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"}' " |
rabbit_host = localhost
|
(String) The RabbitMQ broker address where a single node is used. |
rabbit_hosts = $rabbit_host:$rabbit_port
|
(List) RabbitMQ HA cluster host:port pairs. |
rabbit_interval_max = 30
|
(Integer) Maximum interval of RabbitMQ connection retries. Default is 30 seconds. |
rabbit_login_method = AMQPLAIN
|
(String) The RabbitMQ login method. |
rabbit_max_retries = 0
|
(Integer) Maximum number of RabbitMQ connection retries. Default is 0 (infinite retry count). |
rabbit_password = guest
|
(String) The RabbitMQ password. |
rabbit_port = 5672
|
(Port number) The RabbitMQ broker port where a single node is used. |
rabbit_qos_prefetch_count = 0
|
(Integer) Specifies the number of messages to prefetch. Setting to zero allows unlimited messages. |
rabbit_retry_backoff = 2
|
(Integer) How long to backoff for between retries when connecting to RabbitMQ. |
rabbit_retry_interval = 1
|
(Integer) How frequently to retry connecting with RabbitMQ. |
rabbit_transient_queues_ttl = 1800
|
(Integer) 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. |
rabbit_use_ssl = False
|
(Boolean) Connect over SSL for RabbitMQ. |
rabbit_userid = guest
|
(String) The RabbitMQ userid. |
rabbit_virtual_host = /
|
(String) The RabbitMQ virtual host. |
rpc_listener_prefetch_count = 100
|
(Integer) Max number of not acknowledged message which RabbitMQ can send to rpc listener. |
rpc_queue_expiration = 60
|
(Integer) Time to live for rpc queues without consumers in seconds. |
rpc_reply_exchange = ${control_exchange}_rpc_reply
|
(String) Exchange name for receiving RPC replies |
rpc_reply_listener_prefetch_count = 100
|
(Integer) Max number of not acknowledged message which RabbitMQ can send to rpc reply listener. |
rpc_reply_retry_attempts = -1
|
(Integer) Reconnecting retry count in case of connectivity problem during sending reply. -1 means infinite retry during rpc_timeout |
rpc_reply_retry_delay = 0.25
|
(Floating point) Reconnecting retry delay in case of connectivity problem during sending reply. |
rpc_retry_delay = 0.25
|
(Floating point) Reconnecting retry delay in case of connectivity problem during sending RPC message |
socket_timeout = 0.25
|
(Floating point) Set socket timeout in seconds for connection's socket |
ssl = None
|
(Boolean) Enable SSL |
ssl_options = None
|
(Dict) Arguments passed to ssl.wrap_socket |
tcp_user_timeout = 0.25
|
(Floating point) Set TCP_USER_TIMEOUT in seconds for connection's socket |
9.1.2.2. Configure Qpid Copier lienLien copié sur presse-papiers!
rpc_backend option in the neutron.conf file:
rpc_backend=neutron.openstack.common.rpc.impl_qpid
rpc_backend=neutron.openstack.common.rpc.impl_qpid
qpid_hostname option to the host name where the broker runs in the neutron.conf file.
--qpid_hostname parameter accepts a host name or IP address value.
qpid_hostname=hostname.example.com
qpid_hostname=hostname.example.com
5672, you must set the qpid_port option to that value:
qpid_port=12345
qpid_port=12345
qpid_username=username qpid_password=password
qpid_username=username
qpid_password=password
qpid_protocol option:
qpid_protocol=ssl
qpid_protocol=ssl
| Configuration option = Default value | Description |
|---|---|
| [oslo_messaging_qpid] | |
amqp_auto_delete = False
|
(BoolOpt) Auto-delete queues in AMQP. |
amqp_durable_queues = False
|
(BoolOpt) Use durable queues in AMQP. |
qpid_heartbeat = 60
|
(IntOpt) Seconds between connection keepalive heartbeats. |
qpid_hostname = localhost
|
(StrOpt) Qpid broker hostname. |
qpid_hosts = $qpid_hostname:$qpid_port
|
(ListOpt) Qpid HA cluster host:port pairs. |
qpid_password =
|
(StrOpt) Password for Qpid connection. |
qpid_port = 5672
|
(IntOpt) Qpid broker port. |
qpid_protocol = tcp
|
(StrOpt) Transport to use, either 'tcp' or 'ssl'. |
qpid_receiver_capacity = 1
|
(IntOpt) The number of prefetched messages held by receiver. |
qpid_sasl_mechanisms =
|
(StrOpt) Space separated list of SASL mechanisms to use for auth. |
qpid_tcp_nodelay = True
|
(BoolOpt) Whether to disable the Nagle algorithm. |
qpid_topology_version = 1
|
(IntOpt) The qpid topology version to use. Version 1 is what was originally used by impl_qpid. Version 2 includes some backwards-incompatible changes that allow broker federation to work. Users should update to version 2 when they are able to take everything down, as it requires a clean break. |
qpid_username =
|
(StrOpt) Username for Qpid connection. |
send_single_reply = False
|
(BoolOpt) Send a single AMQP reply to call message. The current behavior since oslo-incubator is to send two AMQP replies - first one with the payload, a second one to ensure the other has finished to send the payload. We are going to remove it in the N release, but we must keep backward compatible at the same time. This option provides such compatibility - it defaults to False in Liberty and can be turned on for early adopters with new installations or for testing. This option will be removed in the Mitaka release. |
9.1.2.3. Configure messaging Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
rpc_backend = rabbit
|
(String) The messaging driver to use, defaults to rabbit. Other drivers include amqp and zmq. |
rpc_cast_timeout = -1
|
(Integer) Seconds to wait before a cast expires (TTL). The default value of -1 specifies an infinite linger period. The value of 0 specifies no linger period. Pending messages shall be discarded immediately when the socket is closed. Only supported by impl_zmq. |
rpc_conn_pool_size = 30
|
(Integer) Size of RPC connection pool. |
rpc_poll_timeout = 1
|
(Integer) The default number of seconds that poll should wait. Poll raises timeout exception when timeout expired. |
rpc_response_timeout = 60
|
(Integer) Seconds to wait for a response from a call. |
rpc_state_report_workers = 1
|
(Integer) Number of RPC worker processes dedicated to state reports queue |
rpc_workers = 1
|
(Integer) Number of RPC worker processes for service |
[oslo_concurrency]
|
|
disable_process_locking = False
|
(Boolean) Enables or disables inter-process locks. |
lock_path = None
|
(String) 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. |
[oslo_messaging]
|
|
event_stream_topic = neutron_lbaas_event
|
(String) topic name for receiving events from a queue |
[oslo_messaging_amqp]
|
|
allow_insecure_clients = False
|
(Boolean) Accept clients using either SSL or plain TCP |
broadcast_prefix = broadcast
|
(String) address prefix used when broadcasting to all servers |
container_name = None
|
(String) Name for the AMQP container |
group_request_prefix = unicast
|
(String) address prefix when sending to any server in group |
idle_timeout = 0
|
(Integer) Timeout for inactive connections (in seconds) |
password =
|
(String) Password for message broker authentication |
sasl_config_dir =
|
(String) Path to directory that contains the SASL configuration |
sasl_config_name =
|
(String) Name of configuration file (without .conf suffix) |
sasl_mechanisms =
|
(String) Space separated list of acceptable SASL mechanisms |
server_request_prefix = exclusive
|
(String) address prefix used when sending to a specific server |
ssl_ca_file =
|
(String) CA certificate PEM file to verify server certificate |
ssl_cert_file =
|
(String) Identifying certificate PEM file to present to clients |
ssl_key_file =
|
(String) Private key PEM file used to sign cert_file certificate |
ssl_key_password = None
|
(String) Password for decrypting ssl_key_file (if encrypted) |
trace = False
|
(Boolean) Debug: dump AMQP frames to stdout |
username =
|
(String) User name for message broker authentication |
[oslo_messaging_notifications]
|
|
driver = []
|
(Multi-valued) The Drivers(s) to handle sending notifications. Possible values are messaging, messagingv2, routing, log, test, noop |
topics = notifications
|
(List) AMQP topic used for OpenStack notifications. |
transport_url = None
|
(String) A URL representing the messaging driver to use for notifications. If not set, we fall back to the same configuration used for RPC. |
| Configuration option = Default value | Description |
|---|---|
[matchmaker_redis]
|
|
check_timeout = 20000
|
(Integer) Time in ms to wait before the transaction is killed. |
host = 127.0.0.1
|
(String) Host to locate redis. |
password =
|
(String) Password for Redis server (optional). |
port = 6379
|
(Port number) Use this port to connect to redis host. |
sentinel_group_name = oslo-messaging-zeromq
|
(String) Redis replica set name. |
sentinel_hosts =
|
(List) List of Redis Sentinel hosts (fault tolerance mode) e.g. [host:port, host1:port ... ] |
socket_timeout = 1000
|
(Integer) Timeout in ms on blocking socket operations |
wait_timeout = 500
|
(Integer) Time in ms to wait between connection attempts. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
control_exchange = neutron
|
(String) The default exchange under which topics are scoped. May be overridden by an exchange name specified in the transport_url option. |
transport_url = None
|
(String) A URL representing the messaging driver to use and its full configuration. If not set, we fall back to the rpc_backend option and driver specific configuration. |
9.1.3. Agent Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
external_pids = $state_path/external/pids
|
(String) Location to store child pid files |
network_device_mtu = None
|
(Integer) DEPRECATED: MTU setting for device. This option will be removed in Newton. Please use the system-wide segment_mtu setting which the agents will take into account when wiring VIFs. |
prefix_delegation_driver = dibbler
|
(String) Driver used for ipv6 prefix delegation. This needs to be an entry point defined in the neutron.agent.linux.pd_drivers namespace. See setup.cfg for entry points included with the neutron source. |
[AGENT]
|
|
agent_type = Open vSwitch agent
|
(String) DEPRECATED: Selects the Agent Type reported |
availability_zone = nova
|
(String) Availability zone of this node |
9.1.4. API Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
allow_bulk = True
|
(Boolean) Allow the usage of the bulk API |
allow_pagination = False
|
(Boolean) Allow the usage of the pagination |
allow_sorting = False
|
(Boolean) Allow the usage of the sorting |
api_extensions_path =
|
(String) The path for API extensions. Note that this can be a colon-separated list of paths. For example: api_extensions_path = extensions:/path/to/more/exts:/even/more/exts. The __path__ of neutron.extensions is appended to this, so if your extensions are in there you don't need to specify them here. |
api_paste_config = api-paste.ini
|
(String) File name for the paste.deploy config for api service |
backlog = 4096
|
(Integer) Number of backlog requests to configure the socket with |
client_socket_timeout = 900
|
(Integer) Timeout for client connections' socket operations. If an incoming connection is idle for this number of seconds it will be closed. A value of '0' means wait forever. |
max_header_line = 16384
|
(Integer) Maximum line size of message headers to be accepted. max_header_line may need to be increased when using large tokens (typically those generated when keystone is configured to use PKI tokens with big service catalogs). |
pagination_max_limit = -1
|
(String) The maximum number of items returned in a single response, value was 'infinite' or negative integer means no limit |
retry_until_window = 30
|
(Integer) Number of seconds to keep retrying to listen |
service_plugins =
|
(List) The service plugins Neutron will use |
tcp_keepidle = 600
|
(Integer) Sets the value of TCP_KEEPIDLE in seconds for each server socket. Not supported on OS X. |
wsgi_default_pool_size = 100
|
(Integer) Size of the pool of greenthreads used by wsgi |
wsgi_keep_alive = True
|
(Boolean) If False, closes the client socket connection explicitly. |
[oslo_middleware]
|
|
max_request_body_size = 114688
|
(Integer) The maximum body size for each request, in bytes. |
secure_proxy_ssl_header = X-Forwarded-Proto
|
(String) DEPRECATED: The HTTP Header that will be used to determine what the original request protocol scheme was, even if it was hidden by an SSL termination proxy. |
[oslo_policy]
|
|
policy_default_rule = default
|
(String) Default rule. Enforced when a requested rule is not found. |
policy_dirs = ['policy.d']
|
(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. |
policy_file = policy.json
|
(String) The JSON file that defines policies. |
9.1.5. Token authentication Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[keystone_authtoken]
|
|
admin_password = None
|
(String) Service user password. |
admin_tenant_name = admin
|
(String) Service tenant name. |
admin_token = None
|
(String) This option is deprecated and may be removed in a future release. Single shared secret with the Keystone configuration used for bootstrapping a Keystone installation, or otherwise bypassing the normal authentication process. This option should not be used, use `admin_user` and `admin_password` instead. |
admin_user = None
|
(String) Service username. |
auth_admin_prefix =
|
(String) Prefix to prepend at the beginning of the path. Deprecated, use identity_uri. |
auth_host = 127.0.0.1
|
(String) Host providing the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_port = 35357
|
(Integer) Port of the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_protocol = https
|
(String) Protocol of the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_section = None
|
(Unknown) Config Section from which to load plugin specific options |
auth_type = None
|
(Unknown) Authentication type to load |
auth_uri = None
|
(String) Complete public Identity API endpoint. |
auth_version = None
|
(String) API version of the admin Identity API endpoint. |
cache = None
|
(String) Env key for the swift cache. |
cafile = None
|
(String) A PEM encoded Certificate Authority to use when verifying HTTPs connections. Defaults to system CAs. |
certfile = None
|
(String) Required if identity server requires client certificate |
check_revocations_for_cached = False
|
(Boolean) If true, the revocation list will be checked for cached tokens. This requires that PKI tokens are configured on the identity server. |
delay_auth_decision = False
|
(Boolean) Do not handle authorization requests within the middleware, but delegate the authorization decision to downstream WSGI components. |
enforce_token_bind = permissive
|
(String) 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. |
hash_algorithms = md5
|
(List) Hash algorithms to use for hashing PKI tokens. This may be a single algorithm or multiple. The algorithms are those supported by Python standard hashlib.new(). The hashes will be tried in the order given, so put the preferred one first for performance. The result of the first hash will be stored in the cache. This will typically be set to multiple values only while migrating from a less secure algorithm to a more secure one. Once all the old tokens are expired this option should be set to a single value for better performance. |
http_connect_timeout = None
|
(Integer) Request timeout value for communicating with Identity API server. |
http_request_max_retries = 3
|
(Integer) How many times are we trying to reconnect when communicating with Identity API Server. |
identity_uri = None
|
(String) Complete admin Identity API endpoint. This should specify the unversioned root endpoint e.g. https://localhost:35357/ |
include_service_catalog = True
|
(Boolean) (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. |
insecure = False
|
(Boolean) Verify HTTPS connections. |
keyfile = None
|
(String) Required if identity server requires client certificate |
memcache_pool_conn_get_timeout = 10
|
(Integer) (Optional) Number of seconds that an operation will wait to get a memcached client connection from the pool. |
memcache_pool_dead_retry = 300
|
(Integer) (Optional) Number of seconds memcached server is considered dead before it is tried again. |
memcache_pool_maxsize = 10
|
(Integer) (Optional) Maximum total number of open connections to every memcached server. |
memcache_pool_socket_timeout = 3
|
(Integer) (Optional) Socket timeout in seconds for communicating with a memcached server. |
memcache_pool_unused_timeout = 60
|
(Integer) (Optional) Number of seconds a connection to memcached is held unused in the pool before it is closed. |
memcache_secret_key = None
|
(String) (Optional, mandatory if memcache_security_strategy is defined) This string is used for key derivation. |
memcache_security_strategy = None
|
(String) (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. |
memcache_use_advanced_pool = False
|
(Boolean) (Optional) Use the advanced (eventlet safe) memcached client pool. The advanced pool will only work under python 2.x. |
region_name = None
|
(String) The region in which the identity server can be found. |
revocation_cache_time = 10
|
(Integer) Determines the frequency at which the list of revoked tokens is retrieved from the Identity service (in seconds). A high number of revocation events combined with a low cache duration may significantly reduce performance. |
signing_dir = None
|
(String) Directory used to cache files related to PKI tokens. |
token_cache_time = 300
|
(Integer) 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. |
9.1.6. Compute Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
notify_nova_on_port_data_changes = True
|
(Boolean) Send notification to nova when port data (fixed_ips/floatingip) changes so nova can update its cache. |
notify_nova_on_port_status_changes = True
|
(Boolean) Send notification to nova when port status changes |
nova_client_cert =
|
(String) Client certificate for nova metadata api server. |
nova_client_priv_key =
|
(String) Private key of client certificate. |
send_events_interval = 2
|
(Integer) Number of seconds between sending events to nova if there are any events to send. |
9.1.7. CORS Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[cors]
|
|
allow_credentials = True
|
(Boolean) Indicate that the actual request can include user credentials |
allow_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma
|
(List) Indicate which header field names may be used during the actual request. |
allow_methods = GET, POST, PUT, DELETE, OPTIONS
|
(List) Indicate which methods can be used during the actual request. |
allowed_origin = None
|
(List) Indicate whether this resource may be shared with the domain received in the requests "origin" header. |
expose_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma
|
(List) Indicate which headers are safe to expose to the API. Defaults to HTTP Simple Headers. |
max_age = 3600
|
(Integer) Maximum cache age of CORS preflight requests. |
[cors.subdomain]
|
|
allow_credentials = True
|
(Boolean) Indicate that the actual request can include user credentials |
allow_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma
|
(List) Indicate which header field names may be used during the actual request. |
allow_methods = GET, POST, PUT, DELETE, OPTIONS
|
(List) Indicate which methods can be used during the actual request. |
allowed_origin = None
|
(List) Indicate whether this resource may be shared with the domain received in the requests "origin" header. |
expose_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma
|
(List) Indicate which headers are safe to expose to the API. Defaults to HTTP Simple Headers. |
max_age = 3600
|
(Integer) Maximum cache age of CORS preflight requests. |
9.1.8. Database Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[database]
|
|
backend = sqlalchemy
|
(String) The back end to use for the database. |
connection = None
|
(String) The SQLAlchemy connection string to use to connect to the database. |
connection_debug = 0
|
(Integer) Verbosity of SQL debugging information: 0=None, 100=Everything. |
connection_trace = False
|
(Boolean) Add Python stack traces to SQL as comment strings. |
db_inc_retry_interval = True
|
(Boolean) If True, increases the interval between retries of a database operation up to db_max_retry_interval. |
db_max_retries = 20
|
(Integer) Maximum retries in case of connection error or deadlock error before error is raised. Set to -1 to specify an infinite retry count. |
db_max_retry_interval = 10
|
(Integer) If db_inc_retry_interval is set, the maximum seconds between retries of a database operation. |
db_retry_interval = 1
|
(Integer) Seconds between retries of a database transaction. |
idle_timeout = 3600
|
(Integer) Timeout before idle SQL connections are reaped. |
max_overflow = 50
|
(Integer) If set, use this value for max_overflow with SQLAlchemy. |
max_pool_size = None
|
(Integer) Maximum number of SQL connections to keep open in a pool. |
max_retries = 10
|
(Integer) Maximum number of database connection retries during startup. Set to -1 to specify an infinite retry count. |
min_pool_size = 1
|
(Integer) Minimum number of SQL connections to keep open in a pool. |
mysql_sql_mode = TRADITIONAL
|
(String) 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= |
pool_timeout = None
|
(Integer) If set, use this value for pool_timeout with SQLAlchemy. |
retry_interval = 10
|
(Integer) Interval between retries of opening a SQL connection. |
slave_connection = None
|
(String) The SQLAlchemy connection string to use to connect to the slave database. |
sqlite_db = oslo.sqlite
|
(String) The file name to use with SQLite. |
sqlite_synchronous = True
|
(Boolean) If True, SQLite uses synchronous mode. |
use_db_reconnect = False
|
(Boolean) Enable the experimental use of database reconnect on connection lost. |
9.1.9. Designate Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[designate]
|
|
admin_auth_url = None
|
(String) Authorization URL for connecting to designate in admin context |
admin_password = None
|
(String) Password for connecting to designate in admin context |
admin_tenant_id = None
|
(String) Tenant id for connecting to designate in admin context |
admin_tenant_name = None
|
(String) Tenant name for connecting to designate in admin context |
admin_username = None
|
(String) Username for connecting to designate in admin context |
allow_reverse_dns_lookup = True
|
(Boolean) Allow the creation of PTR records |
ipv4_ptr_zone_prefix_size = 24
|
(Integer) Number of bits in an ipv4 PTR zone that will be considered network prefix. It has to align to byte boundary. Minimum value is 8. Maximum value is 24. As a consequence, range of values is 8, 16 and 24 |
ipv6_ptr_zone_prefix_size = 120
|
(Integer) Number of bits in an ipv6 PTR zone that will be considered network prefix. It has to align to nyble boundary. Minimum value is 4. Maximum value is 124. As a consequence, range of values is 4, 8, 12, 16,..., 124 |
ptr_zone_email =
|
(String) The email address to be used when creating PTR zones. If not specified, the email address will be admin@<dns_domain> |
url = None
|
(String) URL for connecting to designate |
9.1.10. DHCP agent Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
advertise_mtu = True
|
(Boolean) If True, advertise network MTU values if core plugin calculates them. MTU is advertised to running instances via DHCP and RA MTU options. |
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
|
(String) The driver used to manage the DHCP server. |
dnsmasq_base_log_dir = None
|
(String) Base log dir for dnsmasq logging. The log contains DHCP and DNS log information and is useful for debugging issues with either DHCP or DNS. If this section is null, disable dnsmasq log. |
dnsmasq_config_file =
|
(String) Override the default dnsmasq settings with this file. |
dnsmasq_dns_servers = None
|
(List) Comma-separated list of the DNS servers which will be used as forwarders. |
dnsmasq_lease_max = 16777216
|
(Integer) Limit number of leases to prevent a denial-of-service. |
dnsmasq_local_resolv = False
|
(Boolean) Enables the dnsmasq service to provide name resolution for instances via DNS resolvers on the host running the DHCP agent. Effectively removes the '--no-resolv' option from the dnsmasq process arguments. Adding custom DNS resolvers to the 'dnsmasq_dns_servers' option disables this feature. |
enable_isolated_metadata = False
|
(Boolean) The DHCP server can assist with providing metadata support on isolated networks. Setting this value to True will cause the DHCP server to append specific host routes to the DHCP request. The metadata service will only be activated when the subnet does not contain any router port. The guest instance must be configured to request host routes via DHCP (Option 121). This option doesn't have any effect when force_metadata is set to True. |
enable_metadata_network = False
|
(Boolean) Allows for serving metadata requests coming from a dedicated metadata access network whose CIDR is 169.254.169.254/16 (or larger prefix), and is connected to a Neutron router from which the VMs send metadata:1 request. In this case DHCP Option 121 will not be injected in VMs, as they will be able to reach 169.254.169.254 through a router. This option requires enable_isolated_metadata = True. |
force_metadata = False
|
(Boolean) In some cases the Neutron router is not present to provide the metadata IP but the DHCP server can be used to provide this info. Setting this value will force the DHCP server to append specific host routes to the DHCP request. If this option is set, then the metadata service will be activated for all the networks. |
host = example.domain
|
(String) Hostname to be used by the Neutron server, agents and services running on this machine. All the agents and services running on this machine must use the same host value. |
interface_driver = None
|
(String) The driver used to manage the virtual interface. |
num_sync_threads = 4
|
(Integer) Number of threads to use during sync process. Should not exceed connection pool size configured on server. |
resync_interval = 5
|
(Integer) The DHCP agent will resync its state with Neutron to recover from any transient notification or RPC errors. The interval is number of seconds between attempts. |
9.1.11. Distributed virtual router Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
dvr_base_mac = fa:16:3f:00:00:00
|
(String) The base mac address used for unique DVR instances by Neutron. The first 3 octets will remain unchanged. If the 4th octet is not 00, it will also be used. The others will be randomly generated. The 'dvr_base_mac' *must* be different from 'base_mac' to avoid mixing them up with MAC's allocated for tenant ports. A 4 octet example would be dvr_base_mac = fa:16:3f:4f:00:00. The default is 3 octet |
router_distributed = False
|
(Boolean) System-wide flag to determine the type of router that tenants can create. Only admin can override. |
9.1.12. Firewall-as-a-Service driver Copier lienLien copié sur presse-papiers!
fwaas_driver.ini file for the FWaaS driver.
| Configuration option = Default value | Description |
|---|---|
[fwaas]
|
|
driver =
|
(String) Name of the FWaaS Driver |
enabled = False
|
(Boolean) Enable FWaaS |
| Configuration option = Default value | Description |
|---|---|
[ngfw]
|
|
smc_api_auth_key =
|
(String) Authentication key to SMC API |
smc_api_version =
|
(String) verion of SMC API |
smc_url =
|
(String) URL to contact SMC server |
| Configuration option = Default value | Description |
|---|---|
[vArmour]
|
|
director = localhost
|
(String) vArmour director ip |
director_port = 443
|
(String) vArmour director port |
password = varmour
|
(String) vArmour director password |
username = varmour
|
(String) vArmour director username |
9.1.13. Load-Balancer-as-a-Service configuration options Copier lienLien copié sur presse-papiers!
neutron_lbaas.conf file for the LBaaS agent.
| Configuration option = Default value | Description |
|---|---|
[certificates]
|
|
barbican_auth = barbican_acl_auth
|
(String) Name of the Barbican authentication method to use |
cert_manager_type = barbican
|
(String) Certificate Manager plugin. Defaults to barbican. |
storage_path = /var/lib/neutron-lbaas/certificates/
|
(String) Absolute path to the certificate storage directory. Defaults to env[OS_LBAAS_TLS_STORAGE]. |
neutron_lbaas.conf file for the LBaaS agent.
| Configuration option = Default value | Description |
|---|---|
[service_auth]
|
|
admin_password = password
|
(String) The service admin password |
admin_project_domain = admin
|
(String) The admin project domain name |
admin_tenant_name = admin
|
(String) The service admin tenant name |
admin_user = admin
|
(String) The service admin user name |
admin_user_domain = admin
|
(String) The admin user domain name |
auth_url = http://127.0.0.1:5000/v2.0
|
(String) Authentication endpoint |
auth_version = 2
|
(String) The auth version used to authenticate |
endpoint_type = public
|
(String) The endpoint_type to be used |
region = RegionOne
|
(String) The deployment region |
service_name = lbaas
|
(String) The name of the service |
lbaas_agent.ini file for the LBaaS agent.
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
debug = False
|
(Boolean) If set to true, the logging level will be set to DEBUG instead of the default INFO level. |
device_driver = ['neutron_lbaas.drivers.haproxy.namespace_driver.HaproxyNSDriver']
|
(Multi-valued) Drivers used to manage loadbalancing devices |
interface_driver = None
|
(String) The driver used to manage the virtual interface. |
periodic_interval = 40
|
(Integer) Seconds between running periodic tasks |
[haproxy]
|
|
loadbalancer_state_path = $state_path/lbaas
|
(String) Location to store config and state files |
send_gratuitous_arp = 3
|
(Integer) When delete and re-add the same vip, send this many gratuitous ARPs to flush the ARP cache in the Router. Set it below or equal to 0 to disable this feature. |
user_group = nogroup
|
(String) The user group |
services_lbaas.conf file for the LBaaS agent.
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
loadbalancer_pool_scheduler_driver = neutron_lbaas.services.loadbalancer.agent_scheduler.ChanceScheduler
|
(String) Driver to use for scheduling pool to a default loadbalancer agent |
loadbalancer_scheduler_driver = neutron_lbaas.agent_scheduler.ChanceScheduler
|
(String) Driver to use for scheduling to a default loadbalancer agent |
[haproxy]
|
|
jinja_config_template = /usr/lib/python/site-packages/neutron-lbaas/neutron_lbaas/services/loadbalancer/drivers/haproxy/templates/haproxy.loadbalancer.j2
|
(String) Jinja template file for haproxy configuration |
[netscaler_driver]
|
|
is_synchronous = True
|
(String) Setting for option to enable synchronous operationsNetScaler Control Center Server. |
netscaler_ncc_cleanup_mode = None
|
(String) Setting to enable/disable cleanup mode for NetScaler Control Center Server |
netscaler_ncc_password = None
|
(String) Password to login to the NetScaler Control Center Server. |
netscaler_ncc_uri = None
|
(String) The URL to reach the NetScaler Control Center Server. |
netscaler_ncc_username = None
|
(String) Username to login to the NetScaler Control Center Server. |
netscaler_status_collection = True,300
|
(String) Setting for member status collection fromNetScaler Control Center Server. |
periodic_task_interval = 2
|
(String) Setting for periodic task collection interval fromNetScaler Control Center Server.. |
[octavia]
|
|
allocates_vip = False
|
(Boolean) True if Octavia will be responsible for allocating the VIP. False if neutron-lbaas will allocate it and pass to Octavia. |
base_url = http://127.0.0.1:9876
|
(String) URL of Octavia controller root |
request_poll_interval = 3
|
(Integer) Interval in seconds to poll octavia when an entity is created, updated, or deleted. |
request_poll_timeout = 100
|
(Integer) Time to stop polling octavia when a status of an entity does not change. |
[radware]
|
|
actions_to_skip = setup_l2_l3
|
(List) List of actions that are not pushed to the completion queue. |
ha_secondary_address = None
|
(String) IP address of secondary vDirect server. |
l2_l3_ctor_params = {'ha_network_name': 'HA-Network', 'service': '_REPLACE_', 'ha_ip_pool_name': 'default', 'twoleg_enabled': '_REPLACE_', 'allocate_ha_ips': True, 'allocate_ha_vrrp': True}
|
(Dict) Parameter for l2_l3 workflow constructor. |
l2_l3_setup_params = {'data_ip_address': '192.168.200.99', 'data_port': 1, 'gateway': '192.168.200.1', 'ha_port': 2, 'data_ip_mask': '255.255.255.0'}
|
(Dict) Parameter for l2_l3 workflow setup. |
l2_l3_workflow_name = openstack_l2_l3
|
(String) Name of l2_l3 workflow. Default: openstack_l2_l3. |
l4_action_name = BaseCreate
|
(String) Name of the l4 workflow action. Default: BaseCreate. |
l4_workflow_name = openstack_l4
|
(String) Name of l4 workflow. Default: openstack_l4. |
service_adc_type = VA
|
(String) Service ADC type. Default: VA. |
service_adc_version =
|
(String) Service ADC version. |
service_cache = 20
|
(Integer) Size of service cache. Default: 20. |
service_compression_throughput = 100
|
(Integer) Service compression throughput. Default: 100. |
service_ha_pair = False
|
(Boolean) Enables or disables the Service HA pair. Default: False. |
service_isl_vlan = -1
|
(Integer) A required VLAN for the interswitch link to use. |
service_resource_pool_ids =
|
(List) Resource pool IDs. |
service_session_mirroring_enabled = False
|
(Boolean) Enable or disable Alteon interswitch link for stateful session failover. Default: False. |
service_ssl_throughput = 100
|
(Integer) Service SSL throughput. Default: 100. |
service_throughput = 1000
|
(Integer) Service throughput. Default: 1000. |
vdirect_address = None
|
(String) IP address of vDirect server. |
vdirect_password = radware
|
(String) vDirect user password. |
vdirect_user = vDirect
|
(String) vDirect user name. |
[radwarev2]
|
|
child_workflow_template_names = manage_l3
|
(List) Name of child workflow templates used.Default: manage_l3 |
ha_secondary_address = None
|
(String) IP address of secondary vDirect server. |
service_adc_type = VA
|
(String) Service ADC type. Default: VA. |
service_adc_version =
|
(String) Service ADC version. |
service_cache = 20
|
(Integer) Size of service cache. Default: 20. |
service_compression_throughput = 100
|
(Integer) Service compression throughput. Default: 100. |
service_ha_pair = False
|
(Boolean) Enables or disables the Service HA pair. Default: False. |
service_isl_vlan = -1
|
(Integer) A required VLAN for the interswitch link to use. |
service_resource_pool_ids =
|
(List) Resource pool IDs. |
service_session_mirroring_enabled = False
|
(Boolean) Enable or disable Alteon interswitch link for stateful session failover. Default: False. |
service_ssl_throughput = 100
|
(Integer) Service SSL throughput. Default: 100. |
service_throughput = 1000
|
(Integer) Service throughput. Default: 1000. |
stats_action_name = stats
|
(String) Name of the workflow action for statistics. Default: stats. |
vdirect_address = None
|
(String) IP address of vDirect server. |
vdirect_password = radware
|
(String) vDirect user password. |
vdirect_user = vDirect
|
(String) vDirect user name. |
workflow_action_name = apply
|
(String) Name of the workflow action. Default: apply. |
workflow_params = {'data_ip_address': '192.168.200.99', 'ha_network_name': 'HA-Network', 'ha_port': 2, 'allocate_ha_ips': True, 'ha_ip_pool_name': 'default', 'allocate_ha_vrrp': True, 'data_port': 1, 'gateway': '192.168.200.1', 'twoleg_enabled': '_REPLACE_', 'data_ip_mask': '255.255.255.0'}
|
(Dict) Parameter for l2_l3 workflow constructor. |
workflow_template_name = os_lb_v2
|
(String) Name of the workflow template. Default: os_lb_v2. |
[radwarev2_debug]
|
|
configure_l3 = True
|
(Boolean) Configule ADC with L3 parameters? |
configure_l4 = True
|
(Boolean) Configule ADC with L4 parameters? |
provision_service = True
|
(Boolean) Provision ADC service? |
/etc/octavia/octavia.conf file for octavia config.
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
verbose = False
|
(BoolOpt) Print more verbose output (set logging level to INFO instead of default WARNING level). |
debug = False
|
(BoolOpt) Print more verbose output (set logging level to INFO instead of default WARNING level). |
bind_host = 0.0.0.0
|
(StrOpt) The host IP to bind to the api service to . |
bind_port = 9876
|
(IntOpt) The port to bind to the api service to. |
api_handler = simulated_handler
|
(StrOpt) The handler that the API communicates with. |
octavia_plugins = hot_plug_plugin
|
(StrOpt) Name of the controller plugin to use. |
os_region_name =
|
(StrOpt) Region in Identity service catalog to use for communication with the OpenStack services. |
host =
|
(StrOpt) Hostname to be used by the host machine for services running on it.The default value is the hostname of the host machine. |
| [database] | |
connection = mysql+pymysql://root:pass@127.0.0.1:3306/octavia
|
(StrOpt) The SQLAlchemy connection string used to connect to the database. |
| [health_manager] | |
bind_ip = 0.0.0.0
|
(StrOpt) IP address the controller will listen on for heart beats from the amphora. |
bind_port = 5555
|
(IntOpt) Port number the controller will listen on for heart beats from the amphora. |
controller_ip_port_list =
|
(StrOpt) List of controller ip and port pairs for the heartbeat receivers. Example [127.0.0.1:5555, 127.0.0.1:5555]. |
failover_threads = 10
|
(IntOpt) Number of threads performing amphora failovers. |
status_update_threads = 50
|
(IntOpt) Number of threads performing amphora status update. |
heartbeat_interval = 10
|
(IntOpt) Sleep time between sending hearthbeats from the amphora. |
heartbeat_key =
|
(StrOpt) key used to authenticate the heartbeat message sent by the amphora. |
heartbeat_timeout = 60
|
(IntOpt) Interval, in seconds, to wait before failing over an amphora. |
health_check_interval = 3
|
(IntOpt) Sleep time between health checks in seconds. |
sock_rlimit = 0
|
(IntOpt) sets the value of the heartbeat recv buffer. |
| [keystone_authtoken] | |
auth_uri = https://localhost:5000/v3
|
(StrOpt) Complete public Identity API endpoint. |
admin_user = octavia
|
(StrOpt) Keystone account username. |
admin_password = password
|
(StrOpt) Keystone account password. |
admin_tenant_name = service
|
(StrOpt) Keystone service account tenant name to validate user tokens. |
insecure = False
|
(BoolOpt) Verify HTTPS connections. |
| [keystone_authtoken_v3] | |
admin_user_domain = default
|
(StrOpt) Admin user keystone authentication domain. |
admin_project_domain = default
|
(StrOpt) Admin project keystone authentication domain. |
| [certificates] | |
cert_generator_class = octavia.certificates.generator.LocalCertGenerator
|
(StrOpt) Class name which generate certificates. |
cert_manager_class = octavia.certificates.manager.LocalCertManager
|
(StrOpt) Class name of certificate manager. |
ca_certificate = /etc/ssl/certs/ssl-cert-snakeoil.pem
|
(StrOpt) Absolute path to the CA Certificate for signing. Defaults to env[OS_OCTAVIA_TLS_CA_CERT].Local Cert generator only. |
ca_private_key = /etc/ssl/private/ssl-cert-snakeoil.key
|
(StrOpt) Absolute path to the Private Key for signing. Defaults to env[OS_OCTAVIA_TLS_CA_KEY].Local Cert generator only. |
ca_private_key_passphrase =
|
(StrOpt) Passphrase for the Private Key. Defaults to env[OS_OCTAVIA_CA_KEY_PASS] or None.Local Cert generator only. |
signing_digest = sha256
|
(StrOpt) Certificate signing digest. Defaults to env[OS_OCTAVIA_CA_SIGNING_DIGEST] or sha256.Local Cert generator only. |
storage_path = /var/lib/octavia/certificates/
|
(StrOpt) Absolute path to the certificate storage directory. Defaults to env[OS_OCTAVIA_TLS_STORAGE].Local Cert manager only. |
| [octavia_network] | |
lb_network_name =
|
(StrOpt) Network to communicate with amphora. |
max_retries = 15
|
(IntOpt) The maximum attempts to retry an action with the networking service. |
retry_interval = 1
|
(IntOpt) Seconds to wait before retrying an action with the networking service. |
| [haproxy_amphora] | |
base_path = /var/lib/octavia
|
(StrOpt) Base directory for amphora files on amphora. |
base_cert_dir = /var/lib/octavia/certs
|
(StrOpt) Base directory for cert storage on amphora. |
haproxy_template = /var/lib/octavia/custom_template
|
(StrOpt) Custom haproxy template. |
base_log_dir = /logs
|
(StrOpt) Base director for log on amphora. |
connection_max_retries = 300
|
(IntOpt) Retry threshold for connecting to amphorae. |
connection_retry_interval = 5
|
(IntOpt) Retry threshold for connecting to amphorae. |
cert_manager = barbican_cert_manager
|
(StrOpt) Name of the cert manager to use. |
username = ubuntu
|
(StrOpt) Name of user for access to amphora,ssh driver only. |
key_path = /opt/stack/.ssh/id_rsa
|
(StrOpt) Local absolute path to the private key loaded on amphora at boot,ssh driver only. |
bind_host = 0.0.0.0
|
(StrOpt) The host IP to bind to amphora hose/REST driver only. |
bind_port = 9191
|
(IntOpt) The port to bind to.REST driver only. |
haproxy_cmd = /usr/sbin/haproxy
|
(StrOpt) The full path to haproxy. |
respawn_count = 2
|
(IntOpt) The respawn count for haproxy's upstart script. |
respawn_interval = 2
|
(IntOpt) The respawn interval for haproxy's upstart script. |
haproxy_cert_dir = /tmp
|
(StrOpt) The directory to store haproxy cert files in. |
| [controller_worker] | |
amp_active_retries = 10
|
(IntOpt) Retry attempts to wait for Amphora to become active. |
amp_active_wait_sec = 10
|
(IntOpt) Seconds to wait for an Amphora to become active. |
amp_flavor_id =
|
(StrOpt) Nova instance flavor id for the Amphora. |
amp_image_id =
|
(StrOpt) Glance image id for the Amphora image to boot. |
amp_ssh_key_name =
|
(StrOpt) SSH key name used to boot the Amphora.REST driver/or debugging. |
amp_network =
|
(StrOpt) Network to attach to the Amphora. |
amp_secgroup_list =
|
(StrOpt) List of security groups to attach to the Amphora. |
client_ca = /etc/octavia/certs/ca_01.pem
|
(StrOpt) Client CA for the amphora agent to use.REST driver only. |
amphora_driver = amphora_noop_driver
|
(StrOpt) Name of the amphora driver to use. |
compute_driver = compute_noop_driver
|
(StrOpt) Name of the compute driver to use. |
network_driver = network_noop_driver
|
(StrOpt) Name of the network driver to use. |
cert_generator = local_cert_generator
|
(StrOpt) Name of the cert generator to use. |
| [task_flow] | |
engine = serial
|
(StrOpt) TaskFlow engine to use. |
max_workers = 5
|
(IntOpt) The maximum number of workers. |
| [oslo_messaging_rabbi] | |
rabbit_userid = octavia
|
(StrOpt) RabbitMQ username. |
rabbit_password = password
|
(StrOpt) RabbitMQ password. |
rabbit_port = 5672
|
(IntOpt) RabbitMQ port. |
rabbit_hosts = localhost:5672
|
(StrOpt) RabbitMQ host. |
| [oslo_messaging] | |
rpc_thread_pool_size = 2
|
(IntOpt) Queue Consumer Thread Pool Size. |
topic = octavia_prov
|
(StrOpt) Topic (i.e. Queue) Name. |
| [house_keeping] | |
spare_check_interval = 30
|
(IntOpt) Interval in seconds to initiate spare amphora checks. |
spare_amphora_pool_size = 0
|
(IntOpt) Number of spare amphorae. |
cleanup_interval = 30
|
(IntOpt) Cleanup interval for Deleted amphora. |
amphora_expiry_age = 604800
|
(IntOpt) Amphora expiry age in seconds. Default is 1 week. |
9.1.14. VPN-as-a-Service configuration options Copier lienLien copié sur presse-papiers!
vpnaas_agent.ini file for the VPNaaS agent.
| Configuration option = Default value | Description |
|---|---|
[vpnagent]
|
|
vpn_device_driver = ['neutron_vpnaas.services.vpn.device_drivers.ipsec.OpenSwanDriver, neutron_vpnaas.services.vpn.device_drivers.cisco_ipsec.CiscoCsrIPsecDriver, neutron_vpnaas.services.vpn.device_drivers.vyatta_ipsec.VyattaIPSecDriver, neutron_vpnaas.services.vpn.device_drivers.strongswan_ipsec.StrongSwanDriver, neutron_vpnaas.services.vpn.device_drivers.fedora_strongswan_ipsec.FedoraStrongSwanDriver, neutron_vpnaas.services.vpn.device_drivers.libreswan_ipsec.LibreSwanDriver']
|
(Multi-valued) The vpn device drivers Neutron will use |
| Configuration option = Default value | Description |
|---|---|
[cisco_csr_ipsec]
|
|
status_check_interval = 60
|
(Integer) Status check interval for Cisco CSR IPSec connections |
[ipsec]
|
|
config_base_dir = $state_path/ipsec
|
(String) Location to store ipsec server config files |
enable_detailed_logging = False
|
(Boolean) Enable detail logging for ipsec pluto process. If the flag set to True, the detailed logging will be written into config_base_dir/<pid>/log. Note: This setting applies to OpenSwan and LibreSwan only. StrongSwan logs to syslog. |
ipsec_status_check_interval = 60
|
(Integer) Interval for checking ipsec status |
[pluto]
|
|
shutdown_check_back_off = 1.5
|
(Floating point) A factor to increase the retry interval for each retry |
shutdown_check_retries = 5
|
(Integer) The maximum number of retries for checking for pluto daemon shutdown |
shutdown_check_timeout = 1
|
(Integer) Initial interval in seconds for checking if pluto daemon is shutdown |
| Configuration option = Default value | Description |
|---|---|
[openswan]
|
|
ipsec_config_template = /usr/lib/python/site-packages/neutron-vpnaas/neutron_vpnaas/services/vpn/device_drivers/template/openswan/ipsec.conf.template
|
(String) Template file for ipsec configuration |
ipsec_secret_template = /usr/lib/python/site-packages/neutron-vpnaas/neutron_vpnaas/services/vpn/device_drivers/template/openswan/ipsec.secret.template
|
(String) Template file for ipsec secret configuration |
| Configuration option = Default value | Description |
|---|---|
[strongswan]
|
|
default_config_area = /etc/strongswan.d
|
(String) The area where default StrongSwan configuration files are located. |
ipsec_config_template = /usr/lib/python/site-packages/neutron-vpnaas/neutron_vpnaas/services/vpn/device_drivers/template/strongswan/ipsec.conf.template
|
(String) Template file for ipsec configuration. |
ipsec_secret_template = /usr/lib/python/site-packages/neutron-vpnaas/neutron_vpnaas/services/vpn/device_drivers/template/strongswan/ipsec.secret.template
|
(String) Template file for ipsec secret configuration. |
strongswan_config_template = /usr/lib/python/site-packages/neutron-vpnaas/neutron_vpnaas/services/vpn/device_drivers/template/strongswan/strongswan.conf.template
|
(String) Template file for strongswan configuration. |
9.1.15. IPv6 router advertisement Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
ra_confs = $state_path/ra
|
(String) Location to store IPv6 RA config files |
9.1.16. L3 agent Copier lienLien copié sur presse-papiers!
l3_agent.ini file for the L3 agent.
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
agent_mode = legacy
|
(String) The working mode for the agent. Allowed modes are: 'legacy' - this preserves the existing behavior where the L3 agent is deployed on a centralized networking node to provide L3 services like DNAT, and SNAT. Use this mode if you do not want to adopt DVR. 'dvr' - this mode enables DVR functionality and must be used for an L3 agent that runs on a compute host. 'dvr_snat' - this enables centralized SNAT support in conjunction with DVR. This mode must be used for an L3 agent running on a centralized node (or in single-host deployments, e.g. devstack) |
allow_automatic_dhcp_failover = True
|
(Boolean) Automatically remove networks from offline DHCP agents. |
allow_automatic_l3agent_failover = False
|
(Boolean) Automatically reschedule routers from offline L3 agents to online L3 agents. |
enable_metadata_proxy = True
|
(Boolean) Allow running metadata proxy. |
enable_snat_by_default = True
|
(Boolean) Define the default value of enable_snat if not provided in external_gateway_info. |
external_ingress_mark = 0x2
|
(String) Iptables mangle mark used to mark ingress from external network. This mark will be masked with 0xffff so that only the lower 16 bits will be used. |
external_network_bridge = br-ex
|
(String) DEPRECATED: Name of bridge used for external network traffic. This should be set to an empty value for the Linux Bridge. When this parameter is set, each L3 agent can be associated with no more than one external network. This option is deprecated and will be removed in the M release. |
gateway_external_network_id =
|
(String) When external_network_bridge is set, each L3 agent can be associated with no more than one external network. This value should be set to the UUID of that external network. To allow L3 agent support multiple external networks, both the external_network_bridge and gateway_external_network_id must be left empty. |
ha_confs_path = $state_path/ha_confs
|
(String) Location to store keepalived/conntrackd config files |
ha_vrrp_advert_int = 2
|
(Integer) The advertisement interval in seconds |
ha_vrrp_auth_password = None
|
(String) VRRP authentication password |
ha_vrrp_auth_type = PASS
|
(String) VRRP authentication type |
handle_internal_only_routers = True
|
(Boolean) Indicates that this L3 agent should also handle routers that do not have an external network gateway configured. This option should be True only for a single agent in a Neutron deployment, and may be False for all agents if all routers must have an external network gateway. |
host = example.domain
|
(String) Hostname to be used by the Neutron server, agents and services running on this machine. All the agents and services running on this machine must use the same host value. |
interface_driver = None
|
(String) The driver used to manage the virtual interface. |
ipv6_gateway =
|
(String) With IPv6, the network used for the external gateway does not need to have an associated subnet, since the automatically assigned link-local address (LLA) can be used. However, an IPv6 gateway address is needed for use as the next-hop for the default route. If no IPv6 gateway address is configured here, (and only then) the neutron router will be configured to get its default route from router advertisements (RAs) from the upstream router; in which case the upstream router must also be configured to send these RAs. The ipv6_gateway, when configured, should be the LLA of the interface on the upstream router. If a next-hop using a global unique address (GUA) is desired, it needs to be done via a subnet allocated to the network and not through this parameter. |
ipv6_pd_enabled = False
|
(Boolean) Enables IPv6 Prefix Delegation for automatic subnet CIDR allocation. Set to True to enable IPv6 Prefix Delegation for subnet allocation in a PD-capable environment. Users making subnet creation requests for IPv6 subnets without providing a CIDR or subnetpool ID will be given a CIDR via the Prefix Delegation mechanism. Note that enabling PD will override the behavior of the default IPv6 subnetpool. |
l3_ha = False
|
(Boolean) Enable HA mode for virtual routers. |
l3_ha_net_cidr = 169.254.192.0/18
|
(String) Subnet used for the l3 HA admin network. |
l3_ha_network_physical_name =
|
(String) The physical network name with which the HA network can be created. |
l3_ha_network_type =
|
(String) The network type to use when creating the HA network for an HA router. By default or if empty, the first 'tenant_network_types' is used. This is helpful when the VRRP traffic should use a specific network which is not the default one. |
max_l3_agents_per_router = 3
|
(Integer) Maximum number of L3 agents which a HA router will be scheduled on. If it is set to 0 then the router will be scheduled on every agent. |
min_l3_agents_per_router = 2
|
(Integer) Minimum number of L3 agents which a HA router will be scheduled on. If it is set to 0 then the router will be scheduled on every agent. |
router_id =
|
(String) DEPRECATED: If non-empty, the l3 agent can only configure a router that has the matching router ID. |
send_arp_for_ha = 3
|
(Integer) Send this many gratuitous ARPs for HA setup, if less than or equal to 0, the feature is disabled |
[AGENT]
|
|
comment_iptables_rules = True
|
(Boolean) Add comments to iptables rules. Set to false to disallow the addition of comments to generated iptables rules that describe each rule's purpose. System must support the iptables comments module for addition of comments. |
use_helper_for_ns_read = True
|
(Boolean) Use the root helper when listing the namespaces on a system. This may not be required depending on the security configuration. If the root helper is not required, set this to False for a performance improvement. |
9.1.17. Logging Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
debug = False
|
(Boolean) If set to true, the logging level will be set to DEBUG instead of the default INFO level. |
default_log_levels = amqp=WARN, amqplib=WARN, boto=WARN, qpid=WARN, sqlalchemy=WARN, suds=INFO, oslo.messaging=INFO, iso8601=WARN, requests.packages.urllib3.connectionpool=WARN, urllib3.connectionpool=WARN, websocket=WARN, requests.packages.urllib3.util.retry=WARN, urllib3.util.retry=WARN, keystonemiddleware=WARN, routes.middleware=WARN, stevedore=WARN, taskflow=WARN, keystoneauth=WARN, oslo.cache=INFO, dogpile.core.dogpile=INFO
|
(List) List of package logging levels in logger=LEVEL pairs. This option is ignored if log_config_append is set. |
fatal_deprecations = False
|
(Boolean) Enables or disables fatal status of deprecations. |
instance_format = "[instance: %(uuid)s] "
|
(String) The format for an instance that is passed with the log message. |
instance_uuid_format = "[instance: %(uuid)s] "
|
(String) The format for an instance UUID that is passed with the log message. |
log_config_append = None
|
(String) 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, logging_context_format_string). |
log_date_format = %Y-%m-%d %H:%M:%S
|
(String) Defines the format string for %%(asctime)s in log records. Default: %(default)s . This option is ignored if log_config_append is set. |
log_dir = None
|
(String) (Optional) The base directory used for relative log_file paths. This option is ignored if log_config_append is set. |
log_file = None
|
(String) (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. |
logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
|
(String) Format string to use for log messages with context. |
logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
|
(String) Additional data to append to log message when logging level for the message is DEBUG. |
logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
|
(String) Format string to use for log messages when context is undefined. |
logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
|
(String) Prefix each line of exception output with this format. |
logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s
|
(String) Defines the format string for %(user_identity)s that is used in logging_context_format_string. |
publish_errors = False
|
(Boolean) Enables or disables publication of error events. |
syslog_log_facility = LOG_USER
|
(String) Syslog facility to receive log lines. This option is ignored if log_config_append is set. |
use_ssl = False
|
(Boolean) Enable SSL on the API server |
use_stderr = True
|
(Boolean) Log output to standard error. This option is ignored if log_config_append is set. |
use_syslog = False
|
(Boolean) 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. |
verbose = True
|
(Boolean) DEPRECATED: If set to false, the logging level will be set to WARNING instead of the default INFO level. |
watch_log_file = False
|
(Boolean) 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. |
wsgi_log_format = %(client_ip)s "%(request_line)s" status: %(status_code)s len: %(body_length)s time: %(wall_seconds).7f
|
(String) A python format string that is used as the template to generate log lines. The following values can beformatted into it: client_ip, date_time, request_line, status_code, body_length, wall_seconds. |
[oslo_versionedobjects]
|
|
fatal_exception_format_errors = False
|
(Boolean) Make exception message format errors fatal |
9.1.18. Metadata Agent Copier lienLien copié sur presse-papiers!
metadata_agent.ini file for the Metadata agent.
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
metadata_access_mark = 0x1
|
(String) Iptables mangle mark used to mark metadata valid requests. This mark will be masked with 0xffff so that only the lower 16 bits will be used. |
metadata_backlog = 4096
|
(Integer) Number of backlog requests to configure the metadata server socket with |
metadata_port = 9697
|
(Port number) TCP Port used by Neutron metadata namespace proxy. |
metadata_proxy_group =
|
(String) Group (gid or name) running metadata proxy after its initialization (if empty: agent effective group). |
metadata_proxy_shared_secret =
|
(String) When proxying metadata requests, Neutron signs the Instance-ID header with a shared secret to prevent spoofing. You may select any string for a secret, but it must match here and in the configuration used by the Nova Metadata Server. NOTE: Nova uses the same config key, but in [neutron] section. |
metadata_proxy_socket = $state_path/metadata_proxy
|
(String) Location for Metadata Proxy UNIX domain socket. |
metadata_proxy_socket_mode = deduce
|
(String) Metadata Proxy UNIX domain socket mode, 4 values allowed: 'deduce': deduce mode from metadata_proxy_user/group values, 'user': set metadata proxy socket mode to 0o644, to use when metadata_proxy_user is agent effective user or root, 'group': set metadata proxy socket mode to 0o664, to use when metadata_proxy_group is agent effective group or root, 'all': set metadata proxy socket mode to 0o666, to use otherwise. |
metadata_proxy_user =
|
(String) User (uid or name) running metadata proxy after its initialization (if empty: agent effective user). |
metadata_proxy_watch_log = None
|
(Boolean) Enable/Disable log watch by metadata proxy. It should be disabled when metadata_proxy_user/group is not allowed to read/write its log file and copytruncate logrotate option must be used if logrotate is enabled on metadata proxy log files. Option default value is deduced from metadata_proxy_user: watch log is enabled if metadata_proxy_user is agent effective user id/name. |
metadata_workers = 2
|
(Integer) Number of separate worker processes for metadata server (defaults to half of the number of CPUs) |
nova_metadata_insecure = False
|
(Boolean) Allow to perform insecure SSL (https) requests to nova metadata |
nova_metadata_ip = 127.0.0.1
|
(String) IP address used by Nova metadata server. |
nova_metadata_port = 8775
|
(Port number) TCP Port used by Nova metadata server. |
nova_metadata_protocol = http
|
(String) Protocol to access nova metadata, http or https |
neutron-ns-metadata-proxy proxy namespace as root on a node with the L3 agent running. In OpenStack Kilo and newer, you can change the permissions of neutron-ns-metadata-proxy after the proxy installation using the metadata_proxy_user and metadata_proxy_group options.
9.1.19. Metering Agent Copier lienLien copié sur presse-papiers!
metering_agent.ini file for the Metering agent.
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
driver = neutron.services.metering.drivers.noop.noop_driver.NoopMeteringDriver
|
(String) Metering driver |
measure_interval = 30
|
(Integer) Interval between two metering measures |
[AGENT]
|
|
report_interval = 30
|
(Floating point) 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. |
9.1.20. ML2 MacVTap Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[AGENT]
|
|
quitting_rpc_timeout = 10
|
(Integer) Set new timeout in seconds for new rpc calls after agent receives SIGTERM. If value is set to 0, rpc timeout won't be changed |
[macvtap]
|
|
physical_interface_mappings =
|
(List) Comma-separated list of <physical_network>:<physical_interface> tuples mapping physical network names to the agent's node-specific physical network interfaces to be used for flat and VLAN networks. All physical networks listed in network_vlan_ranges on the server should have mappings to appropriate interfaces on each agent. |
9.1.21. Nova Copier lienLien copié sur presse-papiers!
neutron.conf file to change nova-related settings.
| Configuration option = Default value | Description |
|---|---|
[nova]
|
|
auth_section = None
|
(Unknown) Config Section from which to load plugin specific options |
auth_type = None
|
(Unknown) Authentication type to load |
cafile = None
|
(String) PEM encoded Certificate Authority to use when verifying HTTPs connections. |
certfile = None
|
(String) PEM encoded client certificate cert file |
endpoint_type = public
|
(String) Type of the nova endpoint to use. This endpoint will be looked up in the keystone catalog and should be one of public, internal or admin. |
insecure = False
|
(Boolean) Verify HTTPS connections. |
keyfile = None
|
(String) PEM encoded client certificate key file |
region_name = None
|
(String) Name of nova region to use. Useful if keystone manages more than one region. |
timeout = None
|
(Integer) Timeout value for http requests |
9.1.22. Policy Copier lienLien copié sur presse-papiers!
neutron.conf file to change policy settings.
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
allow_overlapping_ips = False
|
(Boolean) Allow overlapping IP support in Neutron. Attention: the following parameter MUST be set to False if Neutron is being used in conjunction with Nova security groups. |
9.1.23. Quotas Copier lienLien copié sur presse-papiers!
neutron.conf file for the quota system.
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
max_routes = 30
|
(Integer) Maximum number of routes per router |
[QUOTAS]
|
|
default_quota = -1
|
(Integer) Default number of resource allowed per tenant. A negative value means unlimited. |
quota_driver = neutron.db.quota.driver.DbQuotaDriver
|
(String) Default driver to use for quota checks |
quota_firewall = 10
|
(Integer) Number of firewalls allowed per tenant. A negative value means unlimited. |
quota_firewall_policy = 10
|
(Integer) Number of firewall policies allowed per tenant. A negative value means unlimited. |
quota_firewall_rule = 100
|
(Integer) Number of firewall rules allowed per tenant. A negative value means unlimited. |
quota_floatingip = 50
|
(Integer) Number of floating IPs allowed per tenant. A negative value means unlimited. |
quota_health_monitor = -1
|
(Integer) Number of health monitors allowed per tenant. A negative value means unlimited. |
quota_healthmonitor = -1
|
(Integer) Number of health monitors allowed per tenant. A negative value means unlimited. |
quota_items = network, subnet, port
|
(List) DEPRECATED: Resource name(s) that are supported in quota features. This option is now deprecated for removal. |
quota_listener = -1
|
(Integer) Number of Loadbalancer Listeners allowed per tenant. A negative value means unlimited. |
quota_loadbalancer = 10
|
(Integer) Number of LoadBalancers allowed per tenant. A negative value means unlimited. |
quota_member = -1
|
(Integer) Number of pool members allowed per tenant. A negative value means unlimited. |
quota_network = 10
|
(Integer) Number of networks allowed per tenant. A negative value means unlimited. |
quota_pool = 10
|
(Integer) Number of pools allowed per tenant. A negative value means unlimited. |
quota_port = 50
|
(Integer) Number of ports allowed per tenant. A negative value means unlimited. |
quota_rbac_policy = 10
|
(Integer) Default number of RBAC entries allowed per tenant. A negative value means unlimited. |
quota_router = 10
|
(Integer) Number of routers allowed per tenant. A negative value means unlimited. |
quota_security_group = 10
|
(Integer) Number of security groups allowed per tenant. A negative value means unlimited. |
quota_security_group_rule = 100
|
(Integer) Number of security rules allowed per tenant. A negative value means unlimited. |
quota_subnet = 10
|
(Integer) Number of subnets allowed per tenant, A negative value means unlimited. |
quota_vip = 10
|
(Integer) Number of vips allowed per tenant. A negative value means unlimited. |
track_quota_usage = True
|
(Boolean) Keep in track in the database of current resourcequota usage. Plugins which do not leverage the neutron database should set this flag to False |
9.1.24. Scheduler Copier lienLien copié sur presse-papiers!
neutron.conf file to change scheduler settings.
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
network_auto_schedule = True
|
(Boolean) Allow auto scheduling networks to DHCP agent. |
network_scheduler_driver = neutron.scheduler.dhcp_agent_scheduler.WeightScheduler
|
(String) Driver to use for scheduling network to DHCP agent |
router_auto_schedule = True
|
(Boolean) Allow auto scheduling of routers to L3 agent. |
router_scheduler_driver = neutron.scheduler.l3_agent_scheduler.LeastRoutersScheduler
|
(String) Driver to use for scheduling router to a default L3 agent |
9.1.25. Security Groups Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[SECURITYGROUP]
|
|
enable_ipset = True
|
(Boolean) Use ipset to speed-up the iptables based security groups. Enabling ipset support requires that ipset is installed on L2 agent node. |
enable_security_group = True
|
(Boolean) Controls whether the neutron security group API is enabled in the server. It should be false when using no security groups or using the nova security group API. |
firewall_driver = None
|
(String) Driver for security groups firewall in the L2 agent |
enable_ipset option enabled, it makes use of IPset to improve security group's performance, as it represents a hash set which is insensitive to the number of elements.
default_security_group implements such a group. It has tenant_id field as a primary key and security_group_id, which is an identifier of a default security group. The migration that introduces this table has a sanity check that verifies if a default security group is not duplicated in any tenant.
9.1.26. SSL and Certification Authority Copier lienLien copié sur presse-papiers!
neutron.conf file to enable SSL.
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
ssl_ca_file = None
|
(StrOpt) CA certificate file to use to verify connecting clients |
ssl_cert_file = None
|
(StrOpt) Certificate file to use when starting the server securely |
ssl_key_file = None
|
(StrOpt) Private key file to use when starting the server securely |
9.1.27. Misc Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[BGP]
|
|
bgp_router_id = None
|
(String) 32-bit BGP identifier, typically an IPv4 address owned by the system running the BGP DrAgent. |
bgp_speaker_driver = None
|
(String) BGP speaker driver class to be instantiated. |
| Configuration option = Default value | Description |
|---|---|
[QOS]
|
|
kernel_hz = 250
|
(Integer) Value of host kernel tick rate (hz) for calculating minimum burst value in bandwidth limit rules for a port with QoS. See kernel configuration file for HZ value and tc-tbf manual for more information. |
tbf_latency = 50
|
(Integer) Value of latency (ms) for calculating size of queue for a port with QoS. See tc-tbf manual for more information. |
9.2. Log files used by Networking Copier lienLien copié sur presse-papiers!
/var/log/neutron/ directory of the host on which each service runs.
| Log file | Service/interface | ||||||||||||||||||||||||||||||||||||||||||||||||
dhcp-agent.log
|
neutron-dhcp-agent
|
||||||||||||||||||||||||||||||||||||||||||||||||
l3-agent.log
|
neutron-l3-agent
|
||||||||||||||||||||||||||||||||||||||||||||||||
lbaas-agent.log
|
neutron-lbaas-agent [a]
|
||||||||||||||||||||||||||||||||||||||||||||||||
linuxbridge-agent.log
|
neutron-linuxbridge-agent
|
||||||||||||||||||||||||||||||||||||||||||||||||
metadata-agent.log
|
neutron-metadata-agent
|
||||||||||||||||||||||||||||||||||||||||||||||||
metering-agent.log
|
neutron-metering-agent
|
||||||||||||||||||||||||||||||||||||||||||||||||
openvswitch-agent.log
|
neutron-openvswitch-agent
|
||||||||||||||||||||||||||||||||||||||||||||||||
server.log
|
neutron-server
|
||||||||||||||||||||||||||||||||||||||||||||||||
[a]
The neutron-lbaas-agent service only runs when Load-Balancer-as-a-Service is enabled.
| |||||||||||||||||||||||||||||||||||||||||||||||||
9.3. Networking sample configuration files Copier lienLien copié sur presse-papiers!
/etc/neutron/.
9.3.1. neutron.conf Copier lienLien copié sur presse-papiers!
neutron.conf file to configure the majority of the OpenStack Networking options.
9.3.2. api-paste.ini Copier lienLien copié sur presse-papiers!
api-paste.ini to configure the OpenStack Networking API.
9.3.3. policy.json Copier lienLien copié sur presse-papiers!
policy.json file to define additional access controls that apply to the OpenStack Networking service.
9.3.4. rootwrap.conf Copier lienLien copié sur presse-papiers!
rootwrap.conf file to define configuration values used by the rootwrap script when the OpenStack Networking service must escalate its privileges to those of the root user.
9.3.5. Configuration files for plug-in agents Copier lienLien copié sur presse-papiers!
9.3.5.1. dhcp_agent.ini Copier lienLien copié sur presse-papiers!
9.3.5.2. l3_agent.ini Copier lienLien copié sur presse-papiers!
9.3.5.3. metadata_agent.ini Copier lienLien copié sur presse-papiers!
9.4. New, updated, and deprecated options in Mitaka for OpenStack Networking Copier lienLien copié sur presse-papiers!
| Option = default value | (Type) Help string |
[DEFAULT] bgp_drscheduler_driver = neutron.services.bgp.scheduler.bgp_dragent_scheduler.ChanceScheduler
|
(StrOpt) Driver used for scheduling BGP speakers to BGP DrAgent |
[DEFAULT] default_availability_zones =
|
(ListOpt) Default value of availability zone hints. The availability zone aware schedulers use this when the resources availability_zone_hints is empty. Multiple availability zones can be specified by a comma separated string. This value can be empty. In this case, even if availability_zone_hints for a resource is empty, availability zone is considered for high availability while scheduling the resource. |
[DEFAULT] dnsmasq_local_resolv = False
|
(BoolOpt) Enables the dnsmasq service to provide name resolution for instances via DNS resolvers on the host running the DHCP agent. Effectively removes the '--no-resolv' option from the dnsmasq process arguments. Adding custom DNS resolvers to the 'dnsmasq_dns_servers' option disables this feature. |
[DEFAULT] external_dns_driver = None
|
(StrOpt) Driver for external DNS integration. |
[DEFAULT] global_physnet_mtu = 1500
|
(IntOpt) MTU of the underlying physical network. Neutron uses this value to calculate MTU for all virtual network components. For flat and VLAN networks, neutron uses this value without modification. For overlay networks such as VXLAN, neutron automatically subtracts the overlay protocol overhead from this value. Defaults to 1500, the standard value for Ethernet. |
[DEFAULT] ipv6_pd_enabled = False
|
(BoolOpt) Enables IPv6 Prefix Delegation for automatic subnet CIDR allocation. Set to True to enable IPv6 Prefix Delegation for subnet allocation in a PD-capable environment. Users making subnet creation requests for IPv6 subnets without providing a CIDR or subnetpool ID will be given a CIDR via the Prefix Delegation mechanism. Note that enabling PD will override the behavior of the default IPv6 subnetpool. |
[DEFAULT] max_rtr_adv_interval = 100
|
(IntOpt) MaxRtrAdvInterval setting for radvd.conf |
[DEFAULT] min_rtr_adv_interval = 30
|
(IntOpt) MinRtrAdvInterval setting for radvd.conf |
[DEFAULT] rpc_state_report_workers = 1
|
(IntOpt) Number of RPC worker processes dedicated to state reports queue |
[DEFAULT] web_framework = legacy
|
(StrOpt) This will choose the web framework in which to run the Neutron API server. 'pecan' is a new experiemental rewrite of the API server. |
[DEFAULT] wsgi_default_pool_size = 100
|
(IntOpt) Size of the pool of greenthreads used by wsgi |
[DEFAULT] wsgi_log_format = %(client_ip)s "%(request_line)s" status: %(status_code)s len: %(body_length)s time: %(wall_seconds).7f
|
(StrOpt) A python format string that is used as the template to generate log lines. The following values can beformatted into it: client_ip, date_time, request_line, status_code, body_length, wall_seconds. |
[AGENT] availability_zone = nova
|
(StrOpt) Availability zone of this node |
[BGP] bgp_router_id = None
|
(StrOpt) 32-bit BGP identifier, typically an IPv4 address owned by the system running the BGP DrAgent. |
[BGP] bgp_speaker_driver = None
|
(StrOpt) BGP speaker driver class to be instantiated. |
[OVS] ovsdb_connection = tcp:127.0.0.1:6640
|
(StrOpt) The connection string for the native OVSDB backend. Requires the native ovsdb_interface to be enabled. |
[OVS] vhostuser_socket_dir = /var/run/openvswitch
|
(StrOpt) OVS vhost-user socket directory. |
[QOS] kernel_hz = 250
|
(IntOpt) Value of host kernel tick rate (hz) for calculating minimum burst value in bandwidth limit rules for a port with QoS. See kernel configuration file for HZ value and tc-tbf manual for more information. |
[QOS] tbf_latency = 50
|
(IntOpt) Value of latency (ms) for calculating size of queue for a port with QoS. See tc-tbf manual for more information. |
[VXLAN] arp_responder = False
|
(BoolOpt) Enable local ARP responder which provides local responses instead of performing ARP broadcast into the overlay. Enabling local ARP responder is not fullycompatible with the allowed-address-pairs extension. |
[designate] admin_auth_url = None
|
(StrOpt) Authorization URL for connecting to designate in admin context |
[designate] admin_password = None
|
(StrOpt) Password for connecting to designate in admin context |
[designate] admin_tenant_id = None
|
(StrOpt) Tenant id for connecting to designate in admin context |
[designate] admin_tenant_name = None
|
(StrOpt) Tenant name for connecting to designate in admin context |
[designate] admin_username = None
|
(StrOpt) Username for connecting to designate in admin context |
[designate] allow_reverse_dns_lookup = True
|
(BoolOpt) Allow the creation of PTR records |
[designate] ipv4_ptr_zone_prefix_size = 24
|
(IntOpt) Number of bits in an ipv4 PTR zone that will be considered network prefix. It has to align to byte boundary. Minimum value is 8. Maximum value is 24. As a consequence, range of values is 8, 16 and 24 |
[designate] ipv6_ptr_zone_prefix_size = 120
|
(IntOpt) Number of bits in an ipv6 PTR zone that will be considered network prefix. It has to align to nyble boundary. Minimum value is 4. Maximum value is 124. As a consequence, range of values is 4, 8, 12, 16,..., 124 |
[designate] ptr_zone_email =
|
(StrOpt) The email address to be used when creating PTR zones. If not specified, the email address will be admin@<dns_domain> |
[designate] url = None
|
(StrOpt) URL for connecting to designate |
[macvtap] physical_interface_mappings =
|
(ListOpt) Comma-separated list of <physical_network>:<physical_interface> tuples mapping physical network names to the agent's node-specific physical network interfaces to be used for flat and VLAN networks. All physical networks listed in network_vlan_ranges on the server should have mappings to appropriate interfaces on each agent. |
[nova] auth_type = None
|
(Opt) Authentication type to load |
[nova] endpoint_type = public
|
(StrOpt) Type of the nova endpoint to use. This endpoint will be looked up in the keystone catalog and should be one of public, internal or admin. |
| Option | Previous default value | New default value |
[DEFAULT] advertise_mtu
|
False
|
True
|
[DEFAULT] host
|
localhost
|
example.domain
|
[AGENT] veth_mtu
|
None
|
9000
|
[ml2] path_mtu
|
0
|
1500
|
[ml2_type_flat] flat_networks
|
*
|
| Deprecated option | New Option |
[DEFAULT] use_syslog
|
None
|
[ml2] segment_mtu
|
[DEFAULT] global_physnet_mtu
|
Chapter 10. Object Storage Copier lienLien copié sur presse-papiers!
[DEFAULT] section. You can override the default values by setting values in the other sections.
10.1. Introduction to Object Storage Copier lienLien copié sur presse-papiers!
10.2. Object Storage general service configuration Copier lienLien copié sur presse-papiers!
set option_name = value is in place.
object-server, object-updater, object-replicator, and object-auditor exist in a single file /etc/swift/object-server.conf:
swift-object-auditor
$ swift-object-auditor
Usage: swift-object-auditor CONFIG [options]
Error: missing config path argument
swift-object-auditor /etc/swift/object-server.conf
$ swift-object-auditor /etc/swift/object-server.conf
Unable to find object-auditor config section in /etc/swift/object-server.conf
swift-init has adopted the convention of looking for /etc/swift/{type}-server.conf.d/ if the file /etc/swift/{type}-server.conf file does not exist.
[swift-hash] section of the /etc/swift/swift.conf file. The swift_hash_path_suffix and swift_hash_path_prefix values must be identical on all the nodes.
| Configuration option = Default value | Description |
|---|---|
swift_hash_path_prefix = changeme
|
A prefix used by hash_path to offer a bit more security when generating hashes for paths. It simply appends this value to all paths; if someone knows this suffix, it's easier for them to guess the hash a path will end up with. New installations are advised to set this parameter to a random secret, which would not be disclosed ouside the organization. The same secret needs to be used by all swift servers of the same cluster. Existing installations should set this parameter to an empty string. |
swift_hash_path_suffix = changeme
|
A suffix used by hash_path to offer a bit more security when generating hashes for paths. It simply appends this value to all paths; if someone knows this suffix, it's easier for them to guess the hash a path will end up with. New installations are advised to set this parameter to a random secret, which would not be disclosed ouside the organization. The same secret needs to be used by all swift servers of the same cluster. Existing installations should set this parameter to an empty string. |
10.3. Object server configuration Copier lienLien copié sur presse-papiers!
etc/object-server.conf-sample in the source code repository.
| Configuration option = Default value | Description |
|---|---|
backlog = 4096
|
Maximum number of allowed pending TCP connections |
bind_ip = 0.0.0.0
|
IP Address for server to bind to |
bind_port = 6000
|
Port for server to bind to |
bind_timeout = 30
|
Seconds to attempt bind before giving up |
client_timeout = 60
|
Timeout to read one chunk from a client external services |
conn_timeout = 0.5
|
Connection timeout to external services |
container_update_timeout = 1.0
|
Time to wait while sending a container update on object update. object server. For most cases, this should be |
devices = /srv/node
|
Parent directory of where devices are mounted |
disable_fallocate = false
|
Disable "fast fail" fallocate checks if the underlying filesystem does not support it. |
disk_chunk_size = 65536
|
Size of chunks to read/write to disk |
eventlet_debug = false
|
If true, turn on debug logging for eventlet |
expiring_objects_account_name = expiring_objects
|
Account name for the expiring objects |
expiring_objects_container_divisor = 86400
|
Divisor for the expiring objects container |
fallocate_reserve = 0
|
You can set fallocate_reserve to the number of bytes you'd like fallocate to reserve, whether there is space for the given file size or not. This is useful for systems that behave badly when they completely run out of space; you can make the services pretend they're out of space early. server. For most cases, this should be |
log_address = /dev/log
|
Location where syslog sends the logs to |
log_custom_handlers =
|
Comma-separated list of functions to call to setup custom log handlers. |
log_facility = LOG_LOCAL0
|
Syslog log facility |
log_level = INFO
|
Logging level |
log_max_line_length = 0
|
Caps the length of log lines to the value given; no limit if set to 0, the default. |
log_name = swift
|
Label used when logging |
log_statsd_default_sample_rate = 1.0
|
Defines the probability of sending a sample for any given event or timing measurement. |
log_statsd_host = localhost
|
If not set, the StatsD feature is disabled. |
log_statsd_metric_prefix =
|
Value will be prepended to every metric sent to the StatsD server. |
log_statsd_port = 8125
|
Port value for the StatsD server. |
log_statsd_sample_rate_factor = 1.0
|
Not recommended to set this to a value less than 1.0, if frequency of logging is too high, tune the log_statsd_default_sample_rate instead. |
log_udp_host =
|
If not set, the UDP receiver for syslog is disabled. |
log_udp_port = 514
|
Port value for UDP receiver, if enabled. |
max_clients = 1024
|
Maximum number of clients one worker can process simultaneously Lowering the number of clients handled per worker, and raising the number of workers can lessen the impact that a CPU intensive, or blocking, request can have on other requests served by the same worker. If the maximum number of clients is set to one, then a given worker will not perform another call while processing, allowing other workers a chance to process it. |
mount_check = true
|
Whether or not check if the devices are mounted to prevent accidentally writing to the root device |
network_chunk_size = 65536
|
Size of chunks to read/write over the network |
node_timeout = 3
|
Request timeout to external services |
servers_per_port = 0
|
If each disk in each storage policy ring has unique port numbers for its "ip" value, you can use this setting to have each object-server worker only service requests for the single disk matching the port in the ring. The value of this setting determines how many worker processes run for each port (disk) in the |
swift_dir = /etc/swift
|
Swift configuration directory |
user = swift
|
User to run as |
workers = auto
|
a much higher value, one can reduce the impact of slow file system operations in one request from negatively impacting other requests. |
| Configuration option = Default value | Description |
|---|---|
allowed_headers = ``Content-Disposition, Content-Encoding, X-Delete-At, X-Object-Manifest, X-Static-Large-Object``
|
Comma-separated list of headers that can be set in metadata of an object |
auto_create_account_prefix = .
|
Prefix to use when automatically creating accounts |
keep_cache_private = false
|
Allow non-public objects to stay in kernel's buffer cache |
keep_cache_size = 5242880
|
Largest object size to keep in buffer cache |
max_upload_time = 86400
|
Maximum time allowed to upload an object |
mb_per_sync = 512
|
On PUT requests, sync file every n MB |
replication_concurrency = 4
|
Set to restrict the number of concurrent incoming REPLICATION requests; set to 0 for unlimited |
replication_failure_ratio = 1.0
|
If the value of failures / successes of REPLICATION subrequests exceeds this ratio, the overall REPLICATION request will be aborted |
replication_failure_threshold = 100
|
The number of subrequest failures before the replication_failure_ratio is checked |
replication_lock_timeout = 15
|
Number of seconds to wait for an existing replication device lock before giving up. |
replication_one_per_device = True
|
Restricts incoming REPLICATION requests to one per device, replication_currency above allowing. This can help control I/O to each device, but you may wish to set this to False to allow multiple REPLICATION requests (up to the above replication_concurrency setting) per device. |
replication_server = false
|
If defined, tells server how to handle replication verbs in requests. When set to True (or 1), only replication verbs will be accepted. When set to False, replication verbs will be rejected. When undefined, server will accept any verb in the request. |
set log_address = /dev/log
|
Location where syslog sends the logs to |
set log_facility = LOG_LOCAL0
|
Syslog log facility |
set log_level = INFO
|
Log level |
set log_name = object-server
|
Label to use when logging |
set log_requests = true
|
Whether or not to log requests |
slow = 0
|
If > 0, Minimum time in seconds for a PUT or DELETE request to complete |
splice = no
|
Use splice() for zero-copy object GETs. This requires Linux kernel version 3.0 or greater. When you set "splice = yes" but the kernel does not support it, error messages will appear in the object server logs at startup, but your object servers should continue to function. |
threads_per_disk = 0
|
Size of the per-disk thread pool used for performing disk I/O. The default of 0 means to not use a per-disk thread pool. It is recommended to keep this value small, as large values can result in high read latencies due to large queue depths. A good starting point is 4 threads per disk. |
use = egg:swift#object
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
pipeline = healthcheck recon object-server
|
Pipeline to use for processing operations. |
| Configuration option = Default value | Description |
|---|---|
concurrency = 1
|
Number of replication workers to spawn |
daemonize = on
|
Whether or not to run replication as a daemon |
handoff_delete = auto
|
By default handoff partitions will be removed when it has successfully replicated to all the canonical nodes. If set to an integer n, it will remove the partition if it is successfully replicated to n nodes. The default setting should not be changed, except for extremem situations. This uses what's set here, or what's set in the DEFAULT section, or 10 (though other sections use 3 as the final default). |
handoffs_first = False
|
If set to True, partitions that are not supposed to be on the node will be replicated first. The default setting should not be changed, except for extreme situations. |
http_timeout = 60
|
Maximum duration for an HTTP request |
interval = 30
|
Minimum time for a pass to take |
lockup_timeout = 1800
|
Attempts to kill all workers if nothing replications for lockup_timeout seconds |
log_address = /dev/log
|
Location where syslog sends the logs to |
log_facility = LOG_LOCAL0
|
Syslog log facility |
log_level = INFO
|
Logging level |
log_name = object-replicator
|
Label used when logging |
node_timeout = ``<whatever's in the DEFAULT section or 10>``
|
Request timeout to external services |
reclaim_age = 604800
|
Time elapsed in seconds before an object can be reclaimed |
recon_cache_path = /var/cache/swift
|
Directory where stats for a few items will be stored |
ring_check_interval = 15
|
How often (in seconds) to check the ring |
rsync_bwlimit = 0
|
bandwidth limit for rsync in kB/s. 0 means unlimited |
rsync_compress = no
|
Allows rsync to compress data which is transmitted to the destination node during sync. However, this applies only when the destination node is in a different region than the local one. .. note:: Objects that are already compressed (for example: .tar.gz, .mp3) might slow down the syncing process. |
rsync_error_log_line_length = 0
|
Limits the length of the rsync error log lines. 0 will log the entire line. |
rsync_io_timeout = 30
|
Passed to rsync for a max duration (seconds) of an I/O op |
rsync_module = ``{replication_ip}::object``
|
Format of the rsync module where the replicator will send data. The configuration value can include some variables that will be extracted from the ring. Variables must follow the format {NAME} where NAME is one of: ip, port, replication_ip, replication_port, region, zone, device, meta. See etc/rsyncd.conf-sample for some examples. uses what's set here, or what's set in the DEFAULT section, or 10 (though other sections use 3 as the final default). |
rsync_timeout = 900
|
Max duration (seconds) of a partition rsync |
run_pause = 30
|
Time in seconds to wait between replication passes |
stats_interval = 300
|
Interval in seconds between logging replication statistics |
sync_method = rsync
|
default is rsync, alternative is ssync |
| Configuration option = Default value | Description |
|---|---|
concurrency = 1
|
Number of replication workers to spawn |
interval = 300
|
Minimum time for a pass to take |
log_address = /dev/log
|
Location where syslog sends the logs to |
log_facility = LOG_LOCAL0
|
Syslog log facility |
log_level = INFO
|
Logging level |
log_name = object-updater
|
Label used when logging |
node_timeout = ``<whatever's in the DEFAULT section or 10>``
|
Request timeout to external services |
recon_cache_path = /var/cache/swift
|
Directory where stats for a few items will be stored |
slowdown = 0.01
|
Time in seconds to wait between objects |
| Configuration option = Default value | Description |
|---|---|
bytes_per_second = 10000000
|
Maximum bytes audited per second. Should be tuned according to individual system specs. 0 is unlimited. mounted to prevent accidentally writing to the root device process simultaneously (it will actually accept(2) N + 1). Setting this to one (1) will only handle one request at a time, without accepting another request concurrently. By increasing the number of workers to a much higher value, one can reduce the impact of slow file system operations in one request from negatively impacting other requests. underlying filesystem does not support it. to setup custom log handlers. bytes you'd like fallocate to reserve, whether there is space for the given file size or not. This is useful for systems that behave badly when they completely run out of space; you can make the services pretend they're out of space early. container server. For most cases, this should be |
concurrency = 1
|
Number of replication workers to spawn |
disk_chunk_size = 65536
|
Size of chunks to read/write to disk |
files_per_second = 20
|
Maximum files audited per second. Should be tuned according to individual system specs. 0 is unlimited. |
log_address = /dev/log
|
Location where syslog sends the logs to |
log_facility = LOG_LOCAL0
|
Syslog log facility |
log_level = INFO
|
Logging level |
log_name = object-auditor
|
Label used when logging |
log_time = 3600
|
Frequency of status logs in seconds. |
object_size_stats =
|
Takes a comma-separated list of ints. When set, the object auditor will increment a counter for every object whose size is greater or equal to the given breaking points and reports the result after a full scan. |
recon_cache_path = /var/cache/swift
|
Directory where stats for a few items will be stored |
zero_byte_files_per_second = 50
|
Maximum zero byte files audited per second. |
| Configuration option = Default value | Description |
|---|---|
disable_path =
|
An optional filesystem path, which if present, will cause the healthcheck URL to return "503 Service Unavailable" with a body of "DISABLED BY FILE" |
use = egg:swift#healthcheck
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
recon_cache_path = /var/cache/swift
|
Directory where stats for a few items will be stored |
recon_lock_path = /var/lock
|
Directory where lock files will be stored |
use = egg:swift#recon
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
dump_interval = 5.0
|
the profile data will be dumped to local disk based on above naming rule in this interval (seconds). |
dump_timestamp = false
|
Be careful, this option will enable the profiler to dump data into the file with a time stamp which means that there will be lots of files piled up in the directory. |
flush_at_shutdown = false
|
Clears the data when the wsgi server shutdowns. |
log_filename_prefix = /tmp/log/swift/profile/default.profile
|
This prefix is used to combine the process ID and timestamp to name the profile data file. Make sure the executing user has permission to write into this path. Any missing path segments will be created, if necessary. When you enable profiling in more than one type of daemon, you must override it with a unique value like: /var/log/swift/profile/object.profile |
path = /__profile__
|
This is the path of the URL to access the mini web UI. |
profile_module = eventlet.green.profile
|
This option enables you to switch profilers which inherit from the Python standard profiler. Currently, the supported value can be 'cProfile', 'eventlet.green.profile', etc. |
unwind = false
|
unwind the iterator of applications |
use = egg:swift#xprofile
|
Entry point of paste.deploy in the server |
10.3.1. Sample object server configuration file Copier lienLien copié sur presse-papiers!
10.4. Object expirer configuration Copier lienLien copié sur presse-papiers!
etc/object-expirer.conf-sample in the source code repository.
| Configuration option = Default value | Description |
|---|---|
log_address = /dev/log
|
Location where syslog sends the logs to |
log_custom_handlers =
|
Comma-separated list of functions to call to setup custom log handlers. |
log_facility = LOG_LOCAL0
|
Syslog log facility |
log_level = INFO
|
Logging level |
log_max_line_length = 0
|
Caps the length of log lines to the value given; no limit if set to 0, the default. |
log_name = swift
|
Label used when logging |
log_statsd_default_sample_rate = 1.0
|
Defines the probability of sending a sample for any given event or timing measurement. |
log_statsd_host = localhost
|
If not set, the StatsD feature is disabled. |
log_statsd_metric_prefix =
|
Value will be prepended to every metric sent to the StatsD server. |
log_statsd_port = 8125
|
Port value for the StatsD server. |
log_statsd_sample_rate_factor = 1.0
|
Not recommended to set this to a value less than 1.0, if frequency of logging is too high, tune the log_statsd_default_sample_rate instead. |
log_udp_host =
|
If not set, the UDP receiver for syslog is disabled. |
log_udp_port = 514
|
Port value for UDP receiver, if enabled. |
swift_dir = /etc/swift
|
Swift configuration directory |
user = swift
|
User to run as |
| Configuration option = Default value | Description |
|---|---|
use = egg:swift#proxy
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
use = egg:swift#memcache
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
use = egg:swift#catch_errors
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
access_log_address = /dev/log
|
Location where syslog sends the logs to. If not set, logging directives from [DEFAULT] without "access\_" will be used. |
access_log_facility = LOG_LOCAL0
|
Syslog facility to receive log lines. If not set, logging directives from [DEFAULT] without "access\_" will be used. |
access_log_headers = false
|
Header to receive log lines. If not set, logging directives from [DEFAULT] without "access\_" will be used. |
access_log_headers_only =
|
If access_log_headers is True and access_log_headers_only is set only these headers are logged. Multiple headers can be defined as comma separated list like this: access_log_headers_only = Host, X-Object-Meta-Mtime |
access_log_level = INFO
|
Syslog logging level to receive log lines. If not set, logging directives from [DEFAULT] without "access\_" will be used. |
access_log_name = swift
|
Label used when logging. If not set, logging directives from [DEFAULT] without "access\_" will be used. |
access_log_statsd_default_sample_rate = 1.0
|
Defines the probability of sending a sample for any given event or timing measurement. If not set, logging directives from [DEFAULT] without "access\_" will be used. |
access_log_statsd_host = localhost
|
You can use log_statsd_* from [DEFAULT], or override them here. StatsD server. IPv4/IPv6 addresses and hostnames are supported. If a hostname resolves to an IPv4 and IPv6 address, the IPv4 address will be used. |
access_log_statsd_metric_prefix =
|
Value will be prepended to every metric sent to the StatsD server. If not set, logging directives from [DEFAULT] without "access\_" will be used. |
access_log_statsd_port = 8125
|
Port value for the StatsD server. If not set, logging directives from [DEFAULT] without "access\_" will be used. |
access_log_statsd_sample_rate_factor = 1.0
|
Not recommended to set this to a value less than 1.0, if frequency of logging is too high, tune the log_statsd_default_sample_rate instead. If not set, logging directives from [DEFAULT] without "access\_" will be used. |
access_log_udp_host =
|
If not set, the UDP receiver for syslog is disabled. If not set, logging directives from [DEFAULT] without "access\_" will be used. |
access_log_udp_port = 514
|
Port value for UDP receiver, if enabled. If not set, logging directives from [DEFAULT] without "access\_" will be used. |
log_statsd_valid_http_methods = GET,HEAD,POST,PUT,DELETE,COPY,OPTIONS
|
What HTTP methods are allowed for StatsD logging (comma-sep). request methods not in this list will have "BAD_METHOD" for the <verb> portion of the metric. |
reveal_sensitive_prefix = 16
|
By default, the X-Auth-Token is logged. To obscure the value, set reveal_sensitive_prefix to the number of characters to log. For example, if set to 12, only the first 12 characters of the token appear in the log. An unauthorized access of the log file won't allow unauthorized usage of the token. However, the first 12 or so characters is unique enough that you can trace/debug token usage. Set to 0 to suppress the token completely (replaced by '...' in the log). .. note:: reveal_sensitive_prefix will not affect the value logged with access_log_headers=True. |
use = egg:swift#proxy_logging
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
auto_create_account_prefix = .
|
Prefix to use when automatically creating accounts |
concurrency = 1
|
Number of replication workers to spawn |
expiring_objects_account_name = expiring_objects
|
Account name for expiring objects. |
interval = 300
|
Minimum time for a pass to take |
process = 0
|
(it will actually accept(2) N + 1). Setting this to one (1) will only handle one request at a time, without accepting another request concurrently. |
processes = 0
|
for each port (disk) in the ring. If you have 24 disks per server, and this setting is 4, then each storage node will have 1 + (24 * 4) = 97 total object-server processes running. This gives complete I/O isolation, drastically reducing the impact of slow disks on storage node performance. The object-replicator and object-reconstructor need to see this setting too, so it must be in the [DEFAULT] section. |
reclaim_age = 604800
|
Time elapsed in seconds before an object can be reclaimed |
recon_cache_path = /var/cache/swift
|
Directory where stats for a few items will be stored |
report_interval = 300
|
Interval in seconds between reports. |
| Configuration option = Default value | Description |
|---|---|
pipeline = catch_errors proxy-logging cache proxy-server
|
Pipeline to use for processing operations. |
10.4.1. Sample object expirer configuration file Copier lienLien copié sur presse-papiers!
10.5. Container server configuration Copier lienLien copié sur presse-papiers!
etc/container-server.conf-sample in the source code repository.
| Configuration option = Default value | Description |
|---|---|
allowed_sync_hosts = 127.0.0.1
|
The list of hosts that are allowed to send syncs to. |
backlog = 4096
|
Maximum number of allowed pending TCP connections |
bind_ip = 0.0.0.0
|
IP Address for server to bind to |
bind_port = 6001
|
Port for server to bind to |
bind_timeout = 30
|
Seconds to attempt bind before giving up |
db_preallocation = off
|
If you don't mind the extra disk space usage in overhead, you can turn this on to preallocate disk space with SQLite databases to decrease fragmentation. underlying filesystem does not support it. to setup custom log handlers. bytes you'd like fallocate to reserve, whether there is space for the given file size or not. This is useful for systems that behave badly when they completely run out of space; you can make the services pretend they're out of space early. server. For most cases, this should be |
devices = /srv/node
|
Parent directory of where devices are mounted |
disable_fallocate = false
|
Disable "fast fail" fallocate checks if the underlying filesystem does not support it. |
eventlet_debug = false
|
If true, turn on debug logging for eventlet |
fallocate_reserve = 0
|
You can set fallocate_reserve to the number of bytes you'd like fallocate to reserve, whether there is space for the given file size or not. This is useful for systems that behave badly when they completely run out of space; you can make the services pretend they're out of space early. server. For most cases, this should be |
log_address = /dev/log
|
Location where syslog sends the logs to |
log_custom_handlers =
|
Comma-separated list of functions to call to setup custom log handlers. |
log_facility = LOG_LOCAL0
|
Syslog log facility |
log_level = INFO
|
Logging level |
log_max_line_length = 0
|
Caps the length of log lines to the value given; no limit if set to 0, the default. |
log_name = swift
|
Label used when logging |
log_statsd_default_sample_rate = 1.0
|
Defines the probability of sending a sample for any given event or timing measurement. |
log_statsd_host = localhost
|
If not set, the StatsD feature is disabled. |
log_statsd_metric_prefix =
|
Value will be prepended to every metric sent to the StatsD server. |
log_statsd_port = 8125
|
Port value for the StatsD server. |
log_statsd_sample_rate_factor = 1.0
|
Not recommended to set this to a value less than 1.0, if frequency of logging is too high, tune the log_statsd_default_sample_rate instead. |
log_udp_host =
|
If not set, the UDP receiver for syslog is disabled. |
log_udp_port = 514
|
Port value for UDP receiver, if enabled. |
max_clients = 1024
|
Maximum number of clients one worker can process simultaneously Lowering the number of clients handled per worker, and raising the number of workers can lessen the impact that a CPU intensive, or blocking, request can have on other requests served by the same worker. If the maximum number of clients is set to one, then a given worker will not perform another call while processing, allowing other workers a chance to process it. |
mount_check = true
|
Whether or not check if the devices are mounted to prevent accidentally writing to the root device |
swift_dir = /etc/swift
|
Swift configuration directory |
user = swift
|
User to run as |
workers = auto
|
a much higher value, one can reduce the impact of slow file system operations in one request from negatively impacting other requests. |
| Configuration option = Default value | Description |
|---|---|
allow_versions = false
|
Enable/Disable object versioning feature |
auto_create_account_prefix = .
|
Prefix to use when automatically creating accounts |
conn_timeout = 0.5
|
Connection timeout to external services |
node_timeout = 3
|
Request timeout to external services |
replication_server = false
|
If defined, tells server how to handle replication verbs in requests. When set to True (or 1), only replication verbs will be accepted. When set to False, replication verbs will be rejected. When undefined, server will accept any verb in the request. |
set log_address = /dev/log
|
Location where syslog sends the logs to |
set log_facility = LOG_LOCAL0
|
Syslog log facility |
set log_level = INFO
|
Log level |
set log_name = container-server
|
Label to use when logging |
set log_requests = true
|
Whether or not to log requests |
use = egg:swift#container
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
pipeline = healthcheck recon container-server
|
Pipeline to use for processing operations. |
| Configuration option = Default value | Description |
|---|---|
concurrency = 8
|
Number of replication workers to spawn |
conn_timeout = 0.5
|
Connection timeout to external services |
interval = 30
|
Minimum time for a pass to take |
log_address = /dev/log
|
Location where syslog sends the logs to |
log_facility = LOG_LOCAL0
|
Syslog log facility |
log_level = INFO
|
Logging level |
log_name = container-replicator
|
Label used when logging |
max_diffs = 100
|
Caps how long the replicator spends trying to sync a database per pass |
node_timeout = 10
|
Request timeout to external services |
per_diff = 1000
|
Limit number of items to get per diff |
reclaim_age = 604800
|
Time elapsed in seconds before an object can be reclaimed |
recon_cache_path = /var/cache/swift
|
Directory where stats for a few items will be stored |
rsync_compress = no
|
Allow rsync to compress data which is transmitted to destination node during sync. However, this is applicable only when destination node is in a different region than the local one. |
rsync_module = ``{replication_ip}::container``
|
Format of the rsync module where the replicator will send data. The configuration value can include some variables that will be extracted from the ring. Variables must follow the format {NAME} where NAME is one of: ip, port, replication_ip, replication_port, region, zone, device, meta. See etc/rsyncd.conf-sample for some examples. uses what's set here, or what's set in the DEFAULT section, or 10 (though other sections use 3 as the final default). |
run_pause = 30
|
Time in seconds to wait between replication passes |
| Configuration option = Default value | Description |
|---|---|
account_suppression_time = 60
|
Seconds to suppress updating an account that has generated an error (timeout, not yet found, etc.) |
concurrency = 4
|
Number of replication workers to spawn |
conn_timeout = 0.5
|
Connection timeout to external services |
interval = 300
|
Minimum time for a pass to take |
log_address = /dev/log
|
Location where syslog sends the logs to |
log_facility = LOG_LOCAL0
|
Syslog log facility |
log_level = INFO
|
Logging level |
log_name = container-updater
|
Label used when logging |
node_timeout = 3
|
Request timeout to external services |
recon_cache_path = /var/cache/swift
|
Directory where stats for a few items will be stored |
slowdown = 0.01
|
Time in seconds to wait between objects |
| Configuration option = Default value | Description |
|---|---|
containers_per_second = 200
|
Maximum containers audited per second. Should be tuned according to individual system specs. 0 is unlimited. mounted to prevent accidentally writing to the root device process simultaneously (it will actually accept(2) N + 1). Setting this to one (1) will only handle one request at a time, without accepting another request concurrently. By increasing the number of workers to a much higher value, one can reduce the impact of slow file system operations in one request from negatively impacting other requests. |
interval = 1800
|
Minimum time for a pass to take |
log_address = /dev/log
|
Location where syslog sends the logs to |
log_facility = LOG_LOCAL0
|
Syslog log facility |
log_level = INFO
|
Logging level |
log_name = container-auditor
|
Label used when logging |
recon_cache_path = /var/cache/swift
|
Directory where stats for a few items will be stored |
| Configuration option = Default value | Description |
|---|---|
conn_timeout = 5
|
Connection timeout to external services |
container_time = 60
|
Maximum amount of time to spend syncing each container |
internal_client_conf_path = /etc/swift/internal-client.conf
|
Internal client config file path |
interval = 300
|
Minimum time for a pass to take |
log_address = /dev/log
|
Location where syslog sends the logs to |
log_facility = LOG_LOCAL0
|
Syslog log facility |
log_level = INFO
|
Logging level |
log_name = container-sync
|
Label used when logging |
request_tries = 3
|
Server errors from requests will be retried by default |
sync_proxy = http://10.1.1.1:8888,http://10.1.1.2:8888
|
If you need to use an HTTP proxy, set it here. Defaults to no proxy. |
| Configuration option = Default value | Description |
|---|---|
disable_path =
|
An optional filesystem path, which if present, will cause the healthcheck URL to return "503 Service Unavailable" with a body of "DISABLED BY FILE" |
use = egg:swift#healthcheck
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
recon_cache_path = /var/cache/swift
|
Directory where stats for a few items will be stored |
use = egg:swift#recon
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
dump_interval = 5.0
|
the profile data will be dumped to local disk based on above naming rule in this interval (seconds). |
dump_timestamp = false
|
Be careful, this option will enable the profiler to dump data into the file with a time stamp which means that there will be lots of files piled up in the directory. |
flush_at_shutdown = false
|
Clears the data when the wsgi server shutdowns. |
log_filename_prefix = /tmp/log/swift/profile/default.profile
|
This prefix is used to combine the process ID and timestamp to name the profile data file. Make sure the executing user has permission to write into this path. Any missing path segments will be created, if necessary. When you enable profiling in more than one type of daemon, you must override it with a unique value like: /var/log/swift/profile/object.profile |
path = /__profile__
|
This is the path of the URL to access the mini web UI. |
profile_module = eventlet.green.profile
|
This option enables you to switch profilers which inherit from the Python standard profiler. Currently, the supported value can be 'cProfile', 'eventlet.green.profile', etc. |
unwind = false
|
unwind the iterator of applications |
use = egg:swift#xprofile
|
Entry point of paste.deploy in the server |
10.5.1. Sample container server configuration file Copier lienLien copié sur presse-papiers!
10.6. Container sync realms configuration Copier lienLien copié sur presse-papiers!
etc/container-sync-realms.conf-sample in the source code repository.
| Configuration option = Default value | Description |
|---|---|
mtime_check_interval = 300
|
The number of seconds between checking the modified time of this config file for changes and therefore reloading it. |
| Configuration option = Default value | Description |
|---|---|
cluster_clustername1 = https://host1/v1/
|
Any values in the realm section whose names begin with cluster\_ will indicate the name and endpoint of a cluster and will be used by external users in their containers' X-Container-Sync-To metadata header values with the format "realm_name/cluster_name/container_name". Realm and cluster names are considered case insensitive. |
cluster_clustername2 = https://host2/v1/
|
Any values in the realm section whose names begin with cluster\_ will indicate the name and endpoint of a cluster and will be used by external users in their containers' X-Container-Sync-To metadata header values with the format "realm_name/cluster_name/container_name". Realm and cluster names are considered case insensitive. |
key = realm1key
|
The key is the overall cluster-to-cluster key used in combination with the external users' key that they set on their containers' X-Container-Sync-Key metadata header values. These keys will be used to sign each request the container sync daemon makes and used to validate each incoming container sync request. |
key2 = realm1key2
|
The key2 is optional and is an additional key incoming requests will be checked against. This is so you can rotate keys if you wish; you move the existing key to key2 and make a new key value. |
| Configuration option = Default value | Description |
|---|---|
cluster_clustername3 = https://host3/v1/
|
Any values in the realm section whose names begin with cluster\_ will indicate the name and endpoint of a cluster and will be used by external users in their containers' X-Container-Sync-To metadata header values with the format "realm_name/cluster_name/container_name". Realm and cluster names are considered case insensitive. |
cluster_clustername4 = https://host4/v1/
|
Any values in the realm section whose names begin with cluster\_ will indicate the name and endpoint of a cluster and will be used by external users in their containers' X-Container-Sync-To metadata header values with the format "realm_name/cluster_name/container_name". Realm and cluster names are considered case insensitive. |
key = realm2key
|
The key is the overall cluster-to-cluster key used in combination with the external users' key that they set on their containers' X-Container-Sync-Key metadata header values. These keys will be used to sign each request the container sync daemon makes and used to validate each incoming container sync request. |
key2 = realm2key2
|
The key2 is optional and is an additional key incoming requests will be checked against. This is so you can rotate keys if you wish; you move the existing key to key2 and make a new key value. |
10.6.1. Sample container sync realms configuration file Copier lienLien copié sur presse-papiers!
10.7. Container reconciler configuration Copier lienLien copié sur presse-papiers!
etc/container-reconciler.conf-sample in the source code repository.
| Configuration option = Default value | Description |
|---|---|
log_address = /dev/log
|
Location where syslog sends the logs to |
log_custom_handlers =
|
Comma-separated list of functions to call to setup custom log handlers. |
log_facility = LOG_LOCAL0
|
Syslog log facility |
log_level = INFO
|
Logging level |
log_name = swift
|
Label used when logging |
log_statsd_default_sample_rate = 1.0
|
Defines the probability of sending a sample for any given event or timing measurement. |
log_statsd_host = localhost
|
If not set, the StatsD feature is disabled. |
log_statsd_metric_prefix =
|
Value will be prepended to every metric sent to the StatsD server. |
log_statsd_port = 8125
|
Port value for the StatsD server. |
log_statsd_sample_rate_factor = 1.0
|
Not recommended to set this to a value less than 1.0, if frequency of logging is too high, tune the log_statsd_default_sample_rate instead. |
log_udp_host =
|
If not set, the UDP receiver for syslog is disabled. |
log_udp_port = 514
|
Port value for UDP receiver, if enabled. |
swift_dir = /etc/swift
|
Swift configuration directory |
user = swift
|
User to run as |
| Configuration option = Default value | Description |
|---|---|
use = egg:swift#proxy
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
interval = 30
|
Minimum time for a pass to take |
reclaim_age = 604800
|
Time elapsed in seconds before an object can be reclaimed |
request_tries = 3
|
No help text available for this option. |
| Configuration option = Default value | Description |
|---|---|
use = egg:swift#memcache
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
use = egg:swift#catch_errors
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
use = egg:swift#proxy_logging
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
pipeline = catch_errors proxy-logging cache proxy-server
|
No help text available for this option. |
10.7.1. Sample container sync reconciler configuration file Copier lienLien copié sur presse-papiers!
10.8. Account server configuration Copier lienLien copié sur presse-papiers!
etc/account-server.conf-sample in the source code repository.
| Configuration option = Default value | Description |
|---|---|
backlog = 4096
|
Maximum number of allowed pending TCP connections |
bind_ip = 0.0.0.0
|
IP Address for server to bind to |
bind_port = 6002
|
Port for server to bind to |
bind_timeout = 30
|
Seconds to attempt bind before giving up |
db_preallocation = off
|
If you don't mind the extra disk space usage in overhead, you can turn this on to preallocate disk space with SQLite databases to decrease fragmentation. underlying filesystem does not support it. to setup custom log handlers. bytes you'd like fallocate to reserve, whether there is space for the given file size or not. This is useful for systems that behave badly when they completely run out of space; you can make the services pretend they're out of space early. server. For most cases, this should be |
devices = /srv/node
|
Parent directory of where devices are mounted |
disable_fallocate = false
|
Disable "fast fail" fallocate checks if the underlying filesystem does not support it. |
eventlet_debug = false
|
If true, turn on debug logging for eventlet |
fallocate_reserve = 0
|
You can set fallocate_reserve to the number of bytes you'd like fallocate to reserve, whether there is space for the given file size or not. This is useful for systems that behave badly when they completely run out of space; you can make the services pretend they're out of space early. server. For most cases, this should be |
log_address = /dev/log
|
Location where syslog sends the logs to |
log_custom_handlers =
|
Comma-separated list of functions to call to setup custom log handlers. |
log_facility = LOG_LOCAL0
|
Syslog log facility |
log_level = INFO
|
Logging level |
log_max_line_length = 0
|
Caps the length of log lines to the value given; no limit if set to 0, the default. |
log_name = swift
|
Label used when logging |
log_statsd_default_sample_rate = 1.0
|
Defines the probability of sending a sample for any given event or timing measurement. |
log_statsd_host = localhost
|
If not set, the StatsD feature is disabled. |
log_statsd_metric_prefix =
|
Value will be prepended to every metric sent to the StatsD server. |
log_statsd_port = 8125
|
Port value for the StatsD server. |
log_statsd_sample_rate_factor = 1.0
|
Not recommended to set this to a value less than 1.0, if frequency of logging is too high, tune the log_statsd_default_sample_rate instead. |
log_udp_host =
|
If not set, the UDP receiver for syslog is disabled. |
log_udp_port = 514
|
Port value for UDP receiver, if enabled. |
max_clients = 1024
|
Maximum number of clients one worker can process simultaneously Lowering the number of clients handled per worker, and raising the number of workers can lessen the impact that a CPU intensive, or blocking, request can have on other requests served by the same worker. If the maximum number of clients is set to one, then a given worker will not perform another call while processing, allowing other workers a chance to process it. |
mount_check = true
|
Whether or not check if the devices are mounted to prevent accidentally writing to the root device |
swift_dir = /etc/swift
|
Swift configuration directory |
user = swift
|
User to run as |
workers = auto
|
a much higher value, one can reduce the impact of slow file system operations in one request from negatively impacting other requests. |
| Configuration option = Default value | Description |
|---|---|
auto_create_account_prefix = .
|
Prefix to use when automatically creating accounts |
replication_server = false
|
If defined, tells server how to handle replication verbs in requests. When set to True (or 1), only replication verbs will be accepted. When set to False, replication verbs will be rejected. When undefined, server will accept any verb in the request. |
set log_address = /dev/log
|
Location where syslog sends the logs to |
set log_facility = LOG_LOCAL0
|
Syslog log facility |
set log_level = INFO
|
Log level |
set log_name = account-server
|
Label to use when logging |
set log_requests = true
|
Whether or not to log requests |
use = egg:swift#account
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
pipeline = healthcheck recon account-server
|
No help text available for this option. |
| Configuration option = Default value | Description |
|---|---|
concurrency = 8
|
Number of replication workers to spawn |
conn_timeout = 0.5
|
Connection timeout to external services |
interval = 30
|
Minimum time for a pass to take |
log_address = /dev/log
|
Location where syslog sends the logs to |
log_facility = LOG_LOCAL0
|
Syslog log facility |
log_level = INFO
|
Logging level |
log_name = account-replicator
|
Label used when logging |
max_diffs = 100
|
Caps how long the replicator spends trying to sync a database per pass |
node_timeout = 10
|
Request timeout to external services |
per_diff = 1000
|
Limit number of items to get per diff |
reclaim_age = 604800
|
Time elapsed in seconds before an object can be reclaimed |
recon_cache_path = /var/cache/swift
|
Directory where stats for a few items will be stored |
rsync_compress = no
|
No help text available for this option. |
rsync_module = ``{replication_ip}::account``
|
Format of the rsync module where the replicator will send data. The configuration value can include some variables that will be extracted from the ring. Variables must follow the format {NAME} where NAME is one of: ip, port, replication_ip, replication_port, region, zone, device, meta. See etc/rsyncd.conf-sample for some examples. uses what's set here, or what's set in the DEFAULT section, or 10 (though other sections use 3 as the final default). |
run_pause = 30
|
Time in seconds to wait between replication passes |
| Configuration option = Default value | Description |
|---|---|
accounts_per_second = 200
|
Maximum accounts audited per second. Should be tuned according to individual system specs. 0 is unlimited. |
interval = 1800
|
Minimum time for a pass to take |
log_address = /dev/log
|
Location where syslog sends the logs to |
log_facility = LOG_LOCAL0
|
Syslog log facility |
log_level = INFO
|
Logging level |
log_name = account-auditor
|
Label used when logging |
recon_cache_path = /var/cache/swift
|
Directory where stats for a few items will be stored |
| Configuration option = Default value | Description |
|---|---|
concurrency = 25
|
Number of replication workers to spawn |
conn_timeout = 0.5
|
Connection timeout to external services |
delay_reaping = 0
|
Normally, the reaper begins deleting account information for deleted accounts immediately; you can set this to delay its work however. The value is in seconds, 2592000 = 30 days, for example. bind to giving up worker can process simultaneously (it will actually accept(2) N + 1). Setting this to one (1) will only handle one request at a time, without accepting another request concurrently. By increasing the number of workers to a much higher value, one can reduce the impact of slow file system operations in one request from negatively impacting other requests. |
interval = 3600
|
Minimum time for a pass to take |
log_address = /dev/log
|
Location where syslog sends the logs to |
log_facility = LOG_LOCAL0
|
Syslog log facility |
log_level = INFO
|
Logging level |
log_name = account-reaper
|
Label used when logging |
node_timeout = 10
|
Request timeout to external services |
reap_warn_after = 2592000
|
No help text available for this option. |
| Configuration option = Default value | Description |
|---|---|
disable_path =
|
No help text available for this option. |
use = egg:swift#healthcheck
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
recon_cache_path = /var/cache/swift
|
Directory where stats for a few items will be stored |
use = egg:swift#recon
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
dump_interval = 5.0
|
No help text available for this option. |
dump_timestamp = false
|
No help text available for this option. |
flush_at_shutdown = false
|
No help text available for this option. |
log_filename_prefix = /tmp/log/swift/profile/default.profile
|
No help text available for this option. |
path = /__profile__
|
No help text available for this option. |
profile_module = eventlet.green.profile
|
No help text available for this option. |
unwind = false
|
No help text available for this option. |
use = egg:swift#xprofile
|
Entry point of paste.deploy in the server |
10.8.1. Sample account server configuration file Copier lienLien copié sur presse-papiers!
10.9. Proxy server configuration Copier lienLien copié sur presse-papiers!
etc/proxy-server.conf-sample in the source code repository.
| Configuration option = Default value | Description |
|---|---|
admin_key = secret_admin_key
|
to use for admin calls that are HMAC signed. Default is empty, which will disable admin calls to /info. the proxy server. For most cases, this should be |
backlog = 4096
|
Maximum number of allowed pending TCP connections |
bind_ip = 0.0.0.0
|
IP Address for server to bind to |
bind_port = 8080
|
Port for server to bind to |
bind_timeout = 30
|
Seconds to attempt bind before giving up |
cert_file = /etc/swift/proxy.crt
|
to the ssl .crt. This should be enabled for testing purposes only. |
client_timeout = 60
|
Timeout to read one chunk from a client external services |
cors_allow_origin =
|
is a list of hosts that are included with any CORS request by default and returned with the Access-Control-Allow-Origin header in addition to what the container has set. to call to setup custom log handlers. for eventlet the proxy server. For most cases, this should be |
disallowed_sections = swift.valid_api_versions, container_quotas, tempurl
|
No help text available for this option. |
eventlet_debug = false
|
If true, turn on debug logging for eventlet |
expiring_objects_account_name = expiring_objects
|
No help text available for this option. |
expiring_objects_container_divisor = 86400
|
No help text available for this option. |
expose_info = true
|
Enables exposing configuration settings via HTTP GET /info. |
key_file = /etc/swift/proxy.key
|
to the ssl .key. This should be enabled for testing purposes only. |
log_address = /dev/log
|
Location where syslog sends the logs to |
log_custom_handlers =
|
Comma-separated list of functions to call to setup custom log handlers. |
log_facility = LOG_LOCAL0
|
Syslog log facility |
log_headers = false
|
No help text available for this option. |
log_level = INFO
|
Logging level |
log_max_line_length = 0
|
Caps the length of log lines to the value given; no limit if set to 0, the default. |
log_name = swift
|
Label used when logging |
log_statsd_default_sample_rate = 1.0
|
Defines the probability of sending a sample for any given event or timing measurement. |
log_statsd_host = localhost
|
If not set, the StatsD feature is disabled. |
log_statsd_metric_prefix =
|
Value will be prepended to every metric sent to the StatsD server. |
log_statsd_port = 8125
|
Port value for the StatsD server. |
log_statsd_sample_rate_factor = 1.0
|
Not recommended to set this to a value less than 1.0, if frequency of logging is too high, tune the log_statsd_default_sample_rate instead. |
log_udp_host =
|
If not set, the UDP receiver for syslog is disabled. |
log_udp_port = 514
|
Port value for UDP receiver, if enabled. |
max_clients = 1024
|
Maximum number of clients one worker can process simultaneously Lowering the number of clients handled per worker, and raising the number of workers can lessen the impact that a CPU intensive, or blocking, request can have on other requests served by the same worker. If the maximum number of clients is set to one, then a given worker will not perform another call while processing, allowing other workers a chance to process it. |
strict_cors_mode = True
|
No help text available for this option. |
swift_dir = /etc/swift
|
Swift configuration directory |
trans_id_suffix =
|
No help text available for this option. |
user = swift
|
User to run as |
workers = auto
|
a much higher value, one can reduce the impact of slow file system operations in one request from negatively impacting other requests. |
| Configuration option = Default value | Description |
|---|---|
account_autocreate = false
|
If set to 'true' authorized accounts that do not yet exist within the Swift cluster will be automatically created. |
allow_account_management = false
|
Whether account PUTs and DELETEs are even callable |
auto_create_account_prefix = .
|
Prefix to use when automatically creating accounts |
client_chunk_size = 65536
|
Chunk size to read from clients |
conn_timeout = 0.5
|
Connection timeout to external services |
deny_host_headers =
|
No help text available for this option. |
error_suppression_interval = 60
|
Time in seconds that must elapse since the last error for a node to be considered no longer error limited |
error_suppression_limit = 10
|
Error count to consider a node error limited |
log_handoffs = true
|
No help text available for this option. |
max_containers_per_account = 0
|
If set to a positive value, trying to create a container when the account already has at least this maximum containers will result in a 403 Forbidden. Note: This is a soft limit, meaning a user might exceed the cap for recheck_account_existence before the 403s kick in. |
max_containers_whitelist =
|
is a comma separated list of account names that ignore the max_containers_per_account cap. |
max_large_object_get_time = 86400
|
No help text available for this option. |
node_timeout = 10
|
Request timeout to external services |
object_chunk_size = 65536
|
Chunk size to read from object servers |
object_post_as_copy = true
|
Set object_post_as_copy = false to turn on fast posts where only the metadata changes are stored anew and the original data file is kept in place. This makes for quicker posts; but since the container metadata isn't updated in this mode, features like container sync won't be able to sync posts. |
post_quorum_timeout = 0.5
|
No help text available for this option. |
put_queue_depth = 10
|
No help text available for this option. |
read_affinity = ``r1z1=100, r1z2=200, r2=300``
|
No help text available for this option. |
recheck_account_existence = 60
|
Cache timeout in seconds to send memcached for account existence |
recheck_container_existence = 60
|
Cache timeout in seconds to send memcached for container existence |
recoverable_node_timeout = node_timeout
|
Request timeout to external services for requests that, on failure, can be recovered from. For example, object GET. from a client external services |
request_node_count = 2 * replicas
|
replicas Set to the number of nodes to contact for a normal request. You can use '* replicas' at the end to have it use the number given times the number of replicas for the ring being used for the request. conf file for values will only be shown to the list of swift_owners. The exact default definition of a swift_owner is headers> up to the auth system in use, but usually indicates administrative responsibilities. paste.deploy to use for auth. To use tempauth set to: |
set log_address = /dev/log
|
Location where syslog sends the logs to |
set log_facility = LOG_LOCAL0
|
Syslog log facility |
set log_level = INFO
|
Log level |
set log_name = proxy-server
|
Label to use when logging |
sorting_method = shuffle
|
No help text available for this option. |
swift_owner_headers = ``x-container-read, x-container-write, x-container-sync-key, x-container-sync-to, x-account-meta-temp-url-key, x-account-meta-temp-url-key-2, x-container-meta-temp-url-key, x-container-meta-temp-url-key-2, x-account-access-control``
|
These are the headers whose conf file for values will only be shown to the list of swift_owners. The exact default definition of a swift_owner is headers> up to the auth system in use, but usually indicates administrative responsibilities. paste.deploy to use for auth. To use tempauth set to: |
timing_expiry = 300
|
No help text available for this option. |
use = egg:swift#proxy
|
Entry point of paste.deploy in the server |
write_affinity = r1, r2
|
This setting lets you trade data distribution for throughput. It makes the proxy server prefer local back-end servers for object PUT requests over non-local ones. Note that only object PUT requests are affected by the write_affinity setting; POST, GET, HEAD, DELETE, OPTIONS, and account/container PUT requests are not affected. The format is r<N> for region N or r<N>z<M> for region N, zone M. If this is set, then when handling an object PUT request, some number (see the write_affinity_node_count setting) of local backend servers will be tried before any nonlocal ones. Example: try to write to regions 1 and 2 before writing to any other nodes: write_affinity = r1, r2 |
write_affinity_node_count = 2 * replicas
|
This setting is only useful in conjunction with write_affinity; it governs how many local object servers will be tried before falling back to non-local ones. You can use '* replicas' at the end to have it use the number given times the number of replicas for the ring being used for the request: write_affinity_node_count = 2 * replicas |
| Configuration option = Default value | Description |
|---|---|
pipeline = catch_errors gatekeeper healthcheck proxy-logging cache container_sync bulk tempurl ratelimit tempauth container-quotas account-quotas slo dlo versioned_writes proxy-logging proxy-server
|
No help text available for this option. |
| Configuration option = Default value | Description |
|---|---|
use = egg:swift#account_quotas
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
admin_password = password
|
No help text available for this option. |
admin_tenant_name = service
|
No help text available for this option. |
admin_user = swift
|
No help text available for this option. |
auth_uri = http://keystonehost:5000/
|
No help text available for this option. |
cache = swift.cache
|
No help text available for this option. |
delay_auth_decision = False
|
No help text available for this option. |
identity_uri = http://keystonehost:35357/
|
No help text available for this option. |
include_service_catalog = False
|
No help text available for this option. |
| Configuration option = Default value | Description |
|---|---|
memcache_max_connections = 2
|
Max number of connections to each memcached server per worker services |
memcache_serialization_support = 2
|
Sets how memcache values are serialized and deserialized |
memcache_servers = 127.0.0.1:11211
|
Comma-separated list of memcached servers ip:port services |
set log_address = /dev/log
|
Location where syslog sends the logs to |
set log_facility = LOG_LOCAL0
|
Syslog log facility |
set log_headers = false
|
If True, log headers in each request |
set log_level = INFO
|
Log level |
set log_name = cache
|
Label to use when logging |
use = egg:swift#memcache
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
set log_address = /dev/log
|
Location where syslog sends the logs to |
set log_facility = LOG_LOCAL0
|
Syslog log facility |
set log_headers = false
|
If True, log headers in each request |
set log_level = INFO
|
Log level |
set log_name = catch_errors
|
Label to use when logging |
use = egg:swift#catch_errors
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
allow_full_urls = true
|
No help text available for this option. |
current = //REALM/CLUSTER
|
No help text available for this option. |
use = egg:swift#container_sync
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
max_get_time = 86400
|
No help text available for this option. |
rate_limit_after_segment = 10
|
Rate limit the download of large object segments after this segment is downloaded. |
rate_limit_segments_per_sec = 1
|
Rate limit large object downloads at this rate. contact for a normal request. You can use '* replicas' at the end to have it use the number given times the number of replicas for the ring being used for the request. paste.deploy to use for auth. To use tempauth set to: |
use = egg:swift#dlo
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
set log_address = /dev/log
|
Location where syslog sends the logs to |
set log_facility = LOG_LOCAL0
|
Syslog log facility |
set log_headers = false
|
If True, log headers in each request |
set log_level = INFO
|
Log level |
set log_name = gatekeeper
|
Label to use when logging |
use = egg:swift#gatekeeper
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
disable_path =
|
No help text available for this option. |
use = egg:swift#healthcheck
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
allow_names_in_acls = true
|
The backwards compatible behavior can be disabled by setting this option to False. |
allow_overrides = true
|
This option allows middleware higher in the WSGI pipeline to override auth processing, useful for middleware such as tempurl and formpost. If you know you are not going to use such middleware and you want a bit of extra security, you can set this to False. |
default_domain_id = default
|
Name of the default domain. It is identified by its UUID, which by default has the value "default". |
is_admin = false
|
If this option is set to True, it allows to give a user whose username is the same as the project name and who has any role in the project access rights elevated to be the same as if the user had one of the operator_roles. Note that the condition compares names rather than UUIDs. This option is deprecated. It is False by default. |
operator_roles = admin, swiftoperator
|
Operator role defines the user which is allowed to manage a tenant and create containers or give ACL to others. This parameter may be prefixed with an appropriate prefix. |
reseller_admin_role = ResellerAdmin
|
The reseller admin role gives the ability to create and delete accounts. |
reseller_prefix = AUTH
|
The naming scope for the auth service. Swift |
service_roles =
|
When present, this option requires that the X-Service-Token header supplies a token from a user who has a role listed in service_roles. This parameter may be prefixed with an appropriate prefix. |
use = egg:swift#keystoneauth
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
list_endpoints_path = /endpoints/
|
No help text available for this option. |
use = egg:swift#list_endpoints
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
access_log_address = /dev/log
|
No help text available for this option. |
access_log_facility = LOG_LOCAL0
|
No help text available for this option. |
access_log_headers = false
|
No help text available for this option. |
access_log_headers_only =
|
If access_log_headers is True and access_log_headers_only is set only these headers are logged. Multiple headers can be defined as comma separated list like this: access_log_headers_only = Host, X-Object-Meta-Mtime |
access_log_level = INFO
|
No help text available for this option. |
access_log_name = swift
|
No help text available for this option. |
access_log_statsd_default_sample_rate = 1.0
|
No help text available for this option. |
access_log_statsd_host = localhost
|
No help text available for this option. |
access_log_statsd_metric_prefix =
|
No help text available for this option. |
access_log_statsd_port = 8125
|
No help text available for this option. |
access_log_statsd_sample_rate_factor = 1.0
|
No help text available for this option. |
access_log_udp_host =
|
No help text available for this option. |
access_log_udp_port = 514
|
No help text available for this option. |
log_statsd_valid_http_methods = GET,HEAD,POST,PUT,DELETE,COPY,OPTIONS
|
No help text available for this option. |
logged with access_log_headers = True.
|
No help text available for this option. |
reveal_sensitive_prefix = 16
|
The X-Auth-Token is sensitive data. If revealed to an unauthorised person, they can now make requests against an account until the token expires. Set reveal_sensitive_prefix to the number of characters of the token that are logged. For example reveal_sensitive_prefix = 12 so only first 12 characters of the token are logged. Or, set to 0 to completely remove the token. |
use = egg:swift#proxy_logging
|
Entry point of paste.deploy in the server |
| Configuration option = Default value | Description |
|---|---|
allow_overrides = true
|
This option allows middleware higher in the WSGI pipeline to override auth processing, useful for middleware such as tempurl and formpost. If you know you are not going to use such middleware and you want a bit of extra security, you can set this to False. |
auth_prefix = /auth/
|
The HTTP request path prefix for the auth service. Swift itself reserves anything beginning with the letter |
require_group =
|
No help text available for this option. |
reseller_prefix = AUTH
|
The naming scope for the auth service. Swift |
set log_address = /dev/log
|
Location where syslog sends the logs to |
set log_facility = LOG_LOCAL0
|
Syslog log facility |
set log_headers = false
|
If True, log headers in each request |
set log_level = INFO
|
Log level |
set log_name = tempauth
|
Label to use when logging |
storage_url_scheme = default
|
Scheme to return with storage urls: http, https, or default (chooses based on what the server is running as) This can be useful with an SSL load balancer in front of a non-SSL server. |
token_life = 86400
|
The number of seconds a token is valid. |
use = egg:swift#tempauth
|
Entry point of paste.deploy in the server |
user_admin_admin = admin .admin .reseller_admin
|
No help text available for this option. |
user_test2_tester2 = testing2 .admin
|
No help text available for this option. |
user_test5_tester5 = testing5 service
|
No help text available for this option. |
user_test_tester = testing .admin
|
No help text available for this option. |
user_test_tester3 = testing3
|
No help text available for this option. |
| Configuration option = Default value | Description |
|---|---|
dump_interval = 5.0
|
No help text available for this option. |
dump_timestamp = false
|
No help text available for this option. |
flush_at_shutdown = false
|
No help text available for this option. |
log_filename_prefix = /tmp/log/swift/profile/default.profile
|
No help text available for this option. |
path = /__profile__
|
No help text available for this option. |
profile_module = eventlet.green.profile
|
No help text available for this option. |
unwind = false
|
No help text available for this option. |
use = egg:swift#xprofile
|
Entry point of paste.deploy in the server |
10.9.1. Sample proxy server configuration file Copier lienLien copié sur presse-papiers!
10.10. Proxy server memcache configuration Copier lienLien copié sur presse-papiers!
etc/memcache.conf-sample in the source code repository.
| Configuration option = Default value | Description |
|---|---|
connect_timeout = 0.3
|
Timeout in seconds (float) for connection |
io_timeout = 2.0
|
Timeout in seconds (float) for read and write |
memcache_max_connections = 2
|
Max number of connections to each memcached server per worker services |
memcache_serialization_support = 2
|
Sets how memcache values are serialized and deserialized |
memcache_servers = 127.0.0.1:11211
|
Comma-separated list of memcached servers ip:port services |
pool_timeout = 1.0
|
Timeout in seconds (float) for pooled connection |
tries = 3
|
Number of servers to retry on failures getting a pooled connection |
10.11. Rsyncd configuration Copier lienLien copié sur presse-papiers!
etc/rsyncd.conf-sample in the source code repository.
| Configuration option = Default value | Description |
|---|---|
lock file = /var/lock/account.lock
|
No help text available for this option. |
max connections = 2
|
No help text available for this option. |
path = /srv/node
|
No help text available for this option. |
read only = false
|
No help text available for this option. |
| Configuration option = Default value | Description |
|---|---|
lock file = /var/lock/container.lock
|
No help text available for this option. |
max connections = 4
|
No help text available for this option. |
path = /srv/node
|
No help text available for this option. |
read only = false
|
No help text available for this option. |
| Configuration option = Default value | Description |
|---|---|
lock file = /var/lock/object.lock
|
No help text available for this option. |
max connections = 8
|
No help text available for this option. |
path = /srv/node
|
No help text available for this option. |
read only = false
|
No help text available for this option. |
rsync_module = ``{replication_ip}::object_{device}``
|
Format of the rsync module where the replicator will send data. The configuration value can include some variables that will be extracted from the ring. Variables must follow the format {NAME} where NAME is one of: ip, port, replication_ip, replication_port, region, zone, device, meta. See etc/rsyncd.conf-sample for some examples. uses what's set here, or what's set in the DEFAULT section, or 10 (though other sections use 3 as the final default). |
10.12. Configure Object Storage features Copier lienLien copié sur presse-papiers!
10.12.1. Object Storage zones Copier lienLien copié sur presse-papiers!
10.12.2. RAID controller configuration Copier lienLien copié sur presse-papiers!
10.12.3. Throttle resources through rate limits Copier lienLien copié sur presse-papiers!
10.12.3.1. Configure rate limiting Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
account_blacklist = c,d
|
Comma separated lists of account names that will not be allowed. Returns a 497 response. r: for containers of size x, limit requests per second to r. Will limit PUT, DELETE, and POST requests to /a/c/o. container_listing_ratelimit_x = r: for containers of size x, limit listing requests per second to r. Will limit GET requests to /a/c. |
account_ratelimit = 0
|
If set, will limit PUT and DELETE requests to /account_name/container_name. Number is in requests per second. |
account_whitelist = a,b
|
Comma separated lists of account names that will not be rate limited. |
clock_accuracy = 1000
|
Represents how accurate the proxy servers' system clocks are with each other. 1000 means that all the proxies' clock are accurate to each other within 1 millisecond. No ratelimit should be higher than the clock accuracy. |
container_listing_ratelimit_0 = 100
|
No help text available for this option. |
container_listing_ratelimit_10 = 50
|
No help text available for this option. |
container_listing_ratelimit_50 = 20
|
No help text available for this option. |
container_ratelimit_0 = 100
|
No help text available for this option. |
container_ratelimit_10 = 50
|
No help text available for this option. |
container_ratelimit_50 = 20
|
No help text available for this option. |
log_sleep_time_seconds = 0
|
To allow visibility into rate limiting set this value > 0 and all sleeps greater than the number will be logged. |
max_sleep_time_seconds = 60
|
App will immediately return a 498 response if the necessary sleep time ever exceeds the given max_sleep_time_seconds. |
rate_buffer_seconds = 5
|
Number of seconds the rate counter can drop and be allowed to catch up (at a faster than listed rate). A larger number will result in larger spikes in rate but better average accuracy. |
set log_address = /dev/log
|
Location where syslog sends the logs to |
set log_facility = LOG_LOCAL0
|
Syslog log facility |
set log_headers = false
|
If True, log headers in each request |
set log_level = INFO
|
Log level |
set log_name = ratelimit
|
Label to use when logging |
use = egg:swift#ratelimit
|
Entry point of paste.deploy in the server |
with container_limit_x = r
|
No help text available for this option. |
| Container Size | Rate Limit |
| 0-99 | No limiting |
| 100 | 100 |
| 150 | 75 |
| 500 | 20 |
| 1000 | 20 |
10.12.4. Health check Copier lienLien copié sur presse-papiers!
/healthcheck, it responds with OK in the response body, which monitoring tools can use.
| Configuration option = Default value | Description |
|---|---|
disable_path =
|
No help text available for this option. |
use = egg:swift#healthcheck
|
Entry point of paste.deploy in the server |
10.12.5. Domain remap Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
default_reseller_prefix =
|
No help text available for this option. |
path_root = v1
|
Root path |
reseller_prefixes = AUTH
|
Reseller prefix |
set log_address = /dev/log
|
Location where syslog sends the logs to |
set log_facility = LOG_LOCAL0
|
Syslog log facility |
set log_headers = false
|
If True, log headers in each request |
set log_level = INFO
|
Log level |
set log_name = domain_remap
|
Label to use when logging |
storage_domain = example.com
|
Domain that matches your cloud. Multiple domains can be specified using a comma-separated list. |
use = egg:swift#domain_remap
|
Entry point of paste.deploy in the server |
10.12.6. CNAME lookup Copier lienLien copié sur presse-papiers!
storage_domain by looking up the given domain's CNAME record in DNS.
| Configuration option = Default value | Description |
|---|---|
lookup_depth = 1
|
Because CNAMES can be recursive, specifies the number of levels through which to search. |
set log_address = /dev/log
|
Location where syslog sends the logs to |
set log_facility = LOG_LOCAL0
|
Syslog log facility |
set log_headers = false
|
If True, log headers in each request |
set log_level = INFO
|
Log level |
set log_name = cname_lookup
|
Label to use when logging |
storage_domain = example.com
|
Domain that matches your cloud. Multiple domains can be specified using a comma-separated list. |
use = egg:swift#cname_lookup
|
Entry point of paste.deploy in the server |
10.12.7. Temporary URL Copier lienLien copié sur presse-papiers!
temp_url_sig- A cryptographic signature
temp_url_expires- An expiration date, in Unix time
https://swift-cluster.example.com/v1/AUTH_a422b2-91f3-2f46-74b7-d7c9e8958f5d30/container/object?
temp_url_sig=da39a3ee5e6b4b0d3255bfef95601890afd80709&
temp_url_expires=1323479485
https://swift-cluster.example.com/v1/AUTH_a422b2-91f3-2f46-74b7-d7c9e8958f5d30/container/object?
temp_url_sig=da39a3ee5e6b4b0d3255bfef95601890afd80709&
temp_url_expires=1323479485
X-Account-Meta-Temp-URL-Key header on your Object Storage account to an arbitrary string. This string serves as a secret key. For example, to set a key of b3968d0207b54ece87cccc06515a89d4 using the swift command-line tool:
swift post -m "Temp-URL-Key:b3968d0207b54ece87cccc06515a89d4"
$ swift post -m "Temp-URL-Key:b3968d0207b54ece87cccc06515a89d4"
- Which HTTP method to allow (typically
GETorPUT) - The expiry date as a Unix timestamp
- The full path to the object
- The secret key set as the
X-Account-Meta-Temp-URL-Key
/v1/AUTH_account/container/object:
X-Account-Meta-Temp-URL-Key invalidates any previously generated temporary URLs within 60 seconds (the memcache time for the key). Object Storage supports up to two keys, specified by X-Account-Meta-Temp-URL-Key and X-Account-Meta-Temp-URL-Key-2. Signatures are checked against both keys, if present. This is to allow for key rotation without invalidating all existing temporary URLs.
bin/swift-temp-url GET 3600 /v1/AUTH_account/container/object mykey
$ bin/swift-temp-url GET 3600 /v1/AUTH_account/container/object mykey
/v1/AUTH_account/container/object?
temp_url_sig=5c4cc8886f36a9d0919d708ade98bf0cc71c9e91&
temp_url_expires=1374497657
https://swift-cluster.example.com).
Content-Disposition header is set on the response so that browsers interpret this as a file attachment to be saved. The file name chosen is based on the object name, but you can override this with a filename query parameter. The following example specifies a filename of My Test File.pdf:
https://swift-cluster.example.com/v1/AUTH_a422b2-91f3-2f46-74b7-d7c9e8958f5d30/container/object? temp_url_sig=da39a3ee5e6b4b0d3255bfef95601890afd80709& temp_url_expires=1323479485& filename=My+Test+File.pdf
https://swift-cluster.example.com/v1/AUTH_a422b2-91f3-2f46-74b7-d7c9e8958f5d30/container/object?
temp_url_sig=da39a3ee5e6b4b0d3255bfef95601890afd80709&
temp_url_expires=1323479485&
filename=My+Test+File.pdf
Content-Disposition: inline to be set on the response by adding the inline parameter to the query string, as follows:
https://swift-cluster.example.com/v1/AUTH_account/container/object? temp_url_sig=da39a3ee5e6b4b0d3255bfef95601890afd80709& temp_url_expires=1323479485&inline
https://swift-cluster.example.com/v1/AUTH_account/container/object?
temp_url_sig=da39a3ee5e6b4b0d3255bfef95601890afd80709&
temp_url_expires=1323479485&inline
/etc/swift/proxy-server.conf to add tempurl to the pipeline variable defined in the [pipeline:main] section. The tempurl entry should appear immediately before the authentication filters in the pipeline, such as authtoken, tempauth or keystoneauth. For example:
[pipeline:main] pipeline = pipeline = healthcheck cache tempurl authtoken keystoneauth proxy-server
[pipeline:main]
pipeline = pipeline = healthcheck cache tempurl authtoken keystoneauth proxy-server
| Configuration option = Default value | Description |
|---|---|
incoming_allow_headers =
|
Headers allowed as exceptions to incoming_remove_headers. Simply a whitespace delimited list of header names and names can optionally end with '*' to indicate a prefix match. |
incoming_remove_headers = x-timestamp
|
Headers to remove from incoming requests. Simply a whitespace delimited list of header names and names can optionally end with '*' to indicate a prefix match. |
methods = GET HEAD PUT POST DELETE
|
HTTP methods allowed with Temporary URLs |
outgoing_allow_headers = ``x-object-meta-public-*``
|
Headers allowed as exceptions to outgoing_allow_headers. Simply a whitespace delimited list of header names and names can optionally end with '*' to indicate a prefix match. |
outgoing_remove_headers = ``x-object-meta-*``
|
Headers to remove from outgoing responses. Simply a whitespace delimited list of header names and names can optionally end with '*' to indicate a prefix match. |
use = egg:swift#tempurl
|
Entry point of paste.deploy in the server |
10.12.8. Name Check filter Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
forbidden_chars = ``'"`<>``
|
Characters that are not allowed in a name |
forbidden_regexp = ``/\./|/\.\./|/\.$|/\.\.$``
|
Substrings to forbid, using regular expression syntax |
maximum_length = 255
|
Maximum length of a name |
use = egg:swift#name_check
|
Entry point of paste.deploy in the server |
10.12.9. Constraints Copier lienLien copié sur presse-papiers!
swift-constraints section in the swift.conf file. Use caution when you update these values because they affect the performance in the entire cluster.
| Configuration option = Default value | Description |
|---|---|
account_listing_limit = 10000
|
The default (and maximum) number of items returned for an account listing request. |
container_listing_limit = 10000
|
The default (and maximum) number of items returned for a container listing request. |
extra_header_count = 0
|
By default the maximum number of allowed headers depends on the number of max allowed metadata settings plus a default value of 32 for regular http headers. If for some reason this is not enough (custom middleware for example) it can be increased with the extra_header_count constraint. |
max_account_name_length = 256
|
The maximum number of bytes in the utf8 encoding of an account name. |
max_container_name_length = 256
|
The maximum number of bytes in the utf8 encoding of a container name. |
max_file_size = 5368709122
|
The largest normal object that can be saved in the cluster. This is also the limit on the size of each segment of a large object when using the large object manifest support. This value is set in bytes. Setting it to lower than 1MiB will cause some tests to fail. It is STRONGLY recommended to leave this value at the default (5 * 2**30 + 2). |
max_header_size = 8192
|
The max number of bytes in the utf8 encoding of each header. Using 8192 as default because eventlet use 8192 as maximum size of header line. You may need to increase this value when using identity v3 API tokens including more than 7 catalog entries. See also include_service_catalog in proxy-server.conf-sample (documented in overview_auth.rst). |
max_meta_count = 90
|
The max number of metadata keys that can be stored on a single account, container, or object. |
max_meta_name_length = 128
|
The max number of bytes in the utf8 encoding of the name portion of a metadata header. |
max_meta_overall_size = 4096
|
The max number of bytes in the utf8 encoding of the metadata (keys + values). |
max_meta_value_length = 256
|
The max number of bytes in the utf8 encoding of a metadata value. |
max_object_name_length = 1024
|
The max number of bytes in the utf8 encoding of an object name. |
valid_api_versions = v0,v1,v2
|
No help text available for this option. |
10.12.10. Cluster health Copier lienLien copié sur presse-papiers!
/etc/swift/dispersion.conf. Example dispersion.conf file:
[dispersion] auth_url = http://localhost:8080/auth/v1.0 auth_user = test:tester auth_key = testing
[dispersion]
auth_url = http://localhost:8080/auth/v1.0
auth_user = test:tester
auth_key = testing
swift-dispersion-report -j
$ swift-dispersion-report -j
{"object": {"retries:": 0, "missing_two": 0, "copies_found": 7863, "missing_one": 0,
"copies_expected": 7863, "pct_found": 100.0, "overlapping": 0, "missing_all": 0}, "container":
{"retries:": 0, "missing_two": 0, "copies_found": 12534, "missing_one": 0, "copies_expected":
12534, "pct_found": 100.0, "overlapping": 15, "missing_all": 0}}
| Configuration option = Default value | Description |
|---|---|
auth_key = testing
|
No help text available for this option. |
auth_url = http://localhost:8080/auth/v1.0
|
Endpoint for auth server, such as keystone |
auth_user = test:tester
|
Default user for dispersion in this context |
auth_version = 1.0
|
Indicates which version of auth |
concurrency = 25
|
Number of replication workers to spawn |
container_populate = yes
|
No help text available for this option. |
container_report = yes
|
No help text available for this option. |
dispersion_coverage = 1.0
|
No help text available for this option. |
dump_json = no
|
No help text available for this option. |
endpoint_type = publicURL
|
Indicates whether endpoint for auth is public or internal |
keystone_api_insecure = no
|
Allow accessing insecure keystone server. The keystone's certificate will not be verified. |
object_populate = yes
|
No help text available for this option. |
object_report = yes
|
No help text available for this option. |
project_domain_name = project_domain
|
No help text available for this option. |
project_name = project
|
No help text available for this option. |
retries = 5
|
No help text available for this option. |
swift_dir = /etc/swift
|
Swift configuration directory |
user_domain_name = user_domain
|
No help text available for this option. |
10.12.11. Static Large Object (SLO) support Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
max_get_time = 86400
|
No help text available for this option. |
max_manifest_segments = 1000
|
No help text available for this option. |
max_manifest_size = 2097152
|
No help text available for this option. |
min_segment_size = 1048576
|
No help text available for this option. |
rate_limit_after_segment = 10
|
Rate limit the download of large object segments after this segment is downloaded. |
rate_limit_segments_per_sec = 0
|
Rate limit large object downloads at this rate. contact for a normal request. You can use '* replicas' at the end to have it use the number given times the number of replicas for the ring being used for the request. paste.deploy to use for auth. To use tempauth set to: |
use = egg:swift#slo
|
Entry point of paste.deploy in the server |
10.12.12. Container quotas Copier lienLien copié sur presse-papiers!
container_quotas middleware implements simple quotas that can be imposed on Object Storage containers by a user with the ability to set container metadata, most likely the account administrator. This can be useful for limiting the scope of containers that are delegated to non-admin users, exposed to formpost uploads, or just as a self-imposed sanity check.
- X-Container-Meta-Quota-Bytes: Maximum size of the container, in bytes.
- X-Container-Meta-Quota-Count: Maximum object count of the container.
| Configuration option = Default value | Description |
|---|---|
use = egg:swift#container_quotas
|
Entry point of paste.deploy in the server |
10.12.13. Account quotas Copier lienLien copié sur presse-papiers!
x-account-meta-quota-bytes metadata entry must be requests (PUT, POST) if a given account quota (in bytes) is exceeded while DELETE requests are still allowed.
x-account-meta-quota-bytes metadata entry must be set to store and enable the quota. Write requests to this metadata entry are only permitted for resellers. There is no account quota limitation on a reseller account even if x-account-meta-quota-bytes is set.
swift -A http://127.0.0.1:8080/auth/v1.0 -U admin:admin -K admin \ --os-storage-url http://127.0.0.1:8080/v1/AUTH_test post -m quota-bytes:10000
$ swift -A http://127.0.0.1:8080/auth/v1.0 -U admin:admin -K admin \ --os-storage-url http://127.0.0.1:8080/v1/AUTH_test post -m quota-bytes:10000
swift -A http://127.0.0.1:8080/auth/v1.0 -U admin:admin -K admin --os-storage-url http://127.0.0.1:8080/v1/AUTH_test post -m quota-bytes:
$ swift -A http://127.0.0.1:8080/auth/v1.0 -U admin:admin -K admin --os-storage-url http://127.0.0.1:8080/v1/AUTH_test post -m quota-bytes:
10.12.14. Bulk delete Copier lienLien copié sur presse-papiers!
bulk-delete to delete multiple files from an account with a single request. Responds to DELETE requests with a header 'X-Bulk-Delete: true_value'. The body of the DELETE request is a new line-separated list of files to delete. The files listed must be URL encoded and in the form:
/container_name/obj_name
/container_name/obj_name
HTTPOk. If any files failed to delete, the operation returns HTTPBadGateway. In both cases, the response body is a JSON dictionary that shows the number of files that were successfully deleted or not found. The files that failed are listed.
| Configuration option = Default value | Description |
|---|---|
delete_container_retry_count = 0
|
No help text available for this option. |
max_containers_per_extraction = 10000
|
No help text available for this option. |
max_deletes_per_request = 10000
|
No help text available for this option. |
max_failed_deletes = 1000
|
No help text available for this option. |
max_failed_extractions = 1000
|
No help text available for this option. |
use = egg:swift#bulk
|
Entry point of paste.deploy in the server |
yield_frequency = 10
|
No help text available for this option. |
10.12.15. Drive audit Copier lienLien copié sur presse-papiers!
swift-drive-audit configuration items reference a script that can be run by using cron to watch for bad drives. If errors are detected, it unmounts the bad drive, so that OpenStack Object Storage can work around it. It takes the following options:
| Configuration option = Default value | Description |
|---|---|
device_dir = /srv/node
|
Directory devices are mounted under |
error_limit = 1
|
Number of errors to find before a device is unmounted |
log_address = /dev/log
|
Location where syslog sends the logs to |
log_facility = LOG_LOCAL0
|
Syslog log facility |
log_file_pattern = ``/var/log/kern.*[!.][!g][!z]``
|
Location of the log file with globbing pattern to check against device errors locate device blocks with errors in the log file |
log_level = INFO
|
Logging level |
log_max_line_length = 0
|
Caps the length of log lines to the value given; no limit if set to 0, the default. |
log_name = drive-audit
|
Label used when logging |
log_to_console = False
|
No help text available for this option. |
minutes = 60
|
Number of minutes to look back in |
recon_cache_path = /var/cache/swift
|
Directory where stats for a few items will be stored |
regex_pattern_1 = ``\berror\b.*\b(dm-[0-9]{1,2}\d?)\b``
|
No help text available for this option. |
unmount_failed_device = True
|
No help text available for this option. |
10.12.16. Form post Copier lienLien copié sur presse-papiers!
10.12.16. Form post Copier lienLien copié sur presse-papiers!
action="<swift-url>"The URL to the Object Storage destination, such as https://swift-cluster.example.com/v1/AUTH_account/container/object_prefix.The name of each uploaded file is appended to the specifiedswift-url. So, you can upload directly to the root of container with a URL like https://swift-cluster.example.com/v1/AUTH_account/container/.Optionally, you can include an object prefix to separate different users' uploads, such as https://swift-cluster.example.com/v1/AUTH_account/container/object_prefix.method="POST"The formmethodmust be POST.enctype="multipart/form-dataTheenctypemust be set tomultipart/form-data.name="redirect"The URL to which to redirect the browser after the upload completes. The URL has status and message query parameters added to it that indicate the HTTP status code for the upload and, optionally, additional error information. The 2nn status code indicates success. If an error occurs, the URL might include error information, such as"max_file_size exceeded".name="max_file_size"Required. The maximum number of bytes that can be uploaded in a single file upload.name="max_file_count"Required. The maximum number of files that can be uploaded with the form.name="expires"The expiration date and time for the form in UNIX Epoch time stamp format. After this date and time, the form is no longer valid.For example,1440619048is equivalent toMon, Wed, 26 Aug 2015 19:57:28 GMT.name="signature"The HMAC-SHA1 signature of the form. This sample Python code shows how to compute the signature:Copy to Clipboard Copied! Toggle word wrap Toggle overflow The key is the value of theX-Account-Meta-Temp-URL-Keyheader on the account.Use the full path from the/v1/value and onward.During testing, you can use the swift-form-signature command-line tool to compute theexpiresandsignaturevalues.name="x_delete_at"The date and time in UNIX Epoch time stamp format when the object will be removed.For example,1440619048is equivalent toMon, Wed, 26 Aug 2015 19:57:28 GMT.This attribute enables you to specify theX-Delete- Atheader value in the form POST.name="x_delete_after"The number of seconds after which the object is removed. Internally, the Object Storage system stores this value in theX-Delete-Atmetadata item. This attribute enables you to specify theX-Delete-Afterheader value in the form POST.type="file" name="filexx"Optional. One or more files to upload. Must appear after the other attributes to be processed correctly. If attributes come after thefileattribute, they are not sent with the sub- request because on the server side, all attributes in the file cannot be parsed unless the whole file is read into memory and the server does not have enough memory to service these requests. So, attributes that follow thefileattribute are ignored.
| Configuration option = Default value | Description |
|---|---|
use = egg:swift#formpost
|
Entry point of paste.deploy in the server |
10.12.17. Static web sites Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
use = egg:swift#staticweb
|
Entry point of paste.deploy in the server |
10.12.18. Cross-origin resource sharing Copier lienLien copié sur presse-papiers!
cors_allow_origin option in the proxy-server.conf file to set a list of hosts that are included with any CORS request by default.
10.12.19. Endpoint listing middleware Copier lienLien copié sur presse-papiers!
/endpoints/{account}/{container}/{object} /endpoints/{account}/{container} /endpoints/{account}
/endpoints/{account}/{container}/{object} /endpoints/{account}/{container} /endpoints/{account}
list_endpoints_path configuration option in the proxy_server.conf file to customize the /endpoints/ path.
http://{server}:{port}/{dev}/{part}/{acc}/{cont}/{obj}
http://{server}:{port}/{dev}/{part}/{acc}/{cont}
http://{server}:{port}/{dev}/{part}/{acc}
http://{server}:{port}/{dev}/{part}/{acc}/{cont}/{obj}
http://{server}:{port}/{dev}/{part}/{acc}/{cont}
http://{server}:{port}/{dev}/{part}/{acc}
http://10.1.1.1:6000/sda1/2/a/c2/o1 http://10.1.1.1:6000/sda1/2/a/c2 http://10.1.1.1:6000/sda1/2/a
http://10.1.1.1:6000/sda1/2/a/c2/o1
http://10.1.1.1:6000/sda1/2/a/c2
http://10.1.1.1:6000/sda1/2/a
10.13. New, updated and deprecated options in Liberty for OpenStack Object Storage Copier lienLien copié sur presse-papiers!
Chapter 11. Orchestration Copier lienLien copié sur presse-papiers!
/etc/heat/heat.conf file.
| Configuration option = Default value | Description |
|---|---|
[keystone_authtoken]
|
|
admin_password = None
|
(String) Service user password. |
admin_tenant_name = admin
|
(String) Service tenant name. |
admin_token = None
|
(String) This option is deprecated and may be removed in a future release. Single shared secret with the Keystone configuration used for bootstrapping a Keystone installation, or otherwise bypassing the normal authentication process. This option should not be used, use `admin_user` and `admin_password` instead. |
admin_user = None
|
(String) Service username. |
auth_admin_prefix =
|
(String) Prefix to prepend at the beginning of the path. Deprecated, use identity_uri. |
auth_host = 127.0.0.1
|
(String) Host providing the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_port = 35357
|
(Integer) Port of the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_protocol = https
|
(String) Protocol of the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_section = None
|
(Unknown) Config Section from which to load plugin specific options |
auth_type = None
|
(Unknown) Authentication type to load |
auth_uri = None
|
(String) Complete public Identity API endpoint. |
auth_version = None
|
(String) API version of the admin Identity API endpoint. |
cache = None
|
(String) Env key for the swift cache. |
cafile = None
|
(String) A PEM encoded Certificate Authority to use when verifying HTTPs connections. Defaults to system CAs. |
certfile = None
|
(String) Required if identity server requires client certificate |
check_revocations_for_cached = False
|
(Boolean) If true, the revocation list will be checked for cached tokens. This requires that PKI tokens are configured on the identity server. |
delay_auth_decision = False
|
(Boolean) Do not handle authorization requests within the middleware, but delegate the authorization decision to downstream WSGI components. |
enforce_token_bind = permissive
|
(String) 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. |
hash_algorithms = md5
|
(List) Hash algorithms to use for hashing PKI tokens. This may be a single algorithm or multiple. The algorithms are those supported by Python standard hashlib.new(). The hashes will be tried in the order given, so put the preferred one first for performance. The result of the first hash will be stored in the cache. This will typically be set to multiple values only while migrating from a less secure algorithm to a more secure one. Once all the old tokens are expired this option should be set to a single value for better performance. |
http_connect_timeout = None
|
(Integer) Request timeout value for communicating with Identity API server. |
http_request_max_retries = 3
|
(Integer) How many times are we trying to reconnect when communicating with Identity API Server. |
identity_uri = None
|
(String) Complete admin Identity API endpoint. This should specify the unversioned root endpoint e.g. https://localhost:35357/ |
include_service_catalog = True
|
(Boolean) (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. |
insecure = False
|
(Boolean) Verify HTTPS connections. |
keyfile = None
|
(String) Required if identity server requires client certificate |
memcache_pool_conn_get_timeout = 10
|
(Integer) (Optional) Number of seconds that an operation will wait to get a memcached client connection from the pool. |
memcache_pool_dead_retry = 300
|
(Integer) (Optional) Number of seconds memcached server is considered dead before it is tried again. |
memcache_pool_maxsize = 10
|
(Integer) (Optional) Maximum total number of open connections to every memcached server. |
memcache_pool_socket_timeout = 3
|
(Integer) (Optional) Socket timeout in seconds for communicating with a memcached server. |
memcache_pool_unused_timeout = 60
|
(Integer) (Optional) Number of seconds a connection to memcached is held unused in the pool before it is closed. |
memcache_secret_key = None
|
(String) (Optional, mandatory if memcache_security_strategy is defined) This string is used for key derivation. |
memcache_security_strategy = None
|
(String) (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. |
memcache_use_advanced_pool = False
|
(Boolean) (Optional) Use the advanced (eventlet safe) memcached client pool. The advanced pool will only work under python 2.x. |
memcached_servers = None
|
(List) Optionally specify a list of memcached server(s) to use for caching. If left undefined, tokens will instead be cached in-process. |
region_name = None
|
(String) The region in which the identity server can be found. |
revocation_cache_time = 10
|
(Integer) Determines the frequency at which the list of revoked tokens is retrieved from the Identity service (in seconds). A high number of revocation events combined with a low cache duration may significantly reduce performance. |
signing_dir = None
|
(String) Directory used to cache files related to PKI tokens. |
token_cache_time = 300
|
(Integer) 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. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
client_retry_limit = 2
|
(Integer) Number of times to retry when a client encounters an expected intermittent error. Set to 0 to disable retries. |
convergence_engine = False
|
(Boolean) Enables engine with convergence architecture. All stacks with this option will be created using convergence engine. |
default_deployment_signal_transport = CFN_SIGNAL
|
(String) Template default for how the server should signal to heat with the deployment output values. CFN_SIGNAL will allow an HTTP POST to a CFN keypair signed URL (requires enabled heat-api-cfn). TEMP_URL_SIGNAL will create a Swift TempURL to be signaled via HTTP PUT (requires object-store endpoint which supports TempURL). HEAT_SIGNAL will allow calls to the Heat API resource-signal using the provided keystone credentials. ZAQAR_SIGNAL will create a dedicated zaqar queue to be signaled using the provided keystone credentials. |
default_software_config_transport = POLL_SERVER_CFN
|
(String) Template default for how the server should receive the metadata required for software configuration. POLL_SERVER_CFN will allow calls to the cfn API action DescribeStackResource authenticated with the provided keypair (requires enabled heat-api-cfn). POLL_SERVER_HEAT will allow calls to the Heat API resource-show using the provided keystone credentials (requires keystone v3 API, and configured stack_user_* config options). POLL_TEMP_URL will create and populate a Swift TempURL with metadata for polling (requires object-store endpoint which supports TempURL).ZAQAR_MESSAGE will create a dedicated zaqar queue and post the metadata for polling. |
deferred_auth_method = trusts
|
(String) Select deferred auth method, stored password or trusts. |
environment_dir = /etc/heat/environment.d
|
(String) The directory to search for environment files. |
error_wait_time = 240
|
(Integer) Error wait time in seconds for stack action (ie. create or update). |
event_purge_batch_size = 10
|
(Integer) Controls how many events will be pruned whenever a stack's events exceed max_events_per_stack. Set this lower to keep more events at the expense of more frequent purges. |
executor_thread_pool_size = 64
|
(Integer) Size of executor thread pool. |
host = localhost
|
(String) Name of the engine node. This can be an opaque identifier. It is not necessarily a hostname, FQDN, or IP address. |
keystone_backend = heat.common.heat_keystoneclient.KeystoneClientV3
|
(String) Fully qualified class name to use as a keystone backend. |
max_interface_check_attempts = 10
|
(Integer) Number of times to check whether an interface has been attached or detached. |
memcached_servers = None
|
(List) Memcached servers or None for in process cache. |
periodic_interval = 60
|
(Integer) Seconds between running periodic tasks. |
plugin_dirs = /usr/lib64/heat, /usr/lib/heat, /usr/local/lib/heat, /usr/local/lib64/heat
|
(List) List of directories to search for plug-ins. |
reauthentication_auth_method =
|
(String) Allow reauthentication on token expiry, such that long-running tasks may complete. Note this defeats the expiry of any provided user tokens. |
watch_log_file = False
|
(Boolean) 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. |
[cache]
|
|
backend = dogpile.cache.null
|
(String) Dogpile.cache backend module. It is recommended that Memcache with pooling (oslo_cache.memcache_pool) or Redis (dogpile.cache.redis) be used in production deployments. Small workloads (single process) like devstack can use the dogpile.cache.memory backend. |
backend_argument = []
|
(Multi-valued) Arguments supplied to the backend module. Specify this option once per argument to be passed to the dogpile.cache backend. Example format: "<argname>:<value>". |
config_prefix = cache.oslo
|
(String) Prefix for building the configuration dictionary for the cache region. This should not need to be changed unless there is another dogpile.cache region with the same configuration name. |
debug_cache_backend = False
|
(Boolean) Extra debugging from the cache backend (cache keys, get/set/delete/etc calls). This is only really useful if you need to see the specific cache-backend get/set/delete calls with the keys/values. Typically this should be left set to false. |
enabled = False
|
(Boolean) Global toggle for caching. |
expiration_time = 600
|
(Integer) Default TTL, in seconds, for any cached item in the dogpile.cache region. This applies to any cached method that doesn't have an explicit cache expiration time defined for it. |
memcache_dead_retry = 300
|
(Integer) Number of seconds memcached server is considered dead before it is tried again. (dogpile.cache.memcache and oslo_cache.memcache_pool backends only). |
memcache_pool_connection_get_timeout = 10
|
(Integer) Number of seconds that an operation will wait to get a memcache client connection. |
memcache_pool_maxsize = 10
|
(Integer) Max total number of open connections to every memcached server. (oslo_cache.memcache_pool backend only). |
memcache_pool_unused_timeout = 60
|
(Integer) Number of seconds a connection to memcached is held unused in the pool before it is closed. (oslo_cache.memcache_pool backend only). |
memcache_servers = localhost:11211
|
(List) Memcache servers in the format of "host:port". (dogpile.cache.memcache and oslo_cache.memcache_pool backends only). |
memcache_socket_timeout = 3
|
(Integer) Timeout in seconds for every call to a server. (dogpile.cache.memcache and oslo_cache.memcache_pool backends only). |
proxies =
|
(List) Proxy classes to import that will affect the way the dogpile.cache backend functions. See the dogpile.cache documentation on changing-backend-behavior. |
[constraint_validation_cache]
|
|
caching = True
|
(Boolean) Toggle to enable/disable caching when Orchestration Engine validates property constraints of stack.During property validation with constraints Orchestration Engine caches requests to other OpenStack services. Please note that the global toggle for oslo.cache(enabled=True in [cache] group) must be enabled to use this feature. |
expiration_time = 60
|
(Integer) TTL, in seconds, for any cached item in the dogpile.cache region used for caching of validation constraints. |
[resource_finder_cache]
|
|
caching = True
|
(Boolean) Toggle to enable/disable caching when Orchestration Engine looks for other OpenStack service resources using name or id. Please note that the global toggle for oslo.cache(enabled=True in [cache] group) must be enabled to use this feature. |
expiration_time = 3600
|
(Integer) TTL, in seconds, for any cached item in the dogpile.cache region used for caching of OpenStack service finder functions. |
[revision]
|
|
heat_revision = unknown
|
(String) Heat build revision. If you would prefer to manage your build revision separately, you can move this section to a different file and add it as another config option. |
[service_extension_cache]
|
|
caching = True
|
(Boolean) Toggle to enable/disable caching when Orchestration Engine retrieves extensions from other OpenStack services. Please note that the global toggle for oslo.cache(enabled=True in [cache] group) must be enabled to use this feature. |
expiration_time = 3600
|
(Integer) TTL, in seconds, for any cached item in the dogpile.cache region used for caching of service extensions. |
| Configuration option = Default value | Description |
|---|---|
[cors]
|
|
allow_credentials = True
|
(Boolean) Indicate that the actual request can include user credentials |
allow_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma
|
(List) Indicate which header field names may be used during the actual request. |
allow_methods = GET, POST, PUT, DELETE, OPTIONS
|
(List) Indicate which methods can be used during the actual request. |
allowed_origin = None
|
(List) Indicate whether this resource may be shared with the domain received in the requests "origin" header. |
expose_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma
|
(List) Indicate which headers are safe to expose to the API. Defaults to HTTP Simple Headers. |
max_age = 3600
|
(Integer) Maximum cache age of CORS preflight requests. |
[cors.subdomain]
|
|
allow_credentials = True
|
(Boolean) Indicate that the actual request can include user credentials |
allow_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma
|
(List) Indicate which header field names may be used during the actual request. |
allow_methods = GET, POST, PUT, DELETE, OPTIONS
|
(List) Indicate which methods can be used during the actual request. |
allowed_origin = None
|
(List) Indicate whether this resource may be shared with the domain received in the requests "origin" header. |
expose_headers = Content-Type, Cache-Control, Content-Language, Expires, Last-Modified, Pragma
|
(List) Indicate which headers are safe to expose to the API. Defaults to HTTP Simple Headers. |
max_age = 3600
|
(Integer) Maximum cache age of CORS preflight requests. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
auth_encryption_key = notgood but just long enough i t
|
(String) Key used to encrypt authentication info in the database. Length of this key must be 32 characters. |
| Configuration option = Default value | Description |
|---|---|
[database]
|
|
backend = sqlalchemy
|
(String) The back end to use for the database. |
connection = None
|
(String) The SQLAlchemy connection string to use to connect to the database. |
connection_debug = 0
|
(Integer) Verbosity of SQL debugging information: 0=None, 100=Everything. |
connection_trace = False
|
(Boolean) Add Python stack traces to SQL as comment strings. |
db_inc_retry_interval = True
|
(Boolean) If True, increases the interval between retries of a database operation up to db_max_retry_interval. |
db_max_retries = 20
|
(Integer) Maximum retries in case of connection error or deadlock error before error is raised. Set to -1 to specify an infinite retry count. |
db_max_retry_interval = 10
|
(Integer) If db_inc_retry_interval is set, the maximum seconds between retries of a database operation. |
db_retry_interval = 1
|
(Integer) Seconds between retries of a database transaction. |
idle_timeout = 3600
|
(Integer) Timeout before idle SQL connections are reaped. |
max_overflow = 50
|
(Integer) If set, use this value for max_overflow with SQLAlchemy. |
max_pool_size = None
|
(Integer) Maximum number of SQL connections to keep open in a pool. |
max_retries = 10
|
(Integer) Maximum number of database connection retries during startup. Set to -1 to specify an infinite retry count. |
min_pool_size = 1
|
(Integer) Minimum number of SQL connections to keep open in a pool. |
mysql_sql_mode = TRADITIONAL
|
(String) 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= |
pool_timeout = None
|
(Integer) If set, use this value for pool_timeout with SQLAlchemy. |
retry_interval = 10
|
(Integer) Interval between retries of opening a SQL connection. |
slave_connection = None
|
(String) The SQLAlchemy connection string to use to connect to the slave database. |
sqlite_db = oslo.sqlite
|
(String) The file name to use with SQLite. |
sqlite_synchronous = True
|
(Boolean) If True, SQLite uses synchronous mode. |
use_db_reconnect = False
|
(Boolean) Enable the experimental use of database reconnect on connection lost. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
backdoor_port = None
|
(StrOpt) 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. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
loadbalancer_template = None
|
(String) Custom template for the built-in loadbalancer nested stack. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
debug = False
|
(Boolean) If set to true, the logging level will be set to DEBUG instead of the default INFO level. |
default_log_levels = amqp=WARN, amqplib=WARN, boto=WARN, qpid=WARN, sqlalchemy=WARN, suds=INFO, oslo.messaging=INFO, iso8601=WARN, requests.packages.urllib3.connectionpool=WARN, urllib3.connectionpool=WARN, websocket=WARN, requests.packages.urllib3.util.retry=WARN, urllib3.util.retry=WARN, keystonemiddleware=WARN, routes.middleware=WARN, stevedore=WARN, taskflow=WARN, keystoneauth=WARN, oslo.cache=INFO, dogpile.core.dogpile=INFO
|
(List) List of package logging levels in logger=LEVEL pairs. This option is ignored if log_config_append is set. |
fatal_deprecations = False
|
(Boolean) Enables or disables fatal status of deprecations. |
instance_format = "[instance: %(uuid)s] "
|
(String) The format for an instance that is passed with the log message. |
instance_uuid_format = "[instance: %(uuid)s] "
|
(String) The format for an instance UUID that is passed with the log message. |
log_config_append = None
|
(String) 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, logging_context_format_string). |
log_date_format = %Y-%m-%d %H:%M:%S
|
(String) Defines the format string for %%(asctime)s in log records. Default: %(default)s . This option is ignored if log_config_append is set. |
log_dir = None
|
(String) (Optional) The base directory used for relative log_file paths. This option is ignored if log_config_append is set. |
log_file = None
|
(String) (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. |
logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
|
(String) Format string to use for log messages with context. |
logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
|
(String) Additional data to append to log message when logging level for the message is DEBUG. |
logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
|
(String) Format string to use for log messages when context is undefined. |
logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
|
(String) Prefix each line of exception output with this format. |
logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s
|
(String) Defines the format string for %(user_identity)s that is used in logging_context_format_string. |
publish_errors = False
|
(Boolean) Enables or disables publication of error events. |
syslog_log_facility = LOG_USER
|
(String) Syslog facility to receive log lines. This option is ignored if log_config_append is set. |
use_stderr = True
|
(Boolean) Log output to standard error. This option is ignored if log_config_append is set. |
use_syslog = False
|
(Boolean) 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. |
verbose = True
|
(Boolean) DEPRECATED: If set to false, the logging level will be set to WARNING instead of the default INFO level. |
| Configuration option = Default value | Description |
|---|---|
| [oslo_middleware] | |
max_request_body_size = 114688
|
(IntOpt) The maximum body size for each request, in bytes. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
max_events_per_stack = 1000
|
(Integer) Maximum events that will be available per stack. Older events will be deleted when this is reached. Set to 0 for unlimited events per stack. |
max_nested_stack_depth = 5
|
(Integer) Maximum depth allowed when using nested stacks. |
max_resources_per_stack = 1000
|
(Integer) Maximum resources allowed per top-level stack. -1 stands for unlimited. |
max_stacks_per_tenant = 100
|
(Integer) Maximum number of stacks any one tenant may have active at one time. |
max_template_size = 524288
|
(Integer) Maximum raw byte size of any template. |
| Configuration option = Default value | Description |
|---|---|
[matchmaker_redis]
|
|
check_timeout = 20000
|
(Integer) Time in ms to wait before the transaction is killed. |
host = 127.0.0.1
|
(String) Host to locate redis. |
password =
|
(String) Password for Redis server (optional). |
port = 6379
|
(Port number) Use this port to connect to redis host. |
sentinel_group_name = oslo-messaging-zeromq
|
(String) Redis replica set name. |
sentinel_hosts =
|
(List) List of Redis Sentinel hosts (fault tolerance mode) e.g. [host:port, host1:port ... ] |
socket_timeout = 1000
|
(Integer) Timeout in ms on blocking socket operations |
wait_timeout = 500
|
(Integer) Time in ms to wait between connection attempts. |
| Configuration option = Default value | Description |
|---|---|
[profiler]
|
|
enabled = False
|
(Boolean) Enables the profiling for all services on this node. Default value is False (fully disable the profiling feature). Possible values: * True: Enables the feature * False: Disables the feature. The profiling cannot be started via this project operations. If the profiling is triggered by another project, this project part will be empty. |
hmac_keys = SECRET_KEY
|
(String) 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. |
trace_sqlalchemy = False
|
(Boolean) Enables SQL requests profiling in services. Default value is False (SQL requests won't be traced). Possible values: * True: Enables SQL requests profiling. Each SQL query will be part of the trace and can the be analyzed by how much time was spent for that. * False: Disables SQL requests profiling. The spent time is only shown on a higher level of operations. Single SQL queries cannot be analyzed this way. |
| Configuration option = Default value | Description |
|---|---|
[trustee]
|
|
auth_plugin = None
|
(String) Name of the plugin to load |
auth_section = None
|
(String) Config Section from which to load plugin specific options |
11.1. Configure APIs Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
action_retry_limit = 5
|
(Integer) Number of times to retry to bring a resource to a non-error state. Set to 0 to disable retries. |
enable_stack_abandon = False
|
(Boolean) Enable the preview Stack Abandon feature. |
enable_stack_adopt = False
|
(Boolean) Enable the preview Stack Adopt feature. |
encrypt_parameters_and_properties = False
|
(Boolean) Encrypt template parameters that were marked as hidden and also all the resource properties before storing them in database. |
heat_metadata_server_url = None
|
(String) URL of the Heat metadata server. NOTE: Setting this is only needed if you require instances to use a different endpoint than in the keystone catalog |
heat_stack_user_role = heat_stack_user
|
(String) Keystone role for heat template-defined users. |
heat_waitcondition_server_url = None
|
(String) URL of the Heat waitcondition server. |
heat_watch_server_url =
|
(String) URL of the Heat CloudWatch server. |
hidden_stack_tags = data-processing-cluster
|
(List) Stacks containing these tag names will be hidden. Multiple tags should be given in a comma-delimited list (eg. hidden_stack_tags=hide_me,me_too). |
max_json_body_size = 1048576
|
(Integer) Maximum raw byte size of JSON request body. Should be larger than max_template_size. |
num_engine_workers = None
|
(Integer) Number of heat-engine processes to fork and run. |
observe_on_update = False
|
(Boolean) On update, enables heat to collect existing resource properties from reality and converge to updated template. |
stack_action_timeout = 3600
|
(Integer) Timeout in seconds for stack action (ie. create or update). |
stack_domain_admin = None
|
(String) Keystone username, a user with roles sufficient to manage users and projects in the stack_user_domain. |
stack_domain_admin_password = None
|
(String) Keystone password for stack_domain_admin user. |
stack_scheduler_hints = False
|
(Boolean) When this feature is enabled, scheduler hints identifying the heat stack context of a server or volume resource are passed to the configured schedulers in nova and cinder, for creates done using heat resource types OS::Cinder::Volume, OS::Nova::Server, and AWS::EC2::Instance. heat_root_stack_id will be set to the id of the root stack of the resource, heat_stack_id will be set to the id of the resource's parent stack, heat_stack_name will be set to the name of the resource's parent stack, heat_path_in_stack will be set to a list of tuples, (stackresourcename, stackname) with list[0] being (None, rootstackname), heat_resource_name will be set to the resource's name, and heat_resource_uuid will be set to the resource's orchestration id. |
stack_user_domain_id = None
|
(String) Keystone domain ID which contains heat template-defined users. If this option is set, stack_user_domain_name option will be ignored. |
stack_user_domain_name = None
|
(String) Keystone domain name which contains heat template-defined users. If `stack_user_domain_id` option is set, this option is ignored. |
stale_token_duration = 30
|
(Integer) Gap, in seconds, to determine whether the given token is about to expire. |
trusts_delegated_roles =
|
(List) Subset of trustor roles to be delegated to heat. If left unset, all roles of a user will be delegated to heat when creating a stack. |
[auth_password]
|
|
allowed_auth_uris =
|
(List) Allowed keystone endpoints for auth_uri when multi_cloud is enabled. At least one endpoint needs to be specified. |
multi_cloud = False
|
(Boolean) Allow orchestration of multiple clouds. |
[ec2authtoken]
|
|
allowed_auth_uris =
|
(List) Allowed keystone endpoints for auth_uri when multi_cloud is enabled. At least one endpoint needs to be specified. |
auth_uri = None
|
(String) Authentication Endpoint URI. |
ca_file = None
|
(String) Optional CA cert file to use in SSL connections. |
cert_file = None
|
(String) Optional PEM-formatted certificate chain file. |
insecure = False
|
(Boolean) If set, then the server's certificate will not be verified. |
key_file = None
|
(String) Optional PEM-formatted file that contains the private key. |
multi_cloud = False
|
(Boolean) Allow orchestration of multiple clouds. |
[eventlet_opts]
|
|
client_socket_timeout = 900
|
(Integer) Timeout for client connections' socket operations. If an incoming connection is idle for this number of seconds it will be closed. A value of '0' means wait forever. |
wsgi_keep_alive = True
|
(Boolean) If False, closes the client socket connection explicitly. |
[heat_api]
|
|
backlog = 4096
|
(Integer) Number of backlog requests to configure the socket with. |
bind_host = 0.0.0.0
|
(Unknown) Address to bind the server. Useful when selecting a particular network interface. |
bind_port = 8004
|
(Port number) The port on which the server will listen. |
cert_file = None
|
(String) Location of the SSL certificate file to use for SSL mode. |
key_file = None
|
(String) Location of the SSL key file to use for enabling SSL mode. |
max_header_line = 16384
|
(Integer) Maximum line size of message headers to be accepted. max_header_line may need to be increased when using large tokens (typically those generated by the Keystone v3 API with big service catalogs). |
tcp_keepidle = 600
|
(Integer) The value for the socket option TCP_KEEPIDLE. This is the time in seconds that the connection must be idle before TCP starts sending keepalive probes. |
workers = 0
|
(Integer) Number of workers for Heat service. Default value 0 means, that service will start number of workers equal number of cores on server. |
[oslo_middleware]
|
|
max_request_body_size = 114688
|
(Integer) The maximum body size for each request, in bytes. |
secure_proxy_ssl_header = X-Forwarded-Proto
|
(String) DEPRECATED: The HTTP Header that will be used to determine what the original request protocol scheme was, even if it was hidden by an SSL termination proxy. |
[oslo_policy]
|
|
policy_default_rule = default
|
(String) Default rule. Enforced when a requested rule is not found. |
policy_dirs = ['policy.d']
|
(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. |
policy_file = policy.json
|
(String) The JSON file that defines policies. |
[oslo_versionedobjects]
|
|
fatal_exception_format_errors = False
|
(Boolean) Make exception message format errors fatal |
[paste_deploy]
|
|
api_paste_config = api-paste.ini
|
(String) The API paste config file to use. |
flavor = None
|
(String) The flavor to use. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
instance_connection_https_validate_certificates = 1
|
(String) Instance connection to CFN/CW API validate certs if SSL is used. |
instance_connection_is_secure = 0
|
(String) Instance connection to CFN/CW API via https. |
[heat_api_cfn]
|
|
backlog = 4096
|
(Integer) Number of backlog requests to configure the socket with. |
bind_host = 0.0.0.0
|
(Unknown) Address to bind the server. Useful when selecting a particular network interface. |
bind_port = 8000
|
(Port number) The port on which the server will listen. |
cert_file = None
|
(String) Location of the SSL certificate file to use for SSL mode. |
key_file = None
|
(String) Location of the SSL key file to use for enabling SSL mode. |
max_header_line = 16384
|
(Integer) Maximum line size of message headers to be accepted. max_header_line may need to be increased when using large tokens (typically those generated by the Keystone v3 API with big service catalogs). |
tcp_keepidle = 600
|
(Integer) The value for the socket option TCP_KEEPIDLE. This is the time in seconds that the connection must be idle before TCP starts sending keepalive probes. |
workers = 1
|
(Integer) Number of workers for Heat service. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
enable_cloud_watch_lite = False
|
(Boolean) Enable the legacy OS::Heat::CWLiteAlarm resource. |
heat_watch_server_url =
|
(String) URL of the Heat CloudWatch server. |
[heat_api_cloudwatch]
|
|
backlog = 4096
|
(Integer) Number of backlog requests to configure the socket with. |
bind_host = 0.0.0.0
|
(Unknown) Address to bind the server. Useful when selecting a particular network interface. |
bind_port = 8003
|
(Port number) The port on which the server will listen. |
cert_file = None
|
(String) Location of the SSL certificate file to use for SSL mode. |
key_file = None
|
(String) Location of the SSL key file to use for enabling SSL mode. |
max_header_line = 16384
|
(Integer) Maximum line size of message headers to be accepted. max_header_line may need to be increased when using large tokens (typically those generated by the Keystone v3 API with big service catalogs.) |
tcp_keepidle = 600
|
(Integer) The value for the socket option TCP_KEEPIDLE. This is the time in seconds that the connection must be idle before TCP starts sending keepalive probes. |
workers = 1
|
(Integer) Number of workers for Heat service. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
heat_metadata_server_url = None
|
(String) URL of the Heat metadata server. NOTE: Setting this is only needed if you require instances to use a different endpoint than in the keystone catalog |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
heat_waitcondition_server_url = None
|
(String) URL of the Heat waitcondition server. |
11.2. Configure Clients Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
region_name_for_services = None
|
(String) Default region name used to get services endpoints. |
[clients]
|
|
ca_file = None
|
(String) Optional CA cert file to use in SSL connections. |
cert_file = None
|
(String) Optional PEM-formatted certificate chain file. |
endpoint_type = publicURL
|
(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service. |
insecure = False
|
(Boolean) If set, then the server's certificate will not be verified. |
key_file = None
|
(String) Optional PEM-formatted file that contains the private key. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
cloud_backend = heat.engine.clients.OpenStackClients
|
(String) Fully qualified class name to use as a client backend. |
| Configuration option = Default value | Description |
|---|---|
[clients_ceilometer]
|
|
ca_file = None
|
(String) Optional CA cert file to use in SSL connections. |
cert_file = None
|
(String) Optional PEM-formatted certificate chain file. |
endpoint_type = None
|
(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service. |
insecure = None
|
(Boolean) If set, then the server's certificate will not be verified. |
key_file = None
|
(String) Optional PEM-formatted file that contains the private key. |
| Configuration option = Default value | Description |
|---|---|
[clients_cinder]
|
|
ca_file = None
|
(String) Optional CA cert file to use in SSL connections. |
cert_file = None
|
(String) Optional PEM-formatted certificate chain file. |
endpoint_type = None
|
(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service. |
http_log_debug = False
|
(Boolean) Allow client's debug log output. |
insecure = None
|
(Boolean) If set, then the server's certificate will not be verified. |
key_file = None
|
(String) Optional PEM-formatted file that contains the private key. |
| Configuration option = Default value | Description |
|---|---|
[clients_glance]
|
|
ca_file = None
|
(String) Optional CA cert file to use in SSL connections. |
cert_file = None
|
(String) Optional PEM-formatted certificate chain file. |
endpoint_type = None
|
(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service. |
insecure = None
|
(Boolean) If set, then the server's certificate will not be verified. |
key_file = None
|
(String) Optional PEM-formatted file that contains the private key. |
| Configuration option = Default value | Description |
|---|---|
[clients_heat]
|
|
ca_file = None
|
(String) Optional CA cert file to use in SSL connections. |
cert_file = None
|
(String) Optional PEM-formatted certificate chain file. |
endpoint_type = None
|
(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service. |
insecure = None
|
(Boolean) If set, then the server's certificate will not be verified. |
key_file = None
|
(String) Optional PEM-formatted file that contains the private key. |
url =
|
(String) Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s. |
| Configuration option = Default value | Description |
|---|---|
[clients_keystone]
|
|
auth_uri =
|
(String) Unversioned keystone url in format like http://0.0.0.0:5000. |
ca_file = None
|
(String) Optional CA cert file to use in SSL connections. |
cert_file = None
|
(String) Optional PEM-formatted certificate chain file. |
endpoint_type = None
|
(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service. |
insecure = None
|
(Boolean) If set, then the server's certificate will not be verified. |
key_file = None
|
(String) Optional PEM-formatted file that contains the private key. |
| Configuration option = Default value | Description |
|---|---|
[clients_neutron]
|
|
ca_file = None
|
(String) Optional CA cert file to use in SSL connections. |
cert_file = None
|
(String) Optional PEM-formatted certificate chain file. |
endpoint_type = None
|
(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service. |
insecure = None
|
(Boolean) If set, then the server's certificate will not be verified. |
key_file = None
|
(String) Optional PEM-formatted file that contains the private key. |
| Configuration option = Default value | Description |
|---|---|
[clients_nova]
|
|
ca_file = None
|
(String) Optional CA cert file to use in SSL connections. |
cert_file = None
|
(String) Optional PEM-formatted certificate chain file. |
endpoint_type = None
|
(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service. |
http_log_debug = False
|
(Boolean) Allow client's debug log output. |
insecure = None
|
(Boolean) If set, then the server's certificate will not be verified. |
key_file = None
|
(String) Optional PEM-formatted file that contains the private key. |
| Configuration option = Default value | Description |
|---|---|
[clients_sahara]
|
|
ca_file = None
|
(String) Optional CA cert file to use in SSL connections. |
cert_file = None
|
(String) Optional PEM-formatted certificate chain file. |
endpoint_type = None
|
(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service. |
insecure = None
|
(Boolean) If set, then the server's certificate will not be verified. |
key_file = None
|
(String) Optional PEM-formatted file that contains the private key. |
| Configuration option = Default value | Description |
|---|---|
[clients_swift]
|
|
ca_file = None
|
(String) Optional CA cert file to use in SSL connections. |
cert_file = None
|
(String) Optional PEM-formatted certificate chain file. |
endpoint_type = None
|
(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service. |
insecure = None
|
(Boolean) If set, then the server's certificate will not be verified. |
key_file = None
|
(String) Optional PEM-formatted file that contains the private key. |
| Configuration option = Default value | Description |
|---|---|
[clients_trove]
|
|
ca_file = None
|
(String) Optional CA cert file to use in SSL connections. |
cert_file = None
|
(String) Optional PEM-formatted certificate chain file. |
endpoint_type = None
|
(String) Type of endpoint in Identity service catalog to use for communication with the OpenStack service. |
insecure = None
|
(Boolean) If set, then the server's certificate will not be verified. |
key_file = None
|
(String) Optional PEM-formatted file that contains the private key. |
11.3. Configure the RPC messaging system Copier lienLien copié sur presse-papiers!
11.3.1. Configure RabbitMQ Copier lienLien copié sur presse-papiers!
rpc_backend option is optional as long as RabbitMQ is the default messaging system. However, if it is included in the configuration, you must set it to heat.openstack.common.rpc.impl_kombu.
rpc_backend = heat.openstack.common.rpc.impl_kombu
rpc_backend = heat.openstack.common.rpc.impl_kombu
notification_driver option to heat.openstack.common.notifier.rpc_notifier in the heat.conf file:
| Configuration option = Default value | Description |
|---|---|
[oslo_messaging_rabbit]
|
|
amqp_auto_delete = False
|
(Boolean) Auto-delete queues in AMQP. |
amqp_durable_queues = False
|
(Boolean) Use durable queues in AMQP. |
channel_max = None
|
(Integer) Maximum number of channels to allow |
default_notification_exchange = ${control_exchange}_notification
|
(String) Exchange name for for sending notifications |
default_notification_retry_attempts = -1
|
(Integer) Reconnecting retry count in case of connectivity problem during sending notification, -1 means infinite retry. |
default_rpc_exchange = ${control_exchange}_rpc
|
(String) Exchange name for sending RPC messages |
default_rpc_retry_attempts = -1
|
(Integer) Reconnecting retry count in case of connectivity problem during sending RPC message, -1 means infinite retry. If actual retry attempts in not 0 the rpc request could be processed more then one time |
fake_rabbit = False
|
(Boolean) Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake |
frame_max = None
|
(Integer) The maximum byte size for an AMQP frame |
heartbeat_interval = 1
|
(Integer) How often to send heartbeats for consumer's connections |
heartbeat_rate = 2
|
(Integer) How often times during the heartbeat_timeout_threshold we check the heartbeat. |
heartbeat_timeout_threshold = 60
|
(Integer) Number of seconds after which the Rabbit broker is considered down if heartbeat's keep-alive fails (0 disable the heartbeat). EXPERIMENTAL |
host_connection_reconnect_delay = 0.25
|
(Floating point) Set delay for reconnection to some host which has connection error |
kombu_compression = None
|
(String) EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not be used. This option may notbe available in future versions. |
kombu_failover_strategy = round-robin
|
(String) 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. |
kombu_missing_consumer_retry_timeout = 60
|
(Integer) How long to wait a missing client beforce abandoning to send it its replies. This value should not be longer than rpc_response_timeout. |
kombu_reconnect_delay = 1.0
|
(Floating point) How long to wait before reconnecting in response to an AMQP consumer cancel notification. |
kombu_ssl_ca_certs =
|
(String) SSL certification authority file (valid only if SSL enabled). |
kombu_ssl_certfile =
|
(String) SSL cert file (valid only if SSL enabled). |
kombu_ssl_keyfile =
|
(String) SSL key file (valid only if SSL enabled). |
kombu_ssl_version =
|
(String) 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. |
notification_listener_prefetch_count = 100
|
(Integer) Max number of not acknowledged message which RabbitMQ can send to notification listener. |
notification_persistence = False
|
(Boolean) Persist notification messages. |
notification_retry_delay = 0.25
|
(Floating point) Reconnecting retry delay in case of connectivity problem during sending notification message |
pool_max_overflow = 0
|
(Integer) Maximum number of connections to create above `pool_max_size`. |
pool_max_size = 10
|
(Integer) Maximum number of connections to keep queued. |
pool_recycle = 600
|
(Integer) Lifetime of a connection (since creation) in seconds or None for no recycling. Expired connections are closed on acquire. |
pool_stale = 60
|
(Integer) Threshold at which inactive (since release) connections are considered stale in seconds or None for no staleness. Stale connections are closed on acquire. |
pool_timeout = 30
|
(Integer) Default number of seconds to wait for a connections to available |
rabbit_ha_queues = False
|
(Boolean) 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"}' " |
rabbit_host = localhost
|
(String) The RabbitMQ broker address where a single node is used. |
rabbit_hosts = $rabbit_host:$rabbit_port
|
(List) RabbitMQ HA cluster host:port pairs. |
rabbit_interval_max = 30
|
(Integer) Maximum interval of RabbitMQ connection retries. Default is 30 seconds. |
rabbit_login_method = AMQPLAIN
|
(String) The RabbitMQ login method. |
rabbit_max_retries = 0
|
(Integer) Maximum number of RabbitMQ connection retries. Default is 0 (infinite retry count). |
rabbit_password = guest
|
(String) The RabbitMQ password. |
rabbit_port = 5672
|
(Port number) The RabbitMQ broker port where a single node is used. |
rabbit_qos_prefetch_count = 0
|
(Integer) Specifies the number of messages to prefetch. Setting to zero allows unlimited messages. |
rabbit_retry_backoff = 2
|
(Integer) How long to backoff for between retries when connecting to RabbitMQ. |
rabbit_retry_interval = 1
|
(Integer) How frequently to retry connecting with RabbitMQ. |
rabbit_transient_queues_ttl = 1800
|
(Integer) 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. |
rabbit_use_ssl = False
|
(Boolean) Connect over SSL for RabbitMQ. |
rabbit_userid = guest
|
(String) The RabbitMQ userid. |
rabbit_virtual_host = /
|
(String) The RabbitMQ virtual host. |
rpc_listener_prefetch_count = 100
|
(Integer) Max number of not acknowledged message which RabbitMQ can send to rpc listener. |
rpc_queue_expiration = 60
|
(Integer) Time to live for rpc queues without consumers in seconds. |
rpc_reply_exchange = ${control_exchange}_rpc_reply
|
(String) Exchange name for receiving RPC replies |
rpc_reply_listener_prefetch_count = 100
|
(Integer) Max number of not acknowledged message which RabbitMQ can send to rpc reply listener. |
rpc_reply_retry_attempts = -1
|
(Integer) Reconnecting retry count in case of connectivity problem during sending reply. -1 means infinite retry during rpc_timeout |
rpc_reply_retry_delay = 0.25
|
(Floating point) Reconnecting retry delay in case of connectivity problem during sending reply. |
rpc_retry_delay = 0.25
|
(Floating point) Reconnecting retry delay in case of connectivity problem during sending RPC message |
socket_timeout = 0.25
|
(Floating point) Set socket timeout in seconds for connection's socket |
ssl = None
|
(Boolean) Enable SSL |
ssl_options = None
|
(Dict) Arguments passed to ssl.wrap_socket |
tcp_user_timeout = 0.25
|
(Floating point) Set TCP_USER_TIMEOUT in seconds for connection's socket |
11.3.2. Configure Qpid Copier lienLien copié sur presse-papiers!
rpc_backend option in the heat.conf file:
rpc_backend=heat.openstack.common.rpc.impl_qpid
rpc_backend=heat.openstack.common.rpc.impl_qpid
qpid_hostname option to the host name where the broker runs in the heat.conf file.
qpid_hostname option accepts a host name or IP address value.
qpid_hostname = hostname.example.com
qpid_hostname = hostname.example.com
5672, you must set the qpid_port option to that value:
qpid_port = 12345
qpid_port = 12345
qpid_username = username qpid_password = password
qpid_username = username
qpid_password = password
qpid_protocol option:
qpid_protocol = ssl
qpid_protocol = ssl
| Configuration option = Default value | Description |
|---|---|
| [oslo_messaging_qpid] | |
amqp_auto_delete = False
|
(BoolOpt) Auto-delete queues in AMQP. |
amqp_durable_queues = False
|
(BoolOpt) Use durable queues in AMQP. |
qpid_heartbeat = 60
|
(IntOpt) Seconds between connection keepalive heartbeats. |
qpid_hostname = localhost
|
(StrOpt) Qpid broker hostname. |
qpid_hosts = $qpid_hostname:$qpid_port
|
(ListOpt) Qpid HA cluster host:port pairs. |
qpid_password =
|
(StrOpt) Password for Qpid connection. |
qpid_port = 5672
|
(IntOpt) Qpid broker port. |
qpid_protocol = tcp
|
(StrOpt) Transport to use, either 'tcp' or 'ssl'. |
qpid_receiver_capacity = 1
|
(IntOpt) The number of prefetched messages held by receiver. |
qpid_sasl_mechanisms =
|
(StrOpt) Space separated list of SASL mechanisms to use for auth. |
qpid_tcp_nodelay = True
|
(BoolOpt) Whether to disable the Nagle algorithm. |
qpid_topology_version = 1
|
(IntOpt) The qpid topology version to use. Version 1 is what was originally used by impl_qpid. Version 2 includes some backwards-incompatible changes that allow broker federation to work. Users should update to version 2 when they are able to take everything down, as it requires a clean break. |
qpid_username =
|
(StrOpt) Username for Qpid connection. |
rpc_conn_pool_size = 30
|
(IntOpt) Size of RPC connection pool. |
11.3.3. Configure messaging Copier lienLien copié sur presse-papiers!
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
control_exchange = openstack
|
(String) The default exchange under which topics are scoped. May be overridden by an exchange name specified in the transport_url option. |
default_notification_level = INFO
|
(String) Default notification level for outgoing notifications. |
default_publisher_id = None
|
(String) Default publisher_id for outgoing notifications. |
transport_url = None
|
(String) A URL representing the messaging driver to use and its full configuration. If not set, we fall back to the rpc_backend option and driver specific configuration. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
engine_life_check_timeout = 2
|
(Integer) RPC timeout for the engine liveness check that is used for stack locking. |
rpc_backend = rabbit
|
(String) The messaging driver to use, defaults to rabbit. Other drivers include amqp and zmq. |
rpc_cast_timeout = -1
|
(Integer) Seconds to wait before a cast expires (TTL). The default value of -1 specifies an infinite linger period. The value of 0 specifies no linger period. Pending messages shall be discarded immediately when the socket is closed. Only supported by impl_zmq. |
rpc_conn_pool_size = 30
|
(Integer) Size of RPC connection pool. |
rpc_poll_timeout = 1
|
(Integer) The default number of seconds that poll should wait. Poll raises timeout exception when timeout expired. |
rpc_response_timeout = 60
|
(Integer) Seconds to wait for a response from a call. |
[oslo_concurrency]
|
|
disable_process_locking = False
|
(Boolean) Enables or disables inter-process locks. |
lock_path = None
|
(String) 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. |
[oslo_messaging_amqp]
|
|
allow_insecure_clients = False
|
(Boolean) Accept clients using either SSL or plain TCP |
broadcast_prefix = broadcast
|
(String) address prefix used when broadcasting to all servers |
container_name = None
|
(String) Name for the AMQP container |
group_request_prefix = unicast
|
(String) address prefix when sending to any server in group |
idle_timeout = 0
|
(Integer) Timeout for inactive connections (in seconds) |
password =
|
(String) Password for message broker authentication |
sasl_config_dir =
|
(String) Path to directory that contains the SASL configuration |
sasl_config_name =
|
(String) Name of configuration file (without .conf suffix) |
sasl_mechanisms =
|
(String) Space separated list of acceptable SASL mechanisms |
server_request_prefix = exclusive
|
(String) address prefix used when sending to a specific server |
ssl_ca_file =
|
(String) CA certificate PEM file to verify server certificate |
ssl_cert_file =
|
(String) Identifying certificate PEM file to present to clients |
ssl_key_file =
|
(String) Private key PEM file used to sign cert_file certificate |
ssl_key_password = None
|
(String) Password for decrypting ssl_key_file (if encrypted) |
trace = False
|
(Boolean) Debug: dump AMQP frames to stdout |
username =
|
(String) User name for message broker authentication |
[oslo_messaging_notifications]
|
|
driver = []
|
(Multi-valued) The Drivers(s) to handle sending notifications. Possible values are messaging, messagingv2, routing, log, test, noop |
topics = notifications
|
(List) AMQP topic used for OpenStack notifications. |
transport_url = None
|
(String) A URL representing the messaging driver to use for notifications. If not set, we fall back to the same configuration used for RPC. |
| Configuration option = Default value | Description |
|---|---|
[DEFAULT]
|
|
onready = None
|
(String) Deprecated. |
11.4. Orchestration Log Files Copier lienLien copié sur presse-papiers!
/var/log/heat/ directory of the host on which each service runs.
| Configuration option = Default value | Description |
|---|---|
heat-api.log
|
Orchestration service API Service |
heat-engine.log
|
Orchestration service Engine Service |
heat-manage.log
|
Orchestration service events |
11.5. New, updated, and deprecated options in Mitaka for Orchestration service Copier lienLien copié sur presse-papiers!
Chapter 12. Telemetry Copier lienLien copié sur presse-papiers!
/etc/ceilometer/ceilometer.conf file.
yum install -y mongodb-server openstack-ceilometer-* python-ceilometer python-ceilometerclient
# yum install -y mongodb-server openstack-ceilometer-* python-ceilometer python-ceilometerclient
| Configuration option = Default value | Description |
|---|---|
| [alarm] | |
evaluation_interval = 60
|
(IntOpt) Period of evaluation cycle, should be >= than configured pipeline interval for collection of underlying metrics. |
evaluation_service = default
|
(StrOpt) Driver to use for alarm evaluation service. DEPRECATED: "singleton" and "partitioned" alarm evaluator services will be removed in Kilo in favour of the default alarm evaluation service using tooz for partitioning. |
notifier_rpc_topic = alarm_notifier
|
(StrOpt) The topic that ceilometer uses for alarm notifier messages. |
partition_rpc_topic = alarm_partition_coordination
|
(StrOpt) The topic that ceilometer uses for alarm partition coordination messages. DEPRECATED: RPC-based partitionedalarm evaluation service will be removed in Kilo in favour of the default alarm evaluation service using tooz for partitioning. |
project_alarm_quota = None
|
(IntOpt) Maximum number of alarms defined for a project. |
record_history = True
|
(BoolOpt) Record alarm change events. |
rest_notifier_certificate_file =
|
(StrOpt) SSL Client certificate for REST notifier. |
rest_notifier_certificate_key =
|
(StrOpt) SSL Client private key for REST notifier. |
rest_notifier_max_retries = 0
|
(IntOpt) Number of retries for REST notifier |
rest_notifier_ssl_verify = True
|
(BoolOpt) Whether to verify the SSL Server certificate when calling alarm action. |
user_alarm_quota = None
|
(IntOpt) Maximum number of alarms defined for a user. |
| Configuration option = Default value | Description |
|---|---|
| [alarms] | |
gnocchi_url = http://localhost:8041
|
(StrOpt) URL to Gnocchi. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
control_exchange = openstack
|
(StrOpt) The default exchange under which topics are scoped. May be overridden by an exchange name specified in the transport_url option. |
notification_driver = []
|
(MultiStrOpt) Driver or drivers to handle sending notifications. |
notification_topics = notifications
|
(ListOpt) AMQP topic used for OpenStack notifications. |
transport_url = None
|
(StrOpt) A URL representing the messaging driver to use and its full configuration. If not set, fall back to the rpc_backend option and driver specific configuration. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
api_paste_config = api_paste.ini
|
(StrOpt) Configuration file for WSGI definition of API. |
api_workers = 1
|
(IntOpt) Number of workers for Ceilometer API server. |
event_pipeline_cfg_file = event_pipeline.yaml
|
(StrOpt) Configuration file for event pipeline definition. |
pipeline_cfg_file = pipeline.yaml
|
(StrOpt) Configuration file for pipeline definition. |
reserved_metadata_keys =
|
(ListOpt) List of metadata keys reserved for metering use. And these keys are additional to the ones included in the namespace. |
reserved_metadata_length = 256
|
(IntOpt) Limit on length of reserved metadata values. |
reserved_metadata_namespace = metering.
|
(ListOpt) List of metadata prefixes reserved for metering use. |
| [api] | |
host = 0.0.0.0
|
(StrOpt) The listen IP for the ceilometer API server. |
pecan_debug = False
|
(BoolOpt) Toggle Pecan Debug Middleware. |
port = 8777
|
(IntOpt) The port for the ceilometer API server. |
| Configuration option = Default value | Description |
|---|---|
| [service_credentials] | |
insecure = False
|
(BoolOpt) Disables X.509 certificate validation when an SSL connection to Identity Service is established. |
os_auth_url = http://localhost:5000/v2.0
|
(StrOpt) Auth URL to use for OpenStack service access. |
os_cacert = None
|
(StrOpt) Certificate chain for SSL validation. |
os_endpoint_type = publicURL
|
(StrOpt) Type of endpoint in Identity service catalog to use for communication with OpenStack services. |
os_password = admin
|
(StrOpt) Password to use for OpenStack service access. |
os_region_name = None
|
(StrOpt) Region name to use for OpenStack service endpoints. |
os_tenant_id =
|
(StrOpt) Tenant ID to use for OpenStack service access. |
os_tenant_name = admin
|
(StrOpt) Tenant name to use for OpenStack service access. |
os_username = ceilometer
|
(StrOpt) User name to use for OpenStack service access. |
| Configuration option = Default value | Description |
|---|---|
| [keystone_authtoken] | |
admin_password = None
|
(StrOpt) Service user password. |
admin_tenant_name = admin
|
(StrOpt) Service tenant name. |
admin_token = None
|
(StrOpt) This option is deprecated and may be removed in a future release. Single shared secret with the Keystone configuration used for bootstrapping a Keystone installation, or otherwise bypassing the normal authentication process. This option should not be used, use `admin_user` and `admin_password` instead. |
admin_user = None
|
(StrOpt) Service username. |
auth_admin_prefix =
|
(StrOpt) Prefix to prepend at the beginning of the path. Deprecated, use identity_uri. |
auth_host = 127.0.0.1
|
(StrOpt) Host providing the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_plugin = None
|
(StrOpt) Name of the plugin to load |
auth_port = 35357
|
(IntOpt) Port of the admin Identity API endpoint. Deprecated, use identity_uri. |
auth_protocol = https
|
(StrOpt) Protocol of the admin Identity API endpoint (http or https). Deprecated, use identity_uri. |
auth_section = None
|
(StrOpt) Config Section from which to load plugin specific options |
auth_uri = None
|
(StrOpt) Complete public Identity API endpoint. |
auth_version = None
|
(StrOpt) API version of the admin Identity API endpoint. |
cache = None
|
(StrOpt) Env key for the swift cache. |
cafile = None
|
(StrOpt) A PEM encoded Certificate Authority to use when verifying HTTPs connections. Defaults to system CAs. |
certfile = None
|
(StrOpt) Required if identity server requires client certificate |
check_revocations_for_cached = False
|
(BoolOpt) If true, the revocation list will be checked for cached tokens. This requires that PKI tokens are configured on the identity server. |
delay_auth_decision = False
|
(BoolOpt) Do not handle authorization requests within the middleware, but delegate the authorization decision to downstream WSGI components. |
enforce_token_bind = permissive
|
(StrOpt) 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. |
hash_algorithms = md5
|
(ListOpt) Hash algorithms to use for hashing PKI tokens. This may be a single algorithm or multiple. The algorithms are those supported by Python standard hashlib.new(). The hashes will be tried in the order given, so put the preferred one first for performance. The result of the first hash will be stored in the cache. This will typically be set to multiple values only while migrating from a less secure algorithm to a more secure one. Once all the old tokens are expired this option should be set to a single value for better performance. |
http_connect_timeout = None
|
(IntOpt) Request timeout value for communicating with Identity API server. |
http_request_max_retries = 3
|
(IntOpt) How many times to try to reconnect when communicating with Identity API Server. |
identity_uri = None
|
(StrOpt) Complete admin Identity API endpoint. This should specify the unversioned root endpoint e.g. https://localhost:35357/ |
include_service_catalog = True
|
(BoolOpt) (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. |
insecure = False
|
(BoolOpt) Verify HTTPS connections. |
keyfile = None
|
(StrOpt) Required if identity server requires client certificate |
memcache_pool_conn_get_timeout = 10
|
(IntOpt) (Optional) Number of seconds that an operation will wait to get a memcache client connection from the pool. |
memcache_pool_dead_retry = 300
|
(IntOpt) (Optional) Number of seconds memcached server is considered dead before it is tried again. |
memcache_pool_maxsize = 10
|
(IntOpt) (Optional) Maximum total number of open connections to every memcached server. |
memcache_pool_socket_timeout = 3
|
(IntOpt) (Optional) Socket timeout in seconds for communicating with a memcache server. |
memcache_pool_unused_timeout = 60
|
(IntOpt) (Optional) Number of seconds a connection to memcached is held unused in the pool before it is closed. |
memcache_secret_key = None
|
(StrOpt) (Optional, mandatory if memcache_security_strategy is defined) This string is used for key derivation. |
memcache_security_strategy = None
|
(StrOpt) (Optional) If defined, indicate whether token data should be authenticated or authenticated and encrypted. Acceptable values are MAC or ENCRYPT. 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. |
memcache_use_advanced_pool = False
|
(BoolOpt) (Optional) Use the advanced (eventlet safe) memcache client pool. The advanced pool will only work under python 2.x. |
revocation_cache_time = 10
|
(IntOpt) Determines the frequency at which the list of revoked tokens is retrieved from the Identity service (in seconds). A high number of revocation events combined with a low cache duration may significantly reduce performance. |
signing_dir = None
|
(StrOpt) Directory used to cache files related to PKI tokens. |
token_cache_time = 300
|
(IntOpt) 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. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
collector_workers = 1
|
(IntOpt) Number of workers for collector service. A single collector is enabled by default. |
| [collector] | |
requeue_event_on_dispatcher_error = False
|
(BoolOpt) Requeue the event on the collector event queue when the collector fails to dispatch it. |
requeue_sample_on_dispatcher_error = False
|
(BoolOpt) Requeue the sample on the collector sample queue when the collector fails to dispatch it. This is only valid if the sample come from the notifier publisher. |
udp_address = 0.0.0.0
|
(StrOpt) Address to which the UDP socket is bound. Set to an empty string to disable. |
udp_port = 4952
|
(IntOpt) Port to which the UDP socket is bound. |
| [dispatcher_file] | |
backup_count = 0
|
(IntOpt) The max number of the files to keep. |
file_path = None
|
(StrOpt) Name and the location of the file to record meters. |
max_bytes = 0
|
(IntOpt) The max size of the file. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
host = localhost
|
(StrOpt) Name of this node, which must be valid in an AMQP key. Can be an opaque identifier. |
http_timeout = 600
|
(IntOpt) Timeout seconds for HTTP requests. Set it to None to disable timeout. |
memcached_servers = None
|
(ListOpt) Memcached servers or None for in process cache. |
notification_workers = 1
|
(IntOpt) Number of workers for notification service. A single notification agent is enabled by default. |
polling_namespaces = ['compute', 'central']
|
(MultiChoicesOpt) Polling namespace(s) to be used while resource polling |
pollster_list = []
|
(MultiChoicesOpt) List of pollsters (or wildcard templates) to be used while polling |
rootwrap_config = /etc/ceilometer/rootwrap.conf
|
(StrOpt) Path to the rootwrap configuration file touse for running commands as root |
shuffle_time_before_polling_task = 0
|
(IntOpt) To reduce large requests at same time to Nova or other components from different compute agents, shuffle start time of polling task. |
sql_expire_samples_only = False
|
(BoolOpt) Indicates if expirer expires only samples. If set true, expired samples will be deleted, but residual resource and meter definition data will remain. |
| [compute] | |
workload_partitioning = False
|
(BoolOpt) Enable work-load partitioning, allowing multiple compute agents to be run simultaneously. |
| [coordination] | |
backend_url = None
|
(StrOpt) The backend URL to use for distributed coordination. If left empty, per-deployment central agent and per-host compute agent will not do workload partitioning and will only function correctly if a single instance of that service is running. |
check_watchers = 10.0
|
(FloatOpt) Number of seconds between checks to see if group membership has changed |
heartbeat = 1.0
|
(FloatOpt) Number of seconds between heartbeats for distributed coordination. |
| [keystone_authtoken] | |
memcached_servers = None
|
(ListOpt) Optionally specify a list of memcached server(s) to use for caching. If left undefined, tokens will instead be cached in-process. |
| [polling] | |
partitioning_group_prefix = None
|
(StrOpt) Work-load partitioning group prefix. Use only if you want to run multiple polling agents with different config files. For each sub-group of the agent pool with the same partitioning_group_prefix a disjoint subset of pollsters should be loaded. |
| Configuration option = Default value | Description |
|---|---|
| [oslo_concurrency] | |
disable_process_locking = False
|
(BoolOpt) Enables or disables inter-process locks. |
lock_path = None
|
(StrOpt) 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. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
database_connection = None
|
(StrOpt) DEPRECATED - Database connection string. |
| [database] | |
alarm_connection = None
|
(StrOpt) The connection string used to connect to the alarm database. (if unset, connection is used) |
backend = sqlalchemy
|
(StrOpt) The back end to use for the database. |
connection = None
|
(StrOpt) The SQLAlchemy connection string to use to connect to the database. |
connection_debug = 0
|
(IntOpt) Verbosity of SQL debugging information: 0=None, 100=Everything. |
connection_trace = False
|
(BoolOpt) Add Python stack traces to SQL as comment strings. |
db2nosql_resource_id_maxlen = 512
|
(IntOpt) The max length of resources id in DB2 nosql, the value should be larger than len(hostname) * 2 as compute node's resource id is <hostname>_<nodename>. |
db_inc_retry_interval = True
|
(BoolOpt) If True, increases the interval between retries of a database operation up to db_max_retry_interval. |
db_max_retries = 20
|
(IntOpt) Maximum retries in case of connection error or deadlock error before error is raised. Set to -1 to specify an infinite retry count. |
db_max_retry_interval = 10
|
(IntOpt) If db_inc_retry_interval is set, the maximum seconds between retries of a database operation. |
db_retry_interval = 1
|
(IntOpt) Seconds between retries of a database transaction. |
event_connection = None
|
(StrOpt) The connection string used to connect to the event database. (if unset, connection is used) |
event_time_to_live = -1
|
(IntOpt) Number of seconds that events are kept in the database for (<= 0 means forever). |
idle_timeout = 3600
|
(IntOpt) Timeout before idle SQL connections are reaped. |
max_overflow = None
|
(IntOpt) If set, use this value for max_overflow with SQLAlchemy. |
max_pool_size = None
|
(IntOpt) Maximum number of SQL connections to keep open in a pool. |
max_retries = 10
|
(IntOpt) Maximum number of database connection retries during startup. Set to -1 to specify an infinite retry count. |
metering_connection = None
|
(StrOpt) The connection string used to connect to the metering database. (if unset, connection is used) |
metering_time_to_live = -1
|
(IntOpt) Number of seconds that samples are kept in the database for (<= 0 means forever). |
min_pool_size = 1
|
(IntOpt) Minimum number of SQL connections to keep open in a pool. |
mongodb_replica_set =
|
(StrOpt) The name of the replica set which is used to connect to MongoDB database. If it is set, MongoReplicaSetClient will be used instead of MongoClient. |
mysql_sql_mode = TRADITIONAL
|
(StrOpt) 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= |
pool_timeout = None
|
(IntOpt) If set, use this value for pool_timeout with SQLAlchemy. |
retry_interval = 10
|
(IntOpt) Interval between retries of opening a SQL connection. |
slave_connection = None
|
(StrOpt) The SQLAlchemy connection string to use to connect to the slave database. |
sqlite_db = oslo.sqlite
|
(StrOpt) The file name to use with SQLite. |
sqlite_synchronous = True
|
(BoolOpt) If True, SQLite uses synchronous mode. |
use_db_reconnect = False
|
(BoolOpt) Enable the experimental use of database reconnect on connection lost. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
backdoor_port = None
|
(StrOpt) 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. |
nova_http_log_debug = False
|
(BoolOpt) Allow novaclient's debug log output. |
| Configuration option = Default value | Description |
|---|---|
| [dispatcher_http] | |
cadf_only = False
|
(BoolOpt) The flag that indicates if only cadf message should be posted. If false, all meters will be posted. |
event_target = None
|
(StrOpt) The target for event data where the http request will be sent to. If this is not set, it will default to same as Sample target. |
target =
|
(StrOpt) The target where the http request will be sent. If this is not set, no data will be posted. For example: target = http://hostname:1234/path |
timeout = 5
|
(IntOpt) The max time in seconds to wait for a request to timeout. |
| Configuration option = Default value | Description |
|---|---|
| [event] | |
definitions_cfg_file = event_definitions.yaml
|
(StrOpt) Configuration file for event definitions. |
drop_unmatched_notifications = False
|
(BoolOpt) Drop notifications if no event definition matches. (Otherwise, they cannot be converted with only the default traits.) |
store_raw = []
|
(MultiStrOpt) Store the raw notification for select priority levels (info and/or error). By default, raw details are not captured. |
| [notification] | |
ack_on_event_error = True
|
(BoolOpt) Acknowledge message when event persistence fails. |
store_events = False
|
(BoolOpt) Save event details. |
workload_partitioning = False
|
(BoolOpt) Enable workload partitioning, allowing multiple notification agents to be run simultaneously. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
cinder_control_exchange = cinder
|
(StrOpt) Exchange name for Cinder notifications. |
glance_control_exchange = glance
|
(StrOpt) Exchange name for Glance notifications. |
heat_control_exchange = heat
|
(StrOpt) Exchange name for Heat notifications |
http_control_exchanges = ['nova', 'glance', 'neutron', 'cinder']
|
(MultiStrOpt) Exchanges name to listen for notifications. |
ironic_exchange = ironic
|
(StrOpt) Exchange name for Ironic notifications. |
keystone_control_exchange = keystone
|
(StrOpt) Exchange name for Keystone notifications. |
neutron_control_exchange = neutron
|
(StrOpt) Exchange name for Neutron notifications. |
nova_control_exchange = nova
|
(StrOpt) Exchange name for Nova notifications. |
sahara_control_exchange = sahara
|
(StrOpt) Exchange name for Data Processing notifications. |
sample_source = openstack
|
(StrOpt) Source for samples emitted on this instance. |
swift_control_exchange = swift
|
(StrOpt) Exchange name for Swift notifications. |
trove_control_exchange = trove
|
(StrOpt) Exchange name for DBaaS notifications. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
glance_page_size = 0
|
(IntOpt) Number of items to request in each paginated Glance API request (parameter used by glancecelient). If this is less than or equal to 0, page size is not specified (default value in glanceclient is used). |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
hypervisor_inspector = libvirt
|
(StrOpt) Inspector to use for inspecting the hypervisor layer. |
libvirt_type = kvm
|
(StrOpt) Libvirt domain type. |
libvirt_uri =
|
(StrOpt) Override the default libvirt URI (which is dependent on libvirt_type). |
| Configuration option = Default value | Description |
|---|---|
| [ipmi] | |
node_manager_init_retry = 3
|
(IntOpt) Number of retries upon Intel Node Manager initialization failure |
polling_retry = 3
|
(IntOpt) Tolerance of IPMI/NM polling failures before disable this pollster. Negative indicates retrying forever. |
| Configuration option = Default value | Description |
|---|---|
| [oslo_middleware] | |
max_request_body_size = 114688
|
(IntOpt) The maximum body size for each request, in bytes. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
debug = False
|
(BoolOpt) Print debugging output (set logging level to DEBUG instead of default WARNING level). |
default_log_levels = amqp=WARN, amqplib=WARN, boto=WARN, qpid=WARN, sqlalchemy=WARN, suds=INFO, oslo.messaging=INFO, iso8601=WARN, requests.packages.urllib3.connectionpool=WARN, urllib3.connectionpool=WARN, websocket=WARN, keystonemiddleware=WARN, routes.middleware=WARN, stevedore=WARN
|
(ListOpt) List of logger=LEVEL pairs. |
fatal_deprecations = False
|
(BoolOpt) Enables or disables fatal status of deprecations. |
instance_format = "[instance: %(uuid)s] "
|
(StrOpt) The format for an instance that is passed with the log message. |
instance_uuid_format = "[instance: %(uuid)s] "
|
(StrOpt) The format for an instance UUID that is passed with the log message. |
log_config_append = None
|
(StrOpt) 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. |
log_date_format = %Y-%m-%d %H:%M:%S
|
(StrOpt) Format string for %%(asctime)s in log records. Default: %(default)s . |
log_dir = None
|
(StrOpt) (Optional) The base directory used for relative --log-file paths. |
log_file = None
|
(StrOpt) (Optional) Name of log file to output to. If no default is set, logging will go to stdout. |
log_format = None
|
(StrOpt) DEPRECATED. A logging.Formatter log message format string which may use any of the available logging.LogRecord attributes. This option is deprecated. Use logging_context_format_string and logging_default_format_string instead. |
logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
|
(StrOpt) Format string to use for log messages with context. |
logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
|
(StrOpt) Data to append to log format when level is DEBUG. |
logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
|
(StrOpt) Format string to use for log messages without context. |
logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s
|
(StrOpt) Prefix each line of exception output with this format. |
publish_errors = False
|
(BoolOpt) Enables or disables publication of error events. |
syslog_log_facility = LOG_USER
|
(StrOpt) Syslog facility to receive log lines. |
use_stderr = True
|
(BoolOpt) Log output to standard error. |
use_syslog = False
|
(BoolOpt) Use syslog for logging. Existing syslog format is DEPRECATED during I, and will change in J to honor RFC5424. |
use_syslog_rfc_format = False
|
(BoolOpt) (Optional) Enables or disables syslog rfc5424 format for logging. If enabled, prefixes the MSG part of the syslog message with APP-NAME (RFC5424). The format without the APP-NAME is deprecated in I, and will be removed in J. |
verbose = False
|
(BoolOpt) Print more verbose output (set logging level to INFO instead of default WARNING level). |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
magnetodb_control_exchange = magnetodb
|
(StrOpt) Exchange name for Magnetodb notifications. |
| Configuration option = Default value | Description |
|---|---|
| [notification] | |
disable_non_metric_meters = False
|
(BoolOpt) WARNING: Ceilometer historically offered the ability to store events as meters. This usage is NOT advised as it can flood the metering database and cause performance degradation. This option disables the collection of non-metric meters and will be the default behavior in Liberty. |
| Configuration option = Default value | Description |
|---|---|
| [oslo_policy] | |
policy_default_rule = default
|
(StrOpt) Default rule. Enforced when a requested rule is not found. |
policy_dirs = ['policy.d']
|
(MultiStrOpt) 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. |
policy_file = policy.json
|
(StrOpt) The JSON file that defines policies. |
| Configuration option = Default value | Description |
|---|---|
| [oslo_messaging_qpid] | |
amqp_auto_delete = False
|
(BoolOpt) Auto-delete queues in AMQP. |
amqp_durable_queues = False
|
(BoolOpt) Use durable queues in AMQP. |
qpid_heartbeat = 60
|
(IntOpt) Seconds between connection keepalive heartbeats. |
qpid_hostname = localhost
|
(StrOpt) Qpid broker hostname. |
qpid_hosts = $qpid_hostname:$qpid_port
|
(ListOpt) Qpid HA cluster host:port pairs. |
qpid_password =
|
(StrOpt) Password for Qpid connection. |
qpid_port = 5672
|
(IntOpt) Qpid broker port. |
qpid_protocol = tcp
|
(StrOpt) Transport to use, either 'tcp' or 'ssl'. |
qpid_receiver_capacity = 1
|
(IntOpt) The number of prefetched messages held by receiver. |
qpid_sasl_mechanisms =
|
(StrOpt) Space separated list of SASL mechanisms to use for auth. |
qpid_tcp_nodelay = True
|
(BoolOpt) Whether to disable the Nagle algorithm. |
qpid_topology_version = 1
|
(IntOpt) The qpid topology version to use. Version 1 is what was originally used by impl_qpid. Version 2 includes some backwards-incompatible changes that allow broker federation to work. Users should update to version 2 when they are able to take everything down, as it requires a clean break. |
qpid_username =
|
(StrOpt) Username for Qpid connection. |
rpc_conn_pool_size = 30
|
(IntOpt) Size of RPC connection pool. |
| Configuration option = Default value | Description |
|---|---|
| [oslo_messaging_rabbit] | |
amqp_auto_delete = False
|
(BoolOpt) Auto-delete queues in AMQP. |
amqp_durable_queues = False
|
(BoolOpt) Use durable queues in AMQP. |
fake_rabbit = False
|
(BoolOpt) Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake |
heartbeat_rate = 2
|
(IntOpt) How often times during the heartbeat_timeout_threshold to check the heartbeat. |
heartbeat_timeout_threshold = 0
|
(IntOpt) Number of seconds after which the Rabbit broker is considered down if heartbeat's keep-alive fails (0 disables the heartbeat, >0 enables it. Enabling heartbeats requires kombu>=3.0.7 and amqp>=1.4.0). EXPERIMENTAL |
kombu_reconnect_delay = 1.0
|
(FloatOpt) How long to wait before reconnecting in response to an AMQP consumer cancel notification. |
kombu_ssl_ca_certs =
|
(StrOpt) SSL certification authority file (valid only if SSL enabled). |
kombu_ssl_certfile =
|
(StrOpt) SSL cert file (valid only if SSL enabled). |
kombu_ssl_keyfile =
|
(StrOpt) SSL key file (valid only if SSL enabled). |
kombu_ssl_version =
|
(StrOpt) SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 are also available. |
rabbit_ha_queues = False
|
(BoolOpt) Use HA queues in RabbitMQ (x-ha-policy: all). If you change this option, you must wipe the RabbitMQ database. |
rabbit_host = localhost
|
(StrOpt) The RabbitMQ broker address where a single node is used. |
rabbit_hosts = $rabbit_host:$rabbit_port
|
(ListOpt) RabbitMQ HA cluster host:port pairs. |
rabbit_login_method = AMQPLAIN
|
(StrOpt) The RabbitMQ login method. |
rabbit_max_retries = 0
|
(IntOpt) Maximum number of RabbitMQ connection retries. Default is 0 (infinite retry count). |
rabbit_password = guest
|
(StrOpt) The RabbitMQ password. |
rabbit_port = 5672
|
(IntOpt) The RabbitMQ broker port where a single node is used. |
rabbit_retry_backoff = 2
|
(IntOpt) How long to backoff for between retries when connecting to RabbitMQ. |
rabbit_retry_interval = 1
|
(IntOpt) How frequently to retry connecting with RabbitMQ. |
rabbit_use_ssl = False
|
(BoolOpt) Connect over SSL for RabbitMQ. |
rabbit_userid = guest
|
(StrOpt) The RabbitMQ userid. |
rabbit_virtual_host = /
|
(StrOpt) The RabbitMQ virtual host. |
rpc_conn_pool_size = 30
|
(IntOpt) Size of RPC connection pool. |
| Configuration option = Default value | Description |
|---|---|
| [matchmaker_redis] | |
host = 127.0.0.1
|
(StrOpt) Host to locate redis. |
password = None
|
(StrOpt) Password for Redis server (optional). |
port = 6379
|
(IntOpt) Use this port to connect to redis host. |
| [matchmaker_ring] | |
ringfile = /etc/oslo/matchmaker_ring.json
|
(StrOpt) Matchmaker ring file (JSON). |
| Configuration option = Default value | Description |
|---|---|
| [rgw_admin_credentials] | |
access_key = None
|
(StrOpt) Access key for Radosgw Admin. |
secret_key = None
|
(StrOpt) Secret key for Radosgw Admin. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
dispatcher = ['database']
|
(MultiStrOpt) Dispatcher to process data. |
matchmaker_heartbeat_freq = 300
|
(IntOpt) Heartbeat frequency. |
matchmaker_heartbeat_ttl = 600
|
(IntOpt) Heartbeat time-to-live. |
rpc_backend = rabbit
|
(StrOpt) The messaging driver to use, defaults to rabbit. Other drivers include qpid and zmq. |
rpc_cast_timeout = 30
|
(IntOpt) Seconds to wait before a cast expires (TTL). Only supported by impl_zmq. |
rpc_response_timeout = 60
|
(IntOpt) Seconds to wait for a response from a call. |
rpc_thread_pool_size = 64
|
(IntOpt) Size of RPC thread pool. |
| [notification] | |
messaging_urls = []
|
(MultiStrOpt) Messaging URLs to listen for notifications. Example: transport://user:pass@host1:port[,hostN:portN]/virtual_host (DEFAULT/transport_url is used if empty) |
| [oslo_messaging_amqp] | |
allow_insecure_clients = False
|
(BoolOpt) Accept clients using either SSL or plain TCP |
broadcast_prefix = broadcast
|
(StrOpt) address prefix used when broadcasting to all servers |
container_name = None
|
(StrOpt) Name for the AMQP container |
group_request_prefix = unicast
|
(StrOpt) address prefix when sending to any server in group |
idle_timeout = 0
|
(IntOpt) Timeout for inactive connections (in seconds) |
server_request_prefix = exclusive
|
(StrOpt) address prefix used when sending to a specific server |
ssl_ca_file =
|
(StrOpt) CA certificate PEM file for verifing server certificate |
ssl_cert_file =
|
(StrOpt) Identifying certificate PEM file to present to clients |
ssl_key_file =
|
(StrOpt) Private key PEM file used to sign cert_file certificate |
ssl_key_password = None
|
(StrOpt) Password for decrypting ssl_key_file (if encrypted) |
trace = False
|
(BoolOpt) Debug: dump AMQP frames to stdout |
| [publisher] | |
telemetry_secret = change this for valid signing
|
(StrOpt) Secret value for signing messages. Set value empty if signing is not required to avoid computational overhead. |
| [publisher_notifier] | |
event_topic = event
|
(StrOpt) The topic that ceilometer uses for event notifications. |
metering_topic = metering
|
(StrOpt) The topic that ceilometer uses for metering notifications. |
telemetry_driver = messagingv2
|
(StrOpt) The driver that ceilometer uses for metering notifications. |
| [publisher_rpc] | |
metering_topic = metering
|
(StrOpt) The topic that ceilometer uses for metering messages. |
| Configuration option = Default value | Description |
|---|---|
| [service_types] | |
glance = image
|
(StrOpt) Glance service type. |
kwapi = energy
|
(StrOpt) Kwapi service type. |
neutron = network
|
(StrOpt) Neutron service type. |
nova = compute
|
(StrOpt) Nova service type. |
radosgw = object-store
|
(StrOpt) Radosgw service type. |
swift = object-store
|
(StrOpt) Swift service type. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
reseller_prefix = AUTH_
|
(StrOpt) Swift reseller prefix. Must be on par with reseller_prefix in proxy-server.conf. |
| Configuration option = Default value | Description |
|---|---|
| [hardware] | |
readonly_user_name = ro_snmp_user
|
(StrOpt) SNMPd user name of all nodes running in the cloud. |
readonly_user_password = password
|
(StrOpt) SNMPd password of all the nodes running in the cloud. |
url_scheme = snmp://
|
(StrOpt) URL scheme to use for hardware nodes. |
| Configuration option = Default value | Description |
|---|---|
| [vmware] | |
api_retry_count = 10
|
(IntOpt) Number of times a VMware Vsphere API may be retried. |
host_ip =
|
(StrOpt) IP address of the VMware Vsphere host. |
host_password =
|
(StrOpt) Password of VMware Vsphere. |
host_port = 443
|
(IntOpt) Port of the VMware Vsphere host. |
host_username =
|
(StrOpt) Username of VMware Vsphere. |
task_poll_interval = 0.5
|
(FloatOpt) Sleep time in seconds for polling an ongoing async task. |
wsdl_location = None
|
(StrOpt) Optional vim service WSDL location e.g http://<server>/vimService.wsdl. Optional over-ride to default location for bug work-arounds. |
| Configuration option = Default value | Description |
|---|---|
| [xenapi] | |
connection_password = None
|
(StrOpt) Password for connection to XenServer/Xen Cloud Platform. |
connection_url = None
|
(StrOpt) URL for connection to XenServer/Xen Cloud Platform. |
connection_username = root
|
(StrOpt) Username for connection to XenServer/Xen Cloud Platform. |
login_timeout = 10
|
(IntOpt) Timeout in seconds for XenAPI login. |
| Configuration option = Default value | Description |
|---|---|
| [DEFAULT] | |
zaqar_control_exchange = zaqar
|
(StrOpt) Exchange name for Messaging service notifications. |
12.1. Telemetry sample configuration files Copier lienLien copié sur presse-papiers!
/etc/ceilometer/ directory.
12.1.1. ceilometer.conf Copier lienLien copié sur presse-papiers!
ceilometer.conf file.
12.1.2. event_definitions.yaml Copier lienLien copié sur presse-papiers!
event_definitions.yaml file defines how events received from other OpenStack components should be translated to Telemetry events.
12.1.3. pipeline.yaml Copier lienLien copié sur presse-papiers!
pipeline.yaml file.
12.1.4. event_pipeline.yaml Copier lienLien copié sur presse-papiers!
event_pipeline.yaml file.
12.1.5. policy.json Copier lienLien copié sur presse-papiers!
policy.json file defines additional access controls that apply to the Telemetry service.
12.2. New, updated and deprecated options in Kilo for Telemetry Copier lienLien copié sur presse-papiers!
| Option = default value | (Type) Help string |
| [DEFAULT] api_workers = 1 | (IntOpt) Number of workers for Ceilometer API server. |
| [DEFAULT] event_pipeline_cfg_file = event_pipeline.yaml | (StrOpt) Configuration file for event pipeline definition. |
| [DEFAULT] magnetodb_control_exchange = magnetodb | (StrOpt) Exchange name for Magnetodb notifications. |
| [DEFAULT] polling_namespaces = ['compute', 'central'] | (MultiChoicesOpt) Polling namespace(s) to be used while resource polling |
| [DEFAULT] pollster_list = [] | (MultiChoicesOpt) List of pollsters (or wildcard templates) to be used while polling |
| [DEFAULT] reserved_metadata_keys = | (ListOpt) List of metadata keys reserved for metering use. And these keys are additional to the ones included in the namespace. |
| [DEFAULT] shuffle_time_before_polling_task = 0 | (IntOpt) To reduce large requests at same time to Nova or other components from different compute agents, shuffle start time of polling task. |
| [DEFAULT] sql_expire_samples_only = False | (BoolOpt) Indicates if expirer expires only samples. If set true, expired samples will be deleted, but residual resource and meter definition data will remain. |
| [DEFAULT] swift_control_exchange = swift | (StrOpt) Exchange name for Swift notifications. |
| [DEFAULT] zaqar_control_exchange = zaqar | (StrOpt) Exchange name for Messaging service notifications. |
| [alarms] gnocchi_url = http://localhost:8041 | (StrOpt) URL to Gnocchi. |
| [collector] requeue_event_on_dispatcher_error = False | (BoolOpt) Requeue the event on the collector event queue when the collector fails to dispatch it. |
| [coordination] check_watchers = 10.0 | (FloatOpt) Number of seconds between checks to see if group membership has changed |
| [database] db2nosql_resource_id_maxlen = 512 | (IntOpt) The max length of resources id in DB2 nosql, the value should be larger than len(hostname) * 2 as compute node's resource id is <hostname>_<nodename>. |
| [database] event_connection = None | (StrOpt) The connection string used to connect to the event database. (if unset, connection is used) |
| [database] event_time_to_live = -1 | (IntOpt) Number of seconds that events are kept in the database for (<= 0 means forever). |
| [database] metering_time_to_live = -1 | (IntOpt) Number of seconds that samples are kept in the database for (<= 0 means forever). |
| [database] mongodb_replica_set = | (StrOpt) The name of the replica set which is used to connect to MongoDB database. If it is set, MongoReplicaSetClient will be used instead of MongoClient. |
| [dispatcher_http] cadf_only = False | (BoolOpt) The flag that indicates if only cadf message should be posted. If false, all meters will be posted. |
| [dispatcher_http] event_target = None | (StrOpt) The target for event data where the http request will be sent to. If this is not set, it will default to same as Sample target. |
| [dispatcher_http] target = | (StrOpt) The target where the http request will be sent. If this is not set, no data will be posted. For example: target = http://hostname:1234/path |
| [dispatcher_http] timeout = 5 | (IntOpt) The max time in seconds to wait for a request to timeout. |
| [event] store_raw = [] | (MultiStrOpt) Store the raw notification for select priority levels (info and/or error). By default, raw details are not captured. |
| [ipmi] polling_retry = 3 | (IntOpt) Tolerance of IPMI/NM polling failures before disable this pollster. Negative indicates retrying forever. |
| [notification] disable_non_metric_meters = False | (BoolOpt) WARNING: Ceilometer historically offered the ability to store events as meters. This usage is NOT advised as it can flood the metering database and cause performance degradation. This option disables the collection of non-metric meters and will be the default behavior in Liberty. |
| [notification] workload_partitioning = False | (BoolOpt) Enable workload partitioning, allowing multiple notification agents to be run simultaneously. |
| [oslo_concurrency] disable_process_locking = False | (BoolOpt) Enables or disables inter-process locks. |
| [oslo_concurrency] lock_path = None | (StrOpt) 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. |
| [oslo_messaging_amqp] allow_insecure_clients = False | (BoolOpt) Accept clients using either SSL or plain TCP |
| [oslo_messaging_amqp] broadcast_prefix = broadcast | (StrOpt) address prefix used when broadcasting to all servers |
| [oslo_messaging_amqp] container_name = None | (StrOpt) Name for the AMQP container |
| [oslo_messaging_amqp] group_request_prefix = unicast | (StrOpt) address prefix when sending to any server in group |
| [oslo_messaging_amqp] idle_timeout = 0 | (IntOpt) Timeout for inactive connections (in seconds) |
| [oslo_messaging_amqp] server_request_prefix = exclusive | (StrOpt) address prefix used when sending to a specific server |
| [oslo_messaging_amqp] ssl_ca_file = | (StrOpt) CA certificate PEM file for verifing server certificate |
| [oslo_messaging_amqp] ssl_cert_file = | (StrOpt) Identifying certificate PEM file to present to clients |
| [oslo_messaging_amqp] ssl_key_file = | (StrOpt) Private key PEM file used to sign cert_file certificate |
| [oslo_messaging_amqp] ssl_key_password = None | (StrOpt) Password for decrypting ssl_key_file (if encrypted) |
| [oslo_messaging_amqp] trace = False | (BoolOpt) Debug: dump AMQP frames to stdout |
| [oslo_messaging_qpid] amqp_auto_delete = False | (BoolOpt) Auto-delete queues in AMQP. |
| [oslo_messaging_qpid] amqp_durable_queues = False | (BoolOpt) Use durable queues in AMQP. |
| [oslo_messaging_qpid] qpid_heartbeat = 60 | (IntOpt) Seconds between connection keepalive heartbeats. |
| [oslo_messaging_qpid] qpid_hostname = localhost | (StrOpt) Qpid broker hostname. |
| [oslo_messaging_qpid] qpid_hosts = $qpid_hostname:$qpid_port | (ListOpt) Qpid HA cluster host:port pairs. |
| [oslo_messaging_qpid] qpid_password = | (StrOpt) Password for Qpid connection. |
| [oslo_messaging_qpid] qpid_port = 5672 | (IntOpt) Qpid broker port. |
| [oslo_messaging_qpid] qpid_protocol = tcp | (StrOpt) Transport to use, either 'tcp' or 'ssl'. |
| [oslo_messaging_qpid] qpid_receiver_capacity = 1 | (IntOpt) The number of prefetched messages held by receiver. |
| [oslo_messaging_qpid] qpid_sasl_mechanisms = | (StrOpt) Space separated list of SASL mechanisms to use for auth. |
| [oslo_messaging_qpid] qpid_tcp_nodelay = True | (BoolOpt) Whether to disable the Nagle algorithm. |
| [oslo_messaging_qpid] qpid_topology_version = 1 | (IntOpt) The qpid topology version to use. Version 1 is what was originally used by impl_qpid. Version 2 includes some backwards-incompatible changes that allow broker federation to work. Users should update to version 2 when they are able to take everything down, as it requires a clean break. |
| [oslo_messaging_qpid] qpid_username = | (StrOpt) Username for Qpid connection. |
| [oslo_messaging_qpid] rpc_conn_pool_size = 30 | (IntOpt) Size of RPC connection pool. |
| [oslo_messaging_rabbit] amqp_auto_delete = False | (BoolOpt) Auto-delete queues in AMQP. |
| [oslo_messaging_rabbit] amqp_durable_queues = False | (BoolOpt) Use durable queues in AMQP. |
| [oslo_messaging_rabbit] fake_rabbit = False | (BoolOpt) Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake |
| [oslo_messaging_rabbit] heartbeat_rate = 2 | (IntOpt) How often times during the heartbeat_timeout_threshold to check the heartbeat. |
| [oslo_messaging_rabbit] heartbeat_timeout_threshold = 0 | (IntOpt) Number of seconds after which the Rabbit broker is considered down if heartbeat's keep-alive fails (0 disables the heartbeat, >0 enables it. Enabling heartbeats requires kombu>=3.0.7 and amqp>=1.4.0). EXPERIMENTAL |
| [oslo_messaging_rabbit] kombu_reconnect_delay = 1.0 | (FloatOpt) How long to wait before reconnecting in response to an AMQP consumer cancel notification. |
| [oslo_messaging_rabbit] kombu_ssl_ca_certs = | (StrOpt) SSL certification authority file (valid only if SSL enabled). |
| [oslo_messaging_rabbit] kombu_ssl_certfile = | (StrOpt) SSL cert file (valid only if SSL enabled). |
| [oslo_messaging_rabbit] kombu_ssl_keyfile = | (StrOpt) SSL key file (valid only if SSL enabled). |
| [oslo_messaging_rabbit] kombu_ssl_version = | (StrOpt) SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 are also available. |
| [oslo_messaging_rabbit] rabbit_ha_queues = False | (BoolOpt) Use HA queues in RabbitMQ (x-ha-policy: all). If you change this option, you must wipe the RabbitMQ database. |
| [oslo_messaging_rabbit] rabbit_host = localhost | (StrOpt) The RabbitMQ broker address where a single node is used. |
| [oslo_messaging_rabbit] rabbit_hosts = $rabbit_host:$rabbit_port | (ListOpt) RabbitMQ HA cluster host:port pairs. |
| [oslo_messaging_rabbit] rabbit_login_method = AMQPLAIN | (StrOpt) The RabbitMQ login method. |
| [oslo_messaging_rabbit] rabbit_max_retries = 0 | (IntOpt) Maximum number of RabbitMQ connection retries. Default is 0 (infinite retry count). |
| [oslo_messaging_rabbit] rabbit_password = guest | (StrOpt) The RabbitMQ password. |
| [oslo_messaging_rabbit] rabbit_port = 5672 | (IntOpt) The RabbitMQ broker port where a single node is used. |
| [oslo_messaging_rabbit] rabbit_retry_backoff = 2 | (IntOpt) How long to backoff for between retries when connecting to RabbitMQ. |
| [oslo_messaging_rabbit] rabbit_retry_interval = 1 | (IntOpt) How frequently to retry connecting with RabbitMQ. |
| [oslo_messaging_rabbit] rabbit_use_ssl = False | (BoolOpt) Connect over SSL for RabbitMQ. |
| [oslo_messaging_rabbit] rabbit_userid = guest | (StrOpt) The RabbitMQ userid. |
| [oslo_messaging_rabbit] rabbit_virtual_host = / | (StrOpt) The RabbitMQ virtual host. |
| [oslo_messaging_rabbit] rpc_conn_pool_size = 30 | (IntOpt) Size of RPC connection pool. |
| [oslo_middleware] max_request_body_size = 114688 | (IntOpt) The maximum body size for each request, in bytes. |
| [oslo_policy] policy_default_rule = default | (StrOpt) Default rule. Enforced when a requested rule is not found. |
| [oslo_policy] policy_dirs = ['policy.d'] | (MultiStrOpt) 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. |
| [oslo_policy] policy_file = policy.json | (StrOpt) The JSON file that defines policies. |
| [polling] partitioning_group_prefix = None | (StrOpt) Work-load partitioning group prefix. Use only if you want to run multiple polling agents with different config files. For each sub-group of the agent pool with the same partitioning_group_prefix a disjoint subset of pollsters should be loaded. |
| [publisher] telemetry_secret = change this for valid signing | (StrOpt) Secret value for signing messages. Set value empty if signing is not required to avoid computational overhead. |
| [publisher_notifier] event_topic = event | (StrOpt) The topic that ceilometer uses for event notifications. |
| [publisher_notifier] telemetry_driver = messagingv2 | (StrOpt) The driver that ceilometer uses for metering notifications. |
| [rgw_admin_credentials] access_key = None | (StrOpt) Access key for Radosgw Admin. |
| [rgw_admin_credentials] secret_key = None | (StrOpt) Secret key for Radosgw Admin. |
| [service_types] radosgw = object-store | (StrOpt) Radosgw service type. |
| [vmware] host_port = 443 | (IntOpt) Port of the VMware Vsphere host. |
| Option | Previous default value | New default value |
| [DEFAULT] rpc_zmq_matchmaker | oslo.messaging._drivers.matchmaker.MatchMakerLocalhost | local |
| Deprecated option | New Option |
| [alarm] evaluation_service | None |
| [DEFAULT] log_format | None |
| [database] time_to_live | [database] metering_time_to_live |
| [DEFAULT] database_connection | None |
| [publisher] metering_secret | [publisher] telemetry_secret |
| [alarm] partition_rpc_topic | None |
| [DEFAULT] use_syslog | None |
Appendix A. The policy.json file Copier lienLien copié sur presse-papiers!
policy.json file.
policy.json are effective immediately, which allows new policies to be implemented while the service is running.
policy.json file is a text file in JSON (Javascript Object Notation) format. Each policy is defined by a one-line statement in the form "<target>" : "<rule>".
/etc/nova/policy.json, these APIs are represented by compute:get_all, volume:get_all and network:get_all, respectively.
policy.json files are found on blogs, modifying the policy can have unexpected side effects and is not encouraged.
A.1. Examples Copier lienLien copié sur presse-papiers!
"compute:get_all" : ""
"compute:get_all" : ""
"compute:get_all", the "list all instances" API of the Compute service. The rule is an empty string meaning "always". This policy allows anybody to list instances.
"compute:shelve": "!"
"compute:shelve": "!"
"role:admin". The following policy ensures that only administrators can create new users in the Identity database:
"identity:create_user" : "role:admin"
"identity:create_user" : "role:admin"
heat_stack_user. Whoever has this role isn't allowed to create stacks:
"stacks:create": "not role:heat_stack_user"
"stacks:create": "not role:heat_stack_user"
not. More complex rules can be built using operators and, or and parentheses.
"deny_stack_user": "not role:heat_stack_user"
"deny_stack_user": "not role:heat_stack_user"
"deny_stack_user" is not an API and consequently interprets it as an alias. The stack creation policy above can then be written as:
"stacks:create": "rule:deny_stack_user"
"stacks:create": "rule:deny_stack_user"
/etc/heat/policy.json.
"compute:start" : "user_id:%(user_id)s"
"compute:start" : "user_id:%(user_id)s"
user_id string before the colon is an API attribute, namely the user ID of the API user. It is compared with the user ID of the object (in this case, an instance); more precisely, it is compared with the user_id field of that object in the database. If the two values are equal, permission is granted.
/etc/keystone/policy.json makes this policy explicit:
"admin_required": "role:admin or is_admin:1", "owner" : "user_id:%(user_id)s", "admin_or_owner": "rule:admin_required or rule:owner", "identity:change_password": "rule:admin_or_owner"
"admin_required": "role:admin or is_admin:1",
"owner" : "user_id:%(user_id)s",
"admin_or_owner": "rule:admin_required or rule:owner",
"identity:change_password": "rule:admin_or_owner"
is_admin flag is only used when setting up the Identity service for the first time. It indicates that the user has admin privileges granted by the service token (--os-token parameter of the keystone command line client).
admin_or_owner, combining the two first aliases with the Boolean operator or.
"identity:ec2_delete_credential": "rule:admin_required or
(rule:owner and user_id:%(target.credential.user_id)s)"
"identity:ec2_delete_credential": "rule:admin_required or
(rule:owner and user_id:%(target.credential.user_id)s)"
admin_required and owner are the same aliases as in the previous example. user_id:%(target.credential.user_id)s compares the API user with the user ID of the credential object associated with the target.
A.2. Syntax Copier lienLien copié sur presse-papiers!
policy.json file consists of policies and aliases of the form target:rule or alias:definition, separated by commas and enclosed in curly braces:
"service:API" or simply "API". For example, "compute:create" or "add_image".
- always true. The action is always permitted. This can be written as
""(empty string),[], or"@". - always false. The action is never permitted. Written as
"!". - a special check
- a comparison of two values
- boolean expressions based on simpler rules
<role>:<role name>, a test whether the API credentials contain this role.<rule>:<rule name>, the definition of an alias.http:<target URL>, which delegates the check to a remote server. The API is authorized when the server returns True.
"value1 : value2"
"value1 : value2"
- constants: Strings, numbers,
true,false - API attributes
- target object attributes
- the flag
is_admin
project_id, user_id or domain_id.
"compute:start" API, the object is the instance to be started. The policy for starting instances could use the %(project_id)sattribute, that is the project that owns the instance. The trailing s indicates this is a string.
is_admin indicates that administrative privileges are granted via the admin token mechanism (the --os-token option of the keystone command). The admin token allows initialisation of the identity database before the admin role exists.
alias name : alias definition
alias name : alias definition
rule keyword to use it in a policy rule.
A.3. Older syntax Copier lienLien copié sur presse-papiers!
policy.json files that feature a different syntax, where JavaScript arrays are used instead of boolean operators. For example, the EC2 credentials rule above would have been written as follows:
"identity:ec2_delete_credential": [ [ "rule:admin_required ],
[ "rule:owner", "user_id:%(target.credential.user_id)s)" ] ]
"identity:ec2_delete_credential": [ [ "rule:admin_required ],
[ "rule:owner", "user_id:%(target.credential.user_id)s)" ] ]
Appendix B. Firewalls and default ports Copier lienLien copié sur presse-papiers!
| OpenStack service | Default ports | Port type |
|---|---|---|
Block Storage (cinder)
|
8776 | publicurl and adminurl |
Compute (nova) endpoints
|
8774 | publicurl and adminurl |
Compute API (nova-api)
|
8773, 8775 | |
| Compute ports for access to virtual machine consoles | 5900-5999 | |
Compute VNC proxy for browsers ( openstack-nova-novncproxy)
|
6080 | |
Compute VNC proxy for traditional VNC clients (openstack-nova-xvpvncproxy)
|
6081 | |
| Proxy port for HTML5 console used by Compute service | 6082 | |
Data processing service (sahara) endpoint
|
8386 | publicurl and adminurl |
Identity service (keystone) administrative endpoint
|
35357 | adminurl |
| Identity service public endpoint | 5000 | publicurl |
Image service (glance) API
|
9292 | publicurl and adminurl |
| Image service registry | 9191 | |
Networking (neutron)
|
9696 | publicurl and adminurl |
Object Storage (swift)
|
6000, 6001, 6002 | |
Orchestration (heat) endpoint
|
8004 | publicurl and adminurl |
Orchestration AWS CloudFormation-compatible API (openstack-heat-api-cfn)
|
8000 | |
Orchestration AWS CloudWatch-compatible API (openstack-heat-api-cloudwatch)
|
8003 | |
Telemetry (ceilometer)
|
8777 | publicurl and adminurl |
| Service | Default port | Used by |
|---|---|---|
| HTTP | 80 |
OpenStack dashboard (Horizon) when it is not configured to use secure access.
|
| HTTP alternate | 8080 |
OpenStack Object Storage (swift) service.
|
| HTTPS | 443 | Any OpenStack service that is enabled for SSL, especially secure-access dashboard. |
| rsync | 873 | OpenStack Object Storage. Required. |
| iSCSI target | 3260 | OpenStack Block Storage. Required. |
| MySQL database service | 3306 | Most OpenStack components. |
| Message Broker (AMQP traffic) | 5672 | OpenStack Block Storage, Networking, Orchestration, and Compute. |
sysctl -a | grep ip_local_port_range
$ sysctl -a | grep ip_local_port_range
lsof -i :PORT
$ lsof -i :PORT