)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"cc330f41f3d5cb6cc022683b5b74a5a873b8928f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"933f28b1_00b58da0","updated":"2022-02-21 00:53:28.000000000","message":"My comment looks specific to ths backport, so -1.","commit_id":"380ef8eb99efa506ec2a095172959383c83f7b8f"},{"author":{"_account_id":10366,"name":"Hemanth N","email":"hemanth.nakkina@canonical.com","username":"Hemanth"},"change_message_id":"c83c64324e62b2c49575f42d3d2fec8273dd4a62","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"80a2695c_095731b1","updated":"2022-02-17 09:58:45.000000000","message":"Thanks for the backport Thomas.\n\nIt will be great if you can add a note about the Conflicts in the commit message.","commit_id":"380ef8eb99efa506ec2a095172959383c83f7b8f"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"4a9766ffe0ee462a40cc5e730bcfb3d9eb6fbc01","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3af51589_4b566753","updated":"2022-02-21 16:06:55.000000000","message":"As you may already see, I commented which branches are broken in #7 in bug 1940834.\nThe breakage is apparent due to the incompatible responses among nova API versions.\nHorizon stable branches must fix this.","commit_id":"0c741d541a08893b81f1567058d86501148ed405"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"fcfdc5a63e608fb8e0cdfbce4235ced886eed806","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"70ae1161_0ea07656","updated":"2022-02-21 15:51:29.000000000","message":"Hi Akihiro,\n\nAs you saw, I did what you asked, and this broke the patch... Should I revert?","commit_id":"0c741d541a08893b81f1567058d86501148ed405"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"fcb1795eefc5943e22931a8fb69eadc6300723d4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"8a3bd7d3_82ac77da","in_reply_to":"70ae1161_0ea07656","updated":"2022-02-21 16:03:53.000000000","message":"I don\u0027t think so. This backport is really valid and we need this.\nIf the reason of the failure is not identified, I can look into it tomorrow.","commit_id":"0c741d541a08893b81f1567058d86501148ed405"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"022624b3b35f82bd0042cc718de6063b28b28766","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d6829711_93b6693f","in_reply_to":"8a3bd7d3_82ac77da","updated":"2022-02-22 05:10:05.000000000","message":"I commented just because the mock return_value and assertion are dropped but the mock itself still remains. They should match. If the mock is required, the return_value and the assertion should be done. If it is not required, the mock itself should be dropped together. I don\u0027t necessarily say we must drop it.\n\nI checked what happens. In Xena, SetAdvancedAction is shared in the resize form and the launch instance form (Django version), but in Yoga it is specific to the resize form (as the Django launch instance form was dropped). This backport needs to care the difference.\n\nThis is not surprising when backporting fixes.","commit_id":"0c741d541a08893b81f1567058d86501148ed405"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"8af441596e03a3b58a0421ba1e40d16c56b18830","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"704babda_5f6e4946","updated":"2022-03-01 00:20:03.000000000","message":"I am okay to merge this, but please note that this backport fixes the resize server form but introduces an extra flavor_get API call. The extra flavor_get API call will be cleanup again in https://review.opendev.org/c/openstack/horizon/+/830630 in the master branch. I am not sure you want to backport it too though.","commit_id":"cf5978692d729ad5a7e2ccb65ae8f6be2e23f190"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"41c5688ab3e4d2bb911b0d4cf7b0f0f2d7ef2ed7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"c4f1ff33_d538063c","in_reply_to":"704babda_5f6e4946","updated":"2022-03-08 11:59:26.000000000","message":"squashed backport of https://review.opendev.org/c/openstack/horizon/+/830630 in this patch as discussed in the weekly meeting.","commit_id":"cf5978692d729ad5a7e2ccb65ae8f6be2e23f190"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0a0ca747a24e1fe8e47c52a942fe14e1e2e69236","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"e0024459_f1fcb46a","updated":"2022-03-08 18:30:12.000000000","message":"Vishal, thanks for squashing the follow-up commit.","commit_id":"4f4e8800904dc98a696c5aebe3ffcc947e2deabc"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"97c86ad8e4e0639d76f3f3984b2ef14caa431e0c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"e4988010_fb015c1c","updated":"2022-03-08 13:58:58.000000000","message":"recheck","commit_id":"4f4e8800904dc98a696c5aebe3ffcc947e2deabc"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"b32acd8c502f8a09155afa2eba88268f7192f372","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"1a0bf5bc_b57d3c62","updated":"2022-03-08 16:34:00.000000000","message":"recheck, random failure.","commit_id":"4f4e8800904dc98a696c5aebe3ffcc947e2deabc"}],"openstack_dashboard/dashboards/project/instances/tests.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"cc330f41f3d5cb6cc022683b5b74a5a873b8928f","unresolved":true,"context_lines":[{"line_number":4163,"context_line":""},{"line_number":4164,"context_line":"    @helpers.create_mocks({api.nova: (\u0027server_get\u0027,"},{"line_number":4165,"context_line":"                                      \u0027flavor_list\u0027,"},{"line_number":4166,"context_line":"                                      \u0027server_group_list\u0027,"},{"line_number":4167,"context_line":"                                      \u0027tenant_absolute_limits\u0027,"},{"line_number":4168,"context_line":"                                      \u0027is_feature_available\u0027,"},{"line_number":4169,"context_line":"                                      \u0027flavor_get\u0027)})"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fc52d17_e85cdb1e","line":4166,"range":{"start_line":4166,"start_character":38,"end_line":4166,"end_character":58},"updated":"2022-02-21 00:53:28.000000000","message":"This is not used. I think it is specific to this backport. If it is unnecessary, this should be dropped. Otherwise, the mocked method must be asserted.","commit_id":"380ef8eb99efa506ec2a095172959383c83f7b8f"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"cc4abec31cc18c51b1b8826ab11447b098f37b53","unresolved":false,"context_lines":[{"line_number":4163,"context_line":""},{"line_number":4164,"context_line":"    @helpers.create_mocks({api.nova: (\u0027server_get\u0027,"},{"line_number":4165,"context_line":"                                      \u0027flavor_list\u0027,"},{"line_number":4166,"context_line":"                                      \u0027server_group_list\u0027,"},{"line_number":4167,"context_line":"                                      \u0027tenant_absolute_limits\u0027,"},{"line_number":4168,"context_line":"                                      \u0027is_feature_available\u0027,"},{"line_number":4169,"context_line":"                                      \u0027flavor_get\u0027)})"}],"source_content_type":"text/x-python","patch_set":1,"id":"99b6670b_d546490f","line":4166,"range":{"start_line":4166,"start_character":38,"end_line":4166,"end_character":58},"in_reply_to":"9fc52d17_e85cdb1e","updated":"2022-02-21 13:56:57.000000000","message":"Done","commit_id":"380ef8eb99efa506ec2a095172959383c83f7b8f"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"a3aca81fb24b98e8ffaf4b49e82088940ee5b34f","unresolved":true,"context_lines":[{"line_number":4202,"context_line":"            if nova_api_lt_2_47:"},{"line_number":4203,"context_line":"                return flavor.id \u003d\u003d server.flavor[\u0027id\u0027]"},{"line_number":4204,"context_line":"            else:"},{"line_number":4205,"context_line":"                return flavor.name \u003d\u003d server.flavor[\u0027original_name\u0027]"},{"line_number":4206,"context_line":"        for flavor in self.flavors.list():"},{"line_number":4207,"context_line":"            if is_original_flavor(server, flavor, nova_api_lt_2_47):"},{"line_number":4208,"context_line":"                self.assertNotContains(res, option % (flavor.id, flavor.name))"}],"source_content_type":"text/x-python","patch_set":3,"id":"7e046701_ca025874","line":4205,"updated":"2022-02-22 05:36:58.000000000","message":"nit: it is better to have a blank line. The original commit in the master has a blank line. There is no reason to drop it only in a backport.","commit_id":"9b7ed9a69ac77d8a42a2313ac0be160471fee357"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"4d92158a7ea5bfa48dccaa47cee1ef6ced3a9221","unresolved":false,"context_lines":[{"line_number":4202,"context_line":"            if nova_api_lt_2_47:"},{"line_number":4203,"context_line":"                return flavor.id \u003d\u003d server.flavor[\u0027id\u0027]"},{"line_number":4204,"context_line":"            else:"},{"line_number":4205,"context_line":"                return flavor.name \u003d\u003d server.flavor[\u0027original_name\u0027]"},{"line_number":4206,"context_line":"        for flavor in self.flavors.list():"},{"line_number":4207,"context_line":"            if is_original_flavor(server, flavor, nova_api_lt_2_47):"},{"line_number":4208,"context_line":"                self.assertNotContains(res, option % (flavor.id, flavor.name))"}],"source_content_type":"text/x-python","patch_set":3,"id":"52819323_66fd3d46","line":4205,"in_reply_to":"7e046701_ca025874","updated":"2022-02-22 05:50:31.000000000","message":"Done","commit_id":"9b7ed9a69ac77d8a42a2313ac0be160471fee357"}]}
