)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"87f30f62840abd49f2fe6046176c39a1b84acf5f","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This resurrects the abandoned patch"},{"line_number":13,"context_line":"I8529973aeb985c5b2df4febdbd82c3950e200305."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I70606abf2fe5eca43cd0a3d15f7b9e12bb979b3b"},{"line_number":16,"context_line":"Co-Authored-By: wuyuting \u003cwytdahu@gmail.com\u003e"},{"line_number":17,"context_line":"Closes-Bug: #1435110"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa80f949_3c8c68d9","line":14,"updated":"2015-11-06 15:02:24.000000000","message":"Please add APIImpact flag.","commit_id":"59a074f99b4fd3e63541b662b447c2cf273527d1"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"0c127be22acff5ef73707a39375041493d5ff994","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This resurrects the abandoned patch"},{"line_number":13,"context_line":"I8529973aeb985c5b2df4febdbd82c3950e200305."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I70606abf2fe5eca43cd0a3d15f7b9e12bb979b3b"},{"line_number":16,"context_line":"Co-Authored-By: wuyuting \u003cwytdahu@gmail.com\u003e"},{"line_number":17,"context_line":"Closes-Bug: #1435110"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa80f949_5efb56c1","line":14,"in_reply_to":"fa80f949_3c8c68d9","updated":"2015-11-06 19:16:58.000000000","message":"+1","commit_id":"59a074f99b4fd3e63541b662b447c2cf273527d1"},{"author":{"_account_id":15225,"name":"Deepti Ramakrishna","email":"deepti.ramakrishna@intel.com","username":"dramakri"},"change_message_id":"ad6fb12acedeacdbfdc3b11fcfbba2fc83ed95d2","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This resurrects the abandoned patch"},{"line_number":13,"context_line":"I8529973aeb985c5b2df4febdbd82c3950e200305."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I70606abf2fe5eca43cd0a3d15f7b9e12bb979b3b"},{"line_number":16,"context_line":"Co-Authored-By: wuyuting \u003cwytdahu@gmail.com\u003e"},{"line_number":17,"context_line":"Closes-Bug: #1435110"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"da85f559_182e56a5","line":14,"in_reply_to":"fa80f949_3c8c68d9","updated":"2015-11-11 07:29:38.000000000","message":"Not needed, see my latest patchset.","commit_id":"59a074f99b4fd3e63541b662b447c2cf273527d1"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"87f30f62840abd49f2fe6046176c39a1b84acf5f","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I70606abf2fe5eca43cd0a3d15f7b9e12bb979b3b"},{"line_number":16,"context_line":"Co-Authored-By: wuyuting \u003cwytdahu@gmail.com\u003e"},{"line_number":17,"context_line":"Closes-Bug: #1435110"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa80f949_dc38bcf1","line":17,"updated":"2015-11-06 15:02:24.000000000","message":"On the bugreport Mike mentions that this isn\u0027t a bug and he\u0027s right. I don\u0027t think we need a BP for such change, but we can close the bug and proceed with the patch without it.","commit_id":"59a074f99b4fd3e63541b662b447c2cf273527d1"},{"author":{"_account_id":15225,"name":"Deepti Ramakrishna","email":"deepti.ramakrishna@intel.com","username":"dramakri"},"change_message_id":"ad6fb12acedeacdbfdc3b11fcfbba2fc83ed95d2","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I70606abf2fe5eca43cd0a3d15f7b9e12bb979b3b"},{"line_number":16,"context_line":"Co-Authored-By: wuyuting \u003cwytdahu@gmail.com\u003e"},{"line_number":17,"context_line":"Closes-Bug: #1435110"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"da85f559_b815ca49","line":17,"in_reply_to":"fa80f949_dc38bcf1","updated":"2015-11-11 07:29:38.000000000","message":"This is not applicable anymore. See my latest patchset.","commit_id":"59a074f99b4fd3e63541b662b447c2cf273527d1"}],"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":"87f30f62840abd49f2fe6046176c39a1b84acf5f","unresolved":false,"context_lines":[{"line_number":529,"context_line":"                return [stubs.stub_snapshot(1, tenant_id\u003d\u0027tenant1\u0027), ]"},{"line_number":530,"context_line":"            else:"},{"line_number":531,"context_line":"                return []"},{"line_number":532,"context_line":"        self.stubs.Set(db, \u0027snapshot_get_all_by_project\u0027,"},{"line_number":533,"context_line":"                       stub_snapshot_get_all_by_project)"},{"line_number":534,"context_line":""},{"line_number":535,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake/snapshots?all_tenants\u003d1\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa80f949_5e2fe187","line":532,"updated":"2015-11-06 15:02:24.000000000","message":"Please rewrite this to use mock instead of stubs. You can simply use MagicMock\u0027s side_effect to achieve that behavior.","commit_id":"59a074f99b4fd3e63541b662b447c2cf273527d1"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"0c127be22acff5ef73707a39375041493d5ff994","unresolved":false,"context_lines":[{"line_number":529,"context_line":"                return [stubs.stub_snapshot(1, tenant_id\u003d\u0027tenant1\u0027), ]"},{"line_number":530,"context_line":"            else:"},{"line_number":531,"context_line":"                return []"},{"line_number":532,"context_line":"        self.stubs.Set(db, \u0027snapshot_get_all_by_project\u0027,"},{"line_number":533,"context_line":"                       stub_snapshot_get_all_by_project)"},{"line_number":534,"context_line":""},{"line_number":535,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake/snapshots?all_tenants\u003d1\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa80f949_3e1532e4","line":532,"in_reply_to":"fa80f949_5e2fe187","updated":"2015-11-06 19:16:58.000000000","message":"+1. We\u0027re going away from mox","commit_id":"59a074f99b4fd3e63541b662b447c2cf273527d1"},{"author":{"_account_id":15225,"name":"Deepti Ramakrishna","email":"deepti.ramakrishna@intel.com","username":"dramakri"},"change_message_id":"ad6fb12acedeacdbfdc3b11fcfbba2fc83ed95d2","unresolved":false,"context_lines":[{"line_number":529,"context_line":"                return [stubs.stub_snapshot(1, tenant_id\u003d\u0027tenant1\u0027), ]"},{"line_number":530,"context_line":"            else:"},{"line_number":531,"context_line":"                return []"},{"line_number":532,"context_line":"        self.stubs.Set(db, \u0027snapshot_get_all_by_project\u0027,"},{"line_number":533,"context_line":"                       stub_snapshot_get_all_by_project)"},{"line_number":534,"context_line":""},{"line_number":535,"context_line":"        req \u003d fakes.HTTPRequest.blank(\u0027/v2/fake/snapshots?all_tenants\u003d1\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_db01a806","line":532,"in_reply_to":"fa80f949_5e2fe187","updated":"2015-11-11 07:29:38.000000000","message":"Done.","commit_id":"59a074f99b4fd3e63541b662b447c2cf273527d1"}],"cinder/volume/api.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"87f30f62840abd49f2fe6046176c39a1b84acf5f","unresolved":false,"context_lines":[{"line_number":557,"context_line":"        if context.is_admin and \u0027all_tenants\u0027 in search_opts:"},{"line_number":558,"context_line":"            # Need to remove all_tenants to pass the filtering below."},{"line_number":559,"context_line":"            del search_opts[\u0027all_tenants\u0027]"},{"line_number":560,"context_line":"            if \u0027tenant_id\u0027 in search_opts:"},{"line_number":561,"context_line":"                tenant_id \u003d search_opts[\u0027tenant_id\u0027]"},{"line_number":562,"context_line":"                del search_opts[\u0027tenant_id\u0027]"},{"line_number":563,"context_line":"                snapshots \u003d objects.SnapshotList.get_all_by_project("}],"source_content_type":"text/x-python","patch_set":1,"id":"fa80f949_7e0e653c","line":560,"updated":"2015-11-06 15:02:24.000000000","message":"Putting that if inside if in 557 makes it needed to specify both all_tenants and tenant_id to actually get a list for specified tenant. This seems wrong.","commit_id":"59a074f99b4fd3e63541b662b447c2cf273527d1"},{"author":{"_account_id":15225,"name":"Deepti Ramakrishna","email":"deepti.ramakrishna@intel.com","username":"dramakri"},"change_message_id":"ad6fb12acedeacdbfdc3b11fcfbba2fc83ed95d2","unresolved":false,"context_lines":[{"line_number":557,"context_line":"        if context.is_admin and \u0027all_tenants\u0027 in search_opts:"},{"line_number":558,"context_line":"            # Need to remove all_tenants to pass the filtering below."},{"line_number":559,"context_line":"            del search_opts[\u0027all_tenants\u0027]"},{"line_number":560,"context_line":"            if \u0027tenant_id\u0027 in search_opts:"},{"line_number":561,"context_line":"                tenant_id \u003d search_opts[\u0027tenant_id\u0027]"},{"line_number":562,"context_line":"                del search_opts[\u0027tenant_id\u0027]"},{"line_number":563,"context_line":"                snapshots \u003d objects.SnapshotList.get_all_by_project("}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_1b33b0f7","line":560,"in_reply_to":"fa80f949_7e0e653c","updated":"2015-11-11 07:29:38.000000000","message":"If we pass project_id instead of tenant_id in the filter, we don\u0027t need any server changes at all, as project_id is a table column. See my latest patchset and notes.","commit_id":"59a074f99b4fd3e63541b662b447c2cf273527d1"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"0d5d0bf6b18f34b120a2aaf294c9a839968c9d7d","unresolved":false,"context_lines":[{"line_number":568,"context_line":"                    context, search_opts, marker, limit, sort_keys, sort_dirs,"},{"line_number":569,"context_line":"                    offset)"},{"line_number":570,"context_line":"        else:"},{"line_number":571,"context_line":"            snapshots \u003d objects.SnapshotList.get_all_by_project("},{"line_number":572,"context_line":"                context, context.project_id, search_opts, marker, limit,"},{"line_number":573,"context_line":"                sort_keys, sort_dirs, offset)"},{"line_number":574,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa80f949_b3887ec6","line":571,"updated":"2015-11-06 17:25:44.000000000","message":"Technically, this else part will list the snapshot by the project/tenant that the user is in.  The original code for snapshots is equivalent to that in volumes (i.e. get_all).","commit_id":"59a074f99b4fd3e63541b662b447c2cf273527d1"},{"author":{"_account_id":15225,"name":"Deepti Ramakrishna","email":"deepti.ramakrishna@intel.com","username":"dramakri"},"change_message_id":"ad6fb12acedeacdbfdc3b11fcfbba2fc83ed95d2","unresolved":false,"context_lines":[{"line_number":568,"context_line":"                    context, search_opts, marker, limit, sort_keys, sort_dirs,"},{"line_number":569,"context_line":"                    offset)"},{"line_number":570,"context_line":"        else:"},{"line_number":571,"context_line":"            snapshots \u003d objects.SnapshotList.get_all_by_project("},{"line_number":572,"context_line":"                context, context.project_id, search_opts, marker, limit,"},{"line_number":573,"context_line":"                sort_keys, sort_dirs, offset)"},{"line_number":574,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_db7688a3","line":571,"in_reply_to":"fa80f949_b3887ec6","updated":"2015-11-11 07:29:38.000000000","message":"Server side changes have been removed. See my latest patchset and notes.","commit_id":"59a074f99b4fd3e63541b662b447c2cf273527d1"}]}
