)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"dfc47b9f4219005cb92658128802d46bd2738570","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Datastore support improvements"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Implements blueprint: datastore-type-version-followon"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Id41da29ce9732823bc4696301953e9cf8cdc82f5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAATn%2F89Xk%3D","line":9,"updated":"2013-12-18 11:53:03.000000000","message":"poor commit description, please read this https://wiki.openstack.org/wiki/GitCommitMessages#Information_in_commit_messages","commit_id":"c2d97fd64217d6c7c1f6273356bc45ba5ae2bf92"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"3586c4ca9ed3d61994bcbf88dcb9ac2db777e787","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Datastore support improvements"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Implements blueprint: datastore-type-version-followon"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Id41da29ce9732823bc4696301953e9cf8cdc82f5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAATn%2F86P4%3D","line":9,"in_reply_to":"AAAATn%2F89Xk%3D","updated":"2013-12-18 22:12:15.000000000","message":"agreed. plus this review should be tied to the trove one (that enables this new behavior).","commit_id":"c2d97fd64217d6c7c1f6273356bc45ba5ae2bf92"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"455a5d98b0053ecd4183b64de3e9bce22b086a44","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Datastores improvements"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Improvemets for client:"},{"line_number":10,"context_line":"- added datastore field in instalces list"},{"line_number":11,"context_line":"- fixed datastore and version fields in instance show output"},{"line_number":12,"context_line":"- fixed mistakes in help texts"},{"line_number":13,"context_line":"- add possibility to retrive version by uuid (without specified datastore)"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"AAAAT3%2F%2FuOw%3D","line":10,"updated":"2014-01-02 22:01:22.000000000","message":"\"instances list\"","commit_id":"bc0da31d86849feabc491868f4c4bbab8315f95b"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"7e10c01ae79f1d381889aa5f0f2326ca66ea0f21","unresolved":false,"context_lines":[{"line_number":10,"context_line":"- added datastore field in instalces list"},{"line_number":11,"context_line":"- fixed datastore and version fields in instance show output"},{"line_number":12,"context_line":"- fixed mistakes in help texts"},{"line_number":13,"context_line":"- add possibility to retrive version by uuid (without specified datastore)"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"To pass tests, this changes requires server-side changes merged first"},{"line_number":16,"context_line":"https://review.openstack.org/#/c/63844/"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"AAAAUH%2F%2FwFY%3D","line":13,"updated":"2014-01-08 21:47:10.000000000","message":"\"retrieve\"","commit_id":"bc0da31d86849feabc491868f4c4bbab8315f95b"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"8a0d72659bc704f4d750d8cf37bd8169f81f1102","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Datastores improvements"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Improvemets for client:"},{"line_number":10,"context_line":"- added datastore field in instances list"},{"line_number":11,"context_line":"- fixed datastore and version fields in instance show output"},{"line_number":12,"context_line":"- fixed mistakes in help texts"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"AAAAUH%2F%2B%2B5k%3D","line":9,"updated":"2014-01-20 05:14:55.000000000","message":"change \"Improvemets\" to \"Improvements\".","commit_id":"fe7bff60c2fb9a31b7a15ef51af6fd6b828894ee"}],"troveclient/openstack/common/uuidutils.py":[{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"9845f4671b91f53dfb46b9e13d6106214b122ced","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright (c) 2012 Intel Corporation."},{"line_number":4,"context_line":"# All Rights Reserved."}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F86O4%3D","line":1,"updated":"2013-12-18 22:14:26.000000000","message":"remove vim line.","commit_id":"c2d97fd64217d6c7c1f6273356bc45ba5ae2bf92"}],"troveclient/v1/shell.py":[{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"3586c4ca9ed3d61994bcbf88dcb9ac2db777e787","unresolved":false,"context_lines":[{"line_number":570,"context_line":"            args.datastore_version)"},{"line_number":571,"context_line":"    else:"},{"line_number":572,"context_line":"        raise exceptions.NoUniqueMatch(\u0027To get version by name, \u0027"},{"line_number":573,"context_line":"                                       \u0027datastore ID shoud be specified.\u0027)"},{"line_number":574,"context_line":"    _print_instance(datastore_version)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F86QA%3D","line":573,"updated":"2013-12-18 22:12:15.000000000","message":"the datastore id or name would work, plus \"shoud\" should be \"should\".\n\nplease change to something like: \"the datastore name or id is required to retrieve a datastore version by name\".","commit_id":"c2d97fd64217d6c7c1f6273356bc45ba5ae2bf92"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"931cf73a8b36d3087196cda2d91e393ec6792bbc","unresolved":false,"context_lines":[{"line_number":570,"context_line":""},{"line_number":571,"context_line":"@utils.arg(\u0027--datastore\u0027, metavar\u003d\u0027\u003cdatastore\u003e\u0027,"},{"line_number":572,"context_line":"           default\u003dNone,"},{"line_number":573,"context_line":"           help\u003d\u0027ID of the datastore. Optional if UUID of version specified.\u0027)"},{"line_number":574,"context_line":"@utils.arg(\u0027datastore_version\u0027, metavar\u003d\u0027\u003cdatastore_version\u003e\u0027,"},{"line_number":575,"context_line":"           help\u003d\u0027ID of the datastore version.\u0027)"},{"line_number":576,"context_line":"@utils.service_type(\u0027database\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F%2FbyE%3D","line":573,"updated":"2014-01-13 22:16:50.000000000","message":"change to \"ID or name of the datastore. Optional if UUID of the datastore_version is provided\".","commit_id":"583ab0481be74e059c724d6081b4c271855265a3"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"8a0d72659bc704f4d750d8cf37bd8169f81f1102","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"@utils.arg(\u0027instance\u0027, metavar\u003d\u0027\u003cinstance\u003e\u0027, help\u003d\u0027ID of the instance.\u0027)"},{"line_number":116,"context_line":"@utils.service_type(\u0027database\u0027)"},{"line_number":117,"context_line":"def do_show(cs, args):"},{"line_number":118,"context_line":"    \"\"\"Show details of an instance.\"\"\""},{"line_number":119,"context_line":"    instance \u003d _find_instance(cs, args.instance)"},{"line_number":120,"context_line":"    instance._info[\u0027flavor\u0027] \u003d instance.flavor[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F%2B%2B58%3D","line":117,"updated":"2014-01-20 05:14:55.000000000","message":"do_create needs to handle datastores like do_show does:\n\n    if hasattr(instance, \u0027datastore\u0027):\n        instance._info[\u0027datastore\u0027] \u003d instance.datastore[\u0027type\u0027]\n        instance._info[\u0027datastore_version\u0027] \u003d instance.datastore[\u0027version\u0027]\n\nbecause as of of now, the output is:\n\n    $ trove create KitKat 7 --size 1\n    +-----------+-----------------------------------------------+\n    |  Property |                     Value                     |\n    +-----------+-----------------------------------------------+\n    |  created  |              2014-01-20T04:59:51              |\n    | datastore | {u\u0027version\u0027: u\u0027mysql-5.5\u0027, u\u0027type\u0027: u\u0027mysql\u0027} |\n    |   flavor  |                       7                       |\n    |     id    |      10c079c8-9637-4c3a-aeee-ebdfd4bc347c     |\n    |    name   |                     KitKat                    |\n    |  password |      tT69Wa2aCW48dvbFk4pjMk6fXyUZ4XreX2UM     |\n    |   status  |                     BUILD                     |\n    |  updated  |              2014-01-20T04:59:51              |\n    |   volume  |                       1                       |\n    +-----------+-----------------------------------------------+","commit_id":"fe7bff60c2fb9a31b7a15ef51af6fd6b828894ee"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"8a0d72659bc704f4d750d8cf37bd8169f81f1102","unresolved":false,"context_lines":[{"line_number":553,"context_line":"@utils.arg(\u0027datastore\u0027, metavar\u003d\u0027\u003cdatastore\u003e\u0027,"},{"line_number":554,"context_line":"           help\u003d\u0027ID of the datastore.\u0027)"},{"line_number":555,"context_line":"@utils.service_type(\u0027database\u0027)"},{"line_number":556,"context_line":"def do_datastore_show(cs, args):"},{"line_number":557,"context_line":"    \"\"\"Show details of a datastore.\"\"\""},{"line_number":558,"context_line":"    datastore \u003d cs.datastores.get(args.datastore)"},{"line_number":559,"context_line":"    _print_instance(datastore)"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F%2B%2B7c%3D","line":556,"updated":"2014-01-20 05:14:55.000000000","message":"output:\n\n    $ trove datastore-show mysql\n    +-----------------+--------------------------------------+\n    |     Property    |                Value                 |\n    +-----------------+--------------------------------------+\n    | default_version | 83a6bb74-4e06-44e0-b424-d421307866fc |\n    |        id       | 46fc887c-8ab7-44bd-9cf3-e7013b94e77d |\n    |       name      |                mysql                 |\n    +-----------------+--------------------------------------+\n    \n    $ trove datastore-show Test_Datastore_1\n    +-----------------+--------------------------------------+\n    |     Property    |                Value                 |\n    +-----------------+--------------------------------------+\n    | default_version |                                      |\n    |        id       | 6b2e5b77-9d36-432a-a5fa-606eafd3a6b9 |\n    |       name      |           Test_Datastore_1           |\n    +-----------------+--------------------------------------+\n\nthe standard thus far has been to use hasattr() to avoid including\nempty fields; i\u0027d recommend following suit and do the same for\ndefault_version.","commit_id":"fe7bff60c2fb9a31b7a15ef51af6fd6b828894ee"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"8a0d72659bc704f4d750d8cf37bd8169f81f1102","unresolved":false,"context_lines":[{"line_number":584,"context_line":"        datastore_version \u003d cs.datastore_versions.get_by_uuid("},{"line_number":585,"context_line":"            args.datastore_version)"},{"line_number":586,"context_line":"    else:"},{"line_number":587,"context_line":"        raise exceptions.NoUniqueMatch(\u0027The datastore name or id is required\u0027"},{"line_number":588,"context_line":"                                       \u0027 to retrieve a datastore version\u0027"},{"line_number":589,"context_line":"                                       \u0027 by name.\u0027)"},{"line_number":590,"context_line":"    _print_instance(datastore_version)"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUH%2F%2B%2B8I%3D","line":587,"updated":"2014-01-20 05:14:55.000000000","message":"you forgot to add \"from troveclient import exceptions\", which means the following is returned to the user: \"ERROR: global name \u0027exceptions\u0027 is not defined\".","commit_id":"fe7bff60c2fb9a31b7a15ef51af6fd6b828894ee"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"fcba06bdd31c44e21e0ff4985d8291d22071035f","unresolved":false,"context_lines":[{"line_number":194,"context_line":"    instance._info[\u0027flavor\u0027] \u003d instance.flavor[\u0027id\u0027]"},{"line_number":195,"context_line":"    if hasattr(instance, \u0027volume\u0027):"},{"line_number":196,"context_line":"        instance._info[\u0027volume\u0027] \u003d instance.volume[\u0027size\u0027]"},{"line_number":197,"context_line":"    if hasattr(instance, \u0027datastore\u0027):"},{"line_number":198,"context_line":"        instance._info[\u0027datastore\u0027] \u003d instance.datastore[\u0027type\u0027]"},{"line_number":199,"context_line":"        instance._info[\u0027datastore_version\u0027] \u003d instance.datastore[\u0027version\u0027]"},{"line_number":200,"context_line":"    del(instance._info[\u0027links\u0027])"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUH%2F%2B45c%3D","line":197,"updated":"2014-01-21 02:32:54.000000000","message":"as mentioned in patch-set #7, this type of logic needs to be added to do_create(cs, args) as well.","commit_id":"047a6e6321008b324d3327fad44b8a60165fbe1c"},{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"aa18fa03f9b8b4c7cccb17fedad84fe3c039c3f7","unresolved":false,"context_lines":[{"line_number":194,"context_line":"    instance._info[\u0027flavor\u0027] \u003d instance.flavor[\u0027id\u0027]"},{"line_number":195,"context_line":"    if hasattr(instance, \u0027volume\u0027):"},{"line_number":196,"context_line":"        instance._info[\u0027volume\u0027] \u003d instance.volume[\u0027size\u0027]"},{"line_number":197,"context_line":"    if hasattr(instance, \u0027datastore\u0027):"},{"line_number":198,"context_line":"        instance._info[\u0027datastore\u0027] \u003d instance.datastore[\u0027type\u0027]"},{"line_number":199,"context_line":"        instance._info[\u0027datastore_version\u0027] \u003d instance.datastore[\u0027version\u0027]"},{"line_number":200,"context_line":"    del(instance._info[\u0027links\u0027])"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUH%2F%2B0y8%3D","line":197,"in_reply_to":"AAAAUH%2F%2B2sc%3D","updated":"2014-01-21 17:53:12.000000000","message":"ah, gerrit deceivingly placed the \"skipping XX lines\" between \"def do_create\" and the body of do_show, making it seem as if they were one at first glance.","commit_id":"047a6e6321008b324d3327fad44b8a60165fbe1c"},{"author":{"_account_id":8259,"name":"Andrey Shestakov","email":"ashestakov@mirantis.com","username":"ashestakov"},"change_message_id":"924fd4e9523ccd2418da670285b3161b9e085ba2","unresolved":false,"context_lines":[{"line_number":194,"context_line":"    instance._info[\u0027flavor\u0027] \u003d instance.flavor[\u0027id\u0027]"},{"line_number":195,"context_line":"    if hasattr(instance, \u0027volume\u0027):"},{"line_number":196,"context_line":"        instance._info[\u0027volume\u0027] \u003d instance.volume[\u0027size\u0027]"},{"line_number":197,"context_line":"    if hasattr(instance, \u0027datastore\u0027):"},{"line_number":198,"context_line":"        instance._info[\u0027datastore\u0027] \u003d instance.datastore[\u0027type\u0027]"},{"line_number":199,"context_line":"        instance._info[\u0027datastore_version\u0027] \u003d instance.datastore[\u0027version\u0027]"},{"line_number":200,"context_line":"    del(instance._info[\u0027links\u0027])"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAUH%2F%2B2sc%3D","line":197,"in_reply_to":"AAAAUH%2F%2B45c%3D","updated":"2014-01-21 12:01:08.000000000","message":"this is do_create function","commit_id":"047a6e6321008b324d3327fad44b8a60165fbe1c"}]}
