)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"a4bd495729464f290d29dcd6900fe8f8bfae8feb","unresolved":false,"context_lines":[{"line_number":19,"context_line":"scenes. This means that when creating a datastore-version, a datastore"},{"line_number":20,"context_line":"will be automatically created, if it does not already exist."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Depends-on: I5631588cf09083987498555b459d3703b6c87d37"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Change-Id: If79a03962abc41033dfe6e6ec1e335b243bb74f7"},{"line_number":25,"context_line":"Implements: blueprint datastore-registration-api"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1a4dcd0f_1a15dae3","line":22,"updated":"2015-08-12 04:41:28.000000000","message":"need a docimpact on this.","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"dccfe144c939078ad1d3340ac7cb0700b96adb99","unresolved":false,"context_lines":[{"line_number":19,"context_line":"scenes. This means that when creating a datastore-version, a datastore"},{"line_number":20,"context_line":"will be automatically created, if it does not already exist."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Depends-on: I5631588cf09083987498555b459d3703b6c87d37"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Change-Id: If79a03962abc41033dfe6e6ec1e335b243bb74f7"},{"line_number":25,"context_line":"Implements: blueprint datastore-registration-api"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1a4dcd0f_98fa4876","line":22,"in_reply_to":"1a4dcd0f_1a15dae3","updated":"2015-08-12 07:41:08.000000000","message":"Done","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"2dfa1d0d103925e9c80373d110e9826ac78b91da","unresolved":false,"context_lines":[{"line_number":19,"context_line":"scenes. This means that when creating a datastore-version, a datastore"},{"line_number":20,"context_line":"will be automatically created, if it does not already exist."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"DocImpact"},{"line_number":23,"context_line":"Implements: blueprint datastore-registration-api"},{"line_number":24,"context_line":"Change-Id: If79a03962abc41033dfe6e6ec1e335b243bb74f7"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1a4dcd0f_caa16497","line":22,"updated":"2015-08-14 05:06:27.000000000","message":"add a sentence or two describing what docs this change impacts on the next line of the commit msg. (makes it easier for the doc writers to figure it out.)","commit_id":"b6688fa82a76ad4606808c344fe9fc6d6cd2b12f"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"70be2d9fbc6aace4165f9858fc8d5cbceb053abd","unresolved":false,"context_lines":[{"line_number":19,"context_line":"scenes. This means that when creating a datastore-version, a datastore"},{"line_number":20,"context_line":"will be automatically created, if it does not already exist."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"DocImpact"},{"line_number":23,"context_line":"Implements: blueprint datastore-registration-api"},{"line_number":24,"context_line":"Change-Id: If79a03962abc41033dfe6e6ec1e335b243bb74f7"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1a4dcd0f_a5468b4d","line":22,"in_reply_to":"1a4dcd0f_caa16497","updated":"2015-08-14 05:12:40.000000000","message":"nevermind looking back at the commit message i think its fine.","commit_id":"b6688fa82a76ad4606808c344fe9fc6d6cd2b12f"}],"trove/common/apischema.py":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"eea149c73e2bd4d64d05b804955579213575bb65","unresolved":false,"context_lines":[{"line_number":606,"context_line":"    }"},{"line_number":607,"context_line":"}"},{"line_number":608,"context_line":""},{"line_number":609,"context_line":"boolean_values \u003d {"},{"line_number":610,"context_line":"    \"enum\": [True, False]"},{"line_number":611,"context_line":"}"},{"line_number":612,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_1b209447","line":609,"updated":"2015-08-19 19:15:53.000000000","message":"we already have boolean_string. Do we *need* boolean_value?","commit_id":"b6688fa82a76ad4606808c344fe9fc6d6cd2b12f"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"df1e3ace7ae7f338bbe92a3f08f033f0dca53567","unresolved":false,"context_lines":[{"line_number":606,"context_line":"    }"},{"line_number":607,"context_line":"}"},{"line_number":608,"context_line":""},{"line_number":609,"context_line":"boolean_values \u003d {"},{"line_number":610,"context_line":"    \"enum\": [True, False]"},{"line_number":611,"context_line":"}"},{"line_number":612,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_a38d64d4","line":609,"in_reply_to":"fa1b9901_1b209447","updated":"2015-08-21 08:42:11.000000000","message":"These values are not strings","commit_id":"b6688fa82a76ad4606808c344fe9fc6d6cd2b12f"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"eea149c73e2bd4d64d05b804955579213575bb65","unresolved":false,"context_lines":[{"line_number":612,"context_line":""},{"line_number":613,"context_line":""},{"line_number":614,"context_line":"package_list \u003d {"},{"line_number":615,"context_line":"    \"type\": \"array\","},{"line_number":616,"context_line":"    \"minItems\": 0,"},{"line_number":617,"context_line":"    \"uniqueItems\": True,"},{"line_number":618,"context_line":"    \"items\": {"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_7bd5101a","line":615,"updated":"2015-08-19 19:15:53.000000000","message":"is anything required?","commit_id":"b6688fa82a76ad4606808c344fe9fc6d6cd2b12f"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"df1e3ace7ae7f338bbe92a3f08f033f0dca53567","unresolved":false,"context_lines":[{"line_number":612,"context_line":""},{"line_number":613,"context_line":""},{"line_number":614,"context_line":"package_list \u003d {"},{"line_number":615,"context_line":"    \"type\": \"array\","},{"line_number":616,"context_line":"    \"minItems\": 0,"},{"line_number":617,"context_line":"    \"uniqueItems\": True,"},{"line_number":618,"context_line":"    \"items\": {"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_8380608c","line":615,"in_reply_to":"fa1b9901_7bd5101a","updated":"2015-08-21 08:42:11.000000000","message":"no this would not be a dictionary, this is a list of strings","commit_id":"b6688fa82a76ad4606808c344fe9fc6d6cd2b12f"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"eea149c73e2bd4d64d05b804955579213575bb65","unresolved":false,"context_lines":[{"line_number":647,"context_line":"    \"edit\": {"},{"line_number":648,"context_line":"        \"name\": \"mgmt_datastore_version:edit\","},{"line_number":649,"context_line":"        \"type\": \"object\","},{"line_number":650,"context_line":"        \"required\": [],"},{"line_number":651,"context_line":"        \"additionalProperties\": True,"},{"line_number":652,"context_line":"        \"properties\": {"},{"line_number":653,"context_line":"            \"packages\": package_list,"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_5b9ccc5c","line":650,"updated":"2015-08-19 19:15:53.000000000","message":"if nothing is required, this is redundant.","commit_id":"b6688fa82a76ad4606808c344fe9fc6d6cd2b12f"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"df1e3ace7ae7f338bbe92a3f08f033f0dca53567","unresolved":false,"context_lines":[{"line_number":647,"context_line":"    \"edit\": {"},{"line_number":648,"context_line":"        \"name\": \"mgmt_datastore_version:edit\","},{"line_number":649,"context_line":"        \"type\": \"object\","},{"line_number":650,"context_line":"        \"required\": [],"},{"line_number":651,"context_line":"        \"additionalProperties\": True,"},{"line_number":652,"context_line":"        \"properties\": {"},{"line_number":653,"context_line":"            \"packages\": package_list,"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_9516574a","line":650,"in_reply_to":"fa1b9901_5b9ccc5c","updated":"2015-08-21 08:42:11.000000000","message":"so for edit none of the field could be made mandatory to be updated always, also there are many more such objects in this file where nothing is required","commit_id":"b6688fa82a76ad4606808c344fe9fc6d6cd2b12f"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"9e8633b721f11c4ccf382bf5f7666bce3356bc93","unresolved":false,"context_lines":[{"line_number":635,"context_line":"                    \"datastore_manager\": non_empty_string,"},{"line_number":636,"context_line":"                    \"packages\": package_list,"},{"line_number":637,"context_line":"                    \"image\": uuid,"},{"line_number":638,"context_line":"                    \"active\": {\"enum\": [True, False]},"},{"line_number":639,"context_line":"                    \"default\": {\"enum\": [True, False]}"},{"line_number":640,"context_line":"                }"},{"line_number":641,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_b5dc5247","line":638,"updated":"2015-09-02 22:15:03.000000000","message":"This wasn\u0027t the point!","commit_id":"3c6ac78804ead0d928893e2f3e2e6e04429cc332"}],"trove/extensions/mgmt/datastores/service.py":[{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"ff0b27ef7d134e5185b07b63dd1b2e56310d104a","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class DatastoreVersionController(wsgi.Controller):"},{"line_number":32,"context_line":"    \"\"\"Controller for datastore version registration functionality.\"\"\""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @admin_context"},{"line_number":35,"context_line":"    def create(self, req, body, tenant_id):"},{"line_number":36,"context_line":"        \"\"\"Adds a new datastore version.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_fe37b9ad","line":33,"updated":"2015-08-12 05:18:35.000000000","message":"isnt there typically a schema that is loaded? to help verify the body? trove.common.apischema? not sure if this is used for mgmt calls but i *think* it is.","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"ff0b27ef7d134e5185b07b63dd1b2e56310d104a","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    def create(self, req, body, tenant_id):"},{"line_number":36,"context_line":"        \"\"\"Adds a new datastore version.\"\"\""},{"line_number":37,"context_line":"        LOG.debug(\"req : \u0027%s\u0027\\n\\n\", req)"},{"line_number":38,"context_line":"        LOG.debug(\"body : \u0027%s\u0027\\n\\n\", body)"},{"line_number":39,"context_line":"        context \u003d req.environ[wsgi.CONTEXT_KEY]"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        datastore_name \u003d body[\u0027version\u0027][\u0027datastore\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_63df96d6","line":38,"updated":"2015-08-12 05:18:35.000000000","message":"i dont think its necessary to keep these debug statements.","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"61fafae709b9076dc70a6b208dc2a1a347e3d531","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    def create(self, req, body, tenant_id):"},{"line_number":36,"context_line":"        \"\"\"Adds a new datastore version.\"\"\""},{"line_number":37,"context_line":"        LOG.debug(\"req : \u0027%s\u0027\\n\\n\", req)"},{"line_number":38,"context_line":"        LOG.debug(\"body : \u0027%s\u0027\\n\\n\", body)"},{"line_number":39,"context_line":"        context \u003d req.environ[wsgi.CONTEXT_KEY]"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        datastore_name \u003d body[\u0027version\u0027][\u0027datastore\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_49e4f93a","line":38,"in_reply_to":"1a4dcd0f_63df96d6","updated":"2015-08-12 05:57:06.000000000","message":"certainly not debug statements that add needless newline characters at the end.","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"61fafae709b9076dc70a6b208dc2a1a347e3d531","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        try:"},{"line_number":57,"context_line":"            datastore \u003d models.Datastore.load(datastore_name)"},{"line_number":58,"context_line":"        except exception.DatastoreNotFound:"},{"line_number":59,"context_line":"            # Create the datastore if datastore_name does not exists."},{"line_number":60,"context_line":"            LOG.debug(\"Creating datastore %s\" % datastore_name)"},{"line_number":61,"context_line":"            datastore \u003d models.DBDatastore()"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_293ded8e","line":58,"updated":"2015-08-12 05:57:06.000000000","message":"what if the exception is something else, or there is no exception!","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"dccfe144c939078ad1d3340ac7cb0700b96adb99","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        try:"},{"line_number":57,"context_line":"            datastore \u003d models.Datastore.load(datastore_name)"},{"line_number":58,"context_line":"        except exception.DatastoreNotFound:"},{"line_number":59,"context_line":"            # Create the datastore if datastore_name does not exists."},{"line_number":60,"context_line":"            LOG.debug(\"Creating datastore %s\" % datastore_name)"},{"line_number":61,"context_line":"            datastore \u003d models.DBDatastore()"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_d8dd3015","line":58,"in_reply_to":"1a4dcd0f_293ded8e","updated":"2015-08-12 07:41:08.000000000","message":"if no exception then it means that datastore existed and we need not take any action.","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"ff0b27ef7d134e5185b07b63dd1b2e56310d104a","unresolved":false,"context_lines":[{"line_number":57,"context_line":"            datastore \u003d models.Datastore.load(datastore_name)"},{"line_number":58,"context_line":"        except exception.DatastoreNotFound:"},{"line_number":59,"context_line":"            # Create the datastore if datastore_name does not exists."},{"line_number":60,"context_line":"            LOG.debug(\"Creating datastore %s\" % datastore_name)"},{"line_number":61,"context_line":"            datastore \u003d models.DBDatastore()"},{"line_number":62,"context_line":"            datastore.id \u003d utils.generate_uuid()"},{"line_number":63,"context_line":"            datastore.name \u003d datastore_name"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_239bce19","line":60,"updated":"2015-08-12 05:18:35.000000000","message":"this looks like something that could be bumped up to an info level.","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"dccfe144c939078ad1d3340ac7cb0700b96adb99","unresolved":false,"context_lines":[{"line_number":57,"context_line":"            datastore \u003d models.Datastore.load(datastore_name)"},{"line_number":58,"context_line":"        except exception.DatastoreNotFound:"},{"line_number":59,"context_line":"            # Create the datastore if datastore_name does not exists."},{"line_number":60,"context_line":"            LOG.debug(\"Creating datastore %s\" % datastore_name)"},{"line_number":61,"context_line":"            datastore \u003d models.DBDatastore()"},{"line_number":62,"context_line":"            datastore.id \u003d utils.generate_uuid()"},{"line_number":63,"context_line":"            datastore.name \u003d datastore_name"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_d8b690db","line":60,"in_reply_to":"1a4dcd0f_239bce19","updated":"2015-08-12 07:41:08.000000000","message":"Done","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"61fafae709b9076dc70a6b208dc2a1a347e3d531","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        try:"},{"line_number":68,"context_line":"            client.images.get(image_id)"},{"line_number":69,"context_line":"        except nova_exceptions.NotFound:"},{"line_number":70,"context_line":"            raise exception.ImageNotFound(uuid\u003dimage_id)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        try:"},{"line_number":73,"context_line":"            models.DatastoreVersion.load(datastore, version_name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_c93d698f","line":70,"updated":"2015-08-12 05:57:06.000000000","message":"so what\u0027s the effect of this? you may leave a turd in the database because of the datastore.save() above!","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"dccfe144c939078ad1d3340ac7cb0700b96adb99","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        try:"},{"line_number":68,"context_line":"            client.images.get(image_id)"},{"line_number":69,"context_line":"        except nova_exceptions.NotFound:"},{"line_number":70,"context_line":"            raise exception.ImageNotFound(uuid\u003dimage_id)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        try:"},{"line_number":73,"context_line":"            models.DatastoreVersion.load(datastore, version_name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_18aab871","line":70,"in_reply_to":"1a4dcd0f_c93d698f","updated":"2015-08-12 07:41:08.000000000","message":"I would take up the case accordingly, to not have a effect on db.","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"ff0b27ef7d134e5185b07b63dd1b2e56310d104a","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                                            manager, image_id, packages,"},{"line_number":78,"context_line":"                                            active)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        if default \u003d\u003d \"True\":"},{"line_number":81,"context_line":"            models.update_datastore(datastore.name, version_name)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        return wsgi.Result(None, 202)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_034b3288","line":80,"updated":"2015-08-12 05:18:35.000000000","message":"is this always going to be a string? or could it be a bool? not sure if there is a test for this just speaking out loud.","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"ff0b27ef7d134e5185b07b63dd1b2e56310d104a","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        if default \u003d\u003d \"True\":"},{"line_number":81,"context_line":"            models.update_datastore(datastore.name, version_name)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        return wsgi.Result(None, 202)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    @admin_context"},{"line_number":86,"context_line":"    def index(self, req, tenant_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_2350ae31","line":83,"updated":"2015-08-12 05:18:35.000000000","message":"didnt we say 200 (ok) not 202 (accepted)?","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"dccfe144c939078ad1d3340ac7cb0700b96adb99","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        if default \u003d\u003d \"True\":"},{"line_number":81,"context_line":"            models.update_datastore(datastore.name, version_name)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        return wsgi.Result(None, 202)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    @admin_context"},{"line_number":86,"context_line":"    def index(self, req, tenant_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_98c6c89a","line":83,"in_reply_to":"1a4dcd0f_2350ae31","updated":"2015-08-12 07:41:08.000000000","message":"result code is 202 for create, patch \u0026 delete and 200 for get and show as in approved spec https://review.openstack.org/#/c/188072/22/specs/liberty/datastore-registration-api.rst","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"61fafae709b9076dc70a6b208dc2a1a347e3d531","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        if default \u003d\u003d \"True\":"},{"line_number":81,"context_line":"            models.update_datastore(datastore.name, version_name)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        return wsgi.Result(None, 202)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    @admin_context"},{"line_number":86,"context_line":"    def index(self, req, tenant_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_a9f7bdd1","line":83,"in_reply_to":"1a4dcd0f_2350ae31","updated":"2015-08-12 05:57:06.000000000","message":"yup","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"ff27d47ec6c6f5a54cf2ad1cc8fb975988d007db","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        if default \u003d\u003d \"True\":"},{"line_number":81,"context_line":"            models.update_datastore(datastore.name, version_name)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        return wsgi.Result(None, 202)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    @admin_context"},{"line_number":86,"context_line":"    def index(self, req, tenant_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_dde3c3a2","line":83,"in_reply_to":"1a4dcd0f_98c6c89a","updated":"2015-08-12 16:30:34.000000000","message":"Ah... this is because there is no body being sent back in the response so 202 would be ok on the update, create and delete.","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"ff0b27ef7d134e5185b07b63dd1b2e56310d104a","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        LOG.info(_(\"Tenant: \u0027%(tenant)s\u0027 is listing datastore-versions.\") %"},{"line_number":89,"context_line":"                 {\u0027tenant\u0027: tenant_id})"},{"line_number":90,"context_line":"        datastore_versions \u003d models.DatastoreVersions.load_all("},{"line_number":91,"context_line":"            only_active\u003dFalse)"},{"line_number":92,"context_line":"        return wsgi.Result("},{"line_number":93,"context_line":"            views.DatastoreVersionsView(datastore_versions).data(), 200)"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_7ecf297f","line":91,"updated":"2015-08-12 05:18:35.000000000","message":"hmm should the only_active be a query parameter or something you can pass in to this method to show them all or not?\n\nNot sure if that makes sense or not.","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"ff27d47ec6c6f5a54cf2ad1cc8fb975988d007db","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        LOG.info(_(\"Tenant: \u0027%(tenant)s\u0027 is listing datastore-versions.\") %"},{"line_number":89,"context_line":"                 {\u0027tenant\u0027: tenant_id})"},{"line_number":90,"context_line":"        datastore_versions \u003d models.DatastoreVersions.load_all("},{"line_number":91,"context_line":"            only_active\u003dFalse)"},{"line_number":92,"context_line":"        return wsgi.Result("},{"line_number":93,"context_line":"            views.DatastoreVersionsView(datastore_versions).data(), 200)"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_3838b5d2","line":91,"in_reply_to":"1a4dcd0f_3899b479","updated":"2015-08-12 16:30:34.000000000","message":"I redact my question here as i think its fine the way it is here.","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"dccfe144c939078ad1d3340ac7cb0700b96adb99","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        LOG.info(_(\"Tenant: \u0027%(tenant)s\u0027 is listing datastore-versions.\") %"},{"line_number":89,"context_line":"                 {\u0027tenant\u0027: tenant_id})"},{"line_number":90,"context_line":"        datastore_versions \u003d models.DatastoreVersions.load_all("},{"line_number":91,"context_line":"            only_active\u003dFalse)"},{"line_number":92,"context_line":"        return wsgi.Result("},{"line_number":93,"context_line":"            views.DatastoreVersionsView(datastore_versions).data(), 200)"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_3899b479","line":91,"in_reply_to":"1a4dcd0f_7ecf297f","updated":"2015-08-12 07:41:08.000000000","message":"actually, method load_all takes a parameter to filter the active versions, but being an admin, I would like to see all the versions hence i needed to pass only_active\u003dFalse.\n\nThere is a similar functionality which works in 2 ways for admin and non-admin users and displays only active versions to non-admin users and since ours is an admin API so i chose this without any parameters, simply.\n\nhttps://github.com/openstack/trove/blob/master/trove/datastore/service.py#L54-L63","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"ff0b27ef7d134e5185b07b63dd1b2e56310d104a","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    def edit(self, req, body, tenant_id, id):"},{"line_number":108,"context_line":"        \"\"\"Updates the attributes of a datastore version.\"\"\""},{"line_number":109,"context_line":"        LOG.debug(\"req : \u0027%s\u0027\\n\\n\", req)"},{"line_number":110,"context_line":"        LOG.debug(\"body : \u0027%s\u0027\\n\\n\", body)"},{"line_number":111,"context_line":"        context \u003d req.environ[wsgi.CONTEXT_KEY]"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        LOG.info(_(\"Tenant: \u0027%(tenant)s\u0027 is updating the datastore \""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_be05b110","line":110,"updated":"2015-08-12 05:18:35.000000000","message":"no need for these debug statements","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"dccfe144c939078ad1d3340ac7cb0700b96adb99","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    def edit(self, req, body, tenant_id, id):"},{"line_number":108,"context_line":"        \"\"\"Updates the attributes of a datastore version.\"\"\""},{"line_number":109,"context_line":"        LOG.debug(\"req : \u0027%s\u0027\\n\\n\", req)"},{"line_number":110,"context_line":"        LOG.debug(\"body : \u0027%s\u0027\\n\\n\", body)"},{"line_number":111,"context_line":"        context \u003d req.environ[wsgi.CONTEXT_KEY]"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        LOG.info(_(\"Tenant: \u0027%(tenant)s\u0027 is updating the datastore \""}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_1852b8de","line":110,"in_reply_to":"1a4dcd0f_be05b110","updated":"2015-08-12 07:41:08.000000000","message":"Done","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"ff0b27ef7d134e5185b07b63dd1b2e56310d104a","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        LOG.info(_(\"Tenant: \u0027%(tenant)s\u0027 is updating the datastore \""},{"line_number":114,"context_line":"                   \"version: \u0027%(version)s\u0027.\") %"},{"line_number":115,"context_line":"                 {\u0027tenant\u0027: tenant_id, \u0027version\u0027: id})"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        datastore_version \u003d models.DatastoreVersion.load_by_uuid(id)"},{"line_number":118,"context_line":"        datastore \u003d models.Datastore.load(datastore_version.datastore_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_5e17cd44","line":115,"updated":"2015-08-12 05:18:35.000000000","message":"this maybe more useful info statement to include the version name you are updating like in the create call.","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"dccfe144c939078ad1d3340ac7cb0700b96adb99","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"        LOG.info(_(\"Tenant: \u0027%(tenant)s\u0027 is updating the datastore \""},{"line_number":114,"context_line":"                   \"version: \u0027%(version)s\u0027.\") %"},{"line_number":115,"context_line":"                 {\u0027tenant\u0027: tenant_id, \u0027version\u0027: id})"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        datastore_version \u003d models.DatastoreVersion.load_by_uuid(id)"},{"line_number":118,"context_line":"        datastore \u003d models.Datastore.load(datastore_version.datastore_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_584cc041","line":115,"in_reply_to":"1a4dcd0f_5e17cd44","updated":"2015-08-12 07:41:08.000000000","message":"Done","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"ff0b27ef7d134e5185b07b63dd1b2e56310d104a","unresolved":false,"context_lines":[{"line_number":143,"context_line":"              datastore.default_version_id \u003d\u003d datastore_version.id):"},{"line_number":144,"context_line":"            models.update_datastore(datastore.name, None)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"        return wsgi.Result(None, 202)"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    @admin_context"},{"line_number":149,"context_line":"    def delete(self, req, tenant_id, id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_fe74999c","line":146,"updated":"2015-08-12 05:18:35.000000000","message":"200 instead of 202","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"dccfe144c939078ad1d3340ac7cb0700b96adb99","unresolved":false,"context_lines":[{"line_number":143,"context_line":"              datastore.default_version_id \u003d\u003d datastore_version.id):"},{"line_number":144,"context_line":"            models.update_datastore(datastore.name, None)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"        return wsgi.Result(None, 202)"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    @admin_context"},{"line_number":149,"context_line":"    def delete(self, req, tenant_id, id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_f83cac94","line":146,"in_reply_to":"1a4dcd0f_fe74999c","updated":"2015-08-12 07:41:08.000000000","message":"result code is 202 for create, patch \u0026 delete and 200 for get and show as in approved spec https://review.openstack.org/#/c/188072/22/specs/liberty/datastore-registration-api.rst","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"ff0b27ef7d134e5185b07b63dd1b2e56310d104a","unresolved":false,"context_lines":[{"line_number":151,"context_line":"        LOG.debug(\"req : \u0027%s\u0027\\n\\n\", req)"},{"line_number":152,"context_line":"        LOG.info(_(\"Tenant: \u0027%(tenant)s\u0027 is deleting the datastore \""},{"line_number":153,"context_line":"                   \"version: \u0027%(version)s\u0027.\") %"},{"line_number":154,"context_line":"                 {\u0027tenant\u0027: tenant_id, \u0027version\u0027: id})"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        datastore_version \u003d models.DatastoreVersion.load_by_uuid(id)"},{"line_number":157,"context_line":"        datastore \u003d models.Datastore.load(datastore_version.datastore_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_3e5f6110","line":154,"range":{"start_line":154,"start_character":24,"end_line":154,"end_character":25},"updated":"2015-08-12 05:18:35.000000000","message":"version name maybe more useful here.","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"dccfe144c939078ad1d3340ac7cb0700b96adb99","unresolved":false,"context_lines":[{"line_number":151,"context_line":"        LOG.debug(\"req : \u0027%s\u0027\\n\\n\", req)"},{"line_number":152,"context_line":"        LOG.info(_(\"Tenant: \u0027%(tenant)s\u0027 is deleting the datastore \""},{"line_number":153,"context_line":"                   \"version: \u0027%(version)s\u0027.\") %"},{"line_number":154,"context_line":"                 {\u0027tenant\u0027: tenant_id, \u0027version\u0027: id})"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        datastore_version \u003d models.DatastoreVersion.load_by_uuid(id)"},{"line_number":157,"context_line":"        datastore \u003d models.Datastore.load(datastore_version.datastore_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_983d6890","line":154,"in_reply_to":"1a4dcd0f_3e5f6110","updated":"2015-08-12 07:41:08.000000000","message":"Done","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"ff0b27ef7d134e5185b07b63dd1b2e56310d104a","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        if datastore.default_version_id \u003d\u003d datastore_version.id:"},{"line_number":159,"context_line":"            models.update_datastore(datastore.name, None)"},{"line_number":160,"context_line":"        datastore_version.delete()"},{"line_number":161,"context_line":"        return wsgi.Result(None, 202)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_de6f5dc2","line":161,"updated":"2015-08-12 05:18:35.000000000","message":"200","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"dccfe144c939078ad1d3340ac7cb0700b96adb99","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        if datastore.default_version_id \u003d\u003d datastore_version.id:"},{"line_number":159,"context_line":"            models.update_datastore(datastore.name, None)"},{"line_number":160,"context_line":"        datastore_version.delete()"},{"line_number":161,"context_line":"        return wsgi.Result(None, 202)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_d83770ae","line":161,"in_reply_to":"1a4dcd0f_de6f5dc2","updated":"2015-08-12 07:41:08.000000000","message":"result code is 202 for create, patch \u0026 delete and 200 for get and show as in approved spec https://review.openstack.org/#/c/188072/22/specs/liberty/datastore-registration-api.rst","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"eea149c73e2bd4d64d05b804955579213575bb65","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        if default:"},{"line_number":81,"context_line":"            models.update_datastore(datastore.name, version_name)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        return wsgi.Result(None, 202)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    @admin_context"},{"line_number":86,"context_line":"    def index(self, req, tenant_id):"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_dbd69cf0","line":83,"updated":"2015-08-19 19:15:53.000000000","message":"I know this has gone back and forth but there is no background processing required. Once created, it is done, created.\n\nWas there a reason why we picked 202?","commit_id":"b6688fa82a76ad4606808c344fe9fc6d6cd2b12f"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"df1e3ace7ae7f338bbe92a3f08f033f0dca53567","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        if default:"},{"line_number":81,"context_line":"            models.update_datastore(datastore.name, version_name)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"        return wsgi.Result(None, 202)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    @admin_context"},{"line_number":86,"context_line":"    def index(self, req, tenant_id):"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_554aff55","line":83,"in_reply_to":"fa1b9901_dbd69cf0","updated":"2015-08-21 08:42:11.000000000","message":"We are not returning any data in post call, as it was commented by you in specs,\n\nso I picked up 202\u003d\u003eaccepted.","commit_id":"b6688fa82a76ad4606808c344fe9fc6d6cd2b12f"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"eea149c73e2bd4d64d05b804955579213575bb65","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        elif (default is False and datastore_version.default is True):"},{"line_number":137,"context_line":"            models.update_datastore(datastore_version.datastore_name, None)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        return wsgi.Result(None, 202)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    @admin_context"},{"line_number":142,"context_line":"    def delete(self, req, tenant_id, id):"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa1b9901_5b012c69","line":139,"updated":"2015-08-19 19:15:53.000000000","message":"same","commit_id":"b6688fa82a76ad4606808c344fe9fc6d6cd2b12f"}],"trove/extensions/mgmt/datastores/views.py":[{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"a4bd495729464f290d29dcd6900fe8f8bfae8feb","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    def data(self):"},{"line_number":25,"context_line":"        data \u003d []"},{"line_number":26,"context_line":"        for datastore_version in self.datastore_versions:"},{"line_number":27,"context_line":"            datastore \u003d Datastore.load(datastore_version.datastore_id)"},{"line_number":28,"context_line":"            datastore_version_dict \u003d {"},{"line_number":29,"context_line":"                \"id\": datastore_version.id,"},{"line_number":30,"context_line":"                \"name\": datastore_version.name,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_9a3d6adf","line":27,"updated":"2015-08-12 04:41:28.000000000","message":"you should not be loading the models in the view. This should be handled outside of the the view.","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"ff0b27ef7d134e5185b07b63dd1b2e56310d104a","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    def data(self):"},{"line_number":25,"context_line":"        data \u003d []"},{"line_number":26,"context_line":"        for datastore_version in self.datastore_versions:"},{"line_number":27,"context_line":"            datastore \u003d Datastore.load(datastore_version.datastore_id)"},{"line_number":28,"context_line":"            datastore_version_dict \u003d {"},{"line_number":29,"context_line":"                \"id\": datastore_version.id,"},{"line_number":30,"context_line":"                \"name\": datastore_version.name,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_c30eaa3c","line":27,"in_reply_to":"1a4dcd0f_9a3d6adf","updated":"2015-08-12 05:18:35.000000000","message":"there are 2 ways you could handle this that i can see.\n\n1. make a property to handle this attribute on the model of the version.\n\n2. pass in the data you need to this function in some manner.","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"dccfe144c939078ad1d3340ac7cb0700b96adb99","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    def data(self):"},{"line_number":25,"context_line":"        data \u003d []"},{"line_number":26,"context_line":"        for datastore_version in self.datastore_versions:"},{"line_number":27,"context_line":"            datastore \u003d Datastore.load(datastore_version.datastore_id)"},{"line_number":28,"context_line":"            datastore_version_dict \u003d {"},{"line_number":29,"context_line":"                \"id\": datastore_version.id,"},{"line_number":30,"context_line":"                \"name\": datastore_version.name,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_38d534e4","line":27,"in_reply_to":"1a4dcd0f_c30eaa3c","updated":"2015-08-12 07:41:08.000000000","message":"ok, i would see how this could be tackled.","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"ff0b27ef7d134e5185b07b63dd1b2e56310d104a","unresolved":false,"context_lines":[{"line_number":35,"context_line":"                \"packages\": datastore_version.packages.split(\u0027,\u0027),"},{"line_number":36,"context_line":"                \"active\": (datastore_version.active !\u003d 0),"},{"line_number":37,"context_line":"                \"default\": ("},{"line_number":38,"context_line":"                    datastore.default_version_id \u003d\u003d datastore_version.id)}"},{"line_number":39,"context_line":"            data.append(datastore_version_dict)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        return {\u0027versions\u0027: data}"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_6329d69a","line":38,"updated":"2015-08-12 05:18:35.000000000","message":"this is duplicated code. can you just make it to call the DatastoreVersionView instead so that its not duplicated?","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"dccfe144c939078ad1d3340ac7cb0700b96adb99","unresolved":false,"context_lines":[{"line_number":35,"context_line":"                \"packages\": datastore_version.packages.split(\u0027,\u0027),"},{"line_number":36,"context_line":"                \"active\": (datastore_version.active !\u003d 0),"},{"line_number":37,"context_line":"                \"default\": ("},{"line_number":38,"context_line":"                    datastore.default_version_id \u003d\u003d datastore_version.id)}"},{"line_number":39,"context_line":"            data.append(datastore_version_dict)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        return {\u0027versions\u0027: data}"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_d804507f","line":38,"in_reply_to":"1a4dcd0f_6329d69a","updated":"2015-08-12 07:41:08.000000000","message":"Done","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"2dfa1d0d103925e9c80373d110e9826ac78b91da","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        data \u003d []"},{"line_number":44,"context_line":"        for datastore_version in self.datastore_versions:"},{"line_number":45,"context_line":"            data.append("},{"line_number":46,"context_line":"                DatastoreVersionView(datastore_version).data()[\u0027version\u0027])"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        return {\u0027versions\u0027: data}"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a4dcd0f_eafd403c","line":46,"updated":"2015-08-14 05:06:27.000000000","message":"much better! :)","commit_id":"b6688fa82a76ad4606808c344fe9fc6d6cd2b12f"}],"trove/tests/unittests/mgmt/test_datastores.py":[{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"ff0b27ef7d134e5185b07b63dd1b2e56310d104a","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            \"image\": \"image-id\","},{"line_number":57,"context_line":"            \"packages\": \"test-pkg\","},{"line_number":58,"context_line":"            \"active\": \"1\","},{"line_number":59,"context_line":"            \"default\": \"True\"}}"},{"line_number":60,"context_line":"        output \u003d self.version_controller.create("},{"line_number":61,"context_line":"            self.req, body, self.tenant_id)"},{"line_number":62,"context_line":"        self.assertEqual(202, output.status)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_9edb157c","line":59,"updated":"2015-08-12 05:18:35.000000000","message":"this is supposed to be a boolean json\n\n    \"active\": true,\n    \"default\": true,","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"dccfe144c939078ad1d3340ac7cb0700b96adb99","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            \"image\": \"image-id\","},{"line_number":57,"context_line":"            \"packages\": \"test-pkg\","},{"line_number":58,"context_line":"            \"active\": \"1\","},{"line_number":59,"context_line":"            \"default\": \"True\"}}"},{"line_number":60,"context_line":"        output \u003d self.version_controller.create("},{"line_number":61,"context_line":"            self.req, body, self.tenant_id)"},{"line_number":62,"context_line":"        self.assertEqual(202, output.status)"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_b8ff0465","line":59,"in_reply_to":"1a4dcd0f_9edb157c","updated":"2015-08-12 07:41:08.000000000","message":"Done","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"ff0b27ef7d134e5185b07b63dd1b2e56310d104a","unresolved":false,"context_lines":[{"line_number":143,"context_line":"            self.req, self.tenant_id, self.ds_version2.id)"},{"line_number":144,"context_line":"        self.assertEqual(200, output.status)"},{"line_number":145,"context_line":"        self.assertEqual(self.ds_version2.name,"},{"line_number":146,"context_line":"                         output._data[\u0027version\u0027][\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_9e70f573","line":146,"updated":"2015-08-12 05:18:35.000000000","message":"should check for the other fields in the response as well on the show call.","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"dccfe144c939078ad1d3340ac7cb0700b96adb99","unresolved":false,"context_lines":[{"line_number":143,"context_line":"            self.req, self.tenant_id, self.ds_version2.id)"},{"line_number":144,"context_line":"        self.assertEqual(200, output.status)"},{"line_number":145,"context_line":"        self.assertEqual(self.ds_version2.name,"},{"line_number":146,"context_line":"                         output._data[\u0027version\u0027][\u0027name\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a4dcd0f_78f65c90","line":146,"in_reply_to":"1a4dcd0f_9e70f573","updated":"2015-08-12 07:41:08.000000000","message":"Done","commit_id":"d43604d31a740422bf58026068caf68614e64c80"},{"author":{"_account_id":4240,"name":"Craig Vyvial","email":"cp16net@gmail.com","username":"cp16net"},"change_message_id":"ff0b27ef7d134e5185b07b63dd1b2e56310d104a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"1a4dcd0f_1e0b85d7","line":147,"updated":"2015-08-12 05:18:35.000000000","message":"missing the list call test.","commit_id":"d43604d31a740422bf58026068caf68614e64c80"}]}
