)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"9131d8b985ea895525d7ba4e57183503d6ccfcac","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Craig Vyvial \u003ccp16net@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-07-29 17:09:07 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"adding configuration paramters mgmt api"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"add the CRUD calls of configuration parameters mgmt calls"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"baada198_4ac7b865","line":7,"updated":"2014-07-29 23:18:51.000000000","message":"paramters \u003d\u003e parameters (hate to do this, but it\u0027s the subject title and someone else is bound to report it)","commit_id":"b0cbcdad855743732bf10e15ff615ac722716716"}],"troveclient/tests/test_configurations.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"a53183f25dade0aa80d60dd072b30d343cb9754e","unresolved":false,"context_lines":[{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    def test_create(self):"},{"line_number":205,"context_line":"        self.config_params.api.client.post \u003d self._get_mock_method()"},{"line_number":206,"context_line":"        self._resp.status_code \u003d 202"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"        self.config_params.create(\u0027id\u0027, \u0027config_name\u0027, 1, \u0027string\u0027)"},{"line_number":209,"context_line":"        self.assertEqual(\u0027/mgmt/datastores/versions/id/parameters\u0027, self._url)"}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_1922f900","line":206,"updated":"2014-07-25 16:03:06.000000000","message":"same, create returns 200","commit_id":"1f44472d56718a56259eb292532dfeeaa61f34d5"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"a53183f25dade0aa80d60dd072b30d343cb9754e","unresolved":false,"context_lines":[{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    def test_modify(self):"},{"line_number":218,"context_line":"        self.config_params.api.client.put \u003d self._get_mock_method()"},{"line_number":219,"context_line":"        self._resp.status_code \u003d 202"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"        self.config_params.modify(\u0027id\u0027, \u0027config_name\u0027, \u00271\u0027, \u0027string\u0027)"},{"line_number":222,"context_line":"        self.assertEqual(\u0027/mgmt/datastores/versions/id/parameters/config_name\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_797855f8","line":219,"updated":"2014-07-25 16:03:06.000000000","message":"modify returns 200","commit_id":"1f44472d56718a56259eb292532dfeeaa61f34d5"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"a53183f25dade0aa80d60dd072b30d343cb9754e","unresolved":false,"context_lines":[{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    def test_delete(self):"},{"line_number":232,"context_line":"        self.config_params.api.client.delete \u003d self._get_mock_method()"},{"line_number":233,"context_line":"        self._resp.status_code \u003d 202"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        self.config_params.delete(\u0027id\u0027, \u0027param_id\u0027)"},{"line_number":236,"context_line":"        self.assertEqual(\u0027/mgmt/datastores/versions/id/parameters/param_id\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_f93d452d","line":233,"updated":"2014-07-25 16:03:06.000000000","message":"patch for Trove says that response code is 200","commit_id":"1f44472d56718a56259eb292532dfeeaa61f34d5"}],"troveclient/v1/configurations.py":[{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"b459a1e2e36d5b8914589ac0e8bd9a86dcab3b4a","unresolved":false,"context_lines":[{"line_number":141,"context_line":"        return self._get(\"/datastores/versions/%s/parameters/%s\" %"},{"line_number":142,"context_line":"                         (version, key))"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    def create(self, version, name, restart_required, data_type,"},{"line_number":145,"context_line":"               max_size\u003dNone, min_size\u003dNone):"},{"line_number":146,"context_line":"        \"\"\"Mgmt call to create a new configuration parameter\"\"\""},{"line_number":147,"context_line":"        body \u003d {"}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_20a9d525","line":144,"updated":"2014-07-29 17:11:05.000000000","message":"at the moment, all mgmt related operations exist in management.py (https://github.com/openstack/python-troveclient/blob/master/troveclient/v1/management.py). this breaks that pattern. in general, i\u0027m ok with this, but i\u0027d like some consensus with core on whether this means we should start porting the others over at some point.","commit_id":"1f44472d56718a56259eb292532dfeeaa61f34d5"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"b459a1e2e36d5b8914589ac0e8bd9a86dcab3b4a","unresolved":false,"context_lines":[{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    def create(self, version, name, restart_required, data_type,"},{"line_number":145,"context_line":"               max_size\u003dNone, min_size\u003dNone):"},{"line_number":146,"context_line":"        \"\"\"Mgmt call to create a new configuration parameter\"\"\""},{"line_number":147,"context_line":"        body \u003d {"},{"line_number":148,"context_line":"            \"configuration-parameter\": {"},{"line_number":149,"context_line":"                \"name\": name,"}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_e00d1d91","line":146,"updated":"2014-07-29 17:11:05.000000000","message":"needs a period at the end of the help text (otherwise someone will submit a patch to add it later)","commit_id":"1f44472d56718a56259eb292532dfeeaa61f34d5"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"b459a1e2e36d5b8914589ac0e8bd9a86dcab3b4a","unresolved":false,"context_lines":[{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    def modify(self, version, name, restart_required, data_type,"},{"line_number":174,"context_line":"               max_size\u003dNone, min_size\u003dNone):"},{"line_number":175,"context_line":"        \"\"\"Mgmt call to modify an existing configuration parameter\"\"\""},{"line_number":176,"context_line":"        body \u003d {"},{"line_number":177,"context_line":"            \"configuration-parameter\": {"},{"line_number":178,"context_line":"                \"name\": name,"}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_401c09c3","line":175,"updated":"2014-07-29 17:11:05.000000000","message":"needs a period at the end of the help text (otherwise someone will submit a patch to add it later)","commit_id":"1f44472d56718a56259eb292532dfeeaa61f34d5"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"b459a1e2e36d5b8914589ac0e8bd9a86dcab3b4a","unresolved":false,"context_lines":[{"line_number":194,"context_line":"        common.check_for_exceptions(resp, body, url)"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"    def delete(self, version, name):"},{"line_number":197,"context_line":"        \"\"\"Mgmt call to delete a configuration parameter\"\"\""},{"line_number":198,"context_line":"        output \u003d {"},{"line_number":199,"context_line":"            \u0027version_id\u0027: version,"},{"line_number":200,"context_line":"            \u0027parameter_name\u0027: name"}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_805f014d","line":197,"updated":"2014-07-29 17:11:05.000000000","message":"needs a period at the end of the help text (otherwise someone will submit a patch to add it later)","commit_id":"1f44472d56718a56259eb292532dfeeaa61f34d5"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"ee268aac495542b7979c5c6ec2da2b3e8bb1afe9","unresolved":false,"context_lines":[{"line_number":141,"context_line":"        return self._get(\"/datastores/versions/%s/parameters/%s\" %"},{"line_number":142,"context_line":"                         (version, key))"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        # Appease the abc gods"},{"line_number":145,"context_line":"    def list(self):"},{"line_number":146,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":17,"id":"baada198_a63081ea","line":144,"updated":"2014-07-30 09:09:07.000000000","message":"please fix it","commit_id":"e9ed7e1f40151f2e81133b696d9c206626dd9b23"}],"troveclient/v1/management.py":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"186f1919ee8eea555484262330ae1eae9db3ac95","unresolved":false,"context_lines":[{"line_number":170,"context_line":"    def list_all_parameter_by_version(self, version):"},{"line_number":171,"context_line":"        \"\"\"List all configuration parameters deleted or not.\"\"\""},{"line_number":172,"context_line":"        return self._list(\"/mgmt/datastores/versions/%s/parameters\" %"},{"line_number":173,"context_line":"                          version, \"configuration-parameters\")"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    def get_any_parameter_by_version(self, version, key):"},{"line_number":176,"context_line":"        \"\"\"Get any configuration parameter deleted or not.\"\"\""}],"source_content_type":"text/x-python","patch_set":17,"id":"baada198_af963b47","line":173,"updated":"2014-08-01 10:54:34.000000000","message":"does _list performs checks for exceptions?","commit_id":"e9ed7e1f40151f2e81133b696d9c206626dd9b23"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"186f1919ee8eea555484262330ae1eae9db3ac95","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        body \u003d {"},{"line_number":184,"context_line":"            \"configuration-parameter\": {"},{"line_number":185,"context_line":"                \"name\": name,"},{"line_number":186,"context_line":"                \"restart_required\": int(restart_required),"},{"line_number":187,"context_line":"                \"data_type\": data_type,"},{"line_number":188,"context_line":"            }"},{"line_number":189,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":17,"id":"baada198_cfb8cfea","line":186,"updated":"2014-08-01 10:54:34.000000000","message":"shouldn\u0027t this be a boolean(restart_required) ?","commit_id":"e9ed7e1f40151f2e81133b696d9c206626dd9b23"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"186f1919ee8eea555484262330ae1eae9db3ac95","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        }"},{"line_number":209,"context_line":"        url \u003d (\"/mgmt/datastores/versions/%(version_id)s/\""},{"line_number":210,"context_line":"               \"parameters/%(parameter_name)s\" % output)"},{"line_number":211,"context_line":"        resp, body \u003d self.api.client.delete(url)"},{"line_number":212,"context_line":"        common.check_for_exceptions(resp, body, url)"}],"source_content_type":"text/x-python","patch_set":17,"id":"baada198_0fa647c0","line":211,"updated":"2014-08-01 10:54:34.000000000","message":"does .api.client.delete performs checks for exceptions?","commit_id":"e9ed7e1f40151f2e81133b696d9c206626dd9b23"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"3427c91f96359cae31ff160c1fe4c13fb4b252f3","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from troveclient import base"},{"line_number":18,"context_line":"from troveclient import common"},{"line_number":19,"context_line":"from troveclient.v1 import configurations"},{"line_number":20,"context_line":"from troveclient.v1 import flavors"},{"line_number":21,"context_line":"from troveclient.v1 import instances"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"baada198_49fa6378","line":19,"updated":"2014-08-06 11:07:20.000000000","message":"note: for those wanting to test configuration-groups end-to-end, including the mgmt-api via the cli, use the following patch:\n\n    diff --git a/troveclient/v1/client.py b/troveclient/v1/client.py\n    index 1b42cb5..0282d03 100644\n    --- a/troveclient/v1/client.py\n    +++ b/troveclient/v1/client.py\n    @@ -26,7 +26,7 @@ from troveclient.v1 import metadata\n     from troveclient.v1 import root\n     from troveclient.v1 import security_groups\n     from troveclient.v1 import users\n    -\n    +from troveclient.v1 import management\n     \n     class Client(object):\n         \"\"\"Top-level object to access the OpenStack Database API.\n    @@ -72,7 +72,7 @@ class Client(object):\n             # self.hosts \u003d Hosts(self)\n             # self.quota \u003d Quotas(self)\n             # self.storage \u003d StorageInfo(self)\n    -        # self.management \u003d Management(self)\n    +        self.mgmt_configuration_parameters \u003d management.MgmtConfigurationParameters(self)\n             # self.mgmt_flavor \u003d MgmtFlavors(self)\n             # self.accounts \u003d Accounts(self)\n             # self.diagnostics \u003d DiagnosticsInterrogator(self)\n\n\n    diff --git a/troveclient/v1/shell.py b/troveclient/v1/shell.py\n    index 5b07f6f..b5c6ee6 100644\n    --- a/troveclient/v1/shell.py\n    +++ b/troveclient/v1/shell.py\n    @@ -975,7 +975,7 @@ def do_metadata_delete(cs, args):\n     @utils.service_type(\u0027database\u0027)\n     def do_configuration_parameter_create(cs, args):\n         \"\"\"Create datastore configuration parameter\"\"\"\n    -    cs.configuration_parameters.create(\n    +    cs.mgmt_configuration_parameters.create(\n             args.datastore_version,\n             args.name,\n             args.restart_required,\n    @@ -1003,7 +1003,7 @@ def do_configuration_parameter_create(cs, args):\n     @utils.service_type(\u0027database\u0027)\n     def do_configuration_parameter_modify(cs, args):\n         \"\"\"Modify datastore configuration parameter\"\"\"\n    -    cs.configuration_parameters.modify(\n    +    cs.mgmt_configuration_parameters.modify(\n             args.datastore_version,\n             args.name,\n             args.restart_required,\n    @@ -1022,7 +1022,7 @@ def do_configuration_parameter_modify(cs, args):\n     @utils.service_type(\u0027database\u0027)\n     def do_configuration_parameter_delete(cs, args):\n         \"\"\"Modify datastore configuration parameter\"\"\"\n    -    cs.configuration_parameters.delete(\n    +    cs.mgmt_configuration_parameters.delete(\n             args.datastore_version,\n             args.name,\n         )","commit_id":"0acc8cdeb842e7213033b122c70ad2a33772d415"}],"troveclient/v1/shell.py":[{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"a9160d71d6bf0f2a32585128fef58969c03e6d9e","unresolved":false,"context_lines":[{"line_number":821,"context_line":"           help\u003d\u0027Datastore version name or UUID assigned to the \u0027"},{"line_number":822,"context_line":"                \u0027configuration group.\u0027)"},{"line_number":823,"context_line":"@utils.arg(\u0027name\u0027, metavar\u003d\u0027\u003cname\u003e\u0027,"},{"line_number":824,"context_line":"           help\u003d\u0027Name of the datastore conifguration parameter.\u0027)"},{"line_number":825,"context_line":"@utils.arg(\u0027restart_required\u0027, metavar\u003d\u0027\u003crestart_required\u003e\u0027,"},{"line_number":826,"context_line":"           help\u003d\u0027Sets the datastore conifguration parameter if it \u0027"},{"line_number":827,"context_line":"                \u0027requires a restart or not.\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad9bd40_be11ec53","line":824,"updated":"2014-05-06 22:44:22.000000000","message":"see comment below about typo...","commit_id":"d1c55a9334caba2aafe04029874a139db015462b"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"a9160d71d6bf0f2a32585128fef58969c03e6d9e","unresolved":false,"context_lines":[{"line_number":823,"context_line":"@utils.arg(\u0027name\u0027, metavar\u003d\u0027\u003cname\u003e\u0027,"},{"line_number":824,"context_line":"           help\u003d\u0027Name of the datastore conifguration parameter.\u0027)"},{"line_number":825,"context_line":"@utils.arg(\u0027restart_required\u0027, metavar\u003d\u0027\u003crestart_required\u003e\u0027,"},{"line_number":826,"context_line":"           help\u003d\u0027Sets the datastore conifguration parameter if it \u0027"},{"line_number":827,"context_line":"                \u0027requires a restart or not.\u0027)"},{"line_number":828,"context_line":"@utils.arg(\u0027data_type\u0027, metavar\u003d\u0027\u003cdata_type\u003e\u0027,"},{"line_number":829,"context_line":"           help\u003d\u0027Data type of the datastore conifguration parameter.\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad9bd40_5e1e2060","line":826,"updated":"2014-05-06 22:44:22.000000000","message":"ditto","commit_id":"d1c55a9334caba2aafe04029874a139db015462b"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"a9160d71d6bf0f2a32585128fef58969c03e6d9e","unresolved":false,"context_lines":[{"line_number":826,"context_line":"           help\u003d\u0027Sets the datastore conifguration parameter if it \u0027"},{"line_number":827,"context_line":"                \u0027requires a restart or not.\u0027)"},{"line_number":828,"context_line":"@utils.arg(\u0027data_type\u0027, metavar\u003d\u0027\u003cdata_type\u003e\u0027,"},{"line_number":829,"context_line":"           help\u003d\u0027Data type of the datastore conifguration parameter.\u0027)"},{"line_number":830,"context_line":"@utils.arg(\u0027--max_size\u0027, metavar\u003d\u0027\u003cmax_size\u003e\u0027,"},{"line_number":831,"context_line":"           help\u003d\u0027Maximum size of the datastore conifguration parameter.\u0027)"},{"line_number":832,"context_line":"@utils.arg(\u0027--min_size\u0027, metavar\u003d\u0027\u003cmin_size\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad9bd40_1e01f804","line":829,"updated":"2014-05-06 22:44:22.000000000","message":"Probably be worth correcting this typo now before we end up with multiple patch sets to fix it later :)\n(conifguration)","commit_id":"d1c55a9334caba2aafe04029874a139db015462b"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"b5fe31eee1467f16354a6dd7593312bc1e312070","unresolved":false,"context_lines":[{"line_number":826,"context_line":"           help\u003d\u0027Sets the datastore conifguration parameter if it \u0027"},{"line_number":827,"context_line":"                \u0027requires a restart or not.\u0027)"},{"line_number":828,"context_line":"@utils.arg(\u0027data_type\u0027, metavar\u003d\u0027\u003cdata_type\u003e\u0027,"},{"line_number":829,"context_line":"           help\u003d\u0027Data type of the datastore conifguration parameter.\u0027)"},{"line_number":830,"context_line":"@utils.arg(\u0027--max_size\u0027, metavar\u003d\u0027\u003cmax_size\u003e\u0027,"},{"line_number":831,"context_line":"           help\u003d\u0027Maximum size of the datastore conifguration parameter.\u0027)"},{"line_number":832,"context_line":"@utils.arg(\u0027--min_size\u0027, metavar\u003d\u0027\u003cmin_size\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad9bd40_917b368b","line":829,"in_reply_to":"9ad9bd40_1e01f804","updated":"2014-05-07 06:16:39.000000000","message":"damn i fail... copy pasta...... good catch","commit_id":"d1c55a9334caba2aafe04029874a139db015462b"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"a9160d71d6bf0f2a32585128fef58969c03e6d9e","unresolved":false,"context_lines":[{"line_number":828,"context_line":"@utils.arg(\u0027data_type\u0027, metavar\u003d\u0027\u003cdata_type\u003e\u0027,"},{"line_number":829,"context_line":"           help\u003d\u0027Data type of the datastore conifguration parameter.\u0027)"},{"line_number":830,"context_line":"@utils.arg(\u0027--max_size\u0027, metavar\u003d\u0027\u003cmax_size\u003e\u0027,"},{"line_number":831,"context_line":"           help\u003d\u0027Maximum size of the datastore conifguration parameter.\u0027)"},{"line_number":832,"context_line":"@utils.arg(\u0027--min_size\u0027, metavar\u003d\u0027\u003cmin_size\u003e\u0027,"},{"line_number":833,"context_line":"           help\u003d\u0027Minimum size of the datastore conifguration parameter.\u0027)"},{"line_number":834,"context_line":"@utils.service_type(\u0027database\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad9bd40_3e06bc1d","line":831,"updated":"2014-05-06 22:44:22.000000000","message":"same typo","commit_id":"d1c55a9334caba2aafe04029874a139db015462b"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"a9160d71d6bf0f2a32585128fef58969c03e6d9e","unresolved":false,"context_lines":[{"line_number":830,"context_line":"@utils.arg(\u0027--max_size\u0027, metavar\u003d\u0027\u003cmax_size\u003e\u0027,"},{"line_number":831,"context_line":"           help\u003d\u0027Maximum size of the datastore conifguration parameter.\u0027)"},{"line_number":832,"context_line":"@utils.arg(\u0027--min_size\u0027, metavar\u003d\u0027\u003cmin_size\u003e\u0027,"},{"line_number":833,"context_line":"           help\u003d\u0027Minimum size of the datastore conifguration parameter.\u0027)"},{"line_number":834,"context_line":"@utils.service_type(\u0027database\u0027)"},{"line_number":835,"context_line":"def do_configuration_parameter_create(cs, args):"},{"line_number":836,"context_line":"    \"\"\"Create datastore configuration parameter\"\"\""}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad9bd40_7e0cc43b","line":833,"updated":"2014-05-06 22:44:22.000000000","message":"same typo","commit_id":"d1c55a9334caba2aafe04029874a139db015462b"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"a9160d71d6bf0f2a32585128fef58969c03e6d9e","unresolved":false,"context_lines":[{"line_number":849,"context_line":"           help\u003d\u0027Datastore version name or UUID assigned to the \u0027"},{"line_number":850,"context_line":"                \u0027configuration group.\u0027)"},{"line_number":851,"context_line":"@utils.arg(\u0027name\u0027, metavar\u003d\u0027\u003cname\u003e\u0027,"},{"line_number":852,"context_line":"           help\u003d\u0027Name of the datastore conifguration parameter.\u0027)"},{"line_number":853,"context_line":"@utils.arg(\u0027restart_required\u0027, metavar\u003d\u0027\u003crestart_required\u003e\u0027,"},{"line_number":854,"context_line":"           help\u003d\u0027Sets the datastore conifguration parameter if it \u0027"},{"line_number":855,"context_line":"                \u0027requires a restart or not.\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad9bd40_fe2e148b","line":852,"updated":"2014-05-06 22:44:22.000000000","message":"same typo","commit_id":"d1c55a9334caba2aafe04029874a139db015462b"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"a9160d71d6bf0f2a32585128fef58969c03e6d9e","unresolved":false,"context_lines":[{"line_number":851,"context_line":"@utils.arg(\u0027name\u0027, metavar\u003d\u0027\u003cname\u003e\u0027,"},{"line_number":852,"context_line":"           help\u003d\u0027Name of the datastore conifguration parameter.\u0027)"},{"line_number":853,"context_line":"@utils.arg(\u0027restart_required\u0027, metavar\u003d\u0027\u003crestart_required\u003e\u0027,"},{"line_number":854,"context_line":"           help\u003d\u0027Sets the datastore conifguration parameter if it \u0027"},{"line_number":855,"context_line":"                \u0027requires a restart or not.\u0027)"},{"line_number":856,"context_line":"@utils.arg(\u0027data_type\u0027, metavar\u003d\u0027\u003cdata_type\u003e\u0027,"},{"line_number":857,"context_line":"           help\u003d\u0027Data type of the datastore conifguration parameter.\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad9bd40_1e4f386c","line":854,"updated":"2014-05-06 22:44:22.000000000","message":"same typo","commit_id":"d1c55a9334caba2aafe04029874a139db015462b"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"a9160d71d6bf0f2a32585128fef58969c03e6d9e","unresolved":false,"context_lines":[{"line_number":854,"context_line":"           help\u003d\u0027Sets the datastore conifguration parameter if it \u0027"},{"line_number":855,"context_line":"                \u0027requires a restart or not.\u0027)"},{"line_number":856,"context_line":"@utils.arg(\u0027data_type\u0027, metavar\u003d\u0027\u003cdata_type\u003e\u0027,"},{"line_number":857,"context_line":"           help\u003d\u0027Data type of the datastore conifguration parameter.\u0027)"},{"line_number":858,"context_line":"@utils.arg(\u0027--max_size\u0027, metavar\u003d\u0027\u003cmax_size\u003e\u0027,"},{"line_number":859,"context_line":"           help\u003d\u0027Maximum size of the datastore conifguration parameter.\u0027)"},{"line_number":860,"context_line":"@utils.arg(\u0027--min_size\u0027, metavar\u003d\u0027\u003cmin_size\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad9bd40_3e54fcfd","line":857,"updated":"2014-05-06 22:44:22.000000000","message":"same typo","commit_id":"d1c55a9334caba2aafe04029874a139db015462b"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"a9160d71d6bf0f2a32585128fef58969c03e6d9e","unresolved":false,"context_lines":[{"line_number":856,"context_line":"@utils.arg(\u0027data_type\u0027, metavar\u003d\u0027\u003cdata_type\u003e\u0027,"},{"line_number":857,"context_line":"           help\u003d\u0027Data type of the datastore conifguration parameter.\u0027)"},{"line_number":858,"context_line":"@utils.arg(\u0027--max_size\u0027, metavar\u003d\u0027\u003cmax_size\u003e\u0027,"},{"line_number":859,"context_line":"           help\u003d\u0027Maximum size of the datastore conifguration parameter.\u0027)"},{"line_number":860,"context_line":"@utils.arg(\u0027--min_size\u0027, metavar\u003d\u0027\u003cmin_size\u003e\u0027,"},{"line_number":861,"context_line":"           help\u003d\u0027Minimum size of the datastore conifguration parameter.\u0027)"},{"line_number":862,"context_line":"@utils.service_type(\u0027database\u0027)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad9bd40_7e5a042b","line":859,"updated":"2014-05-06 22:44:22.000000000","message":"same typo","commit_id":"d1c55a9334caba2aafe04029874a139db015462b"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"a9160d71d6bf0f2a32585128fef58969c03e6d9e","unresolved":false,"context_lines":[{"line_number":858,"context_line":"@utils.arg(\u0027--max_size\u0027, metavar\u003d\u0027\u003cmax_size\u003e\u0027,"},{"line_number":859,"context_line":"           help\u003d\u0027Maximum size of the datastore conifguration parameter.\u0027)"},{"line_number":860,"context_line":"@utils.arg(\u0027--min_size\u0027, metavar\u003d\u0027\u003cmin_size\u003e\u0027,"},{"line_number":861,"context_line":"           help\u003d\u0027Minimum size of the datastore conifguration parameter.\u0027)"},{"line_number":862,"context_line":"@utils.service_type(\u0027database\u0027)"},{"line_number":863,"context_line":"def do_configuration_parameter_modify(cs, args):"},{"line_number":864,"context_line":"    \"\"\"Modify datastore configuration parameter\"\"\""}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad9bd40_9e42683c","line":861,"updated":"2014-05-06 22:44:22.000000000","message":"same typo","commit_id":"d1c55a9334caba2aafe04029874a139db015462b"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"a9160d71d6bf0f2a32585128fef58969c03e6d9e","unresolved":false,"context_lines":[{"line_number":877,"context_line":"           help\u003d\u0027Datastore version name or UUID assigned to the \u0027"},{"line_number":878,"context_line":"                \u0027configuration group.\u0027)"},{"line_number":879,"context_line":"@utils.arg(\u0027name\u0027, metavar\u003d\u0027\u003cname\u003e\u0027,"},{"line_number":880,"context_line":"           help\u003d\u0027UUID of the datastore conifguration parameter.\u0027)"},{"line_number":881,"context_line":"@utils.service_type(\u0027database\u0027)"},{"line_number":882,"context_line":"def do_configuration_parameter_delete(cs, args):"},{"line_number":883,"context_line":"    \"\"\"Modify datastore configuration parameter\"\"\""}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad9bd40_be3f2cb3","line":880,"updated":"2014-05-06 22:44:22.000000000","message":"same typo","commit_id":"d1c55a9334caba2aafe04029874a139db015462b"},{"author":{"_account_id":9746,"name":"Doug Shelley","email":"dougshelley66@gmail.com","username":"dougshelley"},"change_message_id":"2b4e6004a200065ea21570ccc00ac5552ac2cf0b","unresolved":false,"context_lines":[{"line_number":151,"context_line":"@utils.arg(\u0027instance\u0027,"},{"line_number":152,"context_line":"           metavar\u003d\u0027\u003cinstance\u003e\u0027,"},{"line_number":153,"context_line":"           type\u003dstr,"},{"line_number":154,"context_line":"           help\u003d\u0027UUID of the instance.\u0027)"},{"line_number":155,"context_line":"@utils.arg(\u0027--name\u0027,"},{"line_number":156,"context_line":"           metavar\u003d\u0027\u003cname\u003e\u0027,"},{"line_number":157,"context_line":"           type\u003dstr,"}],"source_content_type":"text/x-python","patch_set":11,"id":"3ae8d1ca_6a3b5d38","line":154,"updated":"2014-05-29 16:45:51.000000000","message":"I believe this should be ID instead of UUID. see https://review.openstack.org/#/c/92189/","commit_id":"d4ebf122089ec323678bcbb8e80445177fc7615f"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"b459a1e2e36d5b8914589ac0e8bd9a86dcab3b4a","unresolved":false,"context_lines":[{"line_number":956,"context_line":"    cs.metadata.delete(args.instance_id, args.key)"},{"line_number":957,"context_line":""},{"line_number":958,"context_line":""},{"line_number":959,"context_line":"@utils.arg(\u0027datastore_version\u0027,"},{"line_number":960,"context_line":"           metavar\u003d\u0027\u003cdatastore_version\u003e\u0027,"},{"line_number":961,"context_line":"           help\u003d\u0027Datastore version name or UUID assigned to the \u0027"},{"line_number":962,"context_line":"                \u0027configuration group.\u0027)"}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_e0135d63","line":959,"updated":"2014-07-29 17:11:05.000000000","message":"these would be the first time mgmt related operations were shown in the default trove-cli. i\u0027d like to have a conversation in the weekly meeting (or on irc) discussing the overall vision/strategy on this.\n\nshould we prefix mgmt related commands with mgmt? e.g. \"mgmt-configuration-parameter-create\" to make it more obvious? or do we augment the help text to be clear that this is an admin-related function?","commit_id":"1f44472d56718a56259eb292532dfeeaa61f34d5"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"b459a1e2e36d5b8914589ac0e8bd9a86dcab3b4a","unresolved":false,"context_lines":[{"line_number":973,"context_line":"           help\u003d\u0027Minimum size of the datastore configuration parameter.\u0027)"},{"line_number":974,"context_line":"@utils.service_type(\u0027database\u0027)"},{"line_number":975,"context_line":"def do_configuration_parameter_create(cs, args):"},{"line_number":976,"context_line":"    \"\"\"Create datastore configuration parameter\"\"\""},{"line_number":977,"context_line":"    cs.configuration_parameters.create("},{"line_number":978,"context_line":"        args.datastore_version,"},{"line_number":979,"context_line":"        args.name,"}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_e06efdff","line":976,"updated":"2014-07-29 17:11:05.000000000","message":"needs a period at the end of the help text (otherwise someone will submit a patch to add it later)","commit_id":"1f44472d56718a56259eb292532dfeeaa61f34d5"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"b459a1e2e36d5b8914589ac0e8bd9a86dcab3b4a","unresolved":false,"context_lines":[{"line_number":1001,"context_line":"           help\u003d\u0027Minimum size of the datastore configuration parameter.\u0027)"},{"line_number":1002,"context_line":"@utils.service_type(\u0027database\u0027)"},{"line_number":1003,"context_line":"def do_configuration_parameter_modify(cs, args):"},{"line_number":1004,"context_line":"    \"\"\"Modify datastore configuration parameter\"\"\""},{"line_number":1005,"context_line":"    cs.configuration_parameters.modify("},{"line_number":1006,"context_line":"        args.datastore_version,"},{"line_number":1007,"context_line":"        args.name,"}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_0073f1e8","line":1004,"updated":"2014-07-29 17:11:05.000000000","message":"needs a period at the end of the help text (otherwise someone will submit a patch to add it later)","commit_id":"1f44472d56718a56259eb292532dfeeaa61f34d5"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"b459a1e2e36d5b8914589ac0e8bd9a86dcab3b4a","unresolved":false,"context_lines":[{"line_number":1020,"context_line":"           help\u003d\u0027UUID of the datastore configuration parameter.\u0027)"},{"line_number":1021,"context_line":"@utils.service_type(\u0027database\u0027)"},{"line_number":1022,"context_line":"def do_configuration_parameter_delete(cs, args):"},{"line_number":1023,"context_line":"    \"\"\"Modify datastore configuration parameter\"\"\""},{"line_number":1024,"context_line":"    cs.configuration_parameters.delete("},{"line_number":1025,"context_line":"        args.datastore_version,"},{"line_number":1026,"context_line":"        args.name,"}],"source_content_type":"text/x-python","patch_set":14,"id":"baada198_407de9b1","line":1023,"updated":"2014-07-29 17:11:05.000000000","message":"needs a period at the end of the help text (otherwise someone will submit a patch to add it later)","commit_id":"1f44472d56718a56259eb292532dfeeaa61f34d5"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"186f1919ee8eea555484262330ae1eae9db3ac95","unresolved":false,"context_lines":[{"line_number":964,"context_line":"           help\u003d\u0027Name of the datastore configuration parameter.\u0027)"},{"line_number":965,"context_line":"@utils.arg(\u0027restart_required\u0027, metavar\u003d\u0027\u003crestart_required\u003e\u0027,"},{"line_number":966,"context_line":"           help\u003d\u0027Sets the datastore configuration parameter if it \u0027"},{"line_number":967,"context_line":"                \u0027requires a restart or not.\u0027)"},{"line_number":968,"context_line":"@utils.arg(\u0027data_type\u0027, metavar\u003d\u0027\u003cdata_type\u003e\u0027,"},{"line_number":969,"context_line":"           help\u003d\u0027Data type of the datastore configuration parameter.\u0027)"},{"line_number":970,"context_line":"@utils.arg(\u0027--max_size\u0027, metavar\u003d\u0027\u003cmax_size\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"baada198_4f7aff25","line":967,"updated":"2014-08-01 10:54:34.000000000","message":"i think we should add proper description of possible values of `restart_required`?","commit_id":"e9ed7e1f40151f2e81133b696d9c206626dd9b23"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"3427c91f96359cae31ff160c1fe4c13fb4b252f3","unresolved":false,"context_lines":[{"line_number":955,"context_line":"def do_metadata_delete(cs, args):"},{"line_number":956,"context_line":"    \"\"\"Deletes metadata for instance \u003cid\u003e.\"\"\""},{"line_number":957,"context_line":"    cs.metadata.delete(args.instance_id, args.key)"},{"line_number":958,"context_line":""},{"line_number":959,"context_line":""},{"line_number":960,"context_line":"@utils.arg(\u0027datastore_version\u0027,"},{"line_number":961,"context_line":"           metavar\u003d\u0027\u003cdatastore_version\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"baada198_4518891f","line":958,"updated":"2014-08-06 11:07:20.000000000","message":"if it\u0027s in shell.py, that means it shows up on a \"trove\" command:\n\n    configuration-parameter-create Create datastore configuration parameter\n    configuration-parameter-delete Modify datastore configuration parameter\n    configuration-parameter-list   Lists available parameters for a configuration group.\n    configuration-parameter-modify Modify datastore configuration parameter\n\nbecause management.py isn\u0027t loaded, any of these will instantly fail.\n\nex:\n\n    DEBUG (shell:634) \u0027ConfigurationParameters\u0027 object has no attribute \u0027create\u0027\n    Traceback (most recent call last):\n      File \"/opt/stack/python-troveclient/troveclient/shell.py\", line 629, in main\n        sys.argv[1:]))\n      File \"/opt/stack/python-troveclient/troveclient/shell.py\", line 464, in main\n        args.func(self.cs, args)\n      File \"/opt/stack/python-troveclient/troveclient/v1/shell.py\", line 978, in do_configuration_parameter_create\n        cs.configuration_parameters.create(\n    AttributeError: \u0027ConfigurationParameters\u0027 object has no attribute \u0027create\u0027\n\nsee my comment in the earlier file as to how to fix this,\n\nhowever:\n\nwe don\u0027t want to enable the management commands in the cli as a part of this review, so my recommendation is to commit the stuff below completely commented out. later, we can either (1) promote my mgmt extension at https://github.com/amcrn/mgmt_python_troveclient_ext , with your stuff below included, or (2) we come up with a strategy on how to introduce admin-only commands in the trove shell (should they be prefixed a certain way, should the help text indicate it\u0027s admin-only, etc.)\n\nfor what it\u0027s worth, since i used them all in testing the mgmt apis end-to-end with your other patch: they work great. so once we agree on a strategy, we can expose them with confidence.","commit_id":"0acc8cdeb842e7213033b122c70ad2a33772d415"}]}
