)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d0d16b05c791db74b59ad9f584334035a43a869a","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Move existing V2 to legacy-v2"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"DO NOT MERGE - just testing the changes for now."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"The first step in the code cleanup for removing the API V3 references is"},{"line_number":12,"context_line":"to move the existing default V2 code into a directory named \u0027legacy_v2\u0027."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a41bdd9_e5f1d7ce","line":9,"updated":"2015-07-13 11:31:34.000000000","message":"Are we ready to merge?","commit_id":"bea3c9f96f9ae435dc54866bcb7c458526ca1b48"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"7b2c33d637cef9a0d0684a4247542e8de45ad519","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Move existing V2 to legacy-v2"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"DO NOT MERGE - just testing the changes for now."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"The first step in the code cleanup for removing the API V3 references is"},{"line_number":12,"context_line":"to move the existing default V2 code into a directory named \u0027legacy_v2\u0027."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a41bdd9_cc92b39f","line":9,"in_reply_to":"9a41bdd9_e5f1d7ce","updated":"2015-07-13 13:55:03.000000000","message":"I think so. I kept that there until we were ready for others to comment on the approach.","commit_id":"bea3c9f96f9ae435dc54866bcb7c458526ca1b48"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d0d16b05c791db74b59ad9f584334035a43a869a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"The first step in the code cleanup for removing the API V3 references is"},{"line_number":12,"context_line":"to move the existing default V2 code into a directory named \u0027legacy_v2\u0027."},{"line_number":13,"context_line":"This moves the files, and updates all references to them."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I96727c5de36ee2a9b225523b8e795928dc26711a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a41bdd9_85b9ebeb","line":14,"updated":"2015-07-13 11:31:34.000000000","message":"there need blueprint reference","commit_id":"bea3c9f96f9ae435dc54866bcb7c458526ca1b48"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"7b2c33d637cef9a0d0684a4247542e8de45ad519","unresolved":false,"context_lines":[{"line_number":11,"context_line":"The first step in the code cleanup for removing the API V3 references is"},{"line_number":12,"context_line":"to move the existing default V2 code into a directory named \u0027legacy_v2\u0027."},{"line_number":13,"context_line":"This moves the files, and updates all references to them."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I96727c5de36ee2a9b225523b8e795928dc26711a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9a41bdd9_ac972f8f","line":14,"in_reply_to":"9a41bdd9_85b9ebeb","updated":"2015-07-13 13:55:03.000000000","message":"Here is the bug: https://bugs.launchpad.net/nova/+bug/1462901","commit_id":"bea3c9f96f9ae435dc54866bcb7c458526ca1b48"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"cbb2c334722ee64f4d6622cb47d2b66d7dc3553d","unresolved":false,"context_lines":[{"line_number":10,"context_line":"to move the existing default V2 code into a directory named \u0027legacy_v2\u0027."},{"line_number":11,"context_line":"This moves the files, and updates all references to them."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Closes-Bug: #1462901"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I96727c5de36ee2a9b225523b8e795928dc26711a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"3a50d1a3_5bce435b","line":13,"updated":"2015-07-21 12:24:36.000000000","message":"This can not be close the bug. Partial-Bug: #1462901 should be used. \n\nOr should we need a BP for this?","commit_id":"22ea1ce3bbf63b4dac063ce76765af9e3053254d"}],"etc/nova/api-paste.ini":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"74c12701e22dd9dbb983d4af9d826e04ea2f89dd","unresolved":false,"context_lines":[{"line_number":103,"context_line":"paste.filter_factory \u003d nova.api.openstack.auth:NoAuthMiddlewareV3.factory"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"[filter:ratelimit]"},{"line_number":106,"context_line":"paste.filter_factory \u003d nova.api.openstack.compute.legacy_v2.limits:RateLimitingMiddleware.factory"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"[filter:sizelimit]"},{"line_number":109,"context_line":"paste.filter_factory \u003d oslo_middleware:RequestBodySizeLimiter.factory"}],"source_content_type":"text/x-properties","patch_set":3,"id":"ba3cc151_ee4bfa57","line":106,"updated":"2015-06-30 06:34:00.000000000","message":"Emm...when user upgrade the code this will break the existed env.\n\nMaybe we leave a reference at original place.","commit_id":"9a6370aec1b05773afa81e811e71754cf5a69c3e"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"74c12701e22dd9dbb983d4af9d826e04ea2f89dd","unresolved":false,"context_lines":[{"line_number":121,"context_line":"pipeline \u003d faultwrap oscomputeversionapp"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"[app:oscomputeversionapp]"},{"line_number":124,"context_line":"paste.app_factory \u003d nova.api.openstack.compute.legacy_v2.versions:Versions.factory"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"##########"},{"line_number":127,"context_line":"# Shared #"}],"source_content_type":"text/x-properties","patch_set":3,"id":"ba3cc151_4ead46e8","line":124,"updated":"2015-06-30 06:34:00.000000000","message":"This same problem. And this versions API didn\u0027t belong to v2 or v2.1, it points to \u0027/\u0027. We should keep out \u0027nova/api/openstack/compute\u0027. Maybe \u0027nova/api/openstack/limits.py\u0027. But we still need a reference to original place.","commit_id":"9a6370aec1b05773afa81e811e71754cf5a69c3e"}],"nova/api/openstack/compute/contrib/__init__.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"97f9fd30772630745112fe548dcb745a383c00d3","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"# NOTE(alex_xu): This is just for backward compatible. Avoid operator change"},{"line_number":17,"context_line":"# their value for option \u0027osapi_compute_extension\u0027."},{"line_number":18,"context_line":"from nova.api.openstack.compute.legacy_v2 import contrib"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"standard_extensions \u003d contrib.standard_extensions"}],"source_content_type":"text/x-python","patch_set":34,"id":"1a4dcd0f_321291b5","line":18,"updated":"2015-08-10 15:51:31.000000000","message":"This feels like a bad fix, I think we need to fix all of the paths that are in CONF.osapi_compute_extension, not just these defaults.","commit_id":"8f8120f17df500106e499403d6e1195a170466ba"}],"nova/api/openstack/compute/legacy_v2/contrib/__init__.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"97f9fd30772630745112fe548dcb745a383c00d3","unresolved":false,"context_lines":[{"line_number":29,"context_line":"                default\u003d[],"},{"line_number":30,"context_line":"                help\u003d\u0027Specify list of extensions to load when using osapi_\u0027"},{"line_number":31,"context_line":"                     \u0027compute_extension option with nova.api.openstack.\u0027"},{"line_number":32,"context_line":"                     \u0027compute.legacy_v2.contrib.select_extensions\u0027),"},{"line_number":33,"context_line":"]"},{"line_number":34,"context_line":"CONF \u003d cfg.CONF"},{"line_number":35,"context_line":"CONF.register_opts(ext_opts)"}],"source_content_type":"text/x-python","patch_set":34,"id":"1a4dcd0f_b26d4134","line":32,"updated":"2015-08-10 15:51:31.000000000","message":"I think we need to make everything that uses this re-write the compute.legacy_v2 stuff to just compute, etc.","commit_id":"8f8120f17df500106e499403d6e1195a170466ba"}],"nova/api/openstack/compute/limits.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"a457faa4e08fdbcc11ffacfca761db94bf20c0b7","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"# This is just for backward compatible with legacy v2 api-paste.ini"},{"line_number":18,"context_line":"from nova.api.openstack.compute.legacy_v2 import limits"},{"line_number":19,"context_line":"RateLimitingMiddleware \u003d limits.RateLimitingMiddleware"}],"source_content_type":"text/x-python","patch_set":24,"id":"1a4dcd0f_bf014f08","line":17,"updated":"2015-08-05 14:38:33.000000000","message":"we might want to be clear about when that can be removed, I guess its the same time when we remove legacy v2","commit_id":"4f5827618cb402e5fb187537d175b08a71ab510a"}],"nova/api/openstack/compute/versions.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d0d16b05c791db74b59ad9f584334035a43a869a","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from nova.api.openstack import versions"},{"line_number":17,"context_line":"Versions \u003d versions.Versions"}],"source_content_type":"text/x-python","patch_set":9,"id":"9a41bdd9_e590f797","line":17,"updated":"2015-07-13 11:31:34.000000000","message":"I forget add comment at here. We\u0027d better to add some comment at here, to note this is an reference used to compatible with api-paste.ini","commit_id":"bea3c9f96f9ae435dc54866bcb7c458526ca1b48"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"4e5a21aff6c4af1e84a87b5e95f0ae42452d6045","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from nova.api.openstack import versions"},{"line_number":17,"context_line":"Versions \u003d versions.Versions"}],"source_content_type":"text/x-python","patch_set":11,"id":"3a50d1a3_b3b74739","line":15,"updated":"2015-07-22 01:52:47.000000000","message":"Add a comment and TODO mark should be better.","commit_id":"22ea1ce3bbf63b4dac063ce76765af9e3053254d"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"a457faa4e08fdbcc11ffacfca761db94bf20c0b7","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from nova.api.openstack import versions"},{"line_number":17,"context_line":"Versions \u003d versions.Versions"}],"source_content_type":"text/x-python","patch_set":24,"id":"1a4dcd0f_3a230da9","line":16,"updated":"2015-08-05 14:38:33.000000000","message":"probably should add why this is here, and when it will be removed?","commit_id":"4f5827618cb402e5fb187537d175b08a71ab510a"}],"nova/tests/functional/api_samples/all_extensions/server-action-rebuild-resp.json.tpl":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"2d1188711bf84ced8c088cb7e21534e106163d23","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"server\": {"},{"line_number":3,"context_line":"        \"OS-DCF:diskConfig\": \"AUTO\","},{"line_number":4,"context_line":"        \"accessIPv4\": \"%(access_ip_v4)s\","},{"line_number":5,"context_line":"        \"accessIPv6\": \"%(access_ip_v6)s\","},{"line_number":6,"context_line":"        \"addresses\": {"},{"line_number":7,"context_line":"            \"private\": ["}],"source_content_type":"text/x-smarty","patch_set":30,"id":"1a4dcd0f_25acdf8a","line":4,"updated":"2015-08-07 15:08:40.000000000","message":"I don\u0027t quite get why this changed?","commit_id":"b628fa285370182fa076d7f725608345db415e63"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"40f6a890517b297daa10dd21241a11e8455bdd85","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"server\": {"},{"line_number":3,"context_line":"        \"OS-DCF:diskConfig\": \"AUTO\","},{"line_number":4,"context_line":"        \"accessIPv4\": \"%(access_ip_v4)s\","},{"line_number":5,"context_line":"        \"accessIPv6\": \"%(access_ip_v6)s\","},{"line_number":6,"context_line":"        \"addresses\": {"},{"line_number":7,"context_line":"            \"private\": ["}],"source_content_type":"text/x-smarty","patch_set":30,"id":"1a4dcd0f_bbb1ece1","line":4,"in_reply_to":"1a4dcd0f_25acdf8a","updated":"2015-08-07 15:46:17.000000000","message":"Looks like a rebase gone bad. I\u0027ll clean up this and the other odd .tpl changes.","commit_id":"b628fa285370182fa076d7f725608345db415e63"}],"nova/tests/functional/api_samples/flavors/flavor-get-resp.json.tpl":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"42052220bd8cba23cf59da41a6ad003c56218e5c","unresolved":false,"context_lines":[{"line_number":17,"context_line":"        \"ram\": 512,"},{"line_number":18,"context_line":"        \"vcpus\": 1,"},{"line_number":19,"context_line":"        \"OS-FLV-DISABLED:disabled\": false,"},{"line_number":20,"context_line":"        \"OS-FLV-EXT-DATA:ephemeral\": 0,"},{"line_number":21,"context_line":"        \"swap\": \"\""},{"line_number":22,"context_line":"    }"},{"line_number":23,"context_line":"}"}],"source_content_type":"text/x-smarty","patch_set":32,"id":"1a4dcd0f_c7289b88","line":20,"updated":"2015-08-07 16:57:45.000000000","message":"This be still seems odd.","commit_id":"9c1b8b3eef043b675a063824097e76c182dae82a"}],"nova/tests/functional/test_access_ips.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e002ed85032816b6e6f8ecf1d3a5d68d72fdf1a8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2012 Nebula, Inc."},{"line_number":2,"context_line":"# Copyright 2013 IBM Corp."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":28,"id":"1a4dcd0f_a79a2f60","line":1,"updated":"2015-08-07 17:09:07.000000000","message":"Why did this file move? not sure I get the reasoning here, its making the followup change hard.","commit_id":"40f748a04d7ad3a95898a2691af4425817fd9a21"}],"nova/tests/functional/test_flavor_extraspecs.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"2d1188711bf84ced8c088cb7e21534e106163d23","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        f \u003d super(FlavorExtraSpecsSampleJsonTests, self)._get_flags()"},{"line_number":35,"context_line":"        f[\u0027osapi_compute_extension\u0027] \u003d CONF.osapi_compute_extension[:]"},{"line_number":36,"context_line":"        f[\u0027osapi_compute_extension\u0027].append("},{"line_number":37,"context_line":"            \u0027nova.api.openstack.compute.legacy_v2.contrib.flavorextraspecs.\u0027"},{"line_number":38,"context_line":"            \u0027Flavorextraspecs\u0027)"},{"line_number":39,"context_line":"        return f"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"1a4dcd0f_85c85356","line":37,"updated":"2015-08-07 15:08:40.000000000","message":"These changes worry me, does this not have user impact?","commit_id":"b628fa285370182fa076d7f725608345db415e63"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"40f6a890517b297daa10dd21241a11e8455bdd85","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        f \u003d super(FlavorExtraSpecsSampleJsonTests, self)._get_flags()"},{"line_number":35,"context_line":"        f[\u0027osapi_compute_extension\u0027] \u003d CONF.osapi_compute_extension[:]"},{"line_number":36,"context_line":"        f[\u0027osapi_compute_extension\u0027].append("},{"line_number":37,"context_line":"            \u0027nova.api.openstack.compute.legacy_v2.contrib.flavorextraspecs.\u0027"},{"line_number":38,"context_line":"            \u0027Flavorextraspecs\u0027)"},{"line_number":39,"context_line":"        return f"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"1a4dcd0f_5ba6a8ae","line":37,"in_reply_to":"1a4dcd0f_85c85356","updated":"2015-08-07 15:46:17.000000000","message":"Not sure that I understand the concern. The files referenced have moved, and the paths updated to reflect the new location.","commit_id":"b628fa285370182fa076d7f725608345db415e63"}],"nova/tests/functional/v3/test_access_ips.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"9223ada198ab6a6875a2d73b222e213f341ee8a2","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        f \u003d super(AccessIPsSampleJsonTest, self)._get_flags()"},{"line_number":35,"context_line":"        f[\u0027osapi_compute_extension\u0027] \u003d CONF.osapi_compute_extension[:]"},{"line_number":36,"context_line":"        f[\u0027osapi_compute_extension\u0027].append("},{"line_number":37,"context_line":"            \u0027nova.api.openstack.compute.legacy_v2.contrib.keypairs.Keypairs\u0027)"},{"line_number":38,"context_line":"        f[\u0027osapi_compute_extension\u0027].append("},{"line_number":39,"context_line":"            \u0027nova.api.openstack.compute.legacy_v2.contrib.extended_ips.\u0027"},{"line_number":40,"context_line":"            \u0027Extended_ips\u0027)"}],"source_content_type":"text/x-python","patch_set":34,"id":"1a4dcd0f_f240a909","line":37,"updated":"2015-08-10 15:41:20.000000000","message":"These kinds of changes worry me.\n\nAre we forcing our users to change their config when they upgrade?","commit_id":"8f8120f17df500106e499403d6e1195a170466ba"}],"nova/tests/functional/v3/test_admin_actions.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"97f9fd30772630745112fe548dcb745a383c00d3","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        f[\u0027osapi_compute_extension\u0027] \u003d CONF.osapi_compute_extension[:]"},{"line_number":36,"context_line":"        f[\u0027osapi_compute_extension\u0027].append("},{"line_number":37,"context_line":"            \u0027nova.api.openstack.compute.legacy_v2.contrib.admin_actions.\u0027"},{"line_number":38,"context_line":"            \u0027Admin_actions\u0027)"},{"line_number":39,"context_line":"        return f"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":34,"id":"1a4dcd0f_12e0b5f9","line":38,"updated":"2015-08-10 15:51:31.000000000","message":"same here","commit_id":"8f8120f17df500106e499403d6e1195a170466ba"}],"nova/tests/unit/api/openstack/compute/contrib/test_access_ips.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"a457faa4e08fdbcc11ffacfca761db94bf20c0b7","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import webob"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from nova.api.openstack.compute.legacy_v2 import servers as servers_v20"},{"line_number":18,"context_line":"from nova.api.openstack.compute import plugins"},{"line_number":19,"context_line":"from nova.api.openstack.compute.plugins.v3 import access_ips"},{"line_number":20,"context_line":"from nova.api.openstack.compute.plugins.v3 import servers as servers_v21"}],"source_content_type":"text/x-python","patch_set":24,"id":"1a4dcd0f_dac6a999","line":17,"updated":"2015-08-05 14:38:33.000000000","message":"I think we should really move:\n\nnova/tests/unit/api/openstack/compute/contrib/test_access_ips.py\n\ninto:\n\nnova/tests/unit/api/openstack/compute/test_access_ips.py","commit_id":"4f5827618cb402e5fb187537d175b08a71ab510a"}]}
