)]}'
{"cinder/db/api.py":[{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"a075fe78055443fde822b8d829dff5193a59ba51","unresolved":false,"context_lines":[{"line_number":411,"context_line":"                                                      snapshot_id)"},{"line_number":412,"context_line":""},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"def volume_glance_metadata_delete_by_volume(context, volume_id):"},{"line_number":415,"context_line":"    \"\"\"Detele the glance metadata for a volume.\"\"\""},{"line_number":416,"context_line":"    return IMPL.volume_glance_metadata_delete_by_volume(context, volume_id)"},{"line_number":417,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMH%2F%2F4k4%3D","line":414,"updated":"2012-11-17 07:46:24.000000000","message":"nitpick: delete misspelled","commit_id":"311464339bf89aa1489d27d44e3c08ebcb0df8ee"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"a075fe78055443fde822b8d829dff5193a59ba51","unresolved":false,"context_lines":[{"line_number":416,"context_line":"    return IMPL.volume_glance_metadata_delete_by_volume(context, volume_id)"},{"line_number":417,"context_line":""},{"line_number":418,"context_line":""},{"line_number":419,"context_line":"def volume_glance_metadata_delete_by_snapshot(context, snapshot_id):"},{"line_number":420,"context_line":"    \"\"\"Detele the glance metadata for a snapshot.\"\"\""},{"line_number":421,"context_line":"    return IMPL.volume_glance_metadata_delete_by_snapshot(context, snapshot_id)"},{"line_number":422,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMH%2F%2F4k8%3D","line":419,"updated":"2012-11-17 07:46:24.000000000","message":"nitpick: delete misspelled","commit_id":"311464339bf89aa1489d27d44e3c08ebcb0df8ee"}],"cinder/db/sqlalchemy/api.py":[{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"a075fe78055443fde822b8d829dff5193a59ba51","unresolved":false,"context_lines":[{"line_number":1480,"context_line":"@require_volume_exists"},{"line_number":1481,"context_line":"def volume_glance_metadata_update_or_create(context, volume_id, key, value,"},{"line_number":1482,"context_line":"                                            session\u003dNone):"},{"line_number":1483,"context_line":"    \"\"\""},{"line_number":1484,"context_line":"    Update the Glance metadata for a volume by adding a new key:value pair."},{"line_number":1485,"context_line":"    This API does not support changing the value of a key once it has been"},{"line_number":1486,"context_line":"    created."}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMH%2F%2F4js%3D","line":1483,"updated":"2012-11-17 07:46:24.000000000","message":"The name of this method seems to imply that it\u0027ll attempt to update the metadata if it exists or create the metadata of said volume. However, that doesn\u0027t appear to be the case. I would say just call this volume_glance_metadata_create.","commit_id":"311464339bf89aa1489d27d44e3c08ebcb0df8ee"},{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"5b2dd190028d9c4e89c3449f5793988bd7d27219","unresolved":false,"context_lines":[{"line_number":1494,"context_line":"                filter_by(key\u003dkey).\\"},{"line_number":1495,"context_line":"                filter_by(deleted\u003dFalse).all()"},{"line_number":1496,"context_line":""},{"line_number":1497,"context_line":"        if len(rows) \u003e 0:"},{"line_number":1498,"context_line":"            raise Exception(_(\"Glance metadata cannot be updated, key %(key)s\""},{"line_number":1499,"context_line":"                              \" exists for volume id %(volume_id)s\") %"},{"line_number":1500,"context_line":"                            (locals()))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMH%2F%2F4Hw%3D","line":1497,"updated":"2012-11-19 00:31:13.000000000","message":"This is going to cause the test runner to warn every time that this is a broad exception.","commit_id":"311464339bf89aa1489d27d44e3c08ebcb0df8ee"}],"cinder/tests/test_volume_glance_metadata.py":[{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"dad4360bc59643d98b10a5910ce118ad6571f440","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        for expected, meta in zip(expected_metadata_2, metadata):"},{"line_number":78,"context_line":"            for key, value in expected.iteritems():"},{"line_number":79,"context_line":"                self.assertEqual(meta[key], value)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        self.assertRaises(Exception,"},{"line_number":82,"context_line":"                          db.volume_glance_metadata_update_or_create,"},{"line_number":83,"context_line":"                          ctxt, 1, \u0027key1\u0027, \u0027value1a\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAMH%2F%2F4Ho%3D","line":80,"updated":"2012-11-19 00:32:25.000000000","message":"This is going to cause the test runner to warn every time that this is a broad exception.","commit_id":"311464339bf89aa1489d27d44e3c08ebcb0df8ee"}]}
