)]}'
{"cinder/api/contrib/admin_actions.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"79a3dd0d6041db57ccf56ffd8c4dbdcdc10e2ebc","unresolved":false,"context_lines":[{"line_number":265,"context_line":"    \"\"\"AdminController for Snapshots.\"\"\""},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"    collection \u003d \u0027snapshots\u0027"},{"line_number":268,"context_line":"    valid_status \u003d fields.SnapshotStatus.ALL"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"    def _update(self, *args, **kwargs):"},{"line_number":271,"context_line":"        context \u003d args[0]"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa0719c6_745d8578","line":268,"range":{"start_line":268,"start_character":0,"end_line":268,"end_character":44},"updated":"2016-03-23 10:05:06.000000000","message":"Where is that used?","commit_id":"6196b716858f80c5b0800c91a9423ea6185ea20b"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"228942867762e472ff60f2f38d6c5c4d5c2cf8cf","unresolved":false,"context_lines":[{"line_number":265,"context_line":"    \"\"\"AdminController for Snapshots.\"\"\""},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"    collection \u003d \u0027snapshots\u0027"},{"line_number":268,"context_line":"    valid_status \u003d fields.SnapshotStatus.ALL"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"    def _update(self, *args, **kwargs):"},{"line_number":271,"context_line":"        context \u003d args[0]"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba0121b8_f9e2282e","line":268,"range":{"start_line":268,"start_character":0,"end_line":268,"end_character":44},"in_reply_to":"fa0719c6_745d8578","updated":"2016-03-30 20:35:23.000000000","message":"valid_status is declared earlier with an incorrect set of statuses for snapshots. It gets referenced outside of here and variables are checked against this list.","commit_id":"6196b716858f80c5b0800c91a9423ea6185ea20b"}],"cinder/objects/base.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"dacbe0433f7e492457080ea78efdc462a9916747","unresolved":false,"context_lines":[{"line_number":100,"context_line":"                         \u0027VolumeTypeList\u0027: \u00271.1\u0027})"},{"line_number":101,"context_line":"OBJ_VERSIONS.add(\u00271.1\u0027, {\u0027Service\u0027: \u00271.2\u0027, \u0027ServiceList\u0027: \u00271.1\u0027})"},{"line_number":102,"context_line":"OBJ_VERSIONS.add(\u00271.2\u0027, {\u0027Backup\u0027: \u00271.4\u0027, \u0027BackupImport\u0027: \u00271.4\u0027})"},{"line_number":103,"context_line":"OBJ_VERSIONS.add(\u00271.3\u0027, {\u0027Service\u0027: \u00271.3\u0027, \u0027Snapshot\u0027: \u00271.1\u0027})"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"class CinderObjectRegistry(base.VersionedObjectRegistry):"}],"source_content_type":"text/x-python","patch_set":7,"id":"5aef4532_7c4eac3b","line":103,"range":{"start_line":103,"start_character":0,"end_line":103,"end_character":62},"updated":"2016-03-10 19:14:54.000000000","message":"Actually Snapshot object changed, so you should provide a new version like:\n\n OBJ_VERSIONS.add(\u00271.4\u0027, {\u0027Snapshot\u0027: \u00271.1\u0027})\n\nIn this case it probably won\u0027t matter as with our rolling upgrades order newer services (that have stronger constraint on Snapshot.status) will send messages to older services (that have weaker constraint), but let\u0027s stick to the rules here. :)\n\nTo read more on that you can try [1] (and yes, I need to address Lisa\u0027s comments there).\n\n[1] https://review.openstack.org/#/c/279186/","commit_id":"56f1a5e9d5025f760276012aaf682b89555af2c4"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"79a3dd0d6041db57ccf56ffd8c4dbdcdc10e2ebc","unresolved":false,"context_lines":[{"line_number":95,"context_line":"OBJ_VERSIONS.add(\u00271.0\u0027, {\u0027Backup\u0027: \u00271.3\u0027, \u0027BackupImport\u0027: \u00271.3\u0027,"},{"line_number":96,"context_line":"                         \u0027CGSnapshot\u0027: \u00271.0\u0027, \u0027CGSnapshotList\u0027: \u00271.0\u0027,"},{"line_number":97,"context_line":"                         \u0027ConsistencyGroup\u0027: \u00271.2\u0027,"},{"line_number":98,"context_line":"                         \u0027ConsistencyGroupList\u0027: \u00271.1\u0027,"},{"line_number":99,"context_line":"                         \u0027Service\u0027: \u00271.1\u0027, \u0027Volume\u0027: \u00271.3\u0027,"},{"line_number":100,"context_line":"                         \u0027VolumeTypeList\u0027: \u00271.1\u0027})"},{"line_number":101,"context_line":"OBJ_VERSIONS.add(\u00271.1\u0027, {\u0027Service\u0027: \u00271.2\u0027, \u0027ServiceList\u0027: \u00271.1\u0027})"},{"line_number":102,"context_line":"OBJ_VERSIONS.add(\u00271.2\u0027, {\u0027Backup\u0027: \u00271.4\u0027, \u0027BackupImport\u0027: \u00271.4\u0027})"},{"line_number":103,"context_line":"OBJ_VERSIONS.add(\u00271.3\u0027, {\u0027Service\u0027: \u00271.3\u0027})"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa0719c6_149249f6","line":100,"range":{"start_line":98,"start_character":2,"end_line":100,"end_character":50},"updated":"2016-03-23 10:05:06.000000000","message":"This is unnecessary, but I guess you wanted to increase readability?","commit_id":"6196b716858f80c5b0800c91a9423ea6185ea20b"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"228942867762e472ff60f2f38d6c5c4d5c2cf8cf","unresolved":false,"context_lines":[{"line_number":95,"context_line":"OBJ_VERSIONS.add(\u00271.0\u0027, {\u0027Backup\u0027: \u00271.3\u0027, \u0027BackupImport\u0027: \u00271.3\u0027,"},{"line_number":96,"context_line":"                         \u0027CGSnapshot\u0027: \u00271.0\u0027, \u0027CGSnapshotList\u0027: \u00271.0\u0027,"},{"line_number":97,"context_line":"                         \u0027ConsistencyGroup\u0027: \u00271.2\u0027,"},{"line_number":98,"context_line":"                         \u0027ConsistencyGroupList\u0027: \u00271.1\u0027,"},{"line_number":99,"context_line":"                         \u0027Service\u0027: \u00271.1\u0027, \u0027Volume\u0027: \u00271.3\u0027,"},{"line_number":100,"context_line":"                         \u0027VolumeTypeList\u0027: \u00271.1\u0027})"},{"line_number":101,"context_line":"OBJ_VERSIONS.add(\u00271.1\u0027, {\u0027Service\u0027: \u00271.2\u0027, \u0027ServiceList\u0027: \u00271.1\u0027})"},{"line_number":102,"context_line":"OBJ_VERSIONS.add(\u00271.2\u0027, {\u0027Backup\u0027: \u00271.4\u0027, \u0027BackupImport\u0027: \u00271.4\u0027})"},{"line_number":103,"context_line":"OBJ_VERSIONS.add(\u00271.3\u0027, {\u0027Service\u0027: \u00271.3\u0027})"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba0121b8_39d7804c","line":100,"range":{"start_line":98,"start_character":2,"end_line":100,"end_character":50},"in_reply_to":"fa0719c6_149249f6","updated":"2016-03-30 20:35:23.000000000","message":"Yeah it was more for readability- I can change it back?","commit_id":"6196b716858f80c5b0800c91a9423ea6185ea20b"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"258414fd545b8506c03b4df4f5712e85b533a882","unresolved":false,"context_lines":[{"line_number":97,"context_line":"                         \u0027ConsistencyGroup\u0027: \u00271.2\u0027,"},{"line_number":98,"context_line":"                         \u0027ConsistencyGroupList\u0027: \u00271.1\u0027,"},{"line_number":99,"context_line":"                         \u0027Service\u0027: \u00271.1\u0027, \u0027Volume\u0027: \u00271.3\u0027,"},{"line_number":100,"context_line":"                         \u0027VolumeTypeList\u0027: \u00271.1\u0027})"},{"line_number":101,"context_line":"OBJ_VERSIONS.add(\u00271.1\u0027, {\u0027Service\u0027: \u00271.2\u0027, \u0027ServiceList\u0027: \u00271.1\u0027})"},{"line_number":102,"context_line":"OBJ_VERSIONS.add(\u00271.2\u0027, {\u0027Backup\u0027: \u00271.4\u0027, \u0027BackupImport\u0027: \u00271.4\u0027})"},{"line_number":103,"context_line":"OBJ_VERSIONS.add(\u00271.3\u0027, {\u0027Service\u0027: \u00271.3\u0027})"}],"source_content_type":"text/x-python","patch_set":18,"id":"bab6814e_13044a48","line":100,"updated":"2016-05-19 14:28:11.000000000","message":"Probably would be better to avoid reformatting this here.","commit_id":"50abe926eeb688c115817dce5a87efee7a96c6b1"}],"cinder/objects/fields.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"79a3dd0d6041db57ccf56ffd8c4dbdcdc10e2ebc","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    CREATING \u003d \u0027creating\u0027"},{"line_number":93,"context_line":"    DELETING \u003d \u0027deleting\u0027"},{"line_number":94,"context_line":"    DELETED \u003d \u0027deleted\u0027"},{"line_number":95,"context_line":"    IN_USE \u003d \u0027in-use\u0027"},{"line_number":96,"context_line":"    UPDATING \u003d \u0027updating\u0027"},{"line_number":97,"context_line":"    ERROR_DELETING \u003d \u0027error_deleting\u0027"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"fa0719c6_346aedee","line":95,"range":{"start_line":95,"start_character":0,"end_line":95,"end_character":21},"updated":"2016-03-23 10:05:06.000000000","message":"Can a snapshot be in in-use status? It\u0027s not a volume I think.","commit_id":"6196b716858f80c5b0800c91a9423ea6185ea20b"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"228942867762e472ff60f2f38d6c5c4d5c2cf8cf","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    CREATING \u003d \u0027creating\u0027"},{"line_number":93,"context_line":"    DELETING \u003d \u0027deleting\u0027"},{"line_number":94,"context_line":"    DELETED \u003d \u0027deleted\u0027"},{"line_number":95,"context_line":"    IN_USE \u003d \u0027in-use\u0027"},{"line_number":96,"context_line":"    UPDATING \u003d \u0027updating\u0027"},{"line_number":97,"context_line":"    ERROR_DELETING \u003d \u0027error_deleting\u0027"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"ba0121b8_d9c64499","line":95,"range":{"start_line":95,"start_character":0,"end_line":95,"end_character":21},"in_reply_to":"fa0719c6_346aedee","updated":"2016-03-30 20:35:23.000000000","message":"I believe you are correct. Let me get that taken out.","commit_id":"6196b716858f80c5b0800c91a9423ea6185ea20b"}],"cinder/tests/unit/api/v1/test_snapshots.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"7e90ba99633a22f5e9d33224f1a64b0dc52eb35e","unresolved":false,"context_lines":[{"line_number":38,"context_line":"def _get_default_snapshot_param():"},{"line_number":39,"context_line":"    return {\u0027id\u0027: UUID,"},{"line_number":40,"context_line":"            \u0027volume_id\u0027: fake.VOLUME_ID,"},{"line_number":41,"context_line":"            \u0027status\u0027: \u0027available\u0027,"},{"line_number":42,"context_line":"            \u0027status\u0027: fields.SnapshotStatus.AVAILABLE,"},{"line_number":43,"context_line":"            \u0027volume_size\u0027: 100,"},{"line_number":44,"context_line":"            \u0027created_at\u0027: None,"}],"source_content_type":"text/x-python","patch_set":17,"id":"bab6814e_46de196e","line":41,"range":{"start_line":41,"start_character":12,"end_line":41,"end_character":34},"updated":"2016-05-19 12:59:30.000000000","message":"This is redundant now.","commit_id":"f5b4bb79f44b03c228daca56db66e6a226601445"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"7e90ba99633a22f5e9d33224f1a64b0dc52eb35e","unresolved":false,"context_lines":[{"line_number":285,"context_line":"        snapshot \u003d {"},{"line_number":286,"context_line":"            \u0027id\u0027: UUID,"},{"line_number":287,"context_line":"            \u0027volume_id\u0027: fake.VOLUME_ID,"},{"line_number":288,"context_line":"            \u0027status\u0027: \u0027available\u0027,"},{"line_number":289,"context_line":"            \u0027status\u0027: fields.SnapshotStatus.AVAILABLE,"},{"line_number":290,"context_line":"            \u0027volume_size\u0027: 100,"},{"line_number":291,"context_line":"            \u0027display_name\u0027: \u0027Default name\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"bab6814e_06cb71a6","line":288,"range":{"start_line":288,"start_character":0,"end_line":288,"end_character":34},"updated":"2016-05-19 12:59:30.000000000","message":"That\u0027s redundant now.","commit_id":"f5b4bb79f44b03c228daca56db66e6a226601445"}],"cinder/tests/unit/api/v2/test_snapshots.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"7e90ba99633a22f5e9d33224f1a64b0dc52eb35e","unresolved":false,"context_lines":[{"line_number":309,"context_line":"            \u0027id\u0027: UUID,"},{"line_number":310,"context_line":"            \u0027volume_id\u0027: fake.VOLUME_ID,"},{"line_number":311,"context_line":"            \u0027status\u0027: \u0027available\u0027,"},{"line_number":312,"context_line":"            \u0027status\u0027: fields.SnapshotStatus.AVAILABLE,"},{"line_number":313,"context_line":"            \u0027volume_size\u0027: 100,"},{"line_number":314,"context_line":"            \u0027display_name\u0027: \u0027Default name\u0027,"},{"line_number":315,"context_line":"            \u0027display_description\u0027: \u0027Default description\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"bab6814e_865641d0","line":312,"range":{"start_line":312,"start_character":12,"end_line":312,"end_character":54},"updated":"2016-05-19 12:59:30.000000000","message":"Redundant.","commit_id":"f5b4bb79f44b03c228daca56db66e6a226601445"}],"cinder/tests/unit/test_db_api.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"17cfb8881cf307d655007faba7d9c240014075fa","unresolved":false,"context_lines":[{"line_number":1204,"context_line":"        snapshot1 \u003d db.snapshot_create(self.ctxt, {\u0027id\u0027: 1, \u0027volume_id\u0027: 1,"},{"line_number":1205,"context_line":"                                                   \u0027display_name\u0027: \u0027one\u0027,"},{"line_number":1206,"context_line":"                                                   \u0027status\u0027:"},{"line_number":1207,"context_line":"                                                       fields.SnapshotStatus."},{"line_number":1208,"context_line":"                                                       AVAILABLE})"},{"line_number":1209,"context_line":"        snapshot2 \u003d db.snapshot_create(self.ctxt, {\u0027id\u0027: 2, \u0027volume_id\u0027: 1,"},{"line_number":1210,"context_line":"                                                   \u0027display_name\u0027: \u0027two\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"5a18252c_67824c96","line":1207,"updated":"2016-04-12 17:26:44.000000000","message":"Please change the indentation here so that fields.SnapshotStatus.AVAILABLE isn\u0027t split... this will be a pain when trying to grep for uses of this.  (And it\u0027s just hard to read.)","commit_id":"acdc922cbcc8e48de6957bb224c8fce99bf1d808"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"90638a2cc8c0c458afb0cb9569e5819b15f718da","unresolved":false,"context_lines":[{"line_number":1204,"context_line":"        snapshot1 \u003d db.snapshot_create(self.ctxt, {\u0027id\u0027: 1, \u0027volume_id\u0027: 1,"},{"line_number":1205,"context_line":"                                                   \u0027display_name\u0027: \u0027one\u0027,"},{"line_number":1206,"context_line":"                                                   \u0027status\u0027:"},{"line_number":1207,"context_line":"                                                       fields.SnapshotStatus."},{"line_number":1208,"context_line":"                                                       AVAILABLE})"},{"line_number":1209,"context_line":"        snapshot2 \u003d db.snapshot_create(self.ctxt, {\u0027id\u0027: 2, \u0027volume_id\u0027: 1,"},{"line_number":1210,"context_line":"                                                   \u0027display_name\u0027: \u0027two\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"5a18252c_0d5c574a","line":1207,"in_reply_to":"5a18252c_67824c96","updated":"2016-04-12 18:16:41.000000000","message":"Done","commit_id":"acdc922cbcc8e48de6957bb224c8fce99bf1d808"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"c9f77b4d8ac23cfb264da13a25cf2fa145663d35","unresolved":false,"context_lines":[{"line_number":1279,"context_line":"        snapshot2 \u003d db.snapshot_create(self.ctxt, {\u0027id\u0027: 2, \u0027volume_id\u0027: 2,"},{"line_number":1280,"context_line":"                                                   \u0027status\u0027:"},{"line_number":1281,"context_line":"                                                       fields.SnapshotStatus."},{"line_number":1282,"context_line":"                                                       ERROR})"},{"line_number":1283,"context_line":""},{"line_number":1284,"context_line":"        self._assertEqualListsOfObjects([snapshot1],"},{"line_number":1285,"context_line":"                                        db.snapshot_get_by_host("}],"source_content_type":"text/x-python","patch_set":13,"id":"5a18252c_36c6c467","line":1282,"updated":"2016-04-12 19:11:05.000000000","message":"Same comment as before -- should try to not split these fields onto multiple lines.","commit_id":"c4aa115e68eebd4d5b990199a38c5881f1fa99e2"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"c9f77b4d8ac23cfb264da13a25cf2fa145663d35","unresolved":false,"context_lines":[{"line_number":1363,"context_line":"                                            self.ctxt,"},{"line_number":1364,"context_line":"                                            \u0027project2\u0027,"},{"line_number":1365,"context_line":"                                            {\u0027status\u0027: fields."},{"line_number":1366,"context_line":"                                                SnapshotStatus.AVAILABLE}),"},{"line_number":1367,"context_line":"                                        ignored_keys\u003d\u0027volume\u0027)"},{"line_number":1368,"context_line":"        self._assertEqualListsOfObjects([snapshot2],"},{"line_number":1369,"context_line":"                                        db.snapshot_get_all_by_project("}],"source_content_type":"text/x-python","patch_set":13,"id":"5a18252c_76a67cc2","line":1366,"updated":"2016-04-12 19:11:05.000000000","message":"Ditto","commit_id":"c4aa115e68eebd4d5b990199a38c5881f1fa99e2"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"7e90ba99633a22f5e9d33224f1a64b0dc52eb35e","unresolved":false,"context_lines":[{"line_number":1334,"context_line":"                                        db.snapshot_get_by_host("},{"line_number":1335,"context_line":"                                            self.ctxt,"},{"line_number":1336,"context_line":"                                            \u0027host2\u0027,"},{"line_number":1337,"context_line":"                                            {\u0027status\u0027: fields."},{"line_number":1338,"context_line":"                                                SnapshotStatus.AVAILABLE}),"},{"line_number":1339,"context_line":"                                        ignored_keys\u003d\u0027volume\u0027)"},{"line_number":1340,"context_line":"        self._assertEqualListsOfObjects([snapshot2],"},{"line_number":1341,"context_line":"                                        db.snapshot_get_by_host("}],"source_content_type":"text/x-python","patch_set":17,"id":"bab6814e_c62cc94c","line":1338,"range":{"start_line":1337,"start_character":55,"end_line":1338,"end_character":72},"updated":"2016-05-19 12:59:30.000000000","message":"Eric was opposed to that formatting, so let\u0027s try to keep whole enum identifiers in one line.","commit_id":"f5b4bb79f44b03c228daca56db66e6a226601445"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"7e90ba99633a22f5e9d33224f1a64b0dc52eb35e","unresolved":false,"context_lines":[{"line_number":1341,"context_line":"                                        db.snapshot_get_by_host("},{"line_number":1342,"context_line":"                                            self.ctxt,"},{"line_number":1343,"context_line":"                                            \u0027host2\u0027,"},{"line_number":1344,"context_line":"                                            {\u0027status\u0027: fields."},{"line_number":1345,"context_line":"                                                SnapshotStatus.ERROR}),"},{"line_number":1346,"context_line":"                                        ignored_keys\u003d\u0027volume\u0027)"},{"line_number":1347,"context_line":"        self._assertEqualListsOfObjects([],"},{"line_number":1348,"context_line":"                                        db.snapshot_get_by_host("}],"source_content_type":"text/x-python","patch_set":17,"id":"bab6814e_a62f053d","line":1345,"range":{"start_line":1344,"start_character":55,"end_line":1345,"end_character":68},"updated":"2016-05-19 12:59:30.000000000","message":"ditto","commit_id":"f5b4bb79f44b03c228daca56db66e6a226601445"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"7e90ba99633a22f5e9d33224f1a64b0dc52eb35e","unresolved":false,"context_lines":[{"line_number":1383,"context_line":"        snapshot1 \u003d db.snapshot_create(self.ctxt, {\u0027id\u0027: 1, \u0027volume_id\u0027: 1,"},{"line_number":1384,"context_line":"                                                   \u0027project_id\u0027: \u0027project1\u0027})"},{"line_number":1385,"context_line":"        snapshot2 \u003d db.snapshot_create(self.ctxt, {\u0027id\u0027: 2, \u0027volume_id\u0027: 2,"},{"line_number":1386,"context_line":"                                                   \u0027status\u0027: fields."},{"line_number":1387,"context_line":"                                                   SnapshotStatus.ERROR,"},{"line_number":1388,"context_line":"                                                   \u0027project_id\u0027: \u0027project2\u0027})"},{"line_number":1389,"context_line":""},{"line_number":1390,"context_line":"        self._assertEqualListsOfObjects([snapshot1],"}],"source_content_type":"text/x-python","patch_set":17,"id":"bab6814e_4621f94c","line":1387,"range":{"start_line":1386,"start_character":61,"end_line":1387,"end_character":71},"updated":"2016-05-19 12:59:30.000000000","message":"ditto","commit_id":"f5b4bb79f44b03c228daca56db66e6a226601445"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"7e90ba99633a22f5e9d33224f1a64b0dc52eb35e","unresolved":false,"context_lines":[{"line_number":1407,"context_line":"                                        db.snapshot_get_all_by_project("},{"line_number":1408,"context_line":"                                            self.ctxt,"},{"line_number":1409,"context_line":"                                            \u0027project2\u0027,"},{"line_number":1410,"context_line":"                                            {\u0027status\u0027: fields."},{"line_number":1411,"context_line":"                                                SnapshotStatus.ERROR}),"},{"line_number":1412,"context_line":"                                        ignored_keys\u003d\u0027volume\u0027)"},{"line_number":1413,"context_line":"        self._assertEqualListsOfObjects([],"},{"line_number":1414,"context_line":"                                        db.snapshot_get_all_by_project("}],"source_content_type":"text/x-python","patch_set":17,"id":"bab6814e_6616bdf2","line":1411,"range":{"start_line":1410,"start_character":55,"end_line":1411,"end_character":68},"updated":"2016-05-19 12:59:30.000000000","message":"ditto","commit_id":"f5b4bb79f44b03c228daca56db66e6a226601445"}],"cinder/tests/unit/test_glusterfs.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"21498df58b280143602810d33c98134172abc774","unresolved":false,"context_lines":[{"line_number":988,"context_line":"                    \u0027volume\u0027: volume,"},{"line_number":989,"context_line":"                    \u0027id\u0027: self.SNAP_UUID,"},{"line_number":990,"context_line":"                    \u0027context\u0027: ctxt,"},{"line_number":991,"context_line":"                    \u0027status\u0027: fields.SnapshotStatus.CREATING,"},{"line_number":992,"context_line":"                    \u0027progress\u0027: \u0027asdf\u0027}"},{"line_number":993,"context_line":""},{"line_number":994,"context_line":"        snap_path \u003d \u0027%s.%s\u0027 % (volume_path, self.SNAP_UUID)"}],"source_content_type":"text/x-python","patch_set":20,"id":"bab6814e_eaba5d09","line":991,"updated":"2016-05-19 18:31:26.000000000","message":"No fields.SnapshotStatus.asdf? Boo. :)","commit_id":"553c9df90423434fa7d641e251da5e66f9bb0386"}],"cinder/tests/unit/test_volume.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"79a3dd0d6041db57ccf56ffd8c4dbdcdc10e2ebc","unresolved":false,"context_lines":[{"line_number":3019,"context_line":"        # This will allow us to test cross-node interactions"},{"line_number":3020,"context_line":"        pass"},{"line_number":3021,"context_line":""},{"line_number":3022,"context_line":"    @staticmethod"},{"line_number":3023,"context_line":"    def _create_snapshot(volume_id, size\u003d1, metadata\u003dNone, ctxt\u003dNone,"},{"line_number":3024,"context_line":"                         **kwargs):"},{"line_number":3025,"context_line":"        \"\"\"Create a snapshot object.\"\"\""},{"line_number":3026,"context_line":"        metadata \u003d metadata or {}"},{"line_number":3027,"context_line":"        snap \u003d objects.Snapshot(ctxt or context.get_admin_context())"},{"line_number":3028,"context_line":"        snap.volume_size \u003d size"},{"line_number":3029,"context_line":"        snap.user_id \u003d \u0027fake\u0027"},{"line_number":3030,"context_line":"        snap.project_id \u003d \u0027fake\u0027"},{"line_number":3031,"context_line":"        snap.volume_id \u003d volume_id"},{"line_number":3032,"context_line":"        snap.status \u003d fields.SnapshotStatus.CREATING"},{"line_number":3033,"context_line":"        if metadata is not None:"},{"line_number":3034,"context_line":"            snap.metadata \u003d metadata"},{"line_number":3035,"context_line":"        snap.update(kwargs)"},{"line_number":3036,"context_line":""},{"line_number":3037,"context_line":"        snap.create()"},{"line_number":3038,"context_line":"        return snap"},{"line_number":3039,"context_line":""},{"line_number":3040,"context_line":"    def test_create_delete_snapshot(self):"},{"line_number":3041,"context_line":"        \"\"\"Test snapshot can be created and deleted.\"\"\""}],"source_content_type":"text/x-python","patch_set":8,"id":"fa0719c6_ca2828e5","line":3038,"range":{"start_line":3022,"start_character":0,"end_line":3038,"end_character":19},"updated":"2016-03-23 10:05:06.000000000","message":"Don\u0027t we already have a similar method here at the beginning of the file? It\u0027s called create_snapshot. I guess you\u0027ve rebased a little incorrectly after Tom\u0027s changes that was splitting tests here.","commit_id":"6196b716858f80c5b0800c91a9423ea6185ea20b"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"228942867762e472ff60f2f38d6c5c4d5c2cf8cf","unresolved":false,"context_lines":[{"line_number":3019,"context_line":"        # This will allow us to test cross-node interactions"},{"line_number":3020,"context_line":"        pass"},{"line_number":3021,"context_line":""},{"line_number":3022,"context_line":"    @staticmethod"},{"line_number":3023,"context_line":"    def _create_snapshot(volume_id, size\u003d1, metadata\u003dNone, ctxt\u003dNone,"},{"line_number":3024,"context_line":"                         **kwargs):"},{"line_number":3025,"context_line":"        \"\"\"Create a snapshot object.\"\"\""},{"line_number":3026,"context_line":"        metadata \u003d metadata or {}"},{"line_number":3027,"context_line":"        snap \u003d objects.Snapshot(ctxt or context.get_admin_context())"},{"line_number":3028,"context_line":"        snap.volume_size \u003d size"},{"line_number":3029,"context_line":"        snap.user_id \u003d \u0027fake\u0027"},{"line_number":3030,"context_line":"        snap.project_id \u003d \u0027fake\u0027"},{"line_number":3031,"context_line":"        snap.volume_id \u003d volume_id"},{"line_number":3032,"context_line":"        snap.status \u003d fields.SnapshotStatus.CREATING"},{"line_number":3033,"context_line":"        if metadata is not None:"},{"line_number":3034,"context_line":"            snap.metadata \u003d metadata"},{"line_number":3035,"context_line":"        snap.update(kwargs)"},{"line_number":3036,"context_line":""},{"line_number":3037,"context_line":"        snap.create()"},{"line_number":3038,"context_line":"        return snap"},{"line_number":3039,"context_line":""},{"line_number":3040,"context_line":"    def test_create_delete_snapshot(self):"},{"line_number":3041,"context_line":"        \"\"\"Test snapshot can be created and deleted.\"\"\""}],"source_content_type":"text/x-python","patch_set":8,"id":"ba0121b8_d97e4418","line":3038,"range":{"start_line":3022,"start_character":0,"end_line":3038,"end_character":19},"in_reply_to":"fa0719c6_ca2828e5","updated":"2016-03-30 20:35:23.000000000","message":"Oops yes. I will remove this.","commit_id":"6196b716858f80c5b0800c91a9423ea6185ea20b"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"79a3dd0d6041db57ccf56ffd8c4dbdcdc10e2ebc","unresolved":false,"context_lines":[{"line_number":3053,"context_line":"        self.assertEqual(\u0027INFO\u0027, msg[\u0027priority\u0027])"},{"line_number":3054,"context_line":"        msg \u003d self.notifier.notifications[1]"},{"line_number":3055,"context_line":"        self.assertEqual(\u0027volume.create.end\u0027, msg[\u0027event_type\u0027])"},{"line_number":3056,"context_line":"        self.assertEqual(\u0027available\u0027,"},{"line_number":3057,"context_line":"                         msg[\u0027payload\u0027][\u0027status\u0027])"},{"line_number":3058,"context_line":"        self.assertEqual(\u0027INFO\u0027, msg[\u0027priority\u0027])"},{"line_number":3059,"context_line":"        if len(self.notifier.notifications) \u003e 2:"},{"line_number":3060,"context_line":"            # Cause an assert to print the unexpected item"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa0719c6_4a62583f","line":3057,"range":{"start_line":3056,"start_character":0,"end_line":3057,"end_character":50},"updated":"2016-03-23 10:05:06.000000000","message":"This is unnecessary.","commit_id":"6196b716858f80c5b0800c91a9423ea6185ea20b"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"228942867762e472ff60f2f38d6c5c4d5c2cf8cf","unresolved":false,"context_lines":[{"line_number":3053,"context_line":"        self.assertEqual(\u0027INFO\u0027, msg[\u0027priority\u0027])"},{"line_number":3054,"context_line":"        msg \u003d self.notifier.notifications[1]"},{"line_number":3055,"context_line":"        self.assertEqual(\u0027volume.create.end\u0027, msg[\u0027event_type\u0027])"},{"line_number":3056,"context_line":"        self.assertEqual(\u0027available\u0027,"},{"line_number":3057,"context_line":"                         msg[\u0027payload\u0027][\u0027status\u0027])"},{"line_number":3058,"context_line":"        self.assertEqual(\u0027INFO\u0027, msg[\u0027priority\u0027])"},{"line_number":3059,"context_line":"        if len(self.notifier.notifications) \u003e 2:"},{"line_number":3060,"context_line":"            # Cause an assert to print the unexpected item"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba0121b8_19ac3c8b","line":3057,"range":{"start_line":3056,"start_character":0,"end_line":3057,"end_character":50},"in_reply_to":"fa0719c6_4a62583f","updated":"2016-03-30 20:35:23.000000000","message":"Removed.","commit_id":"6196b716858f80c5b0800c91a9423ea6185ea20b"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"0792b8be7979294641c91a63d2276b65d098f5bc","unresolved":false,"context_lines":[{"line_number":3032,"context_line":"        self.assertEqual(\u0027INFO\u0027, msg[\u0027priority\u0027])"},{"line_number":3033,"context_line":"        msg \u003d self.notifier.notifications[1]"},{"line_number":3034,"context_line":"        self.assertEqual(\u0027volume.create.end\u0027, msg[\u0027event_type\u0027])"},{"line_number":3035,"context_line":"        self.assertEqual(\u0027available\u0027, msg[\u0027payload\u0027][\u0027status\u0027])"},{"line_number":3036,"context_line":"        self.assertEqual(\u0027INFO\u0027, msg[\u0027priority\u0027])"},{"line_number":3037,"context_line":"        if len(self.notifier.notifications) \u003e 2:"},{"line_number":3038,"context_line":"            # Cause an assert to print the unexpected item"}],"source_content_type":"text/x-python","patch_set":10,"id":"ba0121b8_36712aa9","side":"PARENT","line":3035,"range":{"start_line":3035,"start_character":8,"end_line":3035,"end_character":63},"updated":"2016-03-31 12:22:09.000000000","message":"Oh, I was saying this is unnecessary meaning that you don\u0027t need to wrap this line in this patch, not that whole assert should be removed.","commit_id":"e5791ffc133e627151015a122e2d6ddd16cbc693"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"4e64d9282a5a4305214bf909b0e69f518ec6dc48","unresolved":false,"context_lines":[{"line_number":4351,"context_line":""},{"line_number":4352,"context_line":"        volume_api \u003d cinder.volume.api.API()"},{"line_number":4353,"context_line":""},{"line_number":4354,"context_line":"        self.assertRaises(exception.InvalidVolume,"},{"line_number":4355,"context_line":"                          volume_api.delete,"},{"line_number":4356,"context_line":"                          self.context,"},{"line_number":4357,"context_line":"                          volume)"},{"line_number":4358,"context_line":""},{"line_number":4359,"context_line":""},{"line_number":4360,"context_line":"@ddt.ddt"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a18252c_40462d24","line":4357,"range":{"start_line":4354,"start_character":1,"end_line":4357,"end_character":33},"updated":"2016-04-12 12:21:15.000000000","message":"This changes the logic. You should keep cascade\u003dTrue (as this is the test checking cascade option) and set snapshot status to something like \"creating\" or \"updating\".","commit_id":"e25b87ed48e072999d853792983ab5ba186b8cda"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"951ad4bd5e874df3366af813a21057f4503952cf","unresolved":false,"context_lines":[{"line_number":4351,"context_line":""},{"line_number":4352,"context_line":"        volume_api \u003d cinder.volume.api.API()"},{"line_number":4353,"context_line":""},{"line_number":4354,"context_line":"        self.assertRaises(exception.InvalidVolume,"},{"line_number":4355,"context_line":"                          volume_api.delete,"},{"line_number":4356,"context_line":"                          self.context,"},{"line_number":4357,"context_line":"                          volume)"},{"line_number":4358,"context_line":""},{"line_number":4359,"context_line":""},{"line_number":4360,"context_line":"@ddt.ddt"}],"source_content_type":"text/x-python","patch_set":11,"id":"5a18252c_114f5bbe","line":4357,"range":{"start_line":4354,"start_character":1,"end_line":4357,"end_character":33},"in_reply_to":"5a18252c_40462d24","updated":"2016-04-12 16:31:06.000000000","message":"Done","commit_id":"e25b87ed48e072999d853792983ab5ba186b8cda"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"c9f77b4d8ac23cfb264da13a25cf2fa145663d35","unresolved":false,"context_lines":[{"line_number":512,"context_line":"                                           **self.volume_params)"},{"line_number":513,"context_line":"        snapshot \u003d tests_utils.create_snapshot(self.context,"},{"line_number":514,"context_line":"                                               volume[\u0027id\u0027],"},{"line_number":515,"context_line":"                                               status\u003dfields."},{"line_number":516,"context_line":"                                               SnapshotStatus.CREATING)"},{"line_number":517,"context_line":"        snap_id \u003d snapshot[\u0027id\u0027]"},{"line_number":518,"context_line":"        self.volume.init_host()"}],"source_content_type":"text/x-python","patch_set":13,"id":"5a18252c_56a0a09f","line":515,"updated":"2016-04-12 19:11:05.000000000","message":"Ditto","commit_id":"c4aa115e68eebd4d5b990199a38c5881f1fa99e2"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"d910c13e2c2e0daac655ca37181c2a2afdec93c5","unresolved":false,"context_lines":[{"line_number":3068,"context_line":"        self.volume.create_volume(self.context, volume.id, volume\u003dvolume)"},{"line_number":3069,"context_line":"        msg \u003d self.notifier.notifications[0]"},{"line_number":3070,"context_line":"        self.assertEqual(\u0027volume.create.start\u0027, msg[\u0027event_type\u0027])"},{"line_number":3071,"context_line":"        self.assertEqual(fields.SnapshotStatus.CREATING,"},{"line_number":3072,"context_line":"                         msg[\u0027payload\u0027][\u0027status\u0027])"},{"line_number":3073,"context_line":"        self.assertEqual(\u0027INFO\u0027, msg[\u0027priority\u0027])"},{"line_number":3074,"context_line":"        msg \u003d self.notifier.notifications[1]"},{"line_number":3075,"context_line":"        self.assertEqual(\u0027volume.create.end\u0027, msg[\u0027event_type\u0027])"}],"source_content_type":"text/x-python","patch_set":19,"id":"bab6814e_6164dd21","line":3072,"range":{"start_line":3071,"start_character":0,"end_line":3072,"end_character":50},"updated":"2016-05-19 15:45:30.000000000","message":"Whoops, looks like this is actually a volume status, not snapshot?","commit_id":"21e0bdf54b70f9beb3be221049a230351c72c8ea"}],"cinder/volume/api.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"7e90ba99633a22f5e9d33224f1a64b0dc52eb35e","unresolved":false,"context_lines":[{"line_number":946,"context_line":"            expected[\u0027status\u0027] \u003d (fields.SnapshotStatus.AVAILABLE,"},{"line_number":947,"context_line":"                                  fields.SnapshotStatus.ERROR)"},{"line_number":948,"context_line":""},{"line_number":949,"context_line":"        result \u003d snapshot.conditional_update({\u0027status\u0027: fields.SnapshotStatus."},{"line_number":950,"context_line":"                                             DELETING}, expected)"},{"line_number":951,"context_line":"        if not result:"},{"line_number":952,"context_line":"            status \u003d utils.build_or_str(expected.get(\u0027status\u0027),"},{"line_number":953,"context_line":"                                        _(\u0027status must be %s and\u0027))"}],"source_content_type":"text/x-python","patch_set":17,"id":"bab6814e_06fff167","line":950,"range":{"start_line":949,"start_character":56,"end_line":950,"end_character":53},"updated":"2016-05-19 12:59:30.000000000","message":"Formatting issue.","commit_id":"f5b4bb79f44b03c228daca56db66e6a226601445"}],"cinder/volume/drivers/remotefs.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"79a3dd0d6041db57ccf56ffd8c4dbdcdc10e2ebc","unresolved":false,"context_lines":[{"line_number":1305,"context_line":"                        \u0027while creating snapshot.\u0027)"},{"line_number":1306,"context_line":"                raise exception.RemoteFSException(msg)"},{"line_number":1307,"context_line":""},{"line_number":1308,"context_line":"            elif s[\u0027status\u0027] \u003d\u003d \u0027deleting\u0027 or s[\u0027status\u0027] \u003d\u003d \u0027error_deleting\u0027:"},{"line_number":1309,"context_line":"                msg \u003d _(\u0027Snapshot %(id)s has been asked to be deleted while \u0027"},{"line_number":1310,"context_line":"                        \u0027waiting for it to become available. Perhaps a \u0027"},{"line_number":1311,"context_line":"                        \u0027concurrent request was made.\u0027) % {\u0027id\u0027:"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa0719c6_452d2994","line":1308,"range":{"start_line":1308,"start_character":11,"end_line":1308,"end_character":78},"updated":"2016-03-23 10:05:06.000000000","message":"I think you\u0027ve missed these ones.","commit_id":"6196b716858f80c5b0800c91a9423ea6185ea20b"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"228942867762e472ff60f2f38d6c5c4d5c2cf8cf","unresolved":false,"context_lines":[{"line_number":1305,"context_line":"                        \u0027while creating snapshot.\u0027)"},{"line_number":1306,"context_line":"                raise exception.RemoteFSException(msg)"},{"line_number":1307,"context_line":""},{"line_number":1308,"context_line":"            elif s[\u0027status\u0027] \u003d\u003d \u0027deleting\u0027 or s[\u0027status\u0027] \u003d\u003d \u0027error_deleting\u0027:"},{"line_number":1309,"context_line":"                msg \u003d _(\u0027Snapshot %(id)s has been asked to be deleted while \u0027"},{"line_number":1310,"context_line":"                        \u0027waiting for it to become available. Perhaps a \u0027"},{"line_number":1311,"context_line":"                        \u0027concurrent request was made.\u0027) % {\u0027id\u0027:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba0121b8_7938d83d","line":1308,"range":{"start_line":1308,"start_character":11,"end_line":1308,"end_character":78},"in_reply_to":"fa0719c6_452d2994","updated":"2016-03-30 20:35:23.000000000","message":"Done.","commit_id":"6196b716858f80c5b0800c91a9423ea6185ea20b"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"79a3dd0d6041db57ccf56ffd8c4dbdcdc10e2ebc","unresolved":false,"context_lines":[{"line_number":1380,"context_line":"        while True:"},{"line_number":1381,"context_line":"            s \u003d db.snapshot_get(context, snapshot[\u0027id\u0027])"},{"line_number":1382,"context_line":""},{"line_number":1383,"context_line":"            if s[\u0027status\u0027] \u003d\u003d \u0027deleting\u0027:"},{"line_number":1384,"context_line":"                if s[\u0027progress\u0027] \u003d\u003d \u002790%\u0027:"},{"line_number":1385,"context_line":"                    # Nova tasks completed successfully"},{"line_number":1386,"context_line":"                    break"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa0719c6_053051e7","line":1383,"range":{"start_line":1383,"start_character":31,"end_line":1383,"end_character":39},"updated":"2016-03-23 10:05:06.000000000","message":"ditto","commit_id":"6196b716858f80c5b0800c91a9423ea6185ea20b"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"228942867762e472ff60f2f38d6c5c4d5c2cf8cf","unresolved":false,"context_lines":[{"line_number":1380,"context_line":"        while True:"},{"line_number":1381,"context_line":"            s \u003d db.snapshot_get(context, snapshot[\u0027id\u0027])"},{"line_number":1382,"context_line":""},{"line_number":1383,"context_line":"            if s[\u0027status\u0027] \u003d\u003d \u0027deleting\u0027:"},{"line_number":1384,"context_line":"                if s[\u0027progress\u0027] \u003d\u003d \u002790%\u0027:"},{"line_number":1385,"context_line":"                    # Nova tasks completed successfully"},{"line_number":1386,"context_line":"                    break"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba0121b8_398020c0","line":1383,"range":{"start_line":1383,"start_character":31,"end_line":1383,"end_character":39},"in_reply_to":"fa0719c6_053051e7","updated":"2016-03-30 20:35:23.000000000","message":"Done.","commit_id":"6196b716858f80c5b0800c91a9423ea6185ea20b"}],"cinder/volume/manager.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"79a3dd0d6041db57ccf56ffd8c4dbdcdc10e2ebc","unresolved":false,"context_lines":[{"line_number":3046,"context_line":"                    if (snap_model[\u0027status\u0027] in ["},{"line_number":3047,"context_line":"                        fields.SnapshotStatus.ERROR_DELETING,"},{"line_number":3048,"context_line":"                        fields.SnapshotStatus.ERROR] and"},{"line_number":3049,"context_line":"                            model_update[\u0027status\u0027] not in"},{"line_number":3050,"context_line":"                            [fields.SnapshotStatus.ERROR_DELETING,"},{"line_number":3051,"context_line":"                             fields.SnapshotStatus.ERROR]):"},{"line_number":3052,"context_line":"                        model_update[\u0027status\u0027] \u003d snap_model[\u0027status\u0027]"},{"line_number":3053,"context_line":""},{"line_number":3054,"context_line":"            if model_update:"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa0719c6_659dcdbb","line":3051,"range":{"start_line":3049,"start_character":28,"end_line":3051,"end_character":56},"updated":"2016-03-23 10:05:06.000000000","message":"These are CGSnapshot\u0027s statuses.","commit_id":"6196b716858f80c5b0800c91a9423ea6185ea20b"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"228942867762e472ff60f2f38d6c5c4d5c2cf8cf","unresolved":false,"context_lines":[{"line_number":3046,"context_line":"                    if (snap_model[\u0027status\u0027] in ["},{"line_number":3047,"context_line":"                        fields.SnapshotStatus.ERROR_DELETING,"},{"line_number":3048,"context_line":"                        fields.SnapshotStatus.ERROR] and"},{"line_number":3049,"context_line":"                            model_update[\u0027status\u0027] not in"},{"line_number":3050,"context_line":"                            [fields.SnapshotStatus.ERROR_DELETING,"},{"line_number":3051,"context_line":"                             fields.SnapshotStatus.ERROR]):"},{"line_number":3052,"context_line":"                        model_update[\u0027status\u0027] \u003d snap_model[\u0027status\u0027]"},{"line_number":3053,"context_line":""},{"line_number":3054,"context_line":"            if model_update:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba0121b8_391f806d","line":3051,"range":{"start_line":3049,"start_character":28,"end_line":3051,"end_character":56},"in_reply_to":"fa0719c6_659dcdbb","updated":"2016-03-30 20:35:23.000000000","message":"Fixed.","commit_id":"6196b716858f80c5b0800c91a9423ea6185ea20b"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"79a3dd0d6041db57ccf56ffd8c4dbdcdc10e2ebc","unresolved":false,"context_lines":[{"line_number":3152,"context_line":"                        snap.status \u003d snap_model[\u0027status\u0027]"},{"line_number":3153,"context_line":"                        snap.save()"},{"line_number":3154,"context_line":""},{"line_number":3155,"context_line":"                    if (snap_model[\u0027status\u0027] in [\u0027error_deleting\u0027, \u0027error\u0027] and"},{"line_number":3156,"context_line":"                            model_update[\u0027status\u0027] not in"},{"line_number":3157,"context_line":"                            [\u0027error_deleting\u0027, \u0027error\u0027]):"},{"line_number":3158,"context_line":"                        model_update[\u0027status\u0027] \u003d snap_model[\u0027status\u0027]"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa0719c6_c595b987","line":3155,"range":{"start_line":3155,"start_character":24,"end_line":3155,"end_character":75},"updated":"2016-03-23 10:05:06.000000000","message":"What about these?","commit_id":"6196b716858f80c5b0800c91a9423ea6185ea20b"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"228942867762e472ff60f2f38d6c5c4d5c2cf8cf","unresolved":false,"context_lines":[{"line_number":3152,"context_line":"                        snap.status \u003d snap_model[\u0027status\u0027]"},{"line_number":3153,"context_line":"                        snap.save()"},{"line_number":3154,"context_line":""},{"line_number":3155,"context_line":"                    if (snap_model[\u0027status\u0027] in [\u0027error_deleting\u0027, \u0027error\u0027] and"},{"line_number":3156,"context_line":"                            model_update[\u0027status\u0027] not in"},{"line_number":3157,"context_line":"                            [\u0027error_deleting\u0027, \u0027error\u0027]):"},{"line_number":3158,"context_line":"                        model_update[\u0027status\u0027] \u003d snap_model[\u0027status\u0027]"}],"source_content_type":"text/x-python","patch_set":8,"id":"ba0121b8_79157847","line":3155,"range":{"start_line":3155,"start_character":24,"end_line":3155,"end_character":75},"in_reply_to":"fa0719c6_c595b987","updated":"2016-03-30 20:35:23.000000000","message":"Fixed.","commit_id":"6196b716858f80c5b0800c91a9423ea6185ea20b"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"7e90ba99633a22f5e9d33224f1a64b0dc52eb35e","unresolved":false,"context_lines":[{"line_number":3052,"context_line":"                    # after cgsnapshot-objects bugs are fixed"},{"line_number":3053,"context_line":"                    self.db.snapshot_update(context,"},{"line_number":3054,"context_line":"                                            snapshot_id,"},{"line_number":3055,"context_line":"                                            {\u0027status\u0027: fields."},{"line_number":3056,"context_line":"                                             SnapshotStatus.ERROR})"},{"line_number":3057,"context_line":"                    raise exception.MetadataCopyFailure("},{"line_number":3058,"context_line":"                        reason\u003dsix.text_type(ex))"},{"line_number":3059,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"bab6814e_26d795c0","line":3056,"range":{"start_line":3055,"start_character":55,"end_line":3056,"end_character":65},"updated":"2016-05-19 12:59:30.000000000","message":"Formatting issue.","commit_id":"f5b4bb79f44b03c228daca56db66e6a226601445"}]}
