From e30e8db7e7e79e6409c22d4ea8c80e0ff5cc4672 Mon Sep 17 00:00:00 2001 From: caishan Date: Mon, 22 Jan 2018 02:21:08 -0800 Subject: [PATCH] Fix log-enable high priority error 1. Modify setup.cfg to make command openstack database log enable run correctlly. class EnableDatabaseInstanceLog should be in database_instances, not in database_limits. This is a HIGH priority error. 2. Originally, trove log-enable will return a log info when execute successfully. This change makes OSC log_enable acts like the origin troveclient enable_log. Change-Id: I68c5ef451c8e6c7fb189d6270bad002da7ffc9a6 --- setup.cfg | 2 +- troveclient/osc/v1/database_instances.py | 6 ++++-- troveclient/tests/osc/v1/test_database_instances.py | 3 +-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/setup.cfg b/setup.cfg index e8d58365..d53e3469 100644 --- a/setup.cfg +++ b/setup.cfg @@ -69,7 +69,7 @@ openstack.database.v1 = database_limit_list = troveclient.osc.v1.database_limits:ListDatabaseLimits database_quota_show = troveclient.osc.v1.database_quota:ShowDatabaseQuota database_quota_update = troveclient.osc.v1.database_quota:UpdateDatabaseQuota - database_log_enable = troveclient.osc.v1.database_limits:EnableDatabaseInstanceLog + database_log_enable = troveclient.osc.v1.database_instances:EnableDatabaseInstanceLog database_root_disable = troveclient.osc.v1.database_root:DisableDatabaseRoot database_root_enable = troveclient.osc.v1.database_root:EnableDatabaseRoot database_root_show = troveclient.osc.v1.database_root:ShowDatabaseRoot diff --git a/troveclient/osc/v1/database_instances.py b/troveclient/osc/v1/database_instances.py index 76fcb3e7..e06904d0 100644 --- a/troveclient/osc/v1/database_instances.py +++ b/troveclient/osc/v1/database_instances.py @@ -447,7 +447,7 @@ class UpgradeDatabaseInstance(command.Command): db_instances.upgrade(instance, parsed_args.datastore_version) -class EnableDatabaseInstanceLog(command.Command): +class EnableDatabaseInstanceLog(command.ShowOne): _description = _("Instructs Trove guest to start collecting log details.") @@ -471,7 +471,9 @@ class EnableDatabaseInstanceLog(command.Command): db_instances = self.app.client_manager.database.instances instance = osc_utils.find_resource(db_instances, parsed_args.instance) - db_instances.log_enable(instance, parsed_args.log_name) + log_info = db_instances.log_enable(instance, parsed_args.log_name) + result = log_info._info + return zip(*sorted(six.iteritems(result))) class ResizeDatabaseInstanceVolume(command.Command): diff --git a/troveclient/tests/osc/v1/test_database_instances.py b/troveclient/tests/osc/v1/test_database_instances.py index 1d8b67a8..c1ddf475 100644 --- a/troveclient/tests/osc/v1/test_database_instances.py +++ b/troveclient/tests/osc/v1/test_database_instances.py @@ -279,10 +279,9 @@ class TestDatabaseInstanceEnableLog(TestInstances): args = ['instance1', 'log_name'] mock_find.side_effect = ['instance1'] parsed_args = self.check_parser(self.cmd, args, []) - result = self.cmd.take_action(parsed_args) + self.cmd.take_action(parsed_args) self.instance_client.log_enable.assert_called_with('instance1', 'log_name') - self.assertIsNone(result) class TestDatabaseInstanceRestart(TestInstances):