From 17ce2cd1fe6da6ba163b3637e6a949d77caabcf4 Mon Sep 17 00:00:00 2001 From: Chhavi Agarwal Date: Wed, 25 Jan 2017 13:39:57 -0600 Subject: [PATCH] Adding the trove-guestagent.conf Updating the trove-post-install to generate the trove-guestagent.conf during the os_trove deployment. Closes-Bug: #1658694 Change-Id: I4d8ac1b40d36b188718a02b89a1ea70fb89e7111 --- defaults/main.yml | 1 + tasks/trove_post_install.yml | 4 + templates/trove-guestagent.conf.j2 | 135 +++++++++++------------------ 3 files changed, 56 insertions(+), 84 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index fe25e35..e37321f 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -160,4 +160,5 @@ trove_config_overrides: {} trove_api_paste_ini_overrides: {} trove_conductor_config_overrides: {} trove_taskmanager_config_overrides: {} +trove_guestagent_config_overrides: {} trove_policy_overrides: {} diff --git a/tasks/trove_post_install.yml b/tasks/trove_post_install.yml index f9ea4a5..9ca883d 100644 --- a/tasks/trove_post_install.yml +++ b/tasks/trove_post_install.yml @@ -82,6 +82,10 @@ dest: "/etc/trove/trove-taskmanager.conf" config_overrides: "{{ trove_taskmanager_config_overrides }}" config_type: "ini" + - src: "trove-guestagent.conf.j2" + dest: "/etc/trove/trove-guestagent.conf" + config_overrides: "{{ trove_guestagent_config_overrides }}" + config_type: "ini" notify: - Restart trove taskmanager service when: inventory_hostname in groups['trove_taskmanager'] diff --git a/templates/trove-guestagent.conf.j2 b/templates/trove-guestagent.conf.j2 index 904101a..8400872 100644 --- a/templates/trove-guestagent.conf.j2 +++ b/templates/trove-guestagent.conf.j2 @@ -1,83 +1,50 @@ -# {{ ansible_managed +# {{ ansible_managed }} [DEFAULT] +rpc_backend = {{ trove_rpc_backend }} +control_exchange = {{ trove_control_exchange }} +trove_auth_url = {{ trove_auth_url }} +nova_proxy_admin_user = {{ trove_service_user_name }} +nova_proxy_admin_pass = {{ trove_service_password }} +nova_proxy_admin_tenant_name = {{ trove_service_project_name }} - -#=========== RPC Configuration ====================== - -# 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. -#transport_url= - -# The messaging driver to use. Options include rabbit, qpid and zmq. -# Default is rabbit. (string value) -#rpc_backend=rabbit - -# The default exchange under which topics are scoped. May be -# overridden by an exchange name specified in the 'transport_url option. -control_exchange = trove - -# ========== Configuration options for Swift ========== - -# The swift_url can be specified directly or fetched from Keystone catalog. - -# To fetch from Keystone, comment out swift_url, and uncomment the others. -# swift_url = http://10.0.0.1:8080/v1/AUTH_ +{% if trove_swift_enabled is defined %} +swift_url = {{ trove_swift_url }} # Region name of this node. Default value is None. -# os_region_name = RegionOne +os_region_name = {{ trove_service_region }} # Service type to use when searching catalog. -# swift_service_type = object-store - +swift_service_type = object-store +{% endif %} # ========== Datastore Manager Configurations ========== - # Datastore manager implementations. # Format: list of 'datastore-type:datastore.manager.implementation.module' -# datastore_registry_ext = mysql:trove.guestagent.datastore.mysql.manager.Manager, percona:trove.guestagent.datastore.mysql.manager.Manager - +datastore_registry_ext = mysql:trove.guestagent.datastore.mysql.manager.Manager, percona:trove.guestagent.datastore.mysql.manager.Manager # ========== Default Users / DBs Configuration ========== - -# Permissions to grant "root" user by default root_grant = ALL root_grant_option = True -# root_grant = ALTER ROUTINE, CREATE, ALTER, CREATE ROUTINE, CREATE TEMPORARY TABLES, CREATE VIEW, CREATE USER, DELETE, DROP, EVENT, EXECUTE, INDEX, INSERT, LOCK TABLES, PROCESS, REFERENCES, SELECT, SHOW DATABASES, SHOW VIEW, TRIGGER, UPDATE, USAGE -# root_grant_option = False - -# Default password Length for root password -# default_password_length = 36 - - -# ========== Default Storage Options for backup ========== - -# Default configuration for storage strategy and storage options -# for backups # For storage to Swift, use the following as defaults: -# storage_strategy = SwiftStorage -# storage_namespace = trove.common.strategies.storage.swift +{% if trove_storage_strategy is defined %} +storage_strategy = SwiftStorage +storage_namespace = trove.common.strategies.storage.swift # Default config options for storing backups to swift -# backup_swift_container = database_backups -# backup_use_gzip_compression = True -# backup_use_openssl_encryption = True -# backup_aes_cbc_key = "default_aes_cbc_key" -# backup_use_snet = False -# backup_chunk_size = 65536 -# backup_segment_max_size = 2147483648 - - -# ========== Sample Logging Configuration ========== - -# Show more verbose log output (sets INFO log level output) -# verbose = True +backup_swift_container = database_backups +backup_use_gzip_compression = True +backup_use_openssl_encryption = True +backup_aes_cbc_key = "default_aes_cbc_key" +backup_use_snet = False +backup_chunk_size = 65536 +backup_segment_max_size = 2147483648 +{% endif %} # Show debugging output in logs (sets DEBUG log level output) -# debug = True +debug = {{ debug }} # Directory and path for log files log_dir = /var/log/trove/ -log_file = logfile.txt +log_file = trove-guestagent.log [profiler] # If False fully disable profiling feature. @@ -88,11 +55,11 @@ log_file = logfile.txt [oslo_messaging_rabbit] # The RabbitMQ broker address where a single node is used. (string value) # Deprecated group/name - [DEFAULT]/rabbit_host -rabbit_host=10.0.0.1 +rabbit_host = {{ trove_rabbitmq_servers }} # The RabbitMQ broker port where a single node is used. (integer value) # Deprecated group/name - [DEFAULT]/rabbit_port -#rabbit_port=5672 +rabbit_port= {{ trove_rabbitmq_port }} # RabbitMQ HA cluster host:port pairs. (list value) # Deprecated group/name - [DEFAULT]/rabbit_hosts @@ -104,46 +71,46 @@ rabbit_host=10.0.0.1 # The RabbitMQ userid. (string value) # Deprecated group/name - [DEFAULT]/rabbit_userid -#rabbit_userid=guest +rabbit_userid = {{ trove_rabbitmq_userid }} # The RabbitMQ password. (string value) # Deprecated group/name - [DEFAULT]/rabbit_password -rabbit_password=f7999d1955c5014aa32c +rabbit_password = {{ trove_rabbitmq_password }} # The RabbitMQ virtual host. (string value) # Deprecated group/name - [DEFAULT]/rabbit_virtual_host -#rabbit_virtual_host=/ +rabbit_virtual_host= {{ trove_rabbitmq_vhost }} # ========== Datastore Specific Configuration Options ========== [mysql] # For mysql, the following are the defaults for backup, and restore: -# backup_strategy = InnoBackupEx -# backup_namespace = trove.guestagent.strategies.backup.mysql_impl -# restore_namespace = trove.guestagent.strategies.restore.mysql_impl +backup_strategy = InnoBackupEx +backup_namespace = trove.guestagent.strategies.backup.mysql_impl +restore_namespace = trove.guestagent.strategies.restore.mysql_impl # Default configuration for mysql replication -# replication_strategy = MysqlBinlogReplication -# replication_namespace = trove.guestagent.strategies.replication.mysql_binlog -# replication_user = slave_user -# replication_password = slave_password +replication_strategy = MysqlBinlogReplication +replication_namespace = trove.guestagent.strategies.replication.mysql_binlog +replication_user = slave_user +replication_password = slave_password # Users to ignore for user create/list/delete operations -# ignore_users = os_admin +ignore_users = os_admin # Databases to ignore for db create/list/delete operations # ignore_dbs = mysql, information_schema, performance_schema [vertica] # For vertica, following are the defaults needed: -# mount_point = /var/lib/vertica -# readahead_size = 2048 -# guestagent_strategy = trove.common.strategies.cluster.experimental.vertica.guestagent.VerticaGuestAgentStrategy +mount_point = /var/lib/vertica +readahead_size = 2048 +guestagent_strategy = trove.common.strategies.cluster.experimental.vertica.guestagent.VerticaGuestAgentStrategy [redis] # For redis, the following are the defaults for backup, and restore: -# backup_strategy = RedisBackup -# backup_namespace = trove.guestagent.strategies.backup.experimental.redis_impl -# restore_namespace = trove.guestagent.strategies.restore.experimental.redis_impl +backup_strategy = RedisBackup +backup_namespace = trove.guestagent.strategies.backup.experimental.redis_impl +restore_namespace = trove.guestagent.strategies.restore.experimental.redis_impl [percona] backup_namespace = trove.guestagent.strategies.backup.mysql_impl @@ -159,12 +126,12 @@ restore_namespace = trove.guestagent.strategies.restore.experimental.cassandra_i [db2] # For db2, the following are the defaults for backup, and restore: -# backup_strategy = DB2Backup -# backup_namespace = trove.guestagent.strategies.backup.experimental.db2_impl -# restore_namespace = trove.guestagent.strategies.restore.experimental.db2_impl +backup_strategy = DB2Backup +backup_namespace = trove.guestagent.strategies.backup.experimental.db2_impl +restore_namespace = trove.guestagent.strategies.restore.experimental.db2_impl [couchdb] #For CouchDB, the following are the defaults for backup and restore: -# backup_strategy = CouchDBBackup -# backup_namespace = trove.guestagent.strategies.backup.experimental.couchdb_impl -# restore_namespace = trove.guestagent.strategies.restore.experimental.couchdb_impl +backup_strategy = CouchDBBackup +backup_namespace = trove.guestagent.strategies.backup.experimental.couchdb_impl +restore_namespace = trove.guestagent.strategies.restore.experimental.couchdb_impl