Support to change parameters for the config group
* openstack database configuration parameter set <config> <values> * openstack database configuration set <config> <values> --name NAME \ --description DESC Change-Id: I5a576309daa1751c76a4a0d33c53a8596c8665e8
This commit is contained in:
parent
a8bb73c3b7
commit
4b47eb6f7f
9
releasenotes/notes/victoria-01-update-config-group.yaml
Normal file
9
releasenotes/notes/victoria-01-update-config-group.yaml
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
Support following commands of updating configuration:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
openstack database configuration parameter set <config_id> <values>
|
||||
openstack database configuration set <config_id> <values> --name NAME --description DESC
|
@ -54,6 +54,8 @@ openstack.database.v1 =
|
||||
database_configuration_detach = troveclient.osc.v1.database_configurations:DetachDatabaseConfiguration
|
||||
database_configuration_instances = troveclient.osc.v1.database_configurations:ListDatabaseConfigurationInstances
|
||||
database_configuration_list = troveclient.osc.v1.database_configurations:ListDatabaseConfigurations
|
||||
database_configuration_set = troveclient.osc.v1.database_configurations:UpdateDatabaseConfiguration
|
||||
database_configuration_parameter_set = troveclient.osc.v1.database_configurations:SetDatabaseConfiguration
|
||||
database_configuration_parameter_list = troveclient.osc.v1.database_configurations:ListDatabaseConfigurationParameters
|
||||
database_configuration_parameter_show = troveclient.osc.v1.database_configurations:ShowDatabaseConfigurationParameter
|
||||
database_configuration_show = troveclient.osc.v1.database_configurations:ShowDatabaseConfiguration
|
||||
|
@ -372,3 +372,66 @@ class DefaultDatabaseConfiguration(command.ShowOne):
|
||||
parsed_args.instance)
|
||||
configs = db_instances.configuration(instance)
|
||||
return zip(*sorted(six.iteritems(configs._info['configuration'])))
|
||||
|
||||
|
||||
class SetDatabaseConfiguration(command.Command):
|
||||
_description = _("Change parameters for a configuration group.")
|
||||
|
||||
def get_parser(self, prog_name):
|
||||
parser = super(SetDatabaseConfiguration, self).get_parser(prog_name)
|
||||
parser.add_argument(
|
||||
'configuration_group_id',
|
||||
help=_('Configuration group ID.'),
|
||||
)
|
||||
parser.add_argument(
|
||||
'values',
|
||||
metavar='<values>',
|
||||
help=_('Dictionary of the new values to set.'),
|
||||
)
|
||||
return parser
|
||||
|
||||
def take_action(self, parsed_args):
|
||||
db_configurations = self.app.client_manager.database.configurations
|
||||
|
||||
db_configurations.edit(
|
||||
parsed_args.configuration_group_id,
|
||||
parsed_args.values
|
||||
)
|
||||
|
||||
|
||||
class UpdateDatabaseConfiguration(command.Command):
|
||||
_description = _("Update a configuration group.")
|
||||
|
||||
def get_parser(self, prog_name):
|
||||
parser = super(UpdateDatabaseConfiguration, self).get_parser(prog_name)
|
||||
parser.add_argument(
|
||||
'configuration_group_id',
|
||||
help=_('Configuration group ID.'),
|
||||
)
|
||||
parser.add_argument(
|
||||
'values',
|
||||
metavar='<values>',
|
||||
help=_('Dictionary of the values to set.'),
|
||||
)
|
||||
parser.add_argument(
|
||||
'--name',
|
||||
metavar='<name>',
|
||||
help=_('New name of the configuration group.'),
|
||||
)
|
||||
parser.add_argument(
|
||||
'--description',
|
||||
metavar='<description>',
|
||||
default=None,
|
||||
help=_('An optional description for the configuration group.'),
|
||||
)
|
||||
return parser
|
||||
|
||||
def take_action(self, parsed_args):
|
||||
db_configurations = self.app.client_manager.database.configurations
|
||||
|
||||
db_configurations.update(
|
||||
parsed_args.configuration_group_id,
|
||||
parsed_args.values,
|
||||
name=parsed_args.name,
|
||||
description=parsed_args.description
|
||||
)
|
||||
|
@ -351,3 +351,40 @@ class TestConfigurationDefault(TestConfigurations):
|
||||
columns, data = self.cmd.take_action(parsed_args)
|
||||
self.assertEqual(self.columns, columns)
|
||||
self.assertEqual(self.values, data)
|
||||
|
||||
|
||||
class TestSetDatabaseConfiguration(TestConfigurations):
|
||||
def setUp(self):
|
||||
super(TestSetDatabaseConfiguration, self).setUp()
|
||||
self.cmd = database_configurations.SetDatabaseConfiguration(
|
||||
self.app, None)
|
||||
|
||||
def test_set_database_configuration_parameter(self):
|
||||
args = ['config_group_id', '{"param1": 1, "param2": 2}']
|
||||
parsed_args = self.check_parser(self.cmd, args, [])
|
||||
self.cmd.take_action(parsed_args)
|
||||
|
||||
self.configuration_client.edit.assert_called_once_with(
|
||||
'config_group_id',
|
||||
'{"param1": 1, "param2": 2}'
|
||||
)
|
||||
|
||||
|
||||
class TestUpdateDatabaseConfiguration(TestConfigurations):
|
||||
def setUp(self):
|
||||
super(TestUpdateDatabaseConfiguration, self).setUp()
|
||||
self.cmd = database_configurations.UpdateDatabaseConfiguration(
|
||||
self.app, None)
|
||||
|
||||
def test_set_database_configuration_parameter(self):
|
||||
args = ['config_group_id', '{"param1": 1, "param2": 2}', '--name',
|
||||
'new_name']
|
||||
parsed_args = self.check_parser(self.cmd, args, [])
|
||||
self.cmd.take_action(parsed_args)
|
||||
|
||||
self.configuration_client.update.assert_called_once_with(
|
||||
'config_group_id',
|
||||
'{"param1": 1, "param2": 2}',
|
||||
name='new_name',
|
||||
description=None
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user