)]}'
{"nova/api/openstack/compute/plugins/v3/server_metadata.py":[{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"8c88666b727ebffd00ec987833ba1d528a0d63c1","unresolved":false,"context_lines":[{"line_number":186,"context_line":"    version \u003d 1"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def get_resources(self):"},{"line_number":189,"context_line":"        resources \u003d [ extensions.ResourceExtension(self.alias,"},{"line_number":190,"context_line":"                                                   ServerMetadataController)]"},{"line_number":191,"context_line":"        return resources"},{"line_number":192,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAPH%2F%2F8jk%3D","line":189,"updated":"2013-05-18 05:05:21.000000000","message":"In V2 the member_name was set to server_meta and the collection name to metadata. Do we want to change this so they are the same. Is the singular of metadata metadatum? :-)\n\nAlso the parent resource of this should be servers.","commit_id":"8aa5e2ad05aea6c35dbf6afe13c899bbd5ec2aac"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"3a2c650f4f8c1f87b0e2089fb2a3ec25efa76cc2","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        if len(meta_item) \u003e 1:"},{"line_number":85,"context_line":"            expl \u003d _(\u0027Request body contains too many items\u0027)"},{"line_number":86,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dexpl)"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        context \u003d req.environ[\u0027nova.context\u0027]"},{"line_number":89,"context_line":"        self._update_instance_metadata(context,"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAPn%2F%2F9%2Fk%3D","line":86,"updated":"2013-06-17 06:06:28.000000000","message":"This method is ported from PUT\u0027s v2/{tenant_id}/servers/{server_id}/metadata/{key}.\nAnd its api sample on http://api.openstack.org/api-ref.html likes the following:\n {\n     \"metadata\": {\n         \"auto_disk_config\": \"True\",\n         \"Label\": \"Changed\"\n     }\n }\n\nand the example should be changed to:\n {\n     \"meta\": {\n         \"auto_disk_config\": \"True\"\n     }\n }","commit_id":"972b7ec095fc9a8cdaf7210d03bd39c8f75018cc"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"3a2c650f4f8c1f87b0e2089fb2a3ec25efa76cc2","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    @wsgi.deserializers(xml\u003dcommon.MetadataDeserializer)"},{"line_number":98,"context_line":"    def update_all(self, req, server_id, body):"},{"line_number":99,"context_line":"        try:"},{"line_number":100,"context_line":"            metadata \u003d body[\u0027metadata\u0027]"},{"line_number":101,"context_line":"        except (TypeError, KeyError):"},{"line_number":102,"context_line":"            expl \u003d _(\u0027Malformed request body\u0027)"},{"line_number":103,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dexpl)"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAPn%2F%2F9%2FE%3D","line":100,"updated":"2013-06-17 06:06:28.000000000","message":"This method s ported from PUT\u0027s v2/{tenant_id}/servers/{server_id}/metadata.\nAnd its api samole on http://api.openstack.org/api-ref.html likes the folowing:\n\n {\n   \"meta\" : {\n     \"foo\" : \"Bar Value\"\n   }\n }\n\nthe example should be changed to\n {\n   \"metadata\" : {\n        \"auto_disk_config\": \"True\",\n        \"Label\": \"Changed\"\n   }\n }\n\nso they should be replaced each other on http://api.openstack.org/api-ref.html.","commit_id":"972b7ec095fc9a8cdaf7210d03bd39c8f75018cc"}],"nova/tests/api/openstack/compute/plugins/v3/test_server_metadata.py":[{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"ad17fae45975dfcb9d4c9c7b0dba797b7070a9d3","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    return {}"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"def delete_server_metadata(context, server_id, key):"},{"line_number":56,"context_line":"    pass"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPH%2F%2FdHo%3D","line":55,"updated":"2013-06-03 15:56:25.000000000","message":"Why do we have a do-nothing function for this?  Doesn\u0027t that mean we don\u0027t actually test delete?","commit_id":"26e53510ad75f1cb4872e57569e846271c74978a"},{"author":{"_account_id":5292,"name":"Christopher Yeoh","email":"cbkyeoh@gmail.com","username":"cyeoh-0"},"change_message_id":"afad4f93b9a326bc6962c6483ac6d60964b7e532","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    return {}"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"def delete_server_metadata(context, server_id, key):"},{"line_number":56,"context_line":"    pass"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAPX%2F%2F6uk%3D","line":55,"in_reply_to":"AAAAPH%2F%2FdHo%3D","updated":"2013-06-06 01:17:45.000000000","message":"The delete isn\u0027t executed at the db level, but it does flow down through the compute api. The get at the db level is also faked. And this no different to the test for the V2 API.","commit_id":"26e53510ad75f1cb4872e57569e846271c74978a"}]}
