)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11082,"name":"Kamil Sambor","email":"ksambor@redhat.com","username":"ksambor"},"change_message_id":"6e671529b4fc70950e6378f7c9d20c294b2ba190","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"b6acf7c6_379842e3","updated":"2026-07-21 14:53:15.000000000","message":"Pushe","commit_id":"2090f689a5d621759ecd21eef99a7b061be0d632"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2b5846d3436bb756d12f2160451aa2e1b8e88c5b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9502a4d9_bdb442d5","updated":"2026-07-21 22:14:00.000000000","message":"logs has the config opts in n-cpu now https://zuul.opendev.org/t/openstack/build/7a333bfbe7d548adbcd4c72cd5b51b0d/log/controller/logs/screen-n-cpu.txt#5\n\nin eventlet mode, those are logged once and by oslo.service https://zuul.opendev.org/t/openstack/build/c5760bb0ba514c2ba5b084765046396c/log/compute1/logs/screen-n-cpu.txt#22","commit_id":"16019aa9be96330928137b66c0b83ffc97b9f115"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2c466e16a72dae25de895f71b4fc3b3ed92f6bc1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"6d83dc69_40e38c10","updated":"2026-07-21 21:53:44.000000000","message":"overall lgtm but we need test fix and a TODO comment","commit_id":"16019aa9be96330928137b66c0b83ffc97b9f115"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"6b409f3a89be9f99128201b49bd9c0386843e20f","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"345b2575_e6308dc8","updated":"2026-07-22 20:16:58.000000000","message":"tests are good now but still need threading mode check before we logs.","commit_id":"d66028d1d9ecf14537d30b156649f9455c9758f6"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b6cb728f38b31b329e165f936a8a22236c400fdd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6b83f207_d3ddf723","updated":"2026-07-23 15:05:12.000000000","message":"thanks, lgtm","commit_id":"eb6a23c8d088a611026d6c0700254651d7e38dc3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"518c87f521b89846770d0b6b3a69bf0ac165d3f3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6c3363a8_f252c9c0","updated":"2026-07-24 17:08:16.000000000","message":"yes this is what we need at least until oslo.service is improved to do this for us automatically and correctly","commit_id":"eb6a23c8d088a611026d6c0700254651d7e38dc3"}],"nova/cmd/compute.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"89d35599d737a1f76caef9cbea88d29e8dbb9f8a","unresolved":true,"context_lines":[{"line_number":55,"context_line":"    # log_opt_values(). Register the opts and dump config manually here."},{"line_number":56,"context_line":"    oslo_svc_opts.register_service_opts(CONF)"},{"line_number":57,"context_line":"    if CONF.log_options:"},{"line_number":58,"context_line":"        CONF.log_opt_values(LOG, logging.DEBUG)"},{"line_number":59,"context_line":"    priv_context.init(root_helper\u003dshlex.split(utils.get_root_helper()))"},{"line_number":60,"context_line":"    objects.register_all()"},{"line_number":61,"context_line":"    gmr_opts.set_defaults(CONF)"}],"source_content_type":"text/x-python","patch_set":1,"id":"4b212bf6_5b18eb7a","line":58,"updated":"2026-07-21 12:46:57.000000000","message":"lets see how this goes in CI, but do we have a difference somehow between threading and eventlet mode? I think we had no problem with the config dump in eventlet mode. If so then this might make config dumping duplicated in eventlet mode. Lets wait for the CI results and check.","commit_id":"2090f689a5d621759ecd21eef99a7b061be0d632"},{"author":{"_account_id":11082,"name":"Kamil Sambor","email":"ksambor@redhat.com","username":"ksambor"},"change_message_id":"bf53ea95e43035a54cd93eda87e0a4f0fb048cb9","unresolved":true,"context_lines":[{"line_number":55,"context_line":"    # log_opt_values(). Register the opts and dump config manually here."},{"line_number":56,"context_line":"    oslo_svc_opts.register_service_opts(CONF)"},{"line_number":57,"context_line":"    if CONF.log_options:"},{"line_number":58,"context_line":"        CONF.log_opt_values(LOG, logging.DEBUG)"},{"line_number":59,"context_line":"    priv_context.init(root_helper\u003dshlex.split(utils.get_root_helper()))"},{"line_number":60,"context_line":"    objects.register_all()"},{"line_number":61,"context_line":"    gmr_opts.set_defaults(CONF)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f21a4cc_cdd3b02b","line":58,"in_reply_to":"4b212bf6_5b18eb7a","updated":"2026-07-21 12:59:10.000000000","message":"Oh, good catch! You\u0027re right, this will always get called twice in eventlet","commit_id":"2090f689a5d621759ecd21eef99a7b061be0d632"},{"author":{"_account_id":11082,"name":"Kamil Sambor","email":"ksambor@redhat.com","username":"ksambor"},"change_message_id":"6e671529b4fc70950e6378f7c9d20c294b2ba190","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    # log_opt_values(). Register the opts and dump config manually here."},{"line_number":56,"context_line":"    oslo_svc_opts.register_service_opts(CONF)"},{"line_number":57,"context_line":"    if CONF.log_options:"},{"line_number":58,"context_line":"        CONF.log_opt_values(LOG, logging.DEBUG)"},{"line_number":59,"context_line":"    priv_context.init(root_helper\u003dshlex.split(utils.get_root_helper()))"},{"line_number":60,"context_line":"    objects.register_all()"},{"line_number":61,"context_line":"    gmr_opts.set_defaults(CONF)"}],"source_content_type":"text/x-python","patch_set":1,"id":"60d1ba91_befe46a7","line":58,"in_reply_to":"9f21a4cc_cdd3b02b","updated":"2026-07-21 14:53:15.000000000","message":"I added aditional check because like you pointed out info was duplicated: https://zuul.opendev.org/t/openstack/build/499b35fd6c834909b3f6624f583cf162/log/controller/logs/screen-n-cpu.txt","commit_id":"2090f689a5d621759ecd21eef99a7b061be0d632"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2c466e16a72dae25de895f71b4fc3b3ed92f6bc1","unresolved":true,"context_lines":[{"line_number":48,"context_line":"def main():"},{"line_number":49,"context_line":"    config.parse_args(sys.argv)"},{"line_number":50,"context_line":"    logging.setup(CONF, \u0027nova\u0027)"},{"line_number":51,"context_line":"    # In threading mode, nova-compute runs with no_fork\u003dTrue, so"},{"line_number":52,"context_line":"    # ProcessLauncher.launch_service() starts the service directly without"},{"line_number":53,"context_line":"    # calling _get_service_manager(). Other services go through"},{"line_number":54,"context_line":"    # _get_service_manager() -\u003e oslo_config_glue.link() -\u003e"},{"line_number":55,"context_line":"    # _load_service_manager_options() -\u003e log_opt_values(). In eventlet mode"},{"line_number":56,"context_line":"    # no_fork is ignored and ServiceLauncher._wait_for_exit_or_signal()"},{"line_number":57,"context_line":"    # handles the dump, so dumping manually here would be a duplicate."},{"line_number":58,"context_line":"    oslo_svc_opts.register_service_opts(CONF)"},{"line_number":59,"context_line":"    if CONF.log_options and utils.concurrency_mode_threading():"},{"line_number":60,"context_line":"        CONF.log_opt_values(LOG, logging.DEBUG)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ee0ecba_2b82b114","line":57,"range":{"start_line":51,"start_character":0,"end_line":57,"end_character":70},"updated":"2026-07-21 21:53:44.000000000","message":"yeah, oslo.service has this gap for no_fork case. Though fix should be in oslo.service to log the options for no_fork case also instead of doing it on usage side. But I am ok to do it here until we have oslo.service fix ready to be consumed. But can you please add a TODO here to remove this once oslo.service bug is fixed - https://bugs.launchpad.net/oslo.service/+bug/2161400","commit_id":"16019aa9be96330928137b66c0b83ffc97b9f115"},{"author":{"_account_id":11082,"name":"Kamil Sambor","email":"ksambor@redhat.com","username":"ksambor"},"change_message_id":"ec3fb7aa5faef640334b3fac25dbd75afa02dd3b","unresolved":false,"context_lines":[{"line_number":48,"context_line":"def main():"},{"line_number":49,"context_line":"    config.parse_args(sys.argv)"},{"line_number":50,"context_line":"    logging.setup(CONF, \u0027nova\u0027)"},{"line_number":51,"context_line":"    # In threading mode, nova-compute runs with no_fork\u003dTrue, so"},{"line_number":52,"context_line":"    # ProcessLauncher.launch_service() starts the service directly without"},{"line_number":53,"context_line":"    # calling _get_service_manager(). Other services go through"},{"line_number":54,"context_line":"    # _get_service_manager() -\u003e oslo_config_glue.link() -\u003e"},{"line_number":55,"context_line":"    # _load_service_manager_options() -\u003e log_opt_values(). In eventlet mode"},{"line_number":56,"context_line":"    # no_fork is ignored and ServiceLauncher._wait_for_exit_or_signal()"},{"line_number":57,"context_line":"    # handles the dump, so dumping manually here would be a duplicate."},{"line_number":58,"context_line":"    oslo_svc_opts.register_service_opts(CONF)"},{"line_number":59,"context_line":"    if CONF.log_options and utils.concurrency_mode_threading():"},{"line_number":60,"context_line":"        CONF.log_opt_values(LOG, logging.DEBUG)"}],"source_content_type":"text/x-python","patch_set":2,"id":"cd407728_0171be45","line":57,"range":{"start_line":51,"start_character":0,"end_line":57,"end_character":70},"in_reply_to":"7ee0ecba_2b82b114","updated":"2026-07-22 13:22:22.000000000","message":"Done","commit_id":"16019aa9be96330928137b66c0b83ffc97b9f115"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"6b409f3a89be9f99128201b49bd9c0386843e20f","unresolved":true,"context_lines":[{"line_number":56,"context_line":"    # no_fork is ignored and ServiceLauncher._wait_for_exit_or_signal()"},{"line_number":57,"context_line":"    # handles the dump, so dumping manually here would be a duplicate."},{"line_number":58,"context_line":"    oslo_svc_opts.register_service_opts(CONF)"},{"line_number":59,"context_line":"    if CONF.log_options and utils.concurrency_mode_threading():"},{"line_number":60,"context_line":"        CONF.log_opt_values(LOG, logging.DEBUG)"},{"line_number":61,"context_line":"    priv_context.init(root_helper\u003dshlex.split(utils.get_root_helper()))"},{"line_number":62,"context_line":"    objects.register_all()"}],"source_content_type":"text/x-python","patch_set":2,"id":"85693d69_0b4ae574","line":59,"range":{"start_line":59,"start_character":24,"end_line":59,"end_character":63},"updated":"2026-07-22 20:16:58.000000000","message":"we need this check otherwise in eventlet mode options are logged twice:\n\nonce by this - https://zuul.opendev.org/t/openstack/build/a8b01dce82f146849549d08deb2aa083/log/compute1/logs/screen-n-cpu.txt#14\n\nother by oslo.service: https://zuul.opendev.org/t/openstack/build/a8b01dce82f146849549d08deb2aa083/log/compute1/logs/screen-n-cpu.txt#878","commit_id":"16019aa9be96330928137b66c0b83ffc97b9f115"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b6cb728f38b31b329e165f936a8a22236c400fdd","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    # no_fork is ignored and ServiceLauncher._wait_for_exit_or_signal()"},{"line_number":57,"context_line":"    # handles the dump, so dumping manually here would be a duplicate."},{"line_number":58,"context_line":"    oslo_svc_opts.register_service_opts(CONF)"},{"line_number":59,"context_line":"    if CONF.log_options and utils.concurrency_mode_threading():"},{"line_number":60,"context_line":"        CONF.log_opt_values(LOG, logging.DEBUG)"},{"line_number":61,"context_line":"    priv_context.init(root_helper\u003dshlex.split(utils.get_root_helper()))"},{"line_number":62,"context_line":"    objects.register_all()"}],"source_content_type":"text/x-python","patch_set":2,"id":"f5412bd7_df0f1e62","line":59,"range":{"start_line":59,"start_character":24,"end_line":59,"end_character":63},"in_reply_to":"85693d69_0b4ae574","updated":"2026-07-23 15:05:12.000000000","message":"Done","commit_id":"16019aa9be96330928137b66c0b83ffc97b9f115"}],"nova/tests/unit/cmd/test_compute.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2c466e16a72dae25de895f71b4fc3b3ed92f6bc1","unresolved":true,"context_lines":[{"line_number":70,"context_line":"             mock.patch(\u0027oslo_reports.guru_meditation_report\u0027):"},{"line_number":71,"context_line":"            with restore_db():"},{"line_number":72,"context_line":"                compute.main()"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def test_config_dumped_at_startup_when_log_options_enabled(self):"},{"line_number":75,"context_line":"        \"\"\"Config options are dumped at startup when log_options is True.\"\"\""},{"line_number":76,"context_line":"        self.flags(log_options\u003dTrue)"},{"line_number":77,"context_line":"        with mock.patch.object(compute.CONF, \u0027log_opt_values\u0027) as mock_dump:"},{"line_number":78,"context_line":"            self._call_main()"},{"line_number":79,"context_line":"        mock_dump.assert_called_once()"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def test_config_not_dumped_at_startup_when_log_options_disabled(self):"},{"line_number":82,"context_line":"        \"\"\"Config options are not dumped at startup when log_options is False."}],"source_content_type":"text/x-python","patch_set":2,"id":"15783da1_3d322840","line":79,"range":{"start_line":73,"start_character":0,"end_line":79,"end_character":38},"updated":"2026-07-21 21:53:44.000000000","message":"this test failing for eventlet mode, you need to set the threading mode explicitly or run it in threading mode tests only.","commit_id":"16019aa9be96330928137b66c0b83ffc97b9f115"},{"author":{"_account_id":11082,"name":"Kamil Sambor","email":"ksambor@redhat.com","username":"ksambor"},"change_message_id":"ec3fb7aa5faef640334b3fac25dbd75afa02dd3b","unresolved":false,"context_lines":[{"line_number":70,"context_line":"             mock.patch(\u0027oslo_reports.guru_meditation_report\u0027):"},{"line_number":71,"context_line":"            with restore_db():"},{"line_number":72,"context_line":"                compute.main()"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def test_config_dumped_at_startup_when_log_options_enabled(self):"},{"line_number":75,"context_line":"        \"\"\"Config options are dumped at startup when log_options is True.\"\"\""},{"line_number":76,"context_line":"        self.flags(log_options\u003dTrue)"},{"line_number":77,"context_line":"        with mock.patch.object(compute.CONF, \u0027log_opt_values\u0027) as mock_dump:"},{"line_number":78,"context_line":"            self._call_main()"},{"line_number":79,"context_line":"        mock_dump.assert_called_once()"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def test_config_not_dumped_at_startup_when_log_options_disabled(self):"},{"line_number":82,"context_line":"        \"\"\"Config options are not dumped at startup when log_options is False."}],"source_content_type":"text/x-python","patch_set":2,"id":"4da068c6_93531d75","line":79,"range":{"start_line":73,"start_character":0,"end_line":79,"end_character":38},"in_reply_to":"15783da1_3d322840","updated":"2026-07-22 13:22:22.000000000","message":"Done","commit_id":"16019aa9be96330928137b66c0b83ffc97b9f115"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"e9c7fa084ad0116a3c8a2d125712b1548f9d4aef","unresolved":true,"context_lines":[{"line_number":61,"context_line":"        super().setUp()"},{"line_number":62,"context_line":"        # The config dump is only done in native threading mode; in eventlet"},{"line_number":63,"context_line":"        # mode oslo.service handles it via the service manager path."},{"line_number":64,"context_line":"        if os.environ.get("},{"line_number":65,"context_line":"                \u0027OS_NOVA_DISABLE_EVENTLET_PATCHING\u0027, \u0027\u0027).lower() not in ("},{"line_number":66,"context_line":"                \u00271\u0027, \u0027true\u0027, \u0027yes\u0027):"},{"line_number":67,"context_line":"            self.skipTest("},{"line_number":68,"context_line":"                \"nova-compute config dump at startup is only applicable \""},{"line_number":69,"context_line":"                \"in native threading mode\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"8dfbb980_952505b0","line":66,"range":{"start_line":64,"start_character":0,"end_line":66,"end_character":36},"updated":"2026-07-23 17:24:47.000000000","message":"Could we or shouldn\u0027t we use `if monkey_patch.is_patched()` here instead of this?","commit_id":"eb6a23c8d088a611026d6c0700254651d7e38dc3"}]}
