Database service

Database service

The Database service provides a scalable and reliable Cloud Database-as-a-Service functionality for both relational and non-relational database engines.

The following tables provide a comprehensive list of the Database service configuration options.

Description of API configuration options
Configuration option = Default value Description
[DEFAULT]  
admin_roles = admin (List) Roles to add to an admin user.
api_paste_config = api-paste.ini (String) File name for the paste.deploy config for trove-api.
bind_host = 0.0.0.0 (IP) IP address the API server will listen on.
bind_port = 8779 (Port number) Port the API server will listen on.
black_list_regex = None (String) Exclude IP addresses that match this regular expression.
db_api_implementation = trove.db.sqlalchemy.api (String) API Implementation for Trove database access.
hostname_require_valid_ip = True (Boolean) Require user hostnames to be valid IP addresses.
http_delete_rate = 200 (Integer) Maximum number of HTTP ‘DELETE’ requests (per minute).
http_get_rate = 200 (Integer) Maximum number of HTTP ‘GET’ requests (per minute).
http_mgmt_post_rate = 200 (Integer) Maximum number of management HTTP ‘POST’ requests (per minute).
http_post_rate = 200 (Integer) Maximum number of HTTP ‘POST’ requests (per minute).
http_put_rate = 200 (Integer) Maximum number of HTTP ‘PUT’ requests (per minute).
injected_config_location = /etc/trove/conf.d (String) Path to folder on the Guest where config files will be injected during instance creation.
instances_page_size = 20 (Integer) Page size for listing instances.
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).
os_region_name = RegionOne (String) Region name of this node. Used when searching catalog.
region = LOCAL_DEV (String) The region this service is located.
tcp_keepidle = 600 (Integer) Sets the value of TCP_KEEPIDLE in seconds for each server socket. Not supported on OS X.
trove_api_workers = None (Integer) 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 (URI) Trove authentication URL.
trove_conductor_workers = None (Integer) Number of workers for the Conductor service. The default will be the number of CPUs available.
trove_security_group_name_prefix = SecGroup (String) Prefix to use when creating Security Groups.
trove_security_group_rule_cidr = 0.0.0.0/0 (String) CIDR to use when creating Security Group Rules.
trove_security_groups_support = True (Boolean) Whether Trove should add Security Groups on create.
users_page_size = 20 (Integer) Page size for listing users.
[oslo_middleware]  
enable_proxy_headers_parsing = False (Boolean) Whether the application is behind a proxy or not. This determines if the middleware should parse the headers or not.
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 a SSL termination proxy.
Description of backup configuration options
Configuration option = Default value Description
[DEFAULT]  
backup_aes_cbc_key = default_aes_cbc_key (String) Default OpenSSL aes_cbc key.
backup_chunk_size = 65536 (Integer) 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 (String) Runner to use for backups.
backup_runner_options = {} (Dict) Additional options to be passed to the backup runner.
backup_segment_max_size = 2147483648 (Integer) Maximum size (in bytes) of each segment of the backup file.
backup_swift_container = database_backups (String) Swift container to put backups in.
backup_use_gzip_compression = True (Boolean) Compress backups using gzip.
backup_use_openssl_encryption = True (Boolean) Encrypt backups using OpenSSL.
backup_use_snet = False (Boolean) Send backup files over snet.
backups_page_size = 20 (Integer) Page size for listing backups.
Description of clients configuration options
Configuration option = Default value Description
[DEFAULT]  
remote_cinder_client = trove.common.remote.cinder_client (String) Client to send Cinder calls to.
remote_dns_client = trove.common.remote.dns_client (String) Client to send DNS calls to.
remote_guest_client = trove.common.remote.guest_client (String) Client to send Guest Agent calls to.
remote_heat_client = trove.common.remote.heat_client (String) Client to send Heat calls to.
remote_neutron_client = trove.common.remote.neutron_client (String) Client to send Neutron calls to.
remote_nova_client = trove.common.remote.nova_client (String) Client to send Nova calls to.
remote_swift_client = trove.common.remote.swift_client (String) Client to send Swift calls to.
Description of cluster configuration options
Configuration option = Default value Description
[DEFAULT]  
cluster_delete_time_out = 180 (Integer) Maximum time (in seconds) to wait for a cluster delete.
cluster_usage_timeout = 36000 (Integer) Maximum time (in seconds) to wait for a cluster to become active.
clusters_page_size = 20 (Integer) Page size for listing clusters.
Description of common configuration options
Configuration option = Default value Description
[DEFAULT]  
configurations_page_size = 20 (Integer) Page size for listing configurations.
databases_page_size = 20 (Integer) Page size for listing databases.
default_datastore = None (String) 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 = (List) List of IDs for management networks which should be attached to the instance regardless of what NICs are specified in the create API call.
executor_thread_pool_size = 64 (Integer) Size of executor thread pool.
expected_filetype_suffixes = json (List) Filetype endings not to be reattached to an ID by the utils method correct_id_with_req.
format_options = -m 5 (String) Options to use when formatting a volume.
host = 0.0.0.0 (IP) Host to listen for RPC messages.
module_aes_cbc_key = module_aes_cbc_key (String) OpenSSL aes_cbc key for module encryption.
module_types = ping, new_relic_license (List) A list of module types supported. A module type corresponds to the name of a ModuleDriver.
modules_page_size = 20 (Integer) Page size for listing modules.
network_label_regex = ^private$ (String) Regular expression to match Trove network labels.
notification_service_id = {'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'} (Dict) Unique ID to tag notification events.
num_tries = 3 (Integer) Number of times to check if a volume exists.
pybasedir = /usr/lib/python/site-packages/trove/trove (String) Directory where the Trove python module is installed.
pydev_path = None (String) Set path to pydevd library, used if pydevd is not found in python sys.path.
quota_notification_interval = 3600 (Integer) Seconds to wait between pushing events.
report_interval = 30 (Integer) The interval (in seconds) which periodic tasks are run.
sql_query_logging = False (Boolean) Allow insecure logging while executing queries through SQLAlchemy.
taskmanager_queue = taskmanager (String) Message queue name the Taskmanager will listen to.
template_path = /etc/trove/templates/ (String) Path which leads to datastore templates.
timeout_wait_for_service = 120 (Integer) Maximum time (in seconds) to wait for a service to become alive.
usage_timeout = 1800 (Integer) Maximum time (in seconds) to wait for a Guest to become active.
Description of Compute configuration options
Configuration option = Default value Description
[DEFAULT]  
ip_regex = None (String) List IP addresses that match this regular expression.
nova_client_version = 2.12 (String) The version of the compute service client.
nova_compute_endpoint_type = publicURL (String) Service endpoint type to use when searching catalog.
nova_compute_service_type = compute (String) Service type to use when searching catalog.
nova_compute_url = None (URI) URL without the tenant segment.
root_grant = ALL (List) Permissions to grant to the ‘root’ user.
root_grant_option = True (Boolean) Assign the ‘root’ user GRANT permissions.
Description of logging configuration options
Configuration option = Default value Description
[DEFAULT]  
backlog = 4096 (Integer) Number of backlog requests to configure the socket with
pydev_debug = disabled (String) 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 (String) Pydev debug server host (localhost by default).
pydev_debug_port = 5678 (Port number) Pydev debug server port (5678 by default).
[profiler]  
connection_string = messaging://

(String) Connection string for a notifier backend. Default value is messaging:// which sets the notifier to oslo_messaging.

Examples of possible values:

  • messaging://: use oslo_messaging driver for sending notifications.
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.
Description of DNS configuration options
Configuration option = Default value Description
[DEFAULT]  
dns_account_id = (String) Tenant ID for DNSaaS.
dns_auth_url = http://0.0.0.0 (URI) Authentication URL for DNSaaS.
dns_domain_id = (String) Domain ID used for adding DNS entries.
dns_domain_name = (String) Domain name used for adding DNS entries.
dns_driver = trove.dns.driver.DnsDriver (String) Driver for DNSaaS.
dns_endpoint_url = http://0.0.0.0 (URI) Endpoint URL for DNSaaS.
dns_hostname = localhost (Hostname) Hostname used for adding DNS entries.
dns_instance_entry_factory = trove.dns.driver.DnsInstanceEntryFactory (String) Factory for adding DNS entries.
dns_management_base_url = http://0.0.0.0 (URI) Management URL for DNSaaS.
dns_passkey = (String) Passkey for DNSaaS.
dns_region = (String) Region name for DNSaaS.
dns_service_type = (String) Service Type for DNSaaS.
dns_time_out = 120 (Integer) Maximum time (in seconds) to wait for a DNS entry add.
dns_ttl = 300 (Integer) Time (in seconds) before a refresh of DNS information occurs.
dns_username = (String) Username for DNSaaS.
trove_dns_support = False (Boolean) Whether Trove should add DNS entries on create (using Designate DNSaaS).
Description of guest agent configuration options
Configuration option = Default value Description
[DEFAULT]  
agent_call_high_timeout = 600 (Integer) Maximum time (in seconds) to wait for Guest Agent ‘slow’ requests (such as restarting the database).
agent_call_low_timeout = 15 (Integer) Maximum time (in seconds) to wait for Guest Agent ‘quick’requests (such as retrieving a list of users or databases).
agent_heartbeat_expiry = 60 (Integer) Time (in seconds) after which a guest is considered unreachable
agent_heartbeat_time = 10 (Integer) Maximum time (in seconds) for the Guest Agent to reply to a heartbeat request.
agent_replication_snapshot_timeout = 36000 (Integer) Maximum time (in seconds) to wait for taking a Guest Agent replication snapshot.
guest_config = /etc/trove/trove-guestagent.conf (String) Path to the Guest Agent config file to be injected during instance creation.
guest_id = None (String) ID of the Guest Instance.
guest_info = guest_info.conf (String) 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
guest_log_container_name = database_logs (String) Name of container that stores guest log components.
guest_log_expiry = 2592000 (Integer) Expiry (in seconds) of objects in guest log container.
guest_log_limit = 1000000 (Integer) Maximum size of a chunk saved in guest log container.
mount_options = defaults,noatime (String) Options to use when mounting a volume.
storage_namespace = trove.common.strategies.storage.swift (String) Namespace to load the default storage strategy from.
storage_strategy = SwiftStorage (String) Default strategy to store backups.
usage_sleep_time = 5 (Integer) Time to sleep during the check for an active Guest.
Description of Orchestration module configuration options
Configuration option = Default value Description
[DEFAULT]  
heat_endpoint_type = publicURL (String) Service endpoint type to use when searching catalog.
heat_service_type = orchestration (String) Service type to use when searching catalog.
heat_time_out = 60 (Integer) Maximum time (in seconds) to wait for a Heat request to complete.
heat_url = None (URI) URL without the tenant segment.
Description of network configuration options
Configuration option = Default value Description
[DEFAULT]  
network_driver = trove.network.nova.NovaNetwork (String) Describes the actual network manager used for the management of network attributes (security groups, floating IPs, etc.).
neutron_endpoint_type = publicURL (String) Service endpoint type to use when searching catalog.
neutron_service_type = network (String) Service type to use when searching catalog.
neutron_url = None (URI) URL without the tenant segment.
Description of nova configuration options
Configuration option = Default value Description
[DEFAULT]  
nova_proxy_admin_pass = (String) Admin password used to connect to Nova.
nova_proxy_admin_tenant_id = (String) Admin tenant ID used to connect to Nova.
nova_proxy_admin_tenant_name = (String) Admin tenant name used to connect to Nova.
nova_proxy_admin_user = (String) Admin username used to connect to Nova.
Description of quota configuration options
Configuration option = Default value Description
[DEFAULT]  
max_accepted_volume_size = 10 (Integer) Default maximum volume size (in GB) for an instance.
max_backups_per_tenant = 50 (Integer) Default maximum number of backups created by a tenant.
max_instances_per_tenant = 10 (Integer) Default maximum number of instances per tenant.
max_volumes_per_tenant = 40 (Integer) Default maximum volume capacity (in GB) spanning across all Trove volumes per tenant.
quota_driver = trove.quota.quota.DbQuotaDriver (String) Default driver to use for quota checks.
Description of Redis configuration options
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) DEPRECATED: Host to locate redis. Replaced by [DEFAULT]/transport_url
password = (String) DEPRECATED: Password for Redis server (optional). Replaced by [DEFAULT]/transport_url
port = 6379 (Port number) DEPRECATED: Use this port to connect to redis host. Replaced by [DEFAULT]/transport_url
sentinel_group_name = oslo-messaging-zeromq (String) Redis replica set name.
sentinel_hosts = (List) DEPRECATED: List of Redis Sentinel hosts (fault tolerance mode) e.g. [host:port, host1:port ... ] Replaced by [DEFAULT]/transport_url
socket_timeout = 10000 (Integer) Timeout in ms on blocking socket operations
wait_timeout = 2000 (Integer) Time in ms to wait between connection attempts.
Description of swift configuration options
Configuration option = Default value Description
[DEFAULT]  
swift_endpoint_type = publicURL (String) Service endpoint type to use when searching catalog.
swift_service_type = object-store (String) Service type to use when searching catalog.
swift_url = None (URI) URL ending in AUTH_.
Description of taskmanager configuration options
Configuration option = Default value Description
[DEFAULT]  
cloudinit_location = /etc/trove/cloudinit (String) Path to folder with cloudinit scripts.
datastore_manager = None (String) Manager class in the Guest Agent, set up by the Taskmanager on instance provision.
datastore_registry_ext = {} (Dict) Extension for default datastore managers. Allows the use of custom managers for each of the datastores supported by Trove.
exists_notification_interval = 3600 (Integer) Seconds to wait between pushing events.
exists_notification_transformer = None (String) Transformer for exists notifications.
reboot_time_out = 120 (Integer) Maximum time (in seconds) to wait for a server reboot.
resize_time_out = 900 (Integer) Maximum time (in seconds) to wait for a server resize.
restore_usage_timeout = 36000 (Integer) Maximum time (in seconds) to wait for a Guest instance restored from a backup to become active.
revert_time_out = 600 (Integer) Maximum time (in seconds) to wait for a server resize revert.
server_delete_time_out = 60 (Integer) Maximum time (in seconds) to wait for a server delete.
state_change_poll_time = 3 (Integer) Interval between state change poll requests (seconds).
state_change_wait_time = 600 (Integer) Maximum time (in seconds) to wait for a state change.
update_status_on_fail = True (Boolean) 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 (Integer) Time to sleep during the check for an active Guest.
use_heat = False (Boolean) Use Heat for provisioning.
use_nova_server_config_drive = True (Boolean) Use config drive for file injection when booting instance.
use_nova_server_volume = False (Boolean) Whether to provision a Cinder volume for the Nova instance.
verify_swift_checksum_on_restore = True (Boolean) Enable verification of Swift checksum before starting restore. Makes sure the checksum of original backup matches the checksum of the Swift backup file.
Description of upgrades configuration options
Configuration option = Default value Description
[upgrade_levels]  
conductor = icehouse (String) Set a version cap for messages sent to conductor services
guestagent = icehouse (String) Set a version cap for messages sent to guestagent services
taskmanager = icehouse (String) Set a version cap for messages sent to taskmanager services
Description of volume configuration options
Configuration option = Default value Description
[DEFAULT]  
block_device_mapping = vdb (String) Block device to map onto the created instance.
cinder_endpoint_type = publicURL (String) Service endpoint type to use when searching catalog.
cinder_service_type = volumev2 (String) Service type to use when searching catalog.
cinder_url = None (URI) URL without the tenant segment.
cinder_volume_type = None (String) Volume type to use when provisioning a Cinder volume.
device_path = /dev/vdb (String) Device path for volume if volume support is enabled.
trove_volume_support = True (Boolean) Whether to provision a Cinder volume for datadir.
volume_format_timeout = 120 (Integer) Maximum time (in seconds) to wait for a volume format.
volume_fstype = ext3 (String) File system type used to format a volume.
volume_time_out = 60 (Integer) Maximum time (in seconds) to wait for a volume attach.
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.