)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"88c75825384d52065a894218c74dfed6e2f19a89","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"847bbe20_0315d0d1","updated":"2021-11-02 09:57:35.000000000","message":"Unit tests need to be fixed yet.","commit_id":"5f3c9c0fc76e95fa04582edf743df685eebb66f9"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"c392961ed97ba7c965db0188c48fad2b40b7d672","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"88ce9073_82f714d1","updated":"2021-11-15 15:52:36.000000000","message":"recheck","commit_id":"e9b3df049d393b7de39c4c224e34bad3c5fec6e0"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"229b3752541471fb63a73805fe615b212854e1e3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a1a3b873_b5d21ea0","updated":"2021-11-09 13:34:16.000000000","message":"recheck","commit_id":"e9b3df049d393b7de39c4c224e34bad3c5fec6e0"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"eb5d5d104b9bb0c967400e3a5b435babeef1c382","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3bb2ad89_93d37da7","updated":"2021-11-10 05:29:11.000000000","message":"recheck.","commit_id":"e9b3df049d393b7de39c4c224e34bad3c5fec6e0"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"a0512c8a9a53e0cb7eb9fb59f5b4aff3bfc5dcfe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c90a349f_f3dcfa2e","updated":"2021-12-07 19:17:01.000000000","message":"Thanks for the review.","commit_id":"35a47d26d1aa7d1dfc8570b46b19fbc8398d829e"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"2fd7c1633358c2e92f2de7e1deb8f0160bf73094","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"984c7f40_866890e9","updated":"2022-01-17 06:09:26.000000000","message":"Can I have 2nd review on this patch.","commit_id":"e539672c722076ff2a03bc1944cb1453a6ad481a"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"59e63f3cd4d1f5f7590f026c7dd0a7118edb7a94","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"4a267974_fc7f438e","updated":"2022-01-25 10:20:24.000000000","message":"All these comments are fixed by https://review.opendev.org/c/openstack/horizon/+/826262","commit_id":"6ac31e0ba8df520133d20d21e35085d9b882c04e"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"3cc082b0d00cb3863f157467e82b4d8830cac3da","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"56fd7f76_b74d4af3","updated":"2022-01-25 10:18:42.000000000","message":"My comments are not critical and Vishal promised that he will address them as a follow-up, so I am approving it.","commit_id":"6ac31e0ba8df520133d20d21e35085d9b882c04e"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"6d5ae9e8da814b4f3f2bcdad43c3f9e99cd873cf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"75cf4a01_b47f23ca","updated":"2022-01-24 12:49:20.000000000","message":"Thanks for addressing my comments","commit_id":"6ac31e0ba8df520133d20d21e35085d9b882c04e"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"1aff0552b4725169e077e24039d2af316e45faf5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"ae9c875e_1093c31d","updated":"2022-01-25 12:38:20.000000000","message":"recheck","commit_id":"6ac31e0ba8df520133d20d21e35085d9b882c04e"}],"openstack_dashboard/dashboards/project/images/images/tables.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0d1803f95baa768cbd4d6d02d4fd75d685b3c2c5","unresolved":true,"context_lines":[{"line_number":350,"context_line":"        if settings.LAUNCH_INSTANCE_LEGACY_ENABLED:"},{"line_number":351,"context_line":"            launch_actions \u003d (LaunchImage,) + launch_actions"},{"line_number":352,"context_line":"        if settings.LAUNCH_INSTANCE_NG_ENABLED:"},{"line_number":353,"context_line":"            launch_actions \u003d (LaunchImageNG,) + launch_actions"},{"line_number":354,"context_line":"        row_actions \u003d launch_actions + (CreateVolumeFromImage,"},{"line_number":355,"context_line":"                                        EditImage, UpdateMetadata,"},{"line_number":356,"context_line":"                                        DeleteImage,)"}],"source_content_type":"text/x-python","patch_set":4,"id":"8048c94f_aff5c3f0","side":"PARENT","line":353,"updated":"2021-12-07 16:10:47.000000000","message":"LAUNCH_INSTANCE_LEGACY_ENABLED and LAUNCH_INSTANCE_LEGACY_NG settings are no longer in effect. Can we drop them from the configuration guide?","commit_id":"9d1bb3626bc1dbcf29a55aeb094f4350067317cd"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"a0512c8a9a53e0cb7eb9fb59f5b4aff3bfc5dcfe","unresolved":false,"context_lines":[{"line_number":350,"context_line":"        if settings.LAUNCH_INSTANCE_LEGACY_ENABLED:"},{"line_number":351,"context_line":"            launch_actions \u003d (LaunchImage,) + launch_actions"},{"line_number":352,"context_line":"        if settings.LAUNCH_INSTANCE_NG_ENABLED:"},{"line_number":353,"context_line":"            launch_actions \u003d (LaunchImageNG,) + launch_actions"},{"line_number":354,"context_line":"        row_actions \u003d launch_actions + (CreateVolumeFromImage,"},{"line_number":355,"context_line":"                                        EditImage, UpdateMetadata,"},{"line_number":356,"context_line":"                                        DeleteImage,)"}],"source_content_type":"text/x-python","patch_set":4,"id":"986af935_fe1ef6e2","side":"PARENT","line":353,"in_reply_to":"8048c94f_aff5c3f0","updated":"2021-12-07 19:17:01.000000000","message":"Done.","commit_id":"9d1bb3626bc1dbcf29a55aeb094f4350067317cd"}],"openstack_dashboard/dashboards/project/instances/tables.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0d1803f95baa768cbd4d6d02d4fd75d685b3c2c5","unresolved":true,"context_lines":[{"line_number":412,"context_line":"            self.current_past_action \u003d SHELVE"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":""},{"line_number":415,"context_line":"class LaunchLinkNG(tables.LinkAction):"},{"line_number":416,"context_line":"    name \u003d \"launch-ng\""},{"line_number":417,"context_line":"    verbose_name \u003d _(\"Launch Instance\")"},{"line_number":418,"context_line":"    url \u003d \"horizon:project:instances:index\""}],"source_content_type":"text/x-python","patch_set":4,"id":"04eca78b_81a9b2d9","line":415,"updated":"2021-12-07 16:10:47.000000000","message":"question for double check:\nThe new LaunchLinkNG class does not includes the methods: __init__, allowed and single. Are they completely unnecessary?","commit_id":"e9b3df049d393b7de39c4c224e34bad3c5fec6e0"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"a0512c8a9a53e0cb7eb9fb59f5b4aff3bfc5dcfe","unresolved":false,"context_lines":[{"line_number":412,"context_line":"            self.current_past_action \u003d SHELVE"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":""},{"line_number":415,"context_line":"class LaunchLinkNG(tables.LinkAction):"},{"line_number":416,"context_line":"    name \u003d \"launch-ng\""},{"line_number":417,"context_line":"    verbose_name \u003d _(\"Launch Instance\")"},{"line_number":418,"context_line":"    url \u003d \"horizon:project:instances:index\""}],"source_content_type":"text/x-python","patch_set":4,"id":"b2d09893_bcfb50e7","line":415,"in_reply_to":"04eca78b_81a9b2d9","updated":"2021-12-07 19:17:01.000000000","message":"my bad:(\nadded all these methods for LaunchLinkNG class.","commit_id":"e9b3df049d393b7de39c4c224e34bad3c5fec6e0"}],"openstack_dashboard/dashboards/project/instances/templates/instances/_launch_customize_help.html":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"5f5f62a96dc5fd008dfa7fc226e4b08416d17d6d","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":9,"id":"c3006c3e_87ce7502","side":"PARENT","updated":"2022-01-25 09:22:10.000000000","message":"Looking at create_instance.py, there are several templates which are no longer used. It does not make sense to me to drop this template file only. Could you drop all unused template files?","commit_id":"9d1bb3626bc1dbcf29a55aeb094f4350067317cd"}],"openstack_dashboard/dashboards/project/instances/tests.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0d1803f95baa768cbd4d6d02d4fd75d685b3c2c5","unresolved":true,"context_lines":[{"line_number":4808,"context_line":"        self.mock_servers_update_addresses.assert_called_once_with("},{"line_number":4809,"context_line":"            helpers.IsHttpRequest(), [server])"},{"line_number":4810,"context_line":"        self.mock_tenant_absolute_limits.assert_called_once_with("},{"line_number":4811,"context_line":"            helpers.IsHttpRequest(), reserved\u003dTrue)"},{"line_number":4812,"context_line":""},{"line_number":4813,"context_line":"    @helpers.create_mocks({api.nova: (\"server_get\","},{"line_number":4814,"context_line":"                                      \"flavor_get\","}],"source_content_type":"text/x-python","patch_set":4,"id":"dc0f3e13_c186bfa8","side":"PARENT","line":4811,"updated":"2021-12-07 16:10:47.000000000","message":"Could you drop the mock itself too?","commit_id":"9d1bb3626bc1dbcf29a55aeb094f4350067317cd"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"33b5c4f721c20fb47ad6a691fe9b95747426f387","unresolved":false,"context_lines":[{"line_number":4808,"context_line":"        self.mock_servers_update_addresses.assert_called_once_with("},{"line_number":4809,"context_line":"            helpers.IsHttpRequest(), [server])"},{"line_number":4810,"context_line":"        self.mock_tenant_absolute_limits.assert_called_once_with("},{"line_number":4811,"context_line":"            helpers.IsHttpRequest(), reserved\u003dTrue)"},{"line_number":4812,"context_line":""},{"line_number":4813,"context_line":"    @helpers.create_mocks({api.nova: (\"server_get\","},{"line_number":4814,"context_line":"                                      \"flavor_get\","}],"source_content_type":"text/x-python","patch_set":4,"id":"210e49c2_65d37502","side":"PARENT","line":4811,"in_reply_to":"dc0f3e13_c186bfa8","updated":"2021-12-08 05:05:55.000000000","message":"Done.","commit_id":"9d1bb3626bc1dbcf29a55aeb094f4350067317cd"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0d1803f95baa768cbd4d6d02d4fd75d685b3c2c5","unresolved":true,"context_lines":[{"line_number":231,"context_line":"                helpers.IsHttpRequest(), servers)"},{"line_number":232,"context_line":"        else:"},{"line_number":233,"context_line":"            self.assertEqual(0, self.mock_servers_update_addresses.call_count)"},{"line_number":234,"context_line":"        self.assert_mock_multiple_calls_with_same_arguments("},{"line_number":235,"context_line":"            self.mock_tenant_absolute_limits, 0,"},{"line_number":236,"context_line":"            mock.call(helpers.IsHttpRequest(), reserved\u003dTrue))"},{"line_number":237,"context_line":"        if expected_fip_supported_count is None:"},{"line_number":238,"context_line":"            expected_fip_supported_count \u003d 8"},{"line_number":239,"context_line":"        self.assert_mock_multiple_calls_with_same_arguments("}],"source_content_type":"text/x-python","patch_set":4,"id":"6de1871e_340adbae","line":236,"range":{"start_line":234,"start_character":8,"end_line":236,"end_character":62},"updated":"2021-12-07 16:10:47.000000000","message":"Do you mean the mocked method is NOT called?\nIf so, such method should not be mocked.\n\nUsing 0 is too ad-hoc. Let\u0027s follow the testing convention.","commit_id":"e9b3df049d393b7de39c4c224e34bad3c5fec6e0"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"a0512c8a9a53e0cb7eb9fb59f5b4aff3bfc5dcfe","unresolved":false,"context_lines":[{"line_number":231,"context_line":"                helpers.IsHttpRequest(), servers)"},{"line_number":232,"context_line":"        else:"},{"line_number":233,"context_line":"            self.assertEqual(0, self.mock_servers_update_addresses.call_count)"},{"line_number":234,"context_line":"        self.assert_mock_multiple_calls_with_same_arguments("},{"line_number":235,"context_line":"            self.mock_tenant_absolute_limits, 0,"},{"line_number":236,"context_line":"            mock.call(helpers.IsHttpRequest(), reserved\u003dTrue))"},{"line_number":237,"context_line":"        if expected_fip_supported_count is None:"},{"line_number":238,"context_line":"            expected_fip_supported_count \u003d 8"},{"line_number":239,"context_line":"        self.assert_mock_multiple_calls_with_same_arguments("}],"source_content_type":"text/x-python","patch_set":4,"id":"ead691fd_10224c11","line":236,"range":{"start_line":234,"start_character":8,"end_line":236,"end_character":62},"in_reply_to":"6de1871e_340adbae","updated":"2021-12-07 19:17:01.000000000","message":"Ack","commit_id":"e9b3df049d393b7de39c4c224e34bad3c5fec6e0"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0d1803f95baa768cbd4d6d02d4fd75d685b3c2c5","unresolved":true,"context_lines":[{"line_number":293,"context_line":"            helpers.IsHttpRequest(),"},{"line_number":294,"context_line":"            sort_dir\u003d\u0027desc\u0027,"},{"line_number":295,"context_line":"            search_opts\u003dsearch_opts)"},{"line_number":296,"context_line":"        self.assert_mock_multiple_calls_with_same_arguments("},{"line_number":297,"context_line":"            self.mock_tenant_absolute_limits, 0,"},{"line_number":298,"context_line":"            mock.call(helpers.IsHttpRequest(), reserved\u003dTrue))"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"    @helpers.create_mocks({"},{"line_number":301,"context_line":"        api.nova: (\u0027flavor_list\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"a8e8ad0e_7e9cef98","line":298,"range":{"start_line":296,"start_character":8,"end_line":298,"end_character":62},"updated":"2021-12-07 16:10:47.000000000","message":"ditto","commit_id":"e9b3df049d393b7de39c4c224e34bad3c5fec6e0"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"a0512c8a9a53e0cb7eb9fb59f5b4aff3bfc5dcfe","unresolved":false,"context_lines":[{"line_number":293,"context_line":"            helpers.IsHttpRequest(),"},{"line_number":294,"context_line":"            sort_dir\u003d\u0027desc\u0027,"},{"line_number":295,"context_line":"            search_opts\u003dsearch_opts)"},{"line_number":296,"context_line":"        self.assert_mock_multiple_calls_with_same_arguments("},{"line_number":297,"context_line":"            self.mock_tenant_absolute_limits, 0,"},{"line_number":298,"context_line":"            mock.call(helpers.IsHttpRequest(), reserved\u003dTrue))"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"    @helpers.create_mocks({"},{"line_number":301,"context_line":"        api.nova: (\u0027flavor_list\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"c308d7d9_a6df8502","line":298,"range":{"start_line":296,"start_character":8,"end_line":298,"end_character":62},"in_reply_to":"a8e8ad0e_7e9cef98","updated":"2021-12-07 19:17:01.000000000","message":"Done.","commit_id":"e9b3df049d393b7de39c4c224e34bad3c5fec6e0"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0d1803f95baa768cbd4d6d02d4fd75d685b3c2c5","unresolved":true,"context_lines":[{"line_number":342,"context_line":"        self.mock_flavor_list.assert_called_once_with(helpers.IsHttpRequest())"},{"line_number":343,"context_line":"        self._assert_mock_image_list_detailed_calls()"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        self.assert_mock_multiple_calls_with_same_arguments("},{"line_number":346,"context_line":"            self.mock_tenant_absolute_limits, 0,"},{"line_number":347,"context_line":"            mock.call(helpers.IsHttpRequest(), reserved\u003dTrue))"},{"line_number":348,"context_line":"        self.assert_mock_multiple_calls_with_same_arguments("},{"line_number":349,"context_line":"            self.mock_floating_ip_supported, 10,"},{"line_number":350,"context_line":"            mock.call(helpers.IsHttpRequest()))"}],"source_content_type":"text/x-python","patch_set":4,"id":"d256bfff_6eeadc50","line":347,"range":{"start_line":345,"start_character":8,"end_line":347,"end_character":62},"updated":"2021-12-07 16:10:47.000000000","message":"ditto","commit_id":"e9b3df049d393b7de39c4c224e34bad3c5fec6e0"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"a0512c8a9a53e0cb7eb9fb59f5b4aff3bfc5dcfe","unresolved":false,"context_lines":[{"line_number":342,"context_line":"        self.mock_flavor_list.assert_called_once_with(helpers.IsHttpRequest())"},{"line_number":343,"context_line":"        self._assert_mock_image_list_detailed_calls()"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        self.assert_mock_multiple_calls_with_same_arguments("},{"line_number":346,"context_line":"            self.mock_tenant_absolute_limits, 0,"},{"line_number":347,"context_line":"            mock.call(helpers.IsHttpRequest(), reserved\u003dTrue))"},{"line_number":348,"context_line":"        self.assert_mock_multiple_calls_with_same_arguments("},{"line_number":349,"context_line":"            self.mock_floating_ip_supported, 10,"},{"line_number":350,"context_line":"            mock.call(helpers.IsHttpRequest()))"}],"source_content_type":"text/x-python","patch_set":4,"id":"1b1aeed9_85bae33d","line":347,"range":{"start_line":345,"start_character":8,"end_line":347,"end_character":62},"in_reply_to":"d256bfff_6eeadc50","updated":"2021-12-07 19:17:01.000000000","message":"Ack","commit_id":"e9b3df049d393b7de39c4c224e34bad3c5fec6e0"}],"openstack_dashboard/dashboards/project/instances/workflows/resize_instance.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"f999f4fb4076581701a7d8cfa36dafbd1ea62e32","unresolved":true,"context_lines":[{"line_number":71,"context_line":"        # workflow is being used when creating the action. This step is"},{"line_number":72,"context_line":"        # used by both the Launch Instance and Resize Instance workflows."},{"line_number":73,"context_line":"        context[\u0027workflow_slug\u0027] \u003d self.workflow.slug"},{"line_number":74,"context_line":"        return context"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"class SetFlavorChoiceAction(workflows.Action):"}],"source_content_type":"text/x-python","patch_set":6,"id":"503cd46f_5f495cdf","line":74,"updated":"2021-12-08 16:22:25.000000000","message":"Don\u0027t we have test coverage for these?\nI am not sure the dropped tests covered them but it is worth checking it.","commit_id":"adf40be2cf7d0c041120fa5bd1c4adcdf7749c71"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"34ca1e1c345989788a84de53a192152635bb4556","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        # workflow is being used when creating the action. This step is"},{"line_number":72,"context_line":"        # used by both the Launch Instance and Resize Instance workflows."},{"line_number":73,"context_line":"        context[\u0027workflow_slug\u0027] \u003d self.workflow.slug"},{"line_number":74,"context_line":"        return context"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"class SetFlavorChoiceAction(workflows.Action):"}],"source_content_type":"text/x-python","patch_set":6,"id":"540c1591_640c48c4","line":74,"in_reply_to":"503cd46f_5f495cdf","updated":"2021-12-09 06:48:16.000000000","message":"Updated \"test_instance_resize_get\" test to check this.","commit_id":"adf40be2cf7d0c041120fa5bd1c4adcdf7749c71"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"5f5f62a96dc5fd008dfa7fc226e4b08416d17d6d","unresolved":true,"context_lines":[{"line_number":58,"context_line":"    class Meta(object):"},{"line_number":59,"context_line":"        name \u003d _(\"Advanced Options\")"},{"line_number":60,"context_line":"        help_text_template \u003d (\"project/instances/\""},{"line_number":61,"context_line":"                              \"_launch_advanced_help.html\")"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"class SetAdvanced(workflows.Step):"}],"source_content_type":"text/x-python","patch_set":9,"id":"9641b798_69fe814d","line":61,"range":{"start_line":61,"start_character":31,"end_line":61,"end_character":57},"updated":"2022-01-25 09:22:10.000000000","message":"nit: It is used in ResizeInstance only. The template name \"launch_\" does not make sense. _resize_advanced_help.html ?","commit_id":"6ac31e0ba8df520133d20d21e35085d9b882c04e"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"59e63f3cd4d1f5f7590f026c7dd0a7118edb7a94","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    class Meta(object):"},{"line_number":59,"context_line":"        name \u003d _(\"Advanced Options\")"},{"line_number":60,"context_line":"        help_text_template \u003d (\"project/instances/\""},{"line_number":61,"context_line":"                              \"_launch_advanced_help.html\")"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"class SetAdvanced(workflows.Step):"}],"source_content_type":"text/x-python","patch_set":9,"id":"508b2f92_468b392f","line":61,"range":{"start_line":61,"start_character":31,"end_line":61,"end_character":57},"in_reply_to":"9641b798_69fe814d","updated":"2022-01-25 10:20:24.000000000","message":"Done.","commit_id":"6ac31e0ba8df520133d20d21e35085d9b882c04e"}],"openstack_dashboard/dashboards/project/network_topology/templates/network_topology/_actions_list.html":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0d1803f95baa768cbd4d6d02d4fd75d685b3c2c5","unresolved":true,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"\u003cdiv class\u003d\"launchButtons pull-right\"\u003e"},{"line_number":4,"context_line":"  {% if launch_instance_allowed %}"},{"line_number":5,"context_line":"    {% if show_ng_launch %}"},{"line_number":6,"context_line":"      {% url \u0027horizon:project:network_topology:index\u0027 as networkUrl %}"},{"line_number":7,"context_line":"      \u003ca href\u003d\"javascript:void(0);\" ng-controller\u003d\"LaunchInstanceModalController as modal\""},{"line_number":8,"context_line":"         ng-click\u003d\"modal.openLaunchInstanceWizard({successUrl: \u0027{{networkUrl}}\u0027})\""}],"source_content_type":"text/html","patch_set":4,"id":"aeab18a5_3e5b84eb","line":5,"range":{"start_line":5,"start_character":10,"end_line":5,"end_character":25},"updated":"2021-12-07 16:10:47.000000000","message":"It looks unnecessary as we always use the Angular version of the launch instance.","commit_id":"e9b3df049d393b7de39c4c224e34bad3c5fec6e0"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"a0512c8a9a53e0cb7eb9fb59f5b4aff3bfc5dcfe","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"\u003cdiv class\u003d\"launchButtons pull-right\"\u003e"},{"line_number":4,"context_line":"  {% if launch_instance_allowed %}"},{"line_number":5,"context_line":"    {% if show_ng_launch %}"},{"line_number":6,"context_line":"      {% url \u0027horizon:project:network_topology:index\u0027 as networkUrl %}"},{"line_number":7,"context_line":"      \u003ca href\u003d\"javascript:void(0);\" ng-controller\u003d\"LaunchInstanceModalController as modal\""},{"line_number":8,"context_line":"         ng-click\u003d\"modal.openLaunchInstanceWizard({successUrl: \u0027{{networkUrl}}\u0027})\""}],"source_content_type":"text/html","patch_set":4,"id":"206b6147_035e097b","line":5,"range":{"start_line":5,"start_character":10,"end_line":5,"end_character":25},"in_reply_to":"aeab18a5_3e5b84eb","updated":"2021-12-07 19:17:01.000000000","message":"Done","commit_id":"e9b3df049d393b7de39c4c224e34bad3c5fec6e0"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d991e143d8c5dc76704c0e054ad68612dbf0da11","unresolved":true,"context_lines":[{"line_number":1,"context_line":"{% load i18n %}"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"\u003cdiv class\u003d\"launchButtons pull-right\"\u003e"},{"line_number":4,"context_line":"  {% if launch_instance_allowed %}"},{"line_number":5,"context_line":"    {% url \u0027horizon:project:network_topology:index\u0027 as networkUrl %}"},{"line_number":6,"context_line":"    \u003ca href\u003d\"javascript:void(0);\" ng-controller\u003d\"LaunchInstanceModalController as modal\""},{"line_number":7,"context_line":"       ng-click\u003d\"modal.openLaunchInstanceWizard({successUrl: \u0027{{networkUrl}}\u0027})\""}],"source_content_type":"text/html","patch_set":6,"id":"fa35ecc9_a8435ad7","line":4,"updated":"2021-12-08 16:18:46.000000000","message":"See my comment in the other template file in the network topology.","commit_id":"adf40be2cf7d0c041120fa5bd1c4adcdf7749c71"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"34ca1e1c345989788a84de53a192152635bb4556","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{% load i18n %}"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"\u003cdiv class\u003d\"launchButtons pull-right\"\u003e"},{"line_number":4,"context_line":"  {% if launch_instance_allowed %}"},{"line_number":5,"context_line":"    {% url \u0027horizon:project:network_topology:index\u0027 as networkUrl %}"},{"line_number":6,"context_line":"    \u003ca href\u003d\"javascript:void(0);\" ng-controller\u003d\"LaunchInstanceModalController as modal\""},{"line_number":7,"context_line":"       ng-click\u003d\"modal.openLaunchInstanceWizard({successUrl: \u0027{{networkUrl}}\u0027})\""}],"source_content_type":"text/html","patch_set":6,"id":"3270a3c9_fe00d68e","line":4,"in_reply_to":"fa35ecc9_a8435ad7","updated":"2021-12-09 06:48:16.000000000","message":"Ack","commit_id":"adf40be2cf7d0c041120fa5bd1c4adcdf7749c71"}],"openstack_dashboard/dashboards/project/network_topology/templates/network_topology/index.html":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0d1803f95baa768cbd4d6d02d4fd75d685b3c2c5","unresolved":true,"context_lines":[{"line_number":21,"context_line":"\u003cdiv class\u003d\"topologyNavi\"\u003e"},{"line_number":22,"context_line":"  \u003cdiv class\u003d\"launchButtons\"\u003e"},{"line_number":23,"context_line":"  {% if launch_instance_allowed %}"},{"line_number":24,"context_line":"  {% if show_ng_launch %}"},{"line_number":25,"context_line":"  {% url \u0027horizon:project:network_topology:index\u0027 as networkUrl %}"},{"line_number":26,"context_line":"  \u003ca href\u003d\"javascript:void(0);\" ng-controller\u003d\"LaunchInstanceModalController as modal\" ng-click\u003d\"modal.openLaunchInstanceWizard({successUrl: \u0027{{networkUrl}}\u0027})\" id\u003d\"instances__action_launch-ng\" class\u003d\"btn btn-default btn-sm btn-launch {% if instance_quota_exceeded %}disabled{% endif %}\"\u003e\u003cspan class\u003d\"fa fa-cloud-upload\"\u003e\u003c/span\u003e {% if instance_quota_exceeded %}{% trans \"Launch Instance (Quota exceeded)\"%}{% else %}{% trans \"Launch Instance\"%}{% endif %}\u003c/a\u003e"},{"line_number":27,"context_line":"  {% endif %}"}],"source_content_type":"text/html","patch_set":4,"id":"6aea0a84_569b831d","line":24,"range":{"start_line":24,"start_character":8,"end_line":24,"end_character":22},"updated":"2021-12-07 16:10:47.000000000","message":"Same comment as for the previous file.","commit_id":"e9b3df049d393b7de39c4c224e34bad3c5fec6e0"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"a0512c8a9a53e0cb7eb9fb59f5b4aff3bfc5dcfe","unresolved":false,"context_lines":[{"line_number":21,"context_line":"\u003cdiv class\u003d\"topologyNavi\"\u003e"},{"line_number":22,"context_line":"  \u003cdiv class\u003d\"launchButtons\"\u003e"},{"line_number":23,"context_line":"  {% if launch_instance_allowed %}"},{"line_number":24,"context_line":"  {% if show_ng_launch %}"},{"line_number":25,"context_line":"  {% url \u0027horizon:project:network_topology:index\u0027 as networkUrl %}"},{"line_number":26,"context_line":"  \u003ca href\u003d\"javascript:void(0);\" ng-controller\u003d\"LaunchInstanceModalController as modal\" ng-click\u003d\"modal.openLaunchInstanceWizard({successUrl: \u0027{{networkUrl}}\u0027})\" id\u003d\"instances__action_launch-ng\" class\u003d\"btn btn-default btn-sm btn-launch {% if instance_quota_exceeded %}disabled{% endif %}\"\u003e\u003cspan class\u003d\"fa fa-cloud-upload\"\u003e\u003c/span\u003e {% if instance_quota_exceeded %}{% trans \"Launch Instance (Quota exceeded)\"%}{% else %}{% trans \"Launch Instance\"%}{% endif %}\u003c/a\u003e"},{"line_number":27,"context_line":"  {% endif %}"}],"source_content_type":"text/html","patch_set":4,"id":"9f508015_412de000","line":24,"range":{"start_line":24,"start_character":8,"end_line":24,"end_character":22},"in_reply_to":"6aea0a84_569b831d","updated":"2021-12-07 19:17:01.000000000","message":"Done.","commit_id":"e9b3df049d393b7de39c4c224e34bad3c5fec6e0"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d991e143d8c5dc76704c0e054ad68612dbf0da11","unresolved":true,"context_lines":[{"line_number":20,"context_line":"    {{ tab_group.render }}"},{"line_number":21,"context_line":"\u003cdiv class\u003d\"topologyNavi\"\u003e"},{"line_number":22,"context_line":"  \u003cdiv class\u003d\"launchButtons\"\u003e"},{"line_number":23,"context_line":"  {% if launch_instance_allowed %}"},{"line_number":24,"context_line":"  {% url \u0027horizon:project:network_topology:index\u0027 as networkUrl %}"},{"line_number":25,"context_line":"  \u003ca href\u003d\"javascript:void(0);\" ng-controller\u003d\"LaunchInstanceModalController as modal\" ng-click\u003d\"modal.openLaunchInstanceWizard({successUrl: \u0027{{networkUrl}}\u0027})\" id\u003d\"instances__action_launch-ng\" class\u003d\"btn btn-default btn-sm btn-launch {% if instance_quota_exceeded %}disabled{% endif %}\"\u003e\u003cspan class\u003d\"fa fa-cloud-upload\"\u003e\u003c/span\u003e {% if instance_quota_exceeded %}{% trans \"Launch Instance (Quota exceeded)\"%}{% else %}{% trans \"Launch Instance\"%}{% endif %}\u003c/a\u003e"},{"line_number":26,"context_line":"  {% endif %}"}],"source_content_type":"text/html","patch_set":6,"id":"41bc8f02_5dc99cc7","line":23,"updated":"2021-12-08 16:18:46.000000000","message":"show_ng_launch had two conditions:  base.is_service_enabled(request, \u0027compute\u0027)  and settings.LAUNCH_INSTANCE_NG_ENABLED. The new logic no longer honors the first condition.\n\nI see several options:\nThe one is to use \"show_launch\" you introduced \"show_launch\" in utils.py and to add \"if show_launch\" here.\nThe other is to merge launch_instance_allowed and show_launch in utils.py and to refer only launch_instance_allowed here.\n\nPersonaly I prefer to the latter.","commit_id":"adf40be2cf7d0c041120fa5bd1c4adcdf7749c71"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"34ca1e1c345989788a84de53a192152635bb4556","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    {{ tab_group.render }}"},{"line_number":21,"context_line":"\u003cdiv class\u003d\"topologyNavi\"\u003e"},{"line_number":22,"context_line":"  \u003cdiv class\u003d\"launchButtons\"\u003e"},{"line_number":23,"context_line":"  {% if launch_instance_allowed %}"},{"line_number":24,"context_line":"  {% url \u0027horizon:project:network_topology:index\u0027 as networkUrl %}"},{"line_number":25,"context_line":"  \u003ca href\u003d\"javascript:void(0);\" ng-controller\u003d\"LaunchInstanceModalController as modal\" ng-click\u003d\"modal.openLaunchInstanceWizard({successUrl: \u0027{{networkUrl}}\u0027})\" id\u003d\"instances__action_launch-ng\" class\u003d\"btn btn-default btn-sm btn-launch {% if instance_quota_exceeded %}disabled{% endif %}\"\u003e\u003cspan class\u003d\"fa fa-cloud-upload\"\u003e\u003c/span\u003e {% if instance_quota_exceeded %}{% trans \"Launch Instance (Quota exceeded)\"%}{% else %}{% trans \"Launch Instance\"%}{% endif %}\u003c/a\u003e"},{"line_number":26,"context_line":"  {% endif %}"}],"source_content_type":"text/html","patch_set":6,"id":"280a876a_36f2c2fa","line":23,"in_reply_to":"41bc8f02_5dc99cc7","updated":"2021-12-09 06:48:16.000000000","message":"Done. merged \"show_launch\" with \"launch_instance_allowed\" in utils.py\nThanks.","commit_id":"adf40be2cf7d0c041120fa5bd1c4adcdf7749c71"}],"openstack_dashboard/dashboards/project/network_topology/utils.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0d1803f95baa768cbd4d6d02d4fd75d685b3c2c5","unresolved":true,"context_lines":[{"line_number":41,"context_line":"        policy.check(((\"network\", \"create_router\"),), request))"},{"line_number":42,"context_line":"    context[\u0027router_quota_exceeded\u0027] \u003d _quota_exceeded(request, \u0027router\u0027)"},{"line_number":43,"context_line":"    context[\u0027console_type\u0027] \u003d settings.CONSOLE_TYPE"},{"line_number":44,"context_line":"    context[\u0027show_ng_launch\u0027] \u003d ("},{"line_number":45,"context_line":"        base.is_service_enabled(request, \u0027compute\u0027) and"},{"line_number":46,"context_line":"        settings.LAUNCH_INSTANCE_NG_ENABLED)"},{"line_number":47,"context_line":"    return context"}],"source_content_type":"text/x-python","patch_set":4,"id":"9dc9e426_5efea0ec","line":46,"range":{"start_line":44,"start_character":4,"end_line":46,"end_character":44},"updated":"2021-12-07 16:10:47.000000000","message":"settings.LAUNCH_INSTANCE_NG_ENABLED is always True.\nPerhaps we can drop the second condition.\nIn addition, we can rename show_ng_launch to show_launch.","commit_id":"e9b3df049d393b7de39c4c224e34bad3c5fec6e0"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"a0512c8a9a53e0cb7eb9fb59f5b4aff3bfc5dcfe","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        policy.check(((\"network\", \"create_router\"),), request))"},{"line_number":42,"context_line":"    context[\u0027router_quota_exceeded\u0027] \u003d _quota_exceeded(request, \u0027router\u0027)"},{"line_number":43,"context_line":"    context[\u0027console_type\u0027] \u003d settings.CONSOLE_TYPE"},{"line_number":44,"context_line":"    context[\u0027show_ng_launch\u0027] \u003d ("},{"line_number":45,"context_line":"        base.is_service_enabled(request, \u0027compute\u0027) and"},{"line_number":46,"context_line":"        settings.LAUNCH_INSTANCE_NG_ENABLED)"},{"line_number":47,"context_line":"    return context"}],"source_content_type":"text/x-python","patch_set":4,"id":"9c89b11c_9a57eadf","line":46,"range":{"start_line":44,"start_character":4,"end_line":46,"end_character":44},"in_reply_to":"9dc9e426_5efea0ec","updated":"2021-12-07 19:17:01.000000000","message":"Done.","commit_id":"e9b3df049d393b7de39c4c224e34bad3c5fec6e0"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d991e143d8c5dc76704c0e054ad68612dbf0da11","unresolved":true,"context_lines":[{"line_number":41,"context_line":"        policy.check(((\"network\", \"create_router\"),), request))"},{"line_number":42,"context_line":"    context[\u0027router_quota_exceeded\u0027] \u003d _quota_exceeded(request, \u0027router\u0027)"},{"line_number":43,"context_line":"    context[\u0027console_type\u0027] \u003d settings.CONSOLE_TYPE"},{"line_number":44,"context_line":"    context[\u0027show_launch\u0027] \u003d base.is_service_enabled(request, \u0027compute\u0027)"},{"line_number":45,"context_line":"    return context"}],"source_content_type":"text/x-python","patch_set":6,"id":"e8eafda2_0d43a6e0","line":44,"range":{"start_line":44,"start_character":13,"end_line":44,"end_character":25},"updated":"2021-12-08 16:18:46.000000000","message":"where is it used?","commit_id":"adf40be2cf7d0c041120fa5bd1c4adcdf7749c71"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"34ca1e1c345989788a84de53a192152635bb4556","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        policy.check(((\"network\", \"create_router\"),), request))"},{"line_number":42,"context_line":"    context[\u0027router_quota_exceeded\u0027] \u003d _quota_exceeded(request, \u0027router\u0027)"},{"line_number":43,"context_line":"    context[\u0027console_type\u0027] \u003d settings.CONSOLE_TYPE"},{"line_number":44,"context_line":"    context[\u0027show_launch\u0027] \u003d base.is_service_enabled(request, \u0027compute\u0027)"},{"line_number":45,"context_line":"    return context"}],"source_content_type":"text/x-python","patch_set":6,"id":"1be1d953_ced9f712","line":44,"range":{"start_line":44,"start_character":13,"end_line":44,"end_character":25},"in_reply_to":"e8eafda2_0d43a6e0","updated":"2021-12-09 06:48:16.000000000","message":"merged this condition with \u0027launch_instance_allowed\u0027.","commit_id":"adf40be2cf7d0c041120fa5bd1c4adcdf7749c71"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"4c9f25a38f1a8e58780958aeaf28418058028ed3","unresolved":true,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    context[\u0027launch_instance_allowed\u0027] \u003d policy.check("},{"line_number":33,"context_line":"        ((\"compute\", \"os_compute_api:servers:create\"),),"},{"line_number":34,"context_line":"        request) and base.is_service_enabled(request, \u0027compute\u0027)"},{"line_number":35,"context_line":"    context[\u0027instance_quota_exceeded\u0027] \u003d _quota_exceeded(request, \u0027instances\u0027)"},{"line_number":36,"context_line":"    context[\u0027create_network_allowed\u0027] \u003d policy.check("},{"line_number":37,"context_line":"        ((\"network\", \"create_network\"),), request)"}],"source_content_type":"text/x-python","patch_set":7,"id":"992d7741_fdbc3e1e","line":34,"updated":"2021-12-09 08:39:47.000000000","message":"The new code passes pep8 but it is difficult to read 😞\nCould you reconsider where you wrap lines?\n\nFor example,\n\n context[....] \u003d (\n   base.is_service_enabled(request, \u0027compute\u0027)\n   and policy.check(....)\n )\n\nPerhaps it would make more sense to have the service check first.","commit_id":"8fea15e16b154b8ad7290110709ca29669582894"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"385826fab80f53bf344f445c5bf02c2267cd17d3","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    context[\u0027launch_instance_allowed\u0027] \u003d policy.check("},{"line_number":33,"context_line":"        ((\"compute\", \"os_compute_api:servers:create\"),),"},{"line_number":34,"context_line":"        request) and base.is_service_enabled(request, \u0027compute\u0027)"},{"line_number":35,"context_line":"    context[\u0027instance_quota_exceeded\u0027] \u003d _quota_exceeded(request, \u0027instances\u0027)"},{"line_number":36,"context_line":"    context[\u0027create_network_allowed\u0027] \u003d policy.check("},{"line_number":37,"context_line":"        ((\"network\", \"create_network\"),), request)"}],"source_content_type":"text/x-python","patch_set":7,"id":"c285a23a_9feff66e","line":34,"in_reply_to":"992d7741_fdbc3e1e","updated":"2021-12-09 09:01:56.000000000","message":"Done.","commit_id":"8fea15e16b154b8ad7290110709ca29669582894"}],"openstack_dashboard/dashboards/project/snapshots/tables.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"0391a054ac14798befc2a12d630e5fffb3641d4d","unresolved":true,"context_lines":[{"line_number":241,"context_line":"        prev_pagination_param \u003d \u0027prev_snapshot_marker\u0027"},{"line_number":242,"context_line":"        table_actions \u003d (VolumeSnapshotsFilterAction, DeleteVolumeSnapshot,)"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"        launch_actions \u003d ()"},{"line_number":245,"context_line":"        launch_actions \u003d (LaunchSnapshotNG,) + launch_actions"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"        row_actions \u003d ((CreateVolumeFromSnapshot,) + launch_actions +"}],"source_content_type":"text/x-python","patch_set":8,"id":"d57c9d32_18cce90e","line":244,"updated":"2022-01-24 09:47:49.000000000","message":"please, remove this line","commit_id":"e539672c722076ff2a03bc1944cb1453a6ad481a"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"c5c307293e0cd2794b3c17fb1203cb94600fad9c","unresolved":false,"context_lines":[{"line_number":241,"context_line":"        prev_pagination_param \u003d \u0027prev_snapshot_marker\u0027"},{"line_number":242,"context_line":"        table_actions \u003d (VolumeSnapshotsFilterAction, DeleteVolumeSnapshot,)"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"        launch_actions \u003d ()"},{"line_number":245,"context_line":"        launch_actions \u003d (LaunchSnapshotNG,) + launch_actions"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"        row_actions \u003d ((CreateVolumeFromSnapshot,) + launch_actions +"}],"source_content_type":"text/x-python","patch_set":8,"id":"b92499f3_8a366398","line":244,"in_reply_to":"d57c9d32_18cce90e","updated":"2022-01-24 10:51:27.000000000","message":"Done.","commit_id":"e539672c722076ff2a03bc1944cb1453a6ad481a"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"0391a054ac14798befc2a12d630e5fffb3641d4d","unresolved":true,"context_lines":[{"line_number":242,"context_line":"        table_actions \u003d (VolumeSnapshotsFilterAction, DeleteVolumeSnapshot,)"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"        launch_actions \u003d ()"},{"line_number":245,"context_line":"        launch_actions \u003d (LaunchSnapshotNG,) + launch_actions"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"        row_actions \u003d ((CreateVolumeFromSnapshot,) + launch_actions +"},{"line_number":248,"context_line":"                       (EditVolumeSnapshot, DeleteVolumeSnapshot, CreateBackup,"}],"source_content_type":"text/x-python","patch_set":8,"id":"d85c1cf7_27a1b55c","line":245,"range":{"start_line":245,"start_character":8,"end_line":245,"end_character":45},"updated":"2022-01-24 09:47:49.000000000","message":"It could be simplified to:\nlaunch_actions \u003d (LaunchSnapshotNG,)","commit_id":"e539672c722076ff2a03bc1944cb1453a6ad481a"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"c5c307293e0cd2794b3c17fb1203cb94600fad9c","unresolved":false,"context_lines":[{"line_number":242,"context_line":"        table_actions \u003d (VolumeSnapshotsFilterAction, DeleteVolumeSnapshot,)"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"        launch_actions \u003d ()"},{"line_number":245,"context_line":"        launch_actions \u003d (LaunchSnapshotNG,) + launch_actions"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"        row_actions \u003d ((CreateVolumeFromSnapshot,) + launch_actions +"},{"line_number":248,"context_line":"                       (EditVolumeSnapshot, DeleteVolumeSnapshot, CreateBackup,"}],"source_content_type":"text/x-python","patch_set":8,"id":"f0664bb7_11cd494f","line":245,"range":{"start_line":245,"start_character":8,"end_line":245,"end_character":45},"in_reply_to":"d85c1cf7_27a1b55c","updated":"2022-01-24 10:51:27.000000000","message":"Done.\nThanks","commit_id":"e539672c722076ff2a03bc1944cb1453a6ad481a"}],"openstack_dashboard/dashboards/project/volumes/tables.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"0391a054ac14798befc2a12d630e5fffb3641d4d","unresolved":true,"context_lines":[{"line_number":571,"context_line":"        table_actions \u003d (CreateVolume, AcceptTransfer, DeleteVolume,"},{"line_number":572,"context_line":"                         VolumesFilterAction)"},{"line_number":573,"context_line":""},{"line_number":574,"context_line":"        launch_actions \u003d ()"},{"line_number":575,"context_line":"        launch_actions \u003d (LaunchVolumeNG,) + launch_actions"},{"line_number":576,"context_line":""},{"line_number":577,"context_line":"        row_actions \u003d ((EditVolume, ExtendVolume,) +"},{"line_number":578,"context_line":"                       launch_actions +"}],"source_content_type":"text/x-python","patch_set":8,"id":"f1c4cda5_d33c9991","line":575,"range":{"start_line":574,"start_character":8,"end_line":575,"end_character":59},"updated":"2022-01-24 09:47:49.000000000","message":"launch_actions \u003d (LaunchVolumeNG,)","commit_id":"e539672c722076ff2a03bc1944cb1453a6ad481a"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"c5c307293e0cd2794b3c17fb1203cb94600fad9c","unresolved":false,"context_lines":[{"line_number":571,"context_line":"        table_actions \u003d (CreateVolume, AcceptTransfer, DeleteVolume,"},{"line_number":572,"context_line":"                         VolumesFilterAction)"},{"line_number":573,"context_line":""},{"line_number":574,"context_line":"        launch_actions \u003d ()"},{"line_number":575,"context_line":"        launch_actions \u003d (LaunchVolumeNG,) + launch_actions"},{"line_number":576,"context_line":""},{"line_number":577,"context_line":"        row_actions \u003d ((EditVolume, ExtendVolume,) +"},{"line_number":578,"context_line":"                       launch_actions +"}],"source_content_type":"text/x-python","patch_set":8,"id":"d133677d_f5fd2259","line":575,"range":{"start_line":574,"start_character":8,"end_line":575,"end_character":59},"in_reply_to":"f1c4cda5_d33c9991","updated":"2022-01-24 10:51:27.000000000","message":"Done.","commit_id":"e539672c722076ff2a03bc1944cb1453a6ad481a"}],"openstack_dashboard/defaults.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0d1803f95baa768cbd4d6d02d4fd75d685b3c2c5","unresolved":true,"context_lines":[{"line_number":245,"context_line":"#"},{"line_number":246,"context_line":"# Toggle LAUNCH_INSTANCE_LEGACY_ENABLED is deprecated in wallaby release and"},{"line_number":247,"context_line":"# dropped in Yoga release."},{"line_number":248,"context_line":"LAUNCH_INSTANCE_NG_ENABLED \u003d True"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"# A dictionary of settings which can be used to provide the default values for"},{"line_number":251,"context_line":"# properties found in the Launch Instance modal."}],"source_content_type":"text/x-python","patch_set":4,"id":"b91ce0a1_034d71d6","line":248,"updated":"2021-12-07 16:10:47.000000000","message":"Do we need to keep the unnecessary settings? I wonder we can drop these lines completely and What is the reason we need to keep the comment?","commit_id":"e9b3df049d393b7de39c4c224e34bad3c5fec6e0"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"a0512c8a9a53e0cb7eb9fb59f5b4aff3bfc5dcfe","unresolved":false,"context_lines":[{"line_number":245,"context_line":"#"},{"line_number":246,"context_line":"# Toggle LAUNCH_INSTANCE_LEGACY_ENABLED is deprecated in wallaby release and"},{"line_number":247,"context_line":"# dropped in Yoga release."},{"line_number":248,"context_line":"LAUNCH_INSTANCE_NG_ENABLED \u003d True"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"# A dictionary of settings which can be used to provide the default values for"},{"line_number":251,"context_line":"# properties found in the Launch Instance modal."}],"source_content_type":"text/x-python","patch_set":4,"id":"b487f467_74686301","line":248,"in_reply_to":"b91ce0a1_034d71d6","updated":"2021-12-07 19:17:01.000000000","message":"Done.","commit_id":"e9b3df049d393b7de39c4c224e34bad3c5fec6e0"}],"releasenotes/notes/drop-django-launch-instance-form-c6543e1d52786b79.yaml":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0d1803f95baa768cbd4d6d02d4fd75d685b3c2c5","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    horizon deprecated Django version of the launch instance form"},{"line_number":5,"context_line":"    in the wallaby release. It was dropped in the yoga release."},{"line_number":6,"context_line":"    ``LAUNCH_INSTANCE_LEGACY_ENABLED`` setting was dropped because"},{"line_number":7,"context_line":"    ``LAUNCH_INSTANCE_NG_ENABLED`` provide all feature that was"},{"line_number":8,"context_line":"    provided by Django based launch instance implementation."},{"line_number":9,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"052dff9f_ff4fbdbc","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":34},"updated":"2021-12-07 16:10:47.000000000","message":"Do you still want to provide a way to disable the Angular version of the launch instance? Otherwise, we can drop LAUNCH_INSTANCE_NG_ENABLED setting too.","commit_id":"e9b3df049d393b7de39c4c224e34bad3c5fec6e0"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"a0512c8a9a53e0cb7eb9fb59f5b4aff3bfc5dcfe","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    horizon deprecated Django version of the launch instance form"},{"line_number":5,"context_line":"    in the wallaby release. It was dropped in the yoga release."},{"line_number":6,"context_line":"    ``LAUNCH_INSTANCE_LEGACY_ENABLED`` setting was dropped because"},{"line_number":7,"context_line":"    ``LAUNCH_INSTANCE_NG_ENABLED`` provide all feature that was"},{"line_number":8,"context_line":"    provided by Django based launch instance implementation."},{"line_number":9,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"552baa34_f469a4a3","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":34},"in_reply_to":"052dff9f_ff4fbdbc","updated":"2021-12-07 19:17:01.000000000","message":"Done.","commit_id":"e9b3df049d393b7de39c4c224e34bad3c5fec6e0"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d991e143d8c5dc76704c0e054ad68612dbf0da11","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    horizon deprecated Django version of the launch instance form"},{"line_number":5,"context_line":"    in the wallaby release. It was dropped in the yoga release."},{"line_number":6,"context_line":"    ``LAUNCH_INSTANCE_LEGACY_ENABLED`` and ``LAUNCH_INSTANCE_NG_ENABLED``"},{"line_number":7,"context_line":"    setting was dropped as horizon by default use angular version of"},{"line_number":8,"context_line":"    launch instance."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"aaf0d8e2_42085197","line":5,"range":{"start_line":4,"start_character":4,"end_line":5,"end_character":63},"updated":"2021-12-08 16:18:46.000000000","message":"Let\u0027s mention what happened first followed by the reason.\n\n The Django version of the launch instance form was dropped.\n It was deprecated since Wallaby release.","commit_id":"adf40be2cf7d0c041120fa5bd1c4adcdf7749c71"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"34ca1e1c345989788a84de53a192152635bb4556","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    horizon deprecated Django version of the launch instance form"},{"line_number":5,"context_line":"    in the wallaby release. It was dropped in the yoga release."},{"line_number":6,"context_line":"    ``LAUNCH_INSTANCE_LEGACY_ENABLED`` and ``LAUNCH_INSTANCE_NG_ENABLED``"},{"line_number":7,"context_line":"    setting was dropped as horizon by default use angular version of"},{"line_number":8,"context_line":"    launch instance."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"c3dfdf91_8ca3df2e","line":5,"range":{"start_line":4,"start_character":4,"end_line":5,"end_character":63},"in_reply_to":"aaf0d8e2_42085197","updated":"2021-12-09 06:48:16.000000000","message":"Done.","commit_id":"adf40be2cf7d0c041120fa5bd1c4adcdf7749c71"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d991e143d8c5dc76704c0e054ad68612dbf0da11","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    horizon deprecated Django version of the launch instance form"},{"line_number":5,"context_line":"    in the wallaby release. It was dropped in the yoga release."},{"line_number":6,"context_line":"    ``LAUNCH_INSTANCE_LEGACY_ENABLED`` and ``LAUNCH_INSTANCE_NG_ENABLED``"},{"line_number":7,"context_line":"    setting was dropped as horizon by default use angular version of"},{"line_number":8,"context_line":"    launch instance."},{"line_number":9,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"b750b623_5300c976","line":7,"range":{"start_line":7,"start_character":11,"end_line":7,"end_character":15},"updated":"2021-12-08 16:18:46.000000000","message":"-\u003e were","commit_id":"adf40be2cf7d0c041120fa5bd1c4adcdf7749c71"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"d991e143d8c5dc76704c0e054ad68612dbf0da11","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    horizon deprecated Django version of the launch instance form"},{"line_number":5,"context_line":"    in the wallaby release. It was dropped in the yoga release."},{"line_number":6,"context_line":"    ``LAUNCH_INSTANCE_LEGACY_ENABLED`` and ``LAUNCH_INSTANCE_NG_ENABLED``"},{"line_number":7,"context_line":"    setting was dropped as horizon by default use angular version of"},{"line_number":8,"context_line":"    launch instance."},{"line_number":9,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"9c7e38a4_f49f0b51","line":7,"range":{"start_line":7,"start_character":35,"end_line":7,"end_character":46},"updated":"2021-12-08 16:18:46.000000000","message":"Let\u0027s move \"by default\" to the end of sentence.\n\nuse -\u003e uses","commit_id":"adf40be2cf7d0c041120fa5bd1c4adcdf7749c71"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"34ca1e1c345989788a84de53a192152635bb4556","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    horizon deprecated Django version of the launch instance form"},{"line_number":5,"context_line":"    in the wallaby release. It was dropped in the yoga release."},{"line_number":6,"context_line":"    ``LAUNCH_INSTANCE_LEGACY_ENABLED`` and ``LAUNCH_INSTANCE_NG_ENABLED``"},{"line_number":7,"context_line":"    setting was dropped as horizon by default use angular version of"},{"line_number":8,"context_line":"    launch instance."},{"line_number":9,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"d15d2ff0_240ba278","line":7,"range":{"start_line":7,"start_character":35,"end_line":7,"end_character":46},"in_reply_to":"9c7e38a4_f49f0b51","updated":"2021-12-09 06:48:16.000000000","message":"Done.","commit_id":"adf40be2cf7d0c041120fa5bd1c4adcdf7749c71"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"34ca1e1c345989788a84de53a192152635bb4556","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    horizon deprecated Django version of the launch instance form"},{"line_number":5,"context_line":"    in the wallaby release. It was dropped in the yoga release."},{"line_number":6,"context_line":"    ``LAUNCH_INSTANCE_LEGACY_ENABLED`` and ``LAUNCH_INSTANCE_NG_ENABLED``"},{"line_number":7,"context_line":"    setting was dropped as horizon by default use angular version of"},{"line_number":8,"context_line":"    launch instance."},{"line_number":9,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"7001b367_9ceeb7c0","line":7,"range":{"start_line":7,"start_character":11,"end_line":7,"end_character":15},"in_reply_to":"b750b623_5300c976","updated":"2021-12-09 06:48:16.000000000","message":"Done.","commit_id":"adf40be2cf7d0c041120fa5bd1c4adcdf7749c71"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"5f5f62a96dc5fd008dfa7fc226e4b08416d17d6d","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    The Django version of the launch instance form was dropped."},{"line_number":5,"context_line":"    It was deprecated since Wallaby release."},{"line_number":6,"context_line":"    ``LAUNCH_INSTANCE_LEGACY_ENABLED`` and ``LAUNCH_INSTANCE_NG_ENABLED``"},{"line_number":7,"context_line":"    setting were dropped as horizon uses angular version of launch instance"},{"line_number":8,"context_line":"    by default."},{"line_number":9,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"de62e3c3_44efe85f","line":7,"updated":"2022-01-25 09:22:10.000000000","message":"grammer correction:\n\nsetting -\u003e settings\nangular version -\u003e the Angular version\nlaunch instance -\u003e the launch insntace form","commit_id":"6ac31e0ba8df520133d20d21e35085d9b882c04e"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"59e63f3cd4d1f5f7590f026c7dd0a7118edb7a94","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    The Django version of the launch instance form was dropped."},{"line_number":5,"context_line":"    It was deprecated since Wallaby release."},{"line_number":6,"context_line":"    ``LAUNCH_INSTANCE_LEGACY_ENABLED`` and ``LAUNCH_INSTANCE_NG_ENABLED``"},{"line_number":7,"context_line":"    setting were dropped as horizon uses angular version of launch instance"},{"line_number":8,"context_line":"    by default."},{"line_number":9,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"45d8faf5_7f8f32e7","line":7,"in_reply_to":"de62e3c3_44efe85f","updated":"2022-01-25 10:20:24.000000000","message":"Done.","commit_id":"6ac31e0ba8df520133d20d21e35085d9b882c04e"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"5f5f62a96dc5fd008dfa7fc226e4b08416d17d6d","unresolved":true,"context_lines":[{"line_number":5,"context_line":"    It was deprecated since Wallaby release."},{"line_number":6,"context_line":"    ``LAUNCH_INSTANCE_LEGACY_ENABLED`` and ``LAUNCH_INSTANCE_NG_ENABLED``"},{"line_number":7,"context_line":"    setting were dropped as horizon uses angular version of launch instance"},{"line_number":8,"context_line":"    by default."},{"line_number":9,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"96382dc8_e88ca095","line":8,"range":{"start_line":8,"start_character":3,"end_line":8,"end_character":15},"updated":"2022-01-25 09:22:10.000000000","message":"There is no other choice, so \"by default\" sounds tricky.\n\n horizon always uses the Angular version of the launch instance form.","commit_id":"6ac31e0ba8df520133d20d21e35085d9b882c04e"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"59e63f3cd4d1f5f7590f026c7dd0a7118edb7a94","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    It was deprecated since Wallaby release."},{"line_number":6,"context_line":"    ``LAUNCH_INSTANCE_LEGACY_ENABLED`` and ``LAUNCH_INSTANCE_NG_ENABLED``"},{"line_number":7,"context_line":"    setting were dropped as horizon uses angular version of launch instance"},{"line_number":8,"context_line":"    by default."},{"line_number":9,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"693b5aa8_2240d3f9","line":8,"range":{"start_line":8,"start_character":3,"end_line":8,"end_character":15},"in_reply_to":"96382dc8_e88ca095","updated":"2022-01-25 10:20:24.000000000","message":"Done.","commit_id":"6ac31e0ba8df520133d20d21e35085d9b882c04e"}]}
