)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b5dc90a180cc00d3ab80c6934c52cf2796ed15fa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"56dab054_5e2cb4f4","updated":"2022-02-14 18:24:59.000000000","message":"lgtm","commit_id":"a85034c50459fc1b6546bfbe417ada9974a5d8ff"}],"api-ref/source/os-flavor-access.inc":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e1b78b0f81e14d020fbb28ede9310de9028c1de5","unresolved":true,"context_lines":[{"line_number":74,"context_line":"  - flavor_id: flavor_id"},{"line_number":75,"context_line":"  - addTenantAccess: addTenantAccess"},{"line_number":76,"context_line":"  - tenant: tenant_id_body_2_87"},{"line_number":77,"context_line":"  - project: project_id_body_2_88"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"**Example Add Flavor Access To Project: JSON request (2.88)**"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":6,"id":"af839a26_35d8ea00","line":77,"updated":"2021-01-04 16:16:30.000000000","message":"we can make this similar to other APIs where this field is called `project_id`","commit_id":"420c840581e4290a79c030c00b465dfe7751a16a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"b2802e424baa2c6f079f5b2420daa971f2309de7","unresolved":false,"context_lines":[{"line_number":74,"context_line":"  - flavor_id: flavor_id"},{"line_number":75,"context_line":"  - addTenantAccess: addTenantAccess"},{"line_number":76,"context_line":"  - tenant: tenant_id_body_2_87"},{"line_number":77,"context_line":"  - project: project_id_body_2_88"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"**Example Add Flavor Access To Project: JSON request (2.88)**"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":6,"id":"781fe018_860793b4","line":77,"in_reply_to":"af839a26_35d8ea00","updated":"2021-01-13 12:29:51.000000000","message":"Done","commit_id":"420c840581e4290a79c030c00b465dfe7751a16a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e1b78b0f81e14d020fbb28ede9310de9028c1de5","unresolved":true,"context_lines":[{"line_number":126,"context_line":"  - flavor_id: flavor_id"},{"line_number":127,"context_line":"  - removeTenantAccess: removeTenantAccess"},{"line_number":128,"context_line":"  - tenant: tenant_id_body_2_87"},{"line_number":129,"context_line":"  - project: project_id_body_2_88"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"**Example Remove Flavor Access From Project: JSON request (2.88)**"},{"line_number":132,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":6,"id":"6cfaccdc_15c50326","line":129,"range":{"start_line":129,"start_character":4,"end_line":129,"end_character":11},"updated":"2021-01-04 16:16:30.000000000","message":"ditto","commit_id":"420c840581e4290a79c030c00b465dfe7751a16a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"b2802e424baa2c6f079f5b2420daa971f2309de7","unresolved":false,"context_lines":[{"line_number":126,"context_line":"  - flavor_id: flavor_id"},{"line_number":127,"context_line":"  - removeTenantAccess: removeTenantAccess"},{"line_number":128,"context_line":"  - tenant: tenant_id_body_2_87"},{"line_number":129,"context_line":"  - project: project_id_body_2_88"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"**Example Remove Flavor Access From Project: JSON request (2.88)**"},{"line_number":132,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":6,"id":"b77a5f3d_7f532c75","line":129,"range":{"start_line":129,"start_character":4,"end_line":129,"end_character":11},"in_reply_to":"6cfaccdc_15c50326","updated":"2021-01-13 12:29:51.000000000","message":"Done","commit_id":"420c840581e4290a79c030c00b465dfe7751a16a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8ad235e084469f2a2fa53009cc134ebe680d0c06","unresolved":true,"context_lines":[{"line_number":74,"context_line":"  - flavor_id: flavor_id"},{"line_number":75,"context_line":"  - addTenantAccess: addTenantAccess"},{"line_number":76,"context_line":"  - tenant: tenant_id_body_2_89"},{"line_number":77,"context_line":"  - project_id: project_id_body_2_90"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"**Example Add Flavor Access To Project: JSON request (2.90)**"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":10,"id":"6f2f34bc_c366930a","line":77,"range":{"start_line":77,"start_character":4,"end_line":77,"end_character":14},"updated":"2021-01-22 22:42:51.000000000","message":"+1 for \u0027project_id\u0027 instead of \u0027project\u0027","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"6583f1fcec3c83cfef00a2a9d9cb2f2ba793ad8c","unresolved":false,"context_lines":[{"line_number":74,"context_line":"  - flavor_id: flavor_id"},{"line_number":75,"context_line":"  - addTenantAccess: addTenantAccess"},{"line_number":76,"context_line":"  - tenant: tenant_id_body_2_89"},{"line_number":77,"context_line":"  - project_id: project_id_body_2_90"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"**Example Add Flavor Access To Project: JSON request (2.90)**"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":10,"id":"a75709d9_212c59cf","line":77,"range":{"start_line":77,"start_character":4,"end_line":77,"end_character":14},"in_reply_to":"6f2f34bc_c366930a","updated":"2021-02-04 02:00:07.000000000","message":"Ack","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"cbf5399120d25b0c4a0c50bf7d6efe24202edb76","unresolved":true,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Specify the ``addProjectAccess`` action and the ``project`` in the request body."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":".. note:: Since microversion 2.89, we replaced ``addTenantAccess`` action"},{"line_number":57,"context_line":"   with ``addProjectAccess`` action, and replaced the ``tenant`` with"},{"line_number":58,"context_line":"   ``project`` in the request body."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Normal response codes: 200"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":20,"id":"36137489_5d9176e7","line":58,"range":{"start_line":56,"start_character":10,"end_line":58,"end_character":35},"updated":"2021-07-01 14:16:06.000000000","message":"This reads weirdly and sounds like what you\u0027ve said above is the old information as opposed to the new info. How about:\n\n  .. note::\n\n      Prior to microversion 2.89, this action was called ``addTenantAccess`` and required a\n      ``tenant`` attribute in the request body.\n\nAlternatively, we could simply duplicate this section to preserve the existing deprecated API, i.e.\n\n  Add Flavor Access To Tenant (addTenantAccess Action) (**DEPRECATED**)\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n  ...\n\n  Add Flavor Access To Project (addProjectAccess Action)\n  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nIn fact, perhaps the latter is a better approach? These are quite different things","commit_id":"7ec8001372b46394f675827240d8349080555408"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"41f17279b83b6fc8e375bd411f8223b3ab1adf78","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Specify the ``addProjectAccess`` action and the ``project`` in the request body."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":".. note:: Since microversion 2.89, we replaced ``addTenantAccess`` action"},{"line_number":57,"context_line":"   with ``addProjectAccess`` action, and replaced the ``tenant`` with"},{"line_number":58,"context_line":"   ``project`` in the request body."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Normal response codes: 200"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":20,"id":"77ab7f4e_a5efbec0","line":58,"range":{"start_line":56,"start_character":10,"end_line":58,"end_character":35},"in_reply_to":"36137489_5d9176e7","updated":"2021-08-10 00:49:15.000000000","message":"Done","commit_id":"7ec8001372b46394f675827240d8349080555408"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"cbf5399120d25b0c4a0c50bf7d6efe24202edb76","unresolved":true,"context_lines":[{"line_number":91,"context_line":"  - project_id: project_id_body_2_89"},{"line_number":92,"context_line":"  - flavor_id: flavor_id_body"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"**Example Add Flavor Access To Tenant: JSON response (2.89)**"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":".. literalinclude:: ../../doc/api_samples/flavor-access/v2.89/flavor-access-add-project-resp.json"},{"line_number":97,"context_line":"   :language: javascript"}],"source_content_type":"text/x-c++src","patch_set":20,"id":"7ac9ecf9_2ee5189c","line":94,"range":{"start_line":94,"start_character":31,"end_line":94,"end_character":37},"updated":"2021-07-01 14:16:06.000000000","message":"Project","commit_id":"7ec8001372b46394f675827240d8349080555408"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"41f17279b83b6fc8e375bd411f8223b3ab1adf78","unresolved":false,"context_lines":[{"line_number":91,"context_line":"  - project_id: project_id_body_2_89"},{"line_number":92,"context_line":"  - flavor_id: flavor_id_body"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"**Example Add Flavor Access To Tenant: JSON response (2.89)**"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":".. literalinclude:: ../../doc/api_samples/flavor-access/v2.89/flavor-access-add-project-resp.json"},{"line_number":97,"context_line":"   :language: javascript"}],"source_content_type":"text/x-c++src","patch_set":20,"id":"921e7deb_8726f9d4","line":94,"range":{"start_line":94,"start_character":31,"end_line":94,"end_character":37},"in_reply_to":"7ac9ecf9_2ee5189c","updated":"2021-08-10 00:49:15.000000000","message":"Done","commit_id":"7ec8001372b46394f675827240d8349080555408"}],"doc/api_samples/flavor-access/v2.90/flavor-access-add-project-req.json":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8ad235e084469f2a2fa53009cc134ebe680d0c06","unresolved":true,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"addProjectAccess\": {"},{"line_number":3,"context_line":"        \"project\": \"fake_project\""},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"application/json","patch_set":10,"id":"982b39d1_7e6c102a","line":3,"range":{"start_line":3,"start_character":9,"end_line":3,"end_character":16},"updated":"2021-01-22 22:42:51.000000000","message":"this should be project_id","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"6583f1fcec3c83cfef00a2a9d9cb2f2ba793ad8c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"addProjectAccess\": {"},{"line_number":3,"context_line":"        \"project\": \"fake_project\""},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"application/json","patch_set":10,"id":"00f17d5b_f4d2fea1","line":3,"range":{"start_line":3,"start_character":9,"end_line":3,"end_character":16},"in_reply_to":"982b39d1_7e6c102a","updated":"2021-02-04 02:00:07.000000000","message":"Done","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"}],"doc/api_samples/flavor-access/v2.90/flavor-access-remove-project-req.json":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8ad235e084469f2a2fa53009cc134ebe680d0c06","unresolved":true,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"removeProjectAccess\": {"},{"line_number":3,"context_line":"        \"project\": \"fake_project\""},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"application/json","patch_set":10,"id":"ebeb56a4_412418ab","line":3,"range":{"start_line":3,"start_character":9,"end_line":3,"end_character":16},"updated":"2021-01-22 22:42:51.000000000","message":"ditto project_id","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"6583f1fcec3c83cfef00a2a9d9cb2f2ba793ad8c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"removeProjectAccess\": {"},{"line_number":3,"context_line":"        \"project\": \"fake_project\""},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"application/json","patch_set":10,"id":"94b456f3_ae2d456d","line":3,"range":{"start_line":3,"start_character":9,"end_line":3,"end_character":16},"in_reply_to":"ebeb56a4_412418ab","updated":"2021-02-04 02:00:07.000000000","message":"Done","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"}],"doc/notification_samples/flavor-update-with-project.json":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e1b78b0f81e14d020fbb28ede9310de9028c1de5","unresolved":true,"context_lines":[{"line_number":13,"context_line":"            \"extra_specs\": {"},{"line_number":14,"context_line":"                \"hw:numa_nodes\": \"2\""},{"line_number":15,"context_line":"            },"},{"line_number":16,"context_line":"            \"projects\": [\"fake_project\"],"},{"line_number":17,"context_line":"            \"swap\": 0,"},{"line_number":18,"context_line":"            \"rxtx_factor\": 2.0,"},{"line_number":19,"context_line":"            \"is_public\": false,"}],"source_content_type":"application/json","patch_set":6,"id":"8e59b179_17f1a241","line":16,"updated":"2021-01-04 16:16:30.000000000","message":"as far as I see the structure of the notification is not changed, this field is called projects since the beginning. Only the value is changed. I don\u0027t think you need a new sample file for this","commit_id":"420c840581e4290a79c030c00b465dfe7751a16a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"b2802e424baa2c6f079f5b2420daa971f2309de7","unresolved":true,"context_lines":[{"line_number":13,"context_line":"            \"extra_specs\": {"},{"line_number":14,"context_line":"                \"hw:numa_nodes\": \"2\""},{"line_number":15,"context_line":"            },"},{"line_number":16,"context_line":"            \"projects\": [\"fake_project\"],"},{"line_number":17,"context_line":"            \"swap\": 0,"},{"line_number":18,"context_line":"            \"rxtx_factor\": 2.0,"},{"line_number":19,"context_line":"            \"is_public\": false,"}],"source_content_type":"application/json","patch_set":6,"id":"a281755b_8df3541c","line":16,"in_reply_to":"8e59b179_17f1a241","updated":"2021-01-13 12:29:51.000000000","message":"Changing this because of the projects\u0027 value \"fake_tenant\" changed with \"fake_project\" in [1].\nFollow your suggestion, I will keep the doesnot change.\n\n[1]https://review.opendev.org/c/openstack/nova/+/767704/6/nova/tests/functional/notification_sample_tests/test_flavor.py#79","commit_id":"420c840581e4290a79c030c00b465dfe7751a16a"}],"nova/api/openstack/api_version_request.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8ad235e084469f2a2fa53009cc134ebe680d0c06","unresolved":true,"context_lines":[{"line_number":248,"context_line":"             ``GET /servers/{server_id}/os-security-groups``,"},{"line_number":249,"context_line":"             ``GET /flavors/{flavor_id}/os-flavor-access``,"},{"line_number":250,"context_line":"             ``POST /flavors/{flavor_id}/action (addProjectAccess Action)`` and"},{"line_number":251,"context_line":"             ``POST /flavors/{flavor_id}/action (removeProjectAccess Action)``."},{"line_number":252,"context_line":"\"\"\""},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":10,"id":"ed4cb666_d7c721bc","line":251,"range":{"start_line":251,"start_character":78,"end_line":251,"end_character":79},"updated":"2021-01-22 22:42:51.000000000","message":"in addition to this we can add another sub section here for renaming like below and we can add all API we are going to rename like simple-tenant-usge etc\n\n\nRenaming below API name:\n  ``POST /flavors/{flavor_id}/action (addTenantAccess to addProjectAccess Action)``\n  ``POST /flavors/{flavor_id}/action (removeTenantAccess  to removeProjectAccess Action)``.","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"6583f1fcec3c83cfef00a2a9d9cb2f2ba793ad8c","unresolved":false,"context_lines":[{"line_number":248,"context_line":"             ``GET /servers/{server_id}/os-security-groups``,"},{"line_number":249,"context_line":"             ``GET /flavors/{flavor_id}/os-flavor-access``,"},{"line_number":250,"context_line":"             ``POST /flavors/{flavor_id}/action (addProjectAccess Action)`` and"},{"line_number":251,"context_line":"             ``POST /flavors/{flavor_id}/action (removeProjectAccess Action)``."},{"line_number":252,"context_line":"\"\"\""},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":10,"id":"8a457f7e_762ed9f2","line":251,"range":{"start_line":251,"start_character":78,"end_line":251,"end_character":79},"in_reply_to":"ed4cb666_d7c721bc","updated":"2021-02-04 02:00:07.000000000","message":"Done","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"c8917abeb45663938024bd164d0414f2a4700f24","unresolved":true,"context_lines":[{"line_number":253,"context_line":"               ``GET /servers/{server_id}/os-security-groups``"},{"line_number":254,"context_line":"               ``GET /flavors/{flavor_id}/os-flavor-access``"},{"line_number":255,"context_line":"             Renaming below API name:"},{"line_number":256,"context_line":"               ``POST /flavors/{flavor_id}/action ("},{"line_number":257,"context_line":"                     addTenantAccess to addProjectAccess Action)``"},{"line_number":258,"context_line":"               ``POST /flavors/{flavor_id}/action ("},{"line_number":259,"context_line":"                     removeTenantAccess  to removeProjectAccess Action)``."},{"line_number":260,"context_line":"\"\"\""},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":21,"id":"48af828d_4aaa67d2","line":259,"range":{"start_line":256,"start_character":0,"end_line":259,"end_character":74},"updated":"2021-08-11 17:06:00.000000000","message":"``POST /flavors/{flavor_id}/action (addTenantAccess)`` (renamed to ``addProjectAccess`` action)\n ``POST /flavors/{flavor_id}/action (removeTenantAccess)`` (renamed to ``removeProjectAccess`` action)\n\nbeing consistent with other doc.","commit_id":"925df73373104f58347b6d7b4cf1152561c34584"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"e1a23969e702db5c4ab42597d0e108e9f80bf695","unresolved":false,"context_lines":[{"line_number":253,"context_line":"               ``GET /servers/{server_id}/os-security-groups``"},{"line_number":254,"context_line":"               ``GET /flavors/{flavor_id}/os-flavor-access``"},{"line_number":255,"context_line":"             Renaming below API name:"},{"line_number":256,"context_line":"               ``POST /flavors/{flavor_id}/action ("},{"line_number":257,"context_line":"                     addTenantAccess to addProjectAccess Action)``"},{"line_number":258,"context_line":"               ``POST /flavors/{flavor_id}/action ("},{"line_number":259,"context_line":"                     removeTenantAccess  to removeProjectAccess Action)``."},{"line_number":260,"context_line":"\"\"\""},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":21,"id":"622086ce_3d574c68","line":259,"range":{"start_line":256,"start_character":0,"end_line":259,"end_character":74},"in_reply_to":"48af828d_4aaa67d2","updated":"2021-08-16 00:23:55.000000000","message":"Done","commit_id":"925df73373104f58347b6d7b4cf1152561c34584"}],"nova/api/openstack/compute/flavor_access.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e1b78b0f81e14d020fbb28ede9310de9028c1de5","unresolved":true,"context_lines":[{"line_number":63,"context_line":"class FlavorActionController(wsgi.Controller):"},{"line_number":64,"context_line":"    \"\"\"The flavor access API controller for the OpenStack API.\"\"\""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @wsgi.Controller.api_version(\"2.1\", \"2.87\")  # noqa: F811"},{"line_number":67,"context_line":"    @wsgi.expected_errors((400, 403, 404, 409))"},{"line_number":68,"context_line":"    @wsgi.action(\"addTenantAccess\")"},{"line_number":69,"context_line":"    @validation.schema(flavor_access.add_tenant_access, \"2.1\", \"2.87\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"0a7c3eea_eb78550f","line":66,"range":{"start_line":66,"start_character":49,"end_line":66,"end_character":61},"updated":"2021-01-04 16:16:30.000000000","message":"I think you don\u0027t need this noqa as you don\u0027t use duplicated name for the actions","commit_id":"420c840581e4290a79c030c00b465dfe7751a16a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"b2802e424baa2c6f079f5b2420daa971f2309de7","unresolved":false,"context_lines":[{"line_number":63,"context_line":"class FlavorActionController(wsgi.Controller):"},{"line_number":64,"context_line":"    \"\"\"The flavor access API controller for the OpenStack API.\"\"\""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @wsgi.Controller.api_version(\"2.1\", \"2.87\")  # noqa: F811"},{"line_number":67,"context_line":"    @wsgi.expected_errors((400, 403, 404, 409))"},{"line_number":68,"context_line":"    @wsgi.action(\"addTenantAccess\")"},{"line_number":69,"context_line":"    @validation.schema(flavor_access.add_tenant_access, \"2.1\", \"2.87\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"3d65271d_8000193f","line":66,"range":{"start_line":66,"start_character":49,"end_line":66,"end_character":61},"in_reply_to":"0a7c3eea_eb78550f","updated":"2021-01-13 12:29:51.000000000","message":"Done","commit_id":"420c840581e4290a79c030c00b465dfe7751a16a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e1b78b0f81e14d020fbb28ede9310de9028c1de5","unresolved":true,"context_lines":[{"line_number":70,"context_line":"    def add_tenant_access(self, req, id, body):"},{"line_number":71,"context_line":"        return self._add_project_access(req, id, body)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    @wsgi.Controller.api_version(\"2.88\")  # noqa: F811"},{"line_number":74,"context_line":"    @wsgi.expected_errors((400, 403, 404, 409))"},{"line_number":75,"context_line":"    @wsgi.action(\"addProjectAccess\")"},{"line_number":76,"context_line":"    @validation.schema(flavor_access.add_project_access_v288, \"2.88\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"4dff122c_a7def293","line":73,"range":{"start_line":73,"start_character":42,"end_line":73,"end_character":54},"updated":"2021-01-04 16:16:30.000000000","message":"ditto","commit_id":"420c840581e4290a79c030c00b465dfe7751a16a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"b2802e424baa2c6f079f5b2420daa971f2309de7","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    def add_tenant_access(self, req, id, body):"},{"line_number":71,"context_line":"        return self._add_project_access(req, id, body)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    @wsgi.Controller.api_version(\"2.88\")  # noqa: F811"},{"line_number":74,"context_line":"    @wsgi.expected_errors((400, 403, 404, 409))"},{"line_number":75,"context_line":"    @wsgi.action(\"addProjectAccess\")"},{"line_number":76,"context_line":"    @validation.schema(flavor_access.add_project_access_v288, \"2.88\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"e9df0f06_41c87c63","line":73,"range":{"start_line":73,"start_character":42,"end_line":73,"end_character":54},"in_reply_to":"4dff122c_a7def293","updated":"2021-01-13 12:29:51.000000000","message":"Done","commit_id":"420c840581e4290a79c030c00b465dfe7751a16a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e1b78b0f81e14d020fbb28ede9310de9028c1de5","unresolved":true,"context_lines":[{"line_number":74,"context_line":"    @wsgi.expected_errors((400, 403, 404, 409))"},{"line_number":75,"context_line":"    @wsgi.action(\"addProjectAccess\")"},{"line_number":76,"context_line":"    @validation.schema(flavor_access.add_project_access_v288, \"2.88\")"},{"line_number":77,"context_line":"    def add_project_access(self, req, id, body):  # noqa"},{"line_number":78,"context_line":"        return self._add_project_access(req, id, body)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def _add_project_access(self, req, id, body):"}],"source_content_type":"text/x-python","patch_set":6,"id":"f03233a6_441c927b","line":77,"range":{"start_line":77,"start_character":52,"end_line":77,"end_character":56},"updated":"2021-01-04 16:16:30.000000000","message":"ditto","commit_id":"420c840581e4290a79c030c00b465dfe7751a16a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"b2802e424baa2c6f079f5b2420daa971f2309de7","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    @wsgi.expected_errors((400, 403, 404, 409))"},{"line_number":75,"context_line":"    @wsgi.action(\"addProjectAccess\")"},{"line_number":76,"context_line":"    @validation.schema(flavor_access.add_project_access_v288, \"2.88\")"},{"line_number":77,"context_line":"    def add_project_access(self, req, id, body):  # noqa"},{"line_number":78,"context_line":"        return self._add_project_access(req, id, body)"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def _add_project_access(self, req, id, body):"}],"source_content_type":"text/x-python","patch_set":6,"id":"6a1a62e7_79d17f4d","line":77,"range":{"start_line":77,"start_character":52,"end_line":77,"end_character":56},"in_reply_to":"f03233a6_441c927b","updated":"2021-01-13 12:29:51.000000000","message":"Done","commit_id":"420c840581e4290a79c030c00b465dfe7751a16a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e1b78b0f81e14d020fbb28ede9310de9028c1de5","unresolved":true,"context_lines":[{"line_number":103,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003derr.format_message())"},{"line_number":104,"context_line":"        return _marshall_flavor_access(req, flavor)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    @wsgi.Controller.api_version(\u00272.1\u0027, \u00272.87\u0027)  # noqa: F811"},{"line_number":107,"context_line":"    @wsgi.expected_errors((400, 403, 404))"},{"line_number":108,"context_line":"    @wsgi.action(\"removeTenantAccess\")"},{"line_number":109,"context_line":"    @validation.schema(flavor_access.remove_tenant_access, \u00272.1\u0027, \u00272.87\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"34d42d0a_b97adc6a","line":106,"range":{"start_line":106,"start_character":49,"end_line":106,"end_character":61},"updated":"2021-01-04 16:16:30.000000000","message":"ditto","commit_id":"420c840581e4290a79c030c00b465dfe7751a16a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"b2802e424baa2c6f079f5b2420daa971f2309de7","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003derr.format_message())"},{"line_number":104,"context_line":"        return _marshall_flavor_access(req, flavor)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    @wsgi.Controller.api_version(\u00272.1\u0027, \u00272.87\u0027)  # noqa: F811"},{"line_number":107,"context_line":"    @wsgi.expected_errors((400, 403, 404))"},{"line_number":108,"context_line":"    @wsgi.action(\"removeTenantAccess\")"},{"line_number":109,"context_line":"    @validation.schema(flavor_access.remove_tenant_access, \u00272.1\u0027, \u00272.87\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"a2e7fb99_9df4e08e","line":106,"range":{"start_line":106,"start_character":49,"end_line":106,"end_character":61},"in_reply_to":"34d42d0a_b97adc6a","updated":"2021-01-13 12:29:51.000000000","message":"Done","commit_id":"420c840581e4290a79c030c00b465dfe7751a16a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e1b78b0f81e14d020fbb28ede9310de9028c1de5","unresolved":true,"context_lines":[{"line_number":110,"context_line":"    def remove_tenant_access(self, req, id, body):"},{"line_number":111,"context_line":"        return self._remove_project_access(req, id, body)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    @wsgi.Controller.api_version(\u00272.88\u0027)  # noqa: F811"},{"line_number":114,"context_line":"    @wsgi.expected_errors((400, 403, 404))"},{"line_number":115,"context_line":"    @wsgi.action(\"removeProjectAccess\")"},{"line_number":116,"context_line":"    @validation.schema(flavor_access.remove_project_access_v288, \u00272.88\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"86648528_617f40aa","line":113,"range":{"start_line":113,"start_character":42,"end_line":113,"end_character":54},"updated":"2021-01-04 16:16:30.000000000","message":"ditto","commit_id":"420c840581e4290a79c030c00b465dfe7751a16a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"b2802e424baa2c6f079f5b2420daa971f2309de7","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    def remove_tenant_access(self, req, id, body):"},{"line_number":111,"context_line":"        return self._remove_project_access(req, id, body)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    @wsgi.Controller.api_version(\u00272.88\u0027)  # noqa: F811"},{"line_number":114,"context_line":"    @wsgi.expected_errors((400, 403, 404))"},{"line_number":115,"context_line":"    @wsgi.action(\"removeProjectAccess\")"},{"line_number":116,"context_line":"    @validation.schema(flavor_access.remove_project_access_v288, \u00272.88\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"1fdaf9da_0493263d","line":113,"range":{"start_line":113,"start_character":42,"end_line":113,"end_character":54},"in_reply_to":"86648528_617f40aa","updated":"2021-01-13 12:29:51.000000000","message":"Done","commit_id":"420c840581e4290a79c030c00b465dfe7751a16a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e1b78b0f81e14d020fbb28ede9310de9028c1de5","unresolved":true,"context_lines":[{"line_number":114,"context_line":"    @wsgi.expected_errors((400, 403, 404))"},{"line_number":115,"context_line":"    @wsgi.action(\"removeProjectAccess\")"},{"line_number":116,"context_line":"    @validation.schema(flavor_access.remove_project_access_v288, \u00272.88\u0027)"},{"line_number":117,"context_line":"    def remove_project_access(self, req, id, body):  # noqa"},{"line_number":118,"context_line":"        return self._remove_project_access(req, id, body)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def _remove_project_access(self, req, id, body):"}],"source_content_type":"text/x-python","patch_set":6,"id":"a7c4f5df_d45e6f0a","line":117,"range":{"start_line":117,"start_character":53,"end_line":117,"end_character":59},"updated":"2021-01-04 16:16:30.000000000","message":"ditto","commit_id":"420c840581e4290a79c030c00b465dfe7751a16a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"b2802e424baa2c6f079f5b2420daa971f2309de7","unresolved":false,"context_lines":[{"line_number":114,"context_line":"    @wsgi.expected_errors((400, 403, 404))"},{"line_number":115,"context_line":"    @wsgi.action(\"removeProjectAccess\")"},{"line_number":116,"context_line":"    @validation.schema(flavor_access.remove_project_access_v288, \u00272.88\u0027)"},{"line_number":117,"context_line":"    def remove_project_access(self, req, id, body):  # noqa"},{"line_number":118,"context_line":"        return self._remove_project_access(req, id, body)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    def _remove_project_access(self, req, id, body):"}],"source_content_type":"text/x-python","patch_set":6,"id":"531a1a5e_3defe1d5","line":117,"range":{"start_line":117,"start_character":53,"end_line":117,"end_character":59},"in_reply_to":"a7c4f5df_d45e6f0a","updated":"2021-01-13 12:29:51.000000000","message":"Done","commit_id":"420c840581e4290a79c030c00b465dfe7751a16a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"cbf5399120d25b0c4a0c50bf7d6efe24202edb76","unresolved":true,"context_lines":[{"line_number":31,"context_line":"def _marshall_flavor_access(req, flavor):"},{"line_number":32,"context_line":"    rval \u003d []"},{"line_number":33,"context_line":"    for project_id in flavor.projects:"},{"line_number":34,"context_line":"        if api_version_request.is_supported(req, min_version\u003d\u00272.89\u0027):"},{"line_number":35,"context_line":"            temp_val \u003d {\u0027flavor_id\u0027: flavor.flavorid,"},{"line_number":36,"context_line":"                        \u0027project_id\u0027: project_id}"},{"line_number":37,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":20,"id":"5e3750a3_092c4b9f","line":34,"updated":"2021-07-01 14:16:06.000000000","message":"nit:\n\n  val \u003d {\u0027flavor_id\u0027: flavor.flavorid}\n  if api_version_request.is_supported(req, min_version\u003d\u00272.89\u0027):\n      val[\u0027project_id\u0027] \u003d project_id\n  else:\n      val[\u0027tenant_id\u0027] \u003d project_id","commit_id":"7ec8001372b46394f675827240d8349080555408"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"41f17279b83b6fc8e375bd411f8223b3ab1adf78","unresolved":false,"context_lines":[{"line_number":31,"context_line":"def _marshall_flavor_access(req, flavor):"},{"line_number":32,"context_line":"    rval \u003d []"},{"line_number":33,"context_line":"    for project_id in flavor.projects:"},{"line_number":34,"context_line":"        if api_version_request.is_supported(req, min_version\u003d\u00272.89\u0027):"},{"line_number":35,"context_line":"            temp_val \u003d {\u0027flavor_id\u0027: flavor.flavorid,"},{"line_number":36,"context_line":"                        \u0027project_id\u0027: project_id}"},{"line_number":37,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":20,"id":"3bd7bff6_6b73e42f","line":34,"in_reply_to":"5e3750a3_092c4b9f","updated":"2021-08-10 00:49:15.000000000","message":"Done","commit_id":"7ec8001372b46394f675827240d8349080555408"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"cbf5399120d25b0c4a0c50bf7d6efe24202edb76","unresolved":true,"context_lines":[{"line_number":63,"context_line":"class FlavorActionController(wsgi.Controller):"},{"line_number":64,"context_line":"    \"\"\"The flavor access API controller for the OpenStack API.\"\"\""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @wsgi.Controller.api_version(\"2.1\", \"2.89\")"},{"line_number":67,"context_line":"    @wsgi.expected_errors((400, 403, 404, 409))"},{"line_number":68,"context_line":"    @wsgi.action(\"addTenantAccess\")"},{"line_number":69,"context_line":"    @validation.schema(flavor_access.add_tenant_access, \"2.1\", \"2.89\")"}],"source_content_type":"text/x-python","patch_set":20,"id":"18568c2e_c6ef69ce","line":66,"range":{"start_line":66,"start_character":43,"end_line":66,"end_character":45},"updated":"2021-07-01 14:16:06.000000000","message":"Hmm, isn\u0027t this value inclusive? i.e. shouldn\u0027t this be \"2.88\"?","commit_id":"7ec8001372b46394f675827240d8349080555408"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"41f17279b83b6fc8e375bd411f8223b3ab1adf78","unresolved":true,"context_lines":[{"line_number":63,"context_line":"class FlavorActionController(wsgi.Controller):"},{"line_number":64,"context_line":"    \"\"\"The flavor access API controller for the OpenStack API.\"\"\""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    @wsgi.Controller.api_version(\"2.1\", \"2.89\")"},{"line_number":67,"context_line":"    @wsgi.expected_errors((400, 403, 404, 409))"},{"line_number":68,"context_line":"    @wsgi.action(\"addTenantAccess\")"},{"line_number":69,"context_line":"    @validation.schema(flavor_access.add_tenant_access, \"2.1\", \"2.89\")"}],"source_content_type":"text/x-python","patch_set":20,"id":"8855de36_1c785c5b","line":66,"range":{"start_line":66,"start_character":43,"end_line":66,"end_character":45},"in_reply_to":"18568c2e_c6ef69ce","updated":"2021-08-10 00:49:15.000000000","message":"yes, 2.88.","commit_id":"7ec8001372b46394f675827240d8349080555408"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"cbf5399120d25b0c4a0c50bf7d6efe24202edb76","unresolved":true,"context_lines":[{"line_number":66,"context_line":"    @wsgi.Controller.api_version(\"2.1\", \"2.89\")"},{"line_number":67,"context_line":"    @wsgi.expected_errors((400, 403, 404, 409))"},{"line_number":68,"context_line":"    @wsgi.action(\"addTenantAccess\")"},{"line_number":69,"context_line":"    @validation.schema(flavor_access.add_tenant_access, \"2.1\", \"2.89\")"},{"line_number":70,"context_line":"    def add_tenant_access(self, req, id, body):"},{"line_number":71,"context_line":"        return self._add_project_access(req, id, body)"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"81494e38_666c16e9","line":69,"range":{"start_line":69,"start_character":54,"end_line":69,"end_character":69},"updated":"2021-07-01 14:16:06.000000000","message":"This seems unnecessary. The \u0027api_version\u0027 decorator will prevent us getting this far.","commit_id":"7ec8001372b46394f675827240d8349080555408"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"41f17279b83b6fc8e375bd411f8223b3ab1adf78","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    @wsgi.Controller.api_version(\"2.1\", \"2.89\")"},{"line_number":67,"context_line":"    @wsgi.expected_errors((400, 403, 404, 409))"},{"line_number":68,"context_line":"    @wsgi.action(\"addTenantAccess\")"},{"line_number":69,"context_line":"    @validation.schema(flavor_access.add_tenant_access, \"2.1\", \"2.89\")"},{"line_number":70,"context_line":"    def add_tenant_access(self, req, id, body):"},{"line_number":71,"context_line":"        return self._add_project_access(req, id, body)"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"8de64ddc_3c96879d","line":69,"range":{"start_line":69,"start_character":54,"end_line":69,"end_character":69},"in_reply_to":"81494e38_666c16e9","updated":"2021-08-10 00:49:15.000000000","message":"Done","commit_id":"7ec8001372b46394f675827240d8349080555408"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"c8917abeb45663938024bd164d0414f2a4700f24","unresolved":true,"context_lines":[{"line_number":102,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003derr.format_message())"},{"line_number":103,"context_line":"        return _marshall_flavor_access(req, flavor)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    @wsgi.Controller.api_version(\u00272.1\u0027, \u00272.89\u0027)"},{"line_number":106,"context_line":"    @wsgi.expected_errors((400, 403, 404))"},{"line_number":107,"context_line":"    @wsgi.action(\"removeTenantAccess\")"},{"line_number":108,"context_line":"    @validation.schema(flavor_access.remove_tenant_access, \u00272.1\u0027, \u00272.89\u0027)"}],"source_content_type":"text/x-python","patch_set":21,"id":"eb4fb402_02ee02ec","line":105,"range":{"start_line":105,"start_character":43,"end_line":105,"end_character":45},"updated":"2021-08-11 17:06:00.000000000","message":"2.88\n\nadded comment to add test case for the api_version in test file.","commit_id":"925df73373104f58347b6d7b4cf1152561c34584"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"e1a23969e702db5c4ab42597d0e108e9f80bf695","unresolved":false,"context_lines":[{"line_number":102,"context_line":"            raise webob.exc.HTTPConflict(explanation\u003derr.format_message())"},{"line_number":103,"context_line":"        return _marshall_flavor_access(req, flavor)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    @wsgi.Controller.api_version(\u00272.1\u0027, \u00272.89\u0027)"},{"line_number":106,"context_line":"    @wsgi.expected_errors((400, 403, 404))"},{"line_number":107,"context_line":"    @wsgi.action(\"removeTenantAccess\")"},{"line_number":108,"context_line":"    @validation.schema(flavor_access.remove_tenant_access, \u00272.1\u0027, \u00272.89\u0027)"}],"source_content_type":"text/x-python","patch_set":21,"id":"9d7cea48_727a32c1","line":105,"range":{"start_line":105,"start_character":43,"end_line":105,"end_character":45},"in_reply_to":"eb4fb402_02ee02ec","updated":"2021-08-16 00:23:55.000000000","message":"Done","commit_id":"925df73373104f58347b6d7b4cf1152561c34584"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"c8917abeb45663938024bd164d0414f2a4700f24","unresolved":true,"context_lines":[{"line_number":105,"context_line":"    @wsgi.Controller.api_version(\u00272.1\u0027, \u00272.89\u0027)"},{"line_number":106,"context_line":"    @wsgi.expected_errors((400, 403, 404))"},{"line_number":107,"context_line":"    @wsgi.action(\"removeTenantAccess\")"},{"line_number":108,"context_line":"    @validation.schema(flavor_access.remove_tenant_access, \u00272.1\u0027, \u00272.89\u0027)"},{"line_number":109,"context_line":"    def remove_tenant_access(self, req, id, body):"},{"line_number":110,"context_line":"        return self._remove_project_access(req, id, body)"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"b3cbb963_bef84aa8","line":108,"range":{"start_line":108,"start_character":57,"end_line":108,"end_character":72},"updated":"2021-08-11 17:06:00.000000000","message":"ditto, these are not required as such","commit_id":"925df73373104f58347b6d7b4cf1152561c34584"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"e1a23969e702db5c4ab42597d0e108e9f80bf695","unresolved":false,"context_lines":[{"line_number":105,"context_line":"    @wsgi.Controller.api_version(\u00272.1\u0027, \u00272.89\u0027)"},{"line_number":106,"context_line":"    @wsgi.expected_errors((400, 403, 404))"},{"line_number":107,"context_line":"    @wsgi.action(\"removeTenantAccess\")"},{"line_number":108,"context_line":"    @validation.schema(flavor_access.remove_tenant_access, \u00272.1\u0027, \u00272.89\u0027)"},{"line_number":109,"context_line":"    def remove_tenant_access(self, req, id, body):"},{"line_number":110,"context_line":"        return self._remove_project_access(req, id, body)"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"cca7e8a9_5f12432a","line":108,"range":{"start_line":108,"start_character":57,"end_line":108,"end_character":72},"in_reply_to":"b3cbb963_bef84aa8","updated":"2021-08-16 00:23:55.000000000","message":"Done","commit_id":"925df73373104f58347b6d7b4cf1152561c34584"}],"nova/api/openstack/compute/rest_api_version_history.rst":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8ad235e084469f2a2fa53009cc134ebe680d0c06","unresolved":true,"context_lines":[{"line_number":1194,"context_line":"* ``GET /servers/{server_id}/os-security-groups``"},{"line_number":1195,"context_line":"* ``GET /flavors/{flavor_id}/os-flavor-access``"},{"line_number":1196,"context_line":"* ``POST /flavors/{flavor_id}/action (Add Flavor Access To Project (addProjectAccess Action))``"},{"line_number":1197,"context_line":"* ``POST /flavors/{flavor_id}/action (Remove Flavor Access From Project (removeProjectAccess Action))``"}],"source_content_type":"text/x-rst","patch_set":10,"id":"44aed8e7_a2cdadc1","line":1197,"range":{"start_line":1197,"start_character":102,"end_line":1197,"end_character":103},"updated":"2021-01-22 22:42:51.000000000","message":"ditto about API renaming section","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"6583f1fcec3c83cfef00a2a9d9cb2f2ba793ad8c","unresolved":false,"context_lines":[{"line_number":1194,"context_line":"* ``GET /servers/{server_id}/os-security-groups``"},{"line_number":1195,"context_line":"* ``GET /flavors/{flavor_id}/os-flavor-access``"},{"line_number":1196,"context_line":"* ``POST /flavors/{flavor_id}/action (Add Flavor Access To Project (addProjectAccess Action))``"},{"line_number":1197,"context_line":"* ``POST /flavors/{flavor_id}/action (Remove Flavor Access From Project (removeProjectAccess Action))``"}],"source_content_type":"text/x-rst","patch_set":10,"id":"7cf54658_d298de70","line":1197,"range":{"start_line":1197,"start_character":102,"end_line":1197,"end_character":103},"in_reply_to":"44aed8e7_a2cdadc1","updated":"2021-02-04 02:00:07.000000000","message":"Done","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"cbf5399120d25b0c4a0c50bf7d6efe24202edb76","unresolved":true,"context_lines":[{"line_number":1195,"context_line":"* ``GET /servers/{server_id}/os-security-groups``"},{"line_number":1196,"context_line":"* ``GET /flavors/{flavor_id}/os-flavor-access``"},{"line_number":1197,"context_line":"Renaming below API name:"},{"line_number":1198,"context_line":"* ``POST /flavors/{flavor_id}/action (addTenantAccess to addProjectAccess Action)``"},{"line_number":1199,"context_line":"* ``POST /flavors/{flavor_id}/action (removeTenantAccess  to removeProjectAccess Action)``"}],"source_content_type":"text/x-rst","patch_set":20,"id":"773cd360_e0564201","line":1198,"range":{"start_line":1198,"start_character":2,"end_line":1198,"end_character":83},"updated":"2021-07-01 14:16:06.000000000","message":"nit:\n\n  * ``POST /flavors/{flavor_id}/action (addTenantAccess)`` (renamed to ``addProjectAccess`` action)\n  * ``POST /flavors/{flavor_id}/action (removeTenantAccess)`` (renamed to ``removeProjectAccess`` action)","commit_id":"7ec8001372b46394f675827240d8349080555408"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"41f17279b83b6fc8e375bd411f8223b3ab1adf78","unresolved":false,"context_lines":[{"line_number":1195,"context_line":"* ``GET /servers/{server_id}/os-security-groups``"},{"line_number":1196,"context_line":"* ``GET /flavors/{flavor_id}/os-flavor-access``"},{"line_number":1197,"context_line":"Renaming below API name:"},{"line_number":1198,"context_line":"* ``POST /flavors/{flavor_id}/action (addTenantAccess to addProjectAccess Action)``"},{"line_number":1199,"context_line":"* ``POST /flavors/{flavor_id}/action (removeTenantAccess  to removeProjectAccess Action)``"}],"source_content_type":"text/x-rst","patch_set":20,"id":"65016494_5931a14f","line":1198,"range":{"start_line":1198,"start_character":2,"end_line":1198,"end_character":83},"in_reply_to":"773cd360_e0564201","updated":"2021-08-10 00:49:15.000000000","message":"Done","commit_id":"7ec8001372b46394f675827240d8349080555408"}],"nova/api/openstack/compute/schemas/flavor_access.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8ad235e084469f2a2fa53009cc134ebe680d0c06","unresolved":true,"context_lines":[{"line_number":37,"context_line":"        \u0027addProjectAccess\u0027: {"},{"line_number":38,"context_line":"            \u0027type\u0027: \u0027object\u0027,"},{"line_number":39,"context_line":"            \u0027properties\u0027: {"},{"line_number":40,"context_line":"                \u0027project\u0027: {"},{"line_number":41,"context_line":"                    # defined from project_id in instance_type_projects table"},{"line_number":42,"context_line":"                    \u0027type\u0027: \u0027string\u0027, \u0027minLength\u0027: 1, \u0027maxLength\u0027: 255,"},{"line_number":43,"context_line":"                },"}],"source_content_type":"text/x-python","patch_set":10,"id":"594ef35e_94a802a4","line":40,"range":{"start_line":40,"start_character":17,"end_line":40,"end_character":24},"updated":"2021-01-22 22:42:51.000000000","message":"project_id","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"6583f1fcec3c83cfef00a2a9d9cb2f2ba793ad8c","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        \u0027addProjectAccess\u0027: {"},{"line_number":38,"context_line":"            \u0027type\u0027: \u0027object\u0027,"},{"line_number":39,"context_line":"            \u0027properties\u0027: {"},{"line_number":40,"context_line":"                \u0027project\u0027: {"},{"line_number":41,"context_line":"                    # defined from project_id in instance_type_projects table"},{"line_number":42,"context_line":"                    \u0027type\u0027: \u0027string\u0027, \u0027minLength\u0027: 1, \u0027maxLength\u0027: 255,"},{"line_number":43,"context_line":"                },"}],"source_content_type":"text/x-python","patch_set":10,"id":"b0de4a58_bd209afc","line":40,"range":{"start_line":40,"start_character":17,"end_line":40,"end_character":24},"in_reply_to":"594ef35e_94a802a4","updated":"2021-02-04 02:00:07.000000000","message":"Done","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8ad235e084469f2a2fa53009cc134ebe680d0c06","unresolved":true,"context_lines":[{"line_number":42,"context_line":"                    \u0027type\u0027: \u0027string\u0027, \u0027minLength\u0027: 1, \u0027maxLength\u0027: 255,"},{"line_number":43,"context_line":"                },"},{"line_number":44,"context_line":"            },"},{"line_number":45,"context_line":"            \u0027required\u0027: [\u0027project\u0027],"},{"line_number":46,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":47,"context_line":"        },"},{"line_number":48,"context_line":"    },"}],"source_content_type":"text/x-python","patch_set":10,"id":"7380fb68_0ddfb8c0","line":45,"range":{"start_line":45,"start_character":26,"end_line":45,"end_character":33},"updated":"2021-01-22 22:42:51.000000000","message":"project_id","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"6583f1fcec3c83cfef00a2a9d9cb2f2ba793ad8c","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                    \u0027type\u0027: \u0027string\u0027, \u0027minLength\u0027: 1, \u0027maxLength\u0027: 255,"},{"line_number":43,"context_line":"                },"},{"line_number":44,"context_line":"            },"},{"line_number":45,"context_line":"            \u0027required\u0027: [\u0027project\u0027],"},{"line_number":46,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":47,"context_line":"        },"},{"line_number":48,"context_line":"    },"}],"source_content_type":"text/x-python","patch_set":10,"id":"efc0b6f4_a303f496","line":45,"range":{"start_line":45,"start_character":26,"end_line":45,"end_character":33},"in_reply_to":"7380fb68_0ddfb8c0","updated":"2021-02-04 02:00:07.000000000","message":"Done","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8ad235e084469f2a2fa53009cc134ebe680d0c06","unresolved":true,"context_lines":[{"line_number":75,"context_line":"        \u0027removeProjectAccess\u0027: {"},{"line_number":76,"context_line":"            \u0027type\u0027: \u0027object\u0027,"},{"line_number":77,"context_line":"            \u0027properties\u0027: {"},{"line_number":78,"context_line":"                \u0027project\u0027: {"},{"line_number":79,"context_line":"                    # defined from project_id in instance_type_projects table"},{"line_number":80,"context_line":"                    \u0027type\u0027: \u0027string\u0027, \u0027minLength\u0027: 1, \u0027maxLength\u0027: 255,"},{"line_number":81,"context_line":"                },"}],"source_content_type":"text/x-python","patch_set":10,"id":"7e85d4e8_488e5ba5","line":78,"range":{"start_line":78,"start_character":17,"end_line":78,"end_character":24},"updated":"2021-01-22 22:42:51.000000000","message":"project_id","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"6583f1fcec3c83cfef00a2a9d9cb2f2ba793ad8c","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        \u0027removeProjectAccess\u0027: {"},{"line_number":76,"context_line":"            \u0027type\u0027: \u0027object\u0027,"},{"line_number":77,"context_line":"            \u0027properties\u0027: {"},{"line_number":78,"context_line":"                \u0027project\u0027: {"},{"line_number":79,"context_line":"                    # defined from project_id in instance_type_projects table"},{"line_number":80,"context_line":"                    \u0027type\u0027: \u0027string\u0027, \u0027minLength\u0027: 1, \u0027maxLength\u0027: 255,"},{"line_number":81,"context_line":"                },"}],"source_content_type":"text/x-python","patch_set":10,"id":"2e6d89bc_d5d3fd27","line":78,"range":{"start_line":78,"start_character":17,"end_line":78,"end_character":24},"in_reply_to":"7e85d4e8_488e5ba5","updated":"2021-02-04 02:00:07.000000000","message":"Done","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8ad235e084469f2a2fa53009cc134ebe680d0c06","unresolved":true,"context_lines":[{"line_number":80,"context_line":"                    \u0027type\u0027: \u0027string\u0027, \u0027minLength\u0027: 1, \u0027maxLength\u0027: 255,"},{"line_number":81,"context_line":"                },"},{"line_number":82,"context_line":"            },"},{"line_number":83,"context_line":"            \u0027required\u0027: [\u0027project\u0027],"},{"line_number":84,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":85,"context_line":"        },"},{"line_number":86,"context_line":"    },"}],"source_content_type":"text/x-python","patch_set":10,"id":"54871f10_a3949afb","line":83,"range":{"start_line":83,"start_character":26,"end_line":83,"end_character":33},"updated":"2021-01-22 22:42:51.000000000","message":"project_id","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"6583f1fcec3c83cfef00a2a9d9cb2f2ba793ad8c","unresolved":false,"context_lines":[{"line_number":80,"context_line":"                    \u0027type\u0027: \u0027string\u0027, \u0027minLength\u0027: 1, \u0027maxLength\u0027: 255,"},{"line_number":81,"context_line":"                },"},{"line_number":82,"context_line":"            },"},{"line_number":83,"context_line":"            \u0027required\u0027: [\u0027project\u0027],"},{"line_number":84,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":85,"context_line":"        },"},{"line_number":86,"context_line":"    },"}],"source_content_type":"text/x-python","patch_set":10,"id":"20a5e52b_1c72f490","line":83,"range":{"start_line":83,"start_character":26,"end_line":83,"end_character":33},"in_reply_to":"54871f10_a3949afb","updated":"2021-02-04 02:00:07.000000000","message":"Done","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"cbf5399120d25b0c4a0c50bf7d6efe24202edb76","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    },"},{"line_number":49,"context_line":"    \u0027required\u0027: [\u0027addProjectAccess\u0027],"},{"line_number":50,"context_line":"    \u0027additionalProperties\u0027: False,"},{"line_number":51,"context_line":"}"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"remove_tenant_access \u003d {"},{"line_number":54,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":20,"id":"ac2c33d2_979b5eab","line":51,"updated":"2021-07-01 14:16:06.000000000","message":"I was going to suggest we could make a copy of the above and modify it, but there are enough changes here to warrant simply duplicating things (y)","commit_id":"7ec8001372b46394f675827240d8349080555408"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"41f17279b83b6fc8e375bd411f8223b3ab1adf78","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    },"},{"line_number":49,"context_line":"    \u0027required\u0027: [\u0027addProjectAccess\u0027],"},{"line_number":50,"context_line":"    \u0027additionalProperties\u0027: False,"},{"line_number":51,"context_line":"}"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"remove_tenant_access \u003d {"},{"line_number":54,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":20,"id":"2e1995a0_dac29af4","line":51,"in_reply_to":"ac2c33d2_979b5eab","updated":"2021-08-10 00:49:15.000000000","message":"Yes, copy is not simpler than direct modification.","commit_id":"7ec8001372b46394f675827240d8349080555408"}],"nova/tests/functional/api_sample_tests/api_samples/flavor-access/v2.90/flavor-access-add-project-req.json.tpl":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8ad235e084469f2a2fa53009cc134ebe680d0c06","unresolved":true,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"addProjectAccess\": {"},{"line_number":3,"context_line":"        \"project\": \"%(project_id)s\""},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"text/x-smarty","patch_set":10,"id":"25d452a6_29af0367","line":3,"range":{"start_line":3,"start_character":9,"end_line":3,"end_character":16},"updated":"2021-01-22 22:42:51.000000000","message":"ditto","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"6583f1fcec3c83cfef00a2a9d9cb2f2ba793ad8c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"addProjectAccess\": {"},{"line_number":3,"context_line":"        \"project\": \"%(project_id)s\""},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"text/x-smarty","patch_set":10,"id":"6dc72730_41486ce3","line":3,"range":{"start_line":3,"start_character":9,"end_line":3,"end_character":16},"in_reply_to":"25d452a6_29af0367","updated":"2021-02-04 02:00:07.000000000","message":"Done","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"}],"nova/tests/functional/api_sample_tests/api_samples/flavor-access/v2.90/flavor-access-remove-project-req.json.tpl":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8ad235e084469f2a2fa53009cc134ebe680d0c06","unresolved":true,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"removeProjectAccess\": {"},{"line_number":3,"context_line":"        \"project\": \"%(project_id)s\""},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"text/x-smarty","patch_set":10,"id":"44c38838_5f83670c","line":3,"range":{"start_line":3,"start_character":9,"end_line":3,"end_character":16},"updated":"2021-01-22 22:42:51.000000000","message":"ditto","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"6583f1fcec3c83cfef00a2a9d9cb2f2ba793ad8c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"removeProjectAccess\": {"},{"line_number":3,"context_line":"        \"project\": \"%(project_id)s\""},{"line_number":4,"context_line":"    }"},{"line_number":5,"context_line":"}"}],"source_content_type":"text/x-smarty","patch_set":10,"id":"a06ccbd8_5d4472f0","line":3,"range":{"start_line":3,"start_character":9,"end_line":3,"end_character":16},"in_reply_to":"44c38838_5f83670c","updated":"2021-02-04 02:00:07.000000000","message":"Done","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"}],"nova/tests/functional/notification_sample_tests/test_flavor.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e1b78b0f81e14d020fbb28ede9310de9028c1de5","unresolved":true,"context_lines":[{"line_number":84,"context_line":"            body)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        self._verify_notification("},{"line_number":87,"context_line":"            \u0027flavor-update-with-project\u0027,"},{"line_number":88,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[2])"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"73eecbb1_b0c76ec6","line":87,"updated":"2021-01-04 16:16:30.000000000","message":"you don\u0027t need a new sample as the structure of the notification is not changed. Simply update the existing flavor-update sample file with the new projects field value","commit_id":"420c840581e4290a79c030c00b465dfe7751a16a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"b2802e424baa2c6f079f5b2420daa971f2309de7","unresolved":false,"context_lines":[{"line_number":84,"context_line":"            body)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        self._verify_notification("},{"line_number":87,"context_line":"            \u0027flavor-update-with-project\u0027,"},{"line_number":88,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[2])"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"fcbf0cb9_f181d334","line":87,"in_reply_to":"73eecbb1_b0c76ec6","updated":"2021-01-13 12:29:51.000000000","message":"Done","commit_id":"420c840581e4290a79c030c00b465dfe7751a16a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e1b78b0f81e14d020fbb28ede9310de9028c1de5","unresolved":true,"context_lines":[{"line_number":132,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[1])"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"class TestFlavorNotificationSamplev2_87("},{"line_number":136,"context_line":"        notification_sample_base.NotificationSampleTestBase):"},{"line_number":137,"context_line":"    \"\"\"Tests PUT /flavors/{flavor_id} with a description.\"\"\""},{"line_number":138,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"a2ec73ab_cfe0ccce","line":135,"updated":"2021-01-04 16:16:30.000000000","message":"you can delete this. The value in the notification only changed due to test environment has different value for tenant that for project, but in reality the value will be the same.,","commit_id":"420c840581e4290a79c030c00b465dfe7751a16a"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"b2802e424baa2c6f079f5b2420daa971f2309de7","unresolved":false,"context_lines":[{"line_number":132,"context_line":"            actual\u003dfake_notifier.VERSIONED_NOTIFICATIONS[1])"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"class TestFlavorNotificationSamplev2_87("},{"line_number":136,"context_line":"        notification_sample_base.NotificationSampleTestBase):"},{"line_number":137,"context_line":"    \"\"\"Tests PUT /flavors/{flavor_id} with a description.\"\"\""},{"line_number":138,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"fe172084_f76062cf","line":135,"in_reply_to":"a2ec73ab_cfe0ccce","updated":"2021-01-13 12:29:51.000000000","message":"Done","commit_id":"420c840581e4290a79c030c00b465dfe7751a16a"}],"nova/tests/unit/api/openstack/compute/test_flavor_access.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8ad235e084469f2a2fa53009cc134ebe680d0c06","unresolved":true,"context_lines":[{"line_number":364,"context_line":"                          req, \u00272\u0027, body\u003dbody)"},{"line_number":365,"context_line":"        mock_verify.assert_called_once_with("},{"line_number":366,"context_line":"            req.environ[\u0027nova.context\u0027], \u0027proj2\u0027)"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"class FlavorAccessTestV290(FlavorAccessTestV21):"},{"line_number":370,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"bee33e15_6eb3c763","line":367,"range":{"start_line":367,"start_character":0,"end_line":367,"end_character":0},"updated":"2021-01-22 22:42:51.000000000","message":"let\u0027s add protection test for immediate previous microversion to make we do not regress.\n\n\nclass FlavorAccessTestV289(FlavorAccessTestV21):\n\n    def setUp(self):\n        super(FlavorAccessTestV289, self).setUp()\n        self.req.api_version_request \u003d api_version.APIVersionRequest(\u00272.89\u0027)","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"6583f1fcec3c83cfef00a2a9d9cb2f2ba793ad8c","unresolved":false,"context_lines":[{"line_number":364,"context_line":"                          req, \u00272\u0027, body\u003dbody)"},{"line_number":365,"context_line":"        mock_verify.assert_called_once_with("},{"line_number":366,"context_line":"            req.environ[\u0027nova.context\u0027], \u0027proj2\u0027)"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"class FlavorAccessTestV290(FlavorAccessTestV21):"},{"line_number":370,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"b00f9ad7_8479fa43","line":367,"range":{"start_line":367,"start_character":0,"end_line":367,"end_character":0},"in_reply_to":"bee33e15_6eb3c763","updated":"2021-02-04 02:00:07.000000000","message":"Done","commit_id":"6ee195433ee799b29805f3509005fada41dac5ba"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"cbf5399120d25b0c4a0c50bf7d6efe24202edb76","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":20,"id":"40aae57d_2211a770","line":505,"updated":"2021-07-01 14:16:06.000000000","message":"fwict, you don\u0027t have a test to assert that the old actions return an error now. Could you add these?","commit_id":"7ec8001372b46394f675827240d8349080555408"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"41f17279b83b6fc8e375bd411f8223b3ab1adf78","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"11f8403b_243d6325","line":505,"in_reply_to":"40aae57d_2211a770","updated":"2021-08-10 00:49:15.000000000","message":"Done","commit_id":"7ec8001372b46394f675827240d8349080555408"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"c8917abeb45663938024bd164d0414f2a4700f24","unresolved":true,"context_lines":[{"line_number":372,"context_line":""},{"line_number":373,"context_line":"    def setUp(self):"},{"line_number":374,"context_line":"        super(FlavorAccessTestV288, self).setUp()"},{"line_number":375,"context_line":"        self.req.api_version_request \u003d api_version.APIVersionRequest(\u00272.88\u0027)"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"class FlavorAccessTestV289(FlavorAccessTestV21):"}],"source_content_type":"text/x-python","patch_set":21,"id":"84b3eb59_dc5e64e3","line":375,"range":{"start_line":375,"start_character":75,"end_line":375,"end_character":76},"updated":"2021-08-11 17:06:00.000000000","message":"let\u0027s add tests here to check new action method are not visible to \u003c2.89, which could detect wring version in api controller.\n\n    def test_new_action_add_project_access_with_old_microversion(self):\n        \"\"\"Tests the case that new action is 404 for older microversion.\"\"\"\n        body \u003d {\u0027addProjectAccess\u0027: {\u0027tenant_id\u0027: \u0027proj2\u0027}}\n        self.assertRaises(exception.VersionNotFoundForAPIMethod,\n                          self.flavor_action_controller.add_project_access,\n                          self.req, \u00272\u0027, body\u003dbody)\n\n    def test_new_action_remove_project_access_with_old_microversion(self):\n        \"\"\"Tests the case that new action is 404 for older microversion.\"\"\"\n        body \u003d {\u0027removeTenantAccess\u0027: {\u0027tenant_id\u0027: \u0027proj2\u0027}}\n        self.assertRaises(exception.VersionNotFoundForAPIMethod,\n                          self.flavor_action_controller.remove_project_access,\n                          self.req, \u00272\u0027, body\u003dbody)","commit_id":"925df73373104f58347b6d7b4cf1152561c34584"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"e1a23969e702db5c4ab42597d0e108e9f80bf695","unresolved":false,"context_lines":[{"line_number":372,"context_line":""},{"line_number":373,"context_line":"    def setUp(self):"},{"line_number":374,"context_line":"        super(FlavorAccessTestV288, self).setUp()"},{"line_number":375,"context_line":"        self.req.api_version_request \u003d api_version.APIVersionRequest(\u00272.88\u0027)"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"class FlavorAccessTestV289(FlavorAccessTestV21):"}],"source_content_type":"text/x-python","patch_set":21,"id":"dbc58e21_a2d85115","line":375,"range":{"start_line":375,"start_character":75,"end_line":375,"end_character":76},"in_reply_to":"84b3eb59_dc5e64e3","updated":"2021-08-16 00:23:55.000000000","message":"Done","commit_id":"925df73373104f58347b6d7b4cf1152561c34584"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"c8917abeb45663938024bd164d0414f2a4700f24","unresolved":true,"context_lines":[{"line_number":444,"context_line":"                          self.flavor_action_controller.add_project_access,"},{"line_number":445,"context_line":"                          req, \u00272\u0027, body\u003dbody)"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":"    def test_add_tenant_access_with_already_added_access(self):"},{"line_number":448,"context_line":"        def stub_add_flavor_access(context, flavorid, projectid):"},{"line_number":449,"context_line":"            raise exception.FlavorAccessExists(flavor_id\u003dflavorid,"},{"line_number":450,"context_line":"                                               project_id\u003dprojectid)"}],"source_content_type":"text/x-python","patch_set":21,"id":"4fdf500e_33c8aefd","line":447,"range":{"start_line":447,"start_character":17,"end_line":447,"end_character":23},"updated":"2021-08-11 17:06:00.000000000","message":"project","commit_id":"925df73373104f58347b6d7b4cf1152561c34584"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"e1a23969e702db5c4ab42597d0e108e9f80bf695","unresolved":false,"context_lines":[{"line_number":444,"context_line":"                          self.flavor_action_controller.add_project_access,"},{"line_number":445,"context_line":"                          req, \u00272\u0027, body\u003dbody)"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":"    def test_add_tenant_access_with_already_added_access(self):"},{"line_number":448,"context_line":"        def stub_add_flavor_access(context, flavorid, projectid):"},{"line_number":449,"context_line":"            raise exception.FlavorAccessExists(flavor_id\u003dflavorid,"},{"line_number":450,"context_line":"                                               project_id\u003dprojectid)"}],"source_content_type":"text/x-python","patch_set":21,"id":"453f0377_72ab1113","line":447,"range":{"start_line":447,"start_character":17,"end_line":447,"end_character":23},"in_reply_to":"4fdf500e_33c8aefd","updated":"2021-08-16 00:23:55.000000000","message":"Done","commit_id":"925df73373104f58347b6d7b4cf1152561c34584"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"c8917abeb45663938024bd164d0414f2a4700f24","unresolved":true,"context_lines":[{"line_number":455,"context_line":"                          self.flavor_action_controller.add_project_access,"},{"line_number":456,"context_line":"                          self.req, \u00273\u0027, body\u003dbody)"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"    def test_remove_tenant_access_with_bad_access(self):"},{"line_number":459,"context_line":"        def stub_remove_flavor_access(context, flavorid, projectid):"},{"line_number":460,"context_line":"            raise exception.FlavorAccessNotFound(flavor_id\u003dflavorid,"},{"line_number":461,"context_line":"                                                 project_id\u003dprojectid)"}],"source_content_type":"text/x-python","patch_set":21,"id":"e70c0bd8_90311088","line":458,"range":{"start_line":458,"start_character":20,"end_line":458,"end_character":26},"updated":"2021-08-11 17:06:00.000000000","message":"project","commit_id":"925df73373104f58347b6d7b4cf1152561c34584"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"e1a23969e702db5c4ab42597d0e108e9f80bf695","unresolved":false,"context_lines":[{"line_number":455,"context_line":"                          self.flavor_action_controller.add_project_access,"},{"line_number":456,"context_line":"                          self.req, \u00273\u0027, body\u003dbody)"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"    def test_remove_tenant_access_with_bad_access(self):"},{"line_number":459,"context_line":"        def stub_remove_flavor_access(context, flavorid, projectid):"},{"line_number":460,"context_line":"            raise exception.FlavorAccessNotFound(flavor_id\u003dflavorid,"},{"line_number":461,"context_line":"                                                 project_id\u003dprojectid)"}],"source_content_type":"text/x-python","patch_set":21,"id":"4552494c_1adb65d3","line":458,"range":{"start_line":458,"start_character":20,"end_line":458,"end_character":26},"in_reply_to":"e70c0bd8_90311088","updated":"2021-08-16 00:23:55.000000000","message":"Done","commit_id":"925df73373104f58347b6d7b4cf1152561c34584"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"c8917abeb45663938024bd164d0414f2a4700f24","unresolved":true,"context_lines":[{"line_number":528,"context_line":"        body \u003d {\u0027removeTenantAccess\u0027: {\u0027tenant_id\u0027: \u0027proj2\u0027}}"},{"line_number":529,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":530,"context_line":"                          self.flavor_action_controller.remove_project_access,"},{"line_number":531,"context_line":"                          req, \u00272\u0027, body\u003dbody)"}],"source_content_type":"text/x-python","patch_set":21,"id":"a8775fcc_1ea4ba68","line":531,"range":{"start_line":531,"start_character":45,"end_line":531,"end_character":46},"updated":"2021-08-11 17:06:00.000000000","message":"and here to check old action are 404 for new microversion\n\n    def test_old_action_add_tenant_access_with_new_microversion(self):\n        \"\"\"Tests the case that new action is 404 for older microversion.\"\"\"\n        body \u003d {\u0027addTenantAccess\u0027: {\u0027tenant_id\u0027: \u0027proj2\u0027}}\n        self.assertRaises(exception.VersionNotFoundForAPIMethod,\n                          self.flavor_action_controller.add_tenant_access,\n                          self.req, \u00272\u0027, body\u003dbody)\n\n    def test_old_action_remove_tenant_access_with_new_microversion(self):\n        \"\"\"Tests the case that new action is 404 for older microversion.\"\"\"\n        body \u003d {\u0027removeTenantAccess\u0027: {\u0027tenant_id\u0027: \u0027proj2\u0027}}\n        self.assertRaises(exception.VersionNotFoundForAPIMethod,\n                          self.flavor_action_controller.remove_tenant_access,\n                          self.req, \u00272\u0027, body\u003dbody)","commit_id":"925df73373104f58347b6d7b4cf1152561c34584"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"e1a23969e702db5c4ab42597d0e108e9f80bf695","unresolved":false,"context_lines":[{"line_number":528,"context_line":"        body \u003d {\u0027removeTenantAccess\u0027: {\u0027tenant_id\u0027: \u0027proj2\u0027}}"},{"line_number":529,"context_line":"        self.assertRaises(exception.ValidationError,"},{"line_number":530,"context_line":"                          self.flavor_action_controller.remove_project_access,"},{"line_number":531,"context_line":"                          req, \u00272\u0027, body\u003dbody)"}],"source_content_type":"text/x-python","patch_set":21,"id":"ac4ffbd3_1a702c7d","line":531,"range":{"start_line":531,"start_character":45,"end_line":531,"end_character":46},"in_reply_to":"a8775fcc_1ea4ba68","updated":"2021-08-16 00:23:55.000000000","message":"Done","commit_id":"925df73373104f58347b6d7b4cf1152561c34584"}],"nova/tests/unit/policies/test_flavor_access.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"cbf5399120d25b0c4a0c50bf7d6efe24202edb76","unresolved":true,"context_lines":[{"line_number":87,"context_line":"                                 self.req, \u00271\u0027)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    @mock.patch(\u0027nova.objects.Flavor.add_access\u0027)"},{"line_number":90,"context_line":"    def test_add_tenant_access_policy(self, mock_add):"},{"line_number":91,"context_line":"        rule_name \u003d fa_policy.POLICY_ROOT % \"add_tenant_access\""},{"line_number":92,"context_line":"        self.common_policy_check(self.admin_authorized_contexts,"},{"line_number":93,"context_line":"                                 self.admin_unauthorized_contexts,"}],"source_content_type":"text/x-python","patch_set":20,"id":"06d1de96_fcd0a4a6","line":90,"range":{"start_line":90,"start_character":17,"end_line":90,"end_character":23},"updated":"2021-07-01 14:16:06.000000000","message":"project","commit_id":"7ec8001372b46394f675827240d8349080555408"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"41f17279b83b6fc8e375bd411f8223b3ab1adf78","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                                 self.req, \u00271\u0027)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    @mock.patch(\u0027nova.objects.Flavor.add_access\u0027)"},{"line_number":90,"context_line":"    def test_add_tenant_access_policy(self, mock_add):"},{"line_number":91,"context_line":"        rule_name \u003d fa_policy.POLICY_ROOT % \"add_tenant_access\""},{"line_number":92,"context_line":"        self.common_policy_check(self.admin_authorized_contexts,"},{"line_number":93,"context_line":"                                 self.admin_unauthorized_contexts,"}],"source_content_type":"text/x-python","patch_set":20,"id":"68b06e96_ba66d96b","line":90,"range":{"start_line":90,"start_character":17,"end_line":90,"end_character":23},"in_reply_to":"06d1de96_fcd0a4a6","updated":"2021-08-10 00:49:15.000000000","message":"Done","commit_id":"7ec8001372b46394f675827240d8349080555408"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"cbf5399120d25b0c4a0c50bf7d6efe24202edb76","unresolved":true,"context_lines":[{"line_number":97,"context_line":"                                 body\u003d{\u0027addTenantAccess\u0027: {\u0027tenant\u0027: \u0027t1\u0027}})"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    @mock.patch(\u0027nova.objects.Flavor.remove_access\u0027)"},{"line_number":100,"context_line":"    def test_remove_tenant_access_policy(self, mock_remove):"},{"line_number":101,"context_line":"        rule_name \u003d fa_policy.POLICY_ROOT % \"remove_tenant_access\""},{"line_number":102,"context_line":"        self.common_policy_check(self.admin_authorized_contexts,"},{"line_number":103,"context_line":"                                 self.admin_unauthorized_contexts,"}],"source_content_type":"text/x-python","patch_set":20,"id":"9656dd88_9ad7db3c","line":100,"range":{"start_line":100,"start_character":20,"end_line":100,"end_character":26},"updated":"2021-07-01 14:16:06.000000000","message":"project","commit_id":"7ec8001372b46394f675827240d8349080555408"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"41f17279b83b6fc8e375bd411f8223b3ab1adf78","unresolved":false,"context_lines":[{"line_number":97,"context_line":"                                 body\u003d{\u0027addTenantAccess\u0027: {\u0027tenant\u0027: \u0027t1\u0027}})"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    @mock.patch(\u0027nova.objects.Flavor.remove_access\u0027)"},{"line_number":100,"context_line":"    def test_remove_tenant_access_policy(self, mock_remove):"},{"line_number":101,"context_line":"        rule_name \u003d fa_policy.POLICY_ROOT % \"remove_tenant_access\""},{"line_number":102,"context_line":"        self.common_policy_check(self.admin_authorized_contexts,"},{"line_number":103,"context_line":"                                 self.admin_unauthorized_contexts,"}],"source_content_type":"text/x-python","patch_set":20,"id":"a438e0bd_50cb1173","line":100,"range":{"start_line":100,"start_character":20,"end_line":100,"end_character":26},"in_reply_to":"9656dd88_9ad7db3c","updated":"2021-08-10 00:49:15.000000000","message":"Done","commit_id":"7ec8001372b46394f675827240d8349080555408"}],"releasenotes/notes/bp-remove-tenant-id-dd0193d587a00d30.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"cbf5399120d25b0c4a0c50bf7d6efe24202edb76","unresolved":true,"context_lines":[{"line_number":15,"context_line":"      - ``POST /servers/{server_id}/action (rebuild)``."},{"line_number":16,"context_line":"      - ``GET /servers/{server_id}/os-security-groups``"},{"line_number":17,"context_line":"      - ``GET /flavors/{flavor_id}/os-flavor-access``"},{"line_number":18,"context_line":"    Renaming below API name:"},{"line_number":19,"context_line":"      - ``POST /flavors/{flavor_id}/action (addTenantAccess to addProjectAccess Action)``"},{"line_number":20,"context_line":"      - ``POST /flavors/{flavor_id}/action (removeTenantAccess  to removeProjectAccess Action)``"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"0a1fb7be_0e008a12","line":18,"updated":"2021-07-01 14:16:06.000000000","message":"need a newline before and after this, as above","commit_id":"7ec8001372b46394f675827240d8349080555408"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"41f17279b83b6fc8e375bd411f8223b3ab1adf78","unresolved":false,"context_lines":[{"line_number":15,"context_line":"      - ``POST /servers/{server_id}/action (rebuild)``."},{"line_number":16,"context_line":"      - ``GET /servers/{server_id}/os-security-groups``"},{"line_number":17,"context_line":"      - ``GET /flavors/{flavor_id}/os-flavor-access``"},{"line_number":18,"context_line":"    Renaming below API name:"},{"line_number":19,"context_line":"      - ``POST /flavors/{flavor_id}/action (addTenantAccess to addProjectAccess Action)``"},{"line_number":20,"context_line":"      - ``POST /flavors/{flavor_id}/action (removeTenantAccess  to removeProjectAccess Action)``"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"acc21548_2bec498a","line":18,"in_reply_to":"0a1fb7be_0e008a12","updated":"2021-08-10 00:49:15.000000000","message":"Done","commit_id":"7ec8001372b46394f675827240d8349080555408"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"cbf5399120d25b0c4a0c50bf7d6efe24202edb76","unresolved":true,"context_lines":[{"line_number":16,"context_line":"      - ``GET /servers/{server_id}/os-security-groups``"},{"line_number":17,"context_line":"      - ``GET /flavors/{flavor_id}/os-flavor-access``"},{"line_number":18,"context_line":"    Renaming below API name:"},{"line_number":19,"context_line":"      - ``POST /flavors/{flavor_id}/action (addTenantAccess to addProjectAccess Action)``"},{"line_number":20,"context_line":"      - ``POST /flavors/{flavor_id}/action (removeTenantAccess  to removeProjectAccess Action)``"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"24deb08c_7ab3a1e6","line":19,"updated":"2021-07-01 14:16:06.000000000","message":"nit:\n\n  - ``POST /flavors/{flavor_id}/action (addTenantAccess)`` (to ``addProjectAccess`` action)\n  - ``POST /flavors/{flavor_id}/action (removeTenantAccess)`` (to ``removeProjectAccess`` action)","commit_id":"7ec8001372b46394f675827240d8349080555408"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"41f17279b83b6fc8e375bd411f8223b3ab1adf78","unresolved":false,"context_lines":[{"line_number":16,"context_line":"      - ``GET /servers/{server_id}/os-security-groups``"},{"line_number":17,"context_line":"      - ``GET /flavors/{flavor_id}/os-flavor-access``"},{"line_number":18,"context_line":"    Renaming below API name:"},{"line_number":19,"context_line":"      - ``POST /flavors/{flavor_id}/action (addTenantAccess to addProjectAccess Action)``"},{"line_number":20,"context_line":"      - ``POST /flavors/{flavor_id}/action (removeTenantAccess  to removeProjectAccess Action)``"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"84b5d0fa_adfde86e","line":19,"in_reply_to":"24deb08c_7ab3a1e6","updated":"2021-08-10 00:49:15.000000000","message":"Done","commit_id":"7ec8001372b46394f675827240d8349080555408"}]}
