From 5da9c62b9164ac67ff492339badbf144873ec4e4 Mon Sep 17 00:00:00 2001 From: Nikhil Manchanda Date: Tue, 17 Sep 2013 02:29:15 -0700 Subject: [PATCH] Set sane defaults for required conf params in trove/common/cfg.py The following conf options are required and should have their defaults set to sane values which make sense for the reference implementation: ignore_dbs, ignore_users, admin_roles, and api_extensions_path Change-Id: I2d78e9a06cb56832297d38a8fc4608964bca6976 Fixes: bug 1226496 --- etc/trove/trove-guestagent.conf.sample | 4 ++++ trove/common/cfg.py | 10 ++++++---- trove/guestagent/manager/mysql_service.py | 2 +- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/etc/trove/trove-guestagent.conf.sample b/etc/trove/trove-guestagent.conf.sample index 66dc593327..769c8d6716 100644 --- a/etc/trove/trove-guestagent.conf.sample +++ b/etc/trove/trove-guestagent.conf.sample @@ -64,6 +64,10 @@ rabbit_host=10.0.0.1 log_dir = /tmp/ log_file = logfile.txt +# Users to ignore for user create/list/delete operations +ignore_users = os_admin +ignore_dbs = lost+found, mysql, information_schema + # Strategy information for backups backup_strategy = InnoBackupEx backup_namespace = trove.guestagent.strategies.backup.impl diff --git a/trove/common/cfg.py b/trove/common/cfg.py index 257a7765d1..ca9c2b9037 100644 --- a/trove/common/cfg.py +++ b/trove/common/cfg.py @@ -34,7 +34,7 @@ common_opts = [ cfg.IntOpt('sql_idle_timeout', default=3600), cfg.BoolOpt('sql_query_log', default=False), cfg.IntOpt('bind_port', default=8779), - cfg.StrOpt('api_extensions_path', default='', + cfg.StrOpt('api_extensions_path', default='trove/extensions/routes', help='Path to extensions'), cfg.StrOpt('api_paste_config', default="api-paste.ini", @@ -45,7 +45,7 @@ common_opts = [ cfg.BoolOpt('trove_volume_support', default=True, help='File name for the paste.deploy config for trove-api'), - cfg.ListOpt('admin_roles', default=[]), + cfg.ListOpt('admin_roles', default=['admin']), cfg.StrOpt('remote_implementation', default="real", help='Remote implementation for using fake integration code'), @@ -77,8 +77,10 @@ common_opts = [ cfg.IntOpt('users_page_size', default=20), cfg.IntOpt('databases_page_size', default=20), cfg.IntOpt('instances_page_size', default=20), - cfg.ListOpt('ignore_users', default=[]), - cfg.ListOpt('ignore_dbs', default=[]), + cfg.ListOpt('ignore_users', default=['os_admin', 'root']), + cfg.ListOpt('ignore_dbs', default=['lost+found', + 'mysql', + 'information_schema']), cfg.IntOpt('agent_call_low_timeout', default=5), cfg.IntOpt('agent_call_high_timeout', default=60), cfg.StrOpt('guest_id', default=None), diff --git a/trove/guestagent/manager/mysql_service.py b/trove/guestagent/manager/mysql_service.py index 14af9c56e8..3c53e3c0a8 100644 --- a/trove/guestagent/manager/mysql_service.py +++ b/trove/guestagent/manager/mysql_service.py @@ -891,7 +891,7 @@ class MySqlRootAccess(object): @classmethod def enable_root(cls): """Enable the root user global access and/or reset the root password""" - user = models.MySQLUser() + user = models.RootUser() user.name = "root" user.host = "%" user.password = generate_random_password()