)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"35b93e2bd0f40a57ed95092b0f2117d987cb88fd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"992b91fe_9090fbc4","updated":"2026-04-14 13:49:21.000000000","message":"This needs a rebase now but I think the general idea is good. Sorry it took so long to get to.","commit_id":"012b7e902f442423209b1db51631a64f43ee2b7f"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"3e6dc895d84a3941a60108d774b59a6dfd313a63","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"440dcbc3_62f8edee","updated":"2026-04-15 12:44:07.000000000","message":"Thanks for your review.","commit_id":"0b88e161bfa66cbdde8d83e8b1424b05153f6be7"}],"doc/source/user/api.rst":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"35b93e2bd0f40a57ed95092b0f2117d987cb88fd","unresolved":true,"context_lines":[{"line_number":238,"context_line":""},{"line_number":239,"context_line":"     $ osprofiler trace show \u003ctrace_id\u003e --connection-string\u003d\u003cURI\u003e --json/--html"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"* Configuration file support for oslo.messaging driver:"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"  When using the messaging driver (``messaging://``), oslo.messaging configuration"},{"line_number":244,"context_line":"  options can be specified via a configuration file if needed. The location of the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"f9d874fb_887aae3c","line":241,"updated":"2026-04-14 13:49:21.000000000","message":"This doesn\u0027t feel like it should be a bullet point since it\u0027s not really a command.\n\nPersonally, I\u0027d also rework the above to use `.. rubric::` (a heading that doesn\u0027t get reflected in the table of contents) instead of bullet points, but that\u0027s likely a separate change for here.","commit_id":"012b7e902f442423209b1db51631a64f43ee2b7f"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"3e6dc895d84a3941a60108d774b59a6dfd313a63","unresolved":false,"context_lines":[{"line_number":238,"context_line":""},{"line_number":239,"context_line":"     $ osprofiler trace show \u003ctrace_id\u003e --connection-string\u003d\u003cURI\u003e --json/--html"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"* Configuration file support for oslo.messaging driver:"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"  When using the messaging driver (``messaging://``), oslo.messaging configuration"},{"line_number":244,"context_line":"  options can be specified via a configuration file if needed. The location of the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"a7c27b61_753d3cf2","line":241,"in_reply_to":"f9d874fb_887aae3c","updated":"2026-04-15 12:44:07.000000000","message":"Done","commit_id":"012b7e902f442423209b1db51631a64f43ee2b7f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"35b93e2bd0f40a57ed95092b0f2117d987cb88fd","unresolved":true,"context_lines":[{"line_number":244,"context_line":"  options can be specified via a configuration file if needed. The location of the"},{"line_number":245,"context_line":"  file can be provided  using the ``--config-file`` parameter:"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"  .. parsed-literal::"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"     $ osprofiler --config-file /etc/osprofiler/osprofiler.conf trace show \u003ctrace_id\u003e --connection-string\u003dmessaging:// --json"},{"line_number":250,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bb942087_ea2fc266","line":247,"updated":"2026-04-14 13:49:21.000000000","message":"I know this is used above but this `.. code-block:: shell` would be more typical here. I didn\u0027t even know this was a thing...","commit_id":"012b7e902f442423209b1db51631a64f43ee2b7f"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"3e6dc895d84a3941a60108d774b59a6dfd313a63","unresolved":false,"context_lines":[{"line_number":244,"context_line":"  options can be specified via a configuration file if needed. The location of the"},{"line_number":245,"context_line":"  file can be provided  using the ``--config-file`` parameter:"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"  .. parsed-literal::"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"     $ osprofiler --config-file /etc/osprofiler/osprofiler.conf trace show \u003ctrace_id\u003e --connection-string\u003dmessaging:// --json"},{"line_number":250,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"70f5c628_defa1f4d","line":247,"in_reply_to":"bb942087_ea2fc266","updated":"2026-04-15 12:44:07.000000000","message":"Done","commit_id":"012b7e902f442423209b1db51631a64f43ee2b7f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"53a0982da35d139f5e81f3565d98ab106d5cf683","unresolved":true,"context_lines":[{"line_number":238,"context_line":""},{"line_number":239,"context_line":"     $ osprofiler trace show \u003ctrace_id\u003e --connection-string\u003d\u003cURI\u003e --json/--html"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"``Configuration file support for oslo.messaging driver in CLI``"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"When using the messaging driver (``messaging://``), oslo.messaging configuration"},{"line_number":244,"context_line":"options can be specified via a configuration file if needed. The location of the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9b89b1ad_ab2da499","line":241,"updated":"2026-04-15 13:10:56.000000000","message":"```suggestion\n.. rubric:: Configuration file support for oslo.messaging driver in CLI\n```\n\n?","commit_id":"0b88e161bfa66cbdde8d83e8b1424b05153f6be7"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"8123659c8552f3dd4baea8245f6031ef394056e0","unresolved":false,"context_lines":[{"line_number":238,"context_line":""},{"line_number":239,"context_line":"     $ osprofiler trace show \u003ctrace_id\u003e --connection-string\u003d\u003cURI\u003e --json/--html"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"``Configuration file support for oslo.messaging driver in CLI``"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"When using the messaging driver (``messaging://``), oslo.messaging configuration"},{"line_number":244,"context_line":"options can be specified via a configuration file if needed. The location of the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1423b8b7_bc49ab61","line":241,"in_reply_to":"9b89b1ad_ab2da499","updated":"2026-04-17 11:37:10.000000000","message":"Done","commit_id":"0b88e161bfa66cbdde8d83e8b1424b05153f6be7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"53a0982da35d139f5e81f3565d98ab106d5cf683","unresolved":true,"context_lines":[{"line_number":246,"context_line":""},{"line_number":247,"context_line":".. code-block:: shell"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"   $ osprofiler --config-file /etc/osprofiler/osprofiler.conf trace show \u003ctrace_id\u003e --connection-string\u003dmessaging:// --json"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"If ``--config-file`` is not specified, OSProfiler will auto-discover configuration"},{"line_number":252,"context_line":"files in standard locations:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"c870dbf3_ef5f77ee","line":249,"updated":"2026-04-15 13:10:56.000000000","message":"```suggestion\n   $ osprofiler --config-file /etc/osprofiler/osprofiler.conf \\\n       trace show --connection-string\u003dmessaging:// --json \u003ctrace_id\u003e\n```","commit_id":"0b88e161bfa66cbdde8d83e8b1424b05153f6be7"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"8123659c8552f3dd4baea8245f6031ef394056e0","unresolved":false,"context_lines":[{"line_number":246,"context_line":""},{"line_number":247,"context_line":".. code-block:: shell"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"   $ osprofiler --config-file /etc/osprofiler/osprofiler.conf trace show \u003ctrace_id\u003e --connection-string\u003dmessaging:// --json"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"If ``--config-file`` is not specified, OSProfiler will auto-discover configuration"},{"line_number":252,"context_line":"files in standard locations:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"c0a2410d_16dec046","line":249,"in_reply_to":"c870dbf3_ef5f77ee","updated":"2026-04-17 11:37:10.000000000","message":"Done","commit_id":"0b88e161bfa66cbdde8d83e8b1424b05153f6be7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"53a0982da35d139f5e81f3565d98ab106d5cf683","unresolved":true,"context_lines":[{"line_number":247,"context_line":".. code-block:: shell"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"   $ osprofiler --config-file /etc/osprofiler/osprofiler.conf trace show \u003ctrace_id\u003e --connection-string\u003dmessaging:// --json"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"If ``--config-file`` is not specified, OSProfiler will auto-discover configuration"},{"line_number":252,"context_line":"files in standard locations:"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"- ``./osprofiler.conf``"},{"line_number":255,"context_line":"- ``~/.osprofiler/osprofiler.conf``"}],"source_content_type":"text/x-rst","patch_set":4,"id":"b04fd218_83891b33","line":252,"range":{"start_line":250,"start_character":1,"end_line":252,"end_character":28},"updated":"2026-04-15 13:10:56.000000000","message":"Can you wrap this at \u003c\u003d 79 characters? doc8 should yell at you about this but I guess it\u0027s not configured here","commit_id":"0b88e161bfa66cbdde8d83e8b1424b05153f6be7"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"8123659c8552f3dd4baea8245f6031ef394056e0","unresolved":false,"context_lines":[{"line_number":247,"context_line":".. code-block:: shell"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"   $ osprofiler --config-file /etc/osprofiler/osprofiler.conf trace show \u003ctrace_id\u003e --connection-string\u003dmessaging:// --json"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"If ``--config-file`` is not specified, OSProfiler will auto-discover configuration"},{"line_number":252,"context_line":"files in standard locations:"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"- ``./osprofiler.conf``"},{"line_number":255,"context_line":"- ``~/.osprofiler/osprofiler.conf``"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ea6314f1_35214b75","line":252,"range":{"start_line":250,"start_character":1,"end_line":252,"end_character":28},"in_reply_to":"b04fd218_83891b33","updated":"2026-04-17 11:37:10.000000000","message":"Done","commit_id":"0b88e161bfa66cbdde8d83e8b1424b05153f6be7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"53a0982da35d139f5e81f3565d98ab106d5cf683","unresolved":true,"context_lines":[{"line_number":265,"context_line":"   [oslo_messaging_rabbit]"},{"line_number":266,"context_line":"   amqp_durable_queues \u003d True"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":".. note::"},{"line_number":269,"context_line":"   Configuration file initialization only occurs when using the ``messaging://``"},{"line_number":270,"context_line":"   driver. Other drivers (redis, elasticsearch, etc.) do not require oslo.config"},{"line_number":271,"context_line":"   and will not trigger config file loading, avoiding unnecessary overhead."}],"source_content_type":"text/x-rst","patch_set":4,"id":"aad211ee_3bf9092a","line":268,"updated":"2026-04-15 13:10:56.000000000","message":"nit:\n\n```suggestion\n.. note::\n\n```","commit_id":"0b88e161bfa66cbdde8d83e8b1424b05153f6be7"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"8123659c8552f3dd4baea8245f6031ef394056e0","unresolved":false,"context_lines":[{"line_number":265,"context_line":"   [oslo_messaging_rabbit]"},{"line_number":266,"context_line":"   amqp_durable_queues \u003d True"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":".. note::"},{"line_number":269,"context_line":"   Configuration file initialization only occurs when using the ``messaging://``"},{"line_number":270,"context_line":"   driver. Other drivers (redis, elasticsearch, etc.) do not require oslo.config"},{"line_number":271,"context_line":"   and will not trigger config file loading, avoiding unnecessary overhead."}],"source_content_type":"text/x-rst","patch_set":4,"id":"110bfb9e_1c4a4861","line":268,"in_reply_to":"aad211ee_3bf9092a","updated":"2026-04-17 11:37:10.000000000","message":"Done","commit_id":"0b88e161bfa66cbdde8d83e8b1424b05153f6be7"}],"osprofiler/cmd/commands.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"35b93e2bd0f40a57ed95092b0f2117d987cb88fd","unresolved":true,"context_lines":[{"line_number":69,"context_line":"            trace \u003d json.load(open(args.trace))"},{"line_number":70,"context_line":"        else:"},{"line_number":71,"context_line":"            try:"},{"line_number":72,"context_line":"                driver_kwargs \u003d dict(args.__dict__)"},{"line_number":73,"context_line":"                # Remove CLI-only arguments"},{"line_number":74,"context_line":"                driver_kwargs.pop(\u0027func\u0027, None)"},{"line_number":75,"context_line":"                driver_kwargs.pop(\u0027config_file\u0027, None)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"                engine \u003d base.get_driver(args.conn_str, **driver_kwargs)"},{"line_number":78,"context_line":"            except Exception as e:"},{"line_number":79,"context_line":"                raise exc.CommandError(e.message)"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"4b521074_dbed1a37","line":77,"range":{"start_line":72,"start_character":0,"end_line":77,"end_character":72},"updated":"2026-04-14 13:49:21.000000000","message":"There are a lot of other options in here that we are currently passing but don\u0027t use. I wonder if we could take this opportunity to explicitly pass options instead?\n\n```suggestion\n                engine \u003d base.get_driver(\n                    args.conn_str,\n                    transport_url\u003dargs.transport_url,\n                    idle_timeout\u003dargs.idle_timeout,\n                )\n```\n\n\nThe other opts (`trace`, `use_json`, `use_html`, `local_libs`, `use_dot`, `file_name`) are all specific to this command.","commit_id":"012b7e902f442423209b1db51631a64f43ee2b7f"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"3e6dc895d84a3941a60108d774b59a6dfd313a63","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            trace \u003d json.load(open(args.trace))"},{"line_number":70,"context_line":"        else:"},{"line_number":71,"context_line":"            try:"},{"line_number":72,"context_line":"                driver_kwargs \u003d dict(args.__dict__)"},{"line_number":73,"context_line":"                # Remove CLI-only arguments"},{"line_number":74,"context_line":"                driver_kwargs.pop(\u0027func\u0027, None)"},{"line_number":75,"context_line":"                driver_kwargs.pop(\u0027config_file\u0027, None)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"                engine \u003d base.get_driver(args.conn_str, **driver_kwargs)"},{"line_number":78,"context_line":"            except Exception as e:"},{"line_number":79,"context_line":"                raise exc.CommandError(e.message)"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"4040ee6b_74cda3cd","line":77,"range":{"start_line":72,"start_character":0,"end_line":77,"end_character":72},"in_reply_to":"4b521074_dbed1a37","updated":"2026-04-15 12:44:07.000000000","message":"good point. Done.","commit_id":"012b7e902f442423209b1db51631a64f43ee2b7f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"35b93e2bd0f40a57ed95092b0f2117d987cb88fd","unresolved":true,"context_lines":[{"line_number":178,"context_line":"                \" either --connection-string or \""},{"line_number":179,"context_line":"                \"via env[OSPROFILER_CONNECTION_STRING]\")"},{"line_number":180,"context_line":"        try:"},{"line_number":181,"context_line":"            driver_kwargs \u003d dict(args.__dict__)"},{"line_number":182,"context_line":"            # Remove CLI-only arguments"},{"line_number":183,"context_line":"            driver_kwargs.pop(\u0027func\u0027, None)"},{"line_number":184,"context_line":"            driver_kwargs.pop(\u0027config_file\u0027, None)"}],"source_content_type":"text/x-python","patch_set":3,"id":"d81a295f_a1a9db43","line":181,"updated":"2026-04-14 13:49:21.000000000","message":"Same comment as above.","commit_id":"012b7e902f442423209b1db51631a64f43ee2b7f"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"3e6dc895d84a3941a60108d774b59a6dfd313a63","unresolved":false,"context_lines":[{"line_number":178,"context_line":"                \" either --connection-string or \""},{"line_number":179,"context_line":"                \"via env[OSPROFILER_CONNECTION_STRING]\")"},{"line_number":180,"context_line":"        try:"},{"line_number":181,"context_line":"            driver_kwargs \u003d dict(args.__dict__)"},{"line_number":182,"context_line":"            # Remove CLI-only arguments"},{"line_number":183,"context_line":"            driver_kwargs.pop(\u0027func\u0027, None)"},{"line_number":184,"context_line":"            driver_kwargs.pop(\u0027config_file\u0027, None)"}],"source_content_type":"text/x-python","patch_set":3,"id":"14a5b619_2c90bb2e","line":181,"in_reply_to":"d81a295f_a1a9db43","updated":"2026-04-15 12:44:07.000000000","message":"Done","commit_id":"012b7e902f442423209b1db51631a64f43ee2b7f"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"9a79d58e2f00c001da02213ab02c0e4c23955e99","unresolved":true,"context_lines":[{"line_number":103,"context_line":"        else:"},{"line_number":104,"context_line":"            try:"},{"line_number":105,"context_line":"                kwargs_driver \u003d {}"},{"line_number":106,"context_line":"                if args and \u0027conf\u0027 in vars(args):"},{"line_number":107,"context_line":"                    kwargs_driver[\u0027conf\u0027] \u003d args.conf"},{"line_number":108,"context_line":"                if args and \u0027transport_url\u0027 in vars(args):"},{"line_number":109,"context_line":"                    kwargs_driver[\u0027transport_url\u0027] \u003d args.transport_url"},{"line_number":110,"context_line":"                engine \u003d base.get_driver("},{"line_number":111,"context_line":"                    args.conn_str,"},{"line_number":112,"context_line":"                    idle_timeout\u003dargs.idle_timeout,"}],"source_content_type":"text/x-python","patch_set":4,"id":"796d455d_8127f545","line":109,"range":{"start_line":106,"start_character":16,"end_line":109,"end_character":71},"updated":"2026-04-15 13:10:45.000000000","message":"Can\u0027t we rather use the global CONF instance instead, and avoid injecting args.conf ?","commit_id":"0b88e161bfa66cbdde8d83e8b1424b05153f6be7"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"82f733cb4a37d0da72997cc7f5d3cd7a92696689","unresolved":true,"context_lines":[{"line_number":103,"context_line":"        else:"},{"line_number":104,"context_line":"            try:"},{"line_number":105,"context_line":"                kwargs_driver \u003d {}"},{"line_number":106,"context_line":"                if args and \u0027conf\u0027 in vars(args):"},{"line_number":107,"context_line":"                    kwargs_driver[\u0027conf\u0027] \u003d args.conf"},{"line_number":108,"context_line":"                if args and \u0027transport_url\u0027 in vars(args):"},{"line_number":109,"context_line":"                    kwargs_driver[\u0027transport_url\u0027] \u003d args.transport_url"},{"line_number":110,"context_line":"                engine \u003d base.get_driver("},{"line_number":111,"context_line":"                    args.conn_str,"},{"line_number":112,"context_line":"                    idle_timeout\u003dargs.idle_timeout,"}],"source_content_type":"text/x-python","patch_set":4,"id":"98c3b034_5b787277","line":109,"range":{"start_line":106,"start_character":16,"end_line":109,"end_character":71},"in_reply_to":"796d455d_8127f545","updated":"2026-04-17 10:54:32.000000000","message":"I\u0027m not sure tbh. This package is used as a library and as cli and I found not using ghe global CONF more easy to follow the code flow. Currently, when using it as a lib using init_from_conf, the config is also passed as an argument to the notifier.create method https://github.com/openstack/osprofiler/blob/master/osprofiler/initializer.py#L25C5-L52 .\n\nI think passing it as a parameter from the shell to the actual commands was also cleaner and more explicit, and given that the parameters from the shell to the command function are passed via args, i though that making the conf part of it was a clean way.\n\nReconsidering it, it may be better to pass it to the command func calls as a separate conf parameter instead of embedded in args what may be confusing, would that be better?","commit_id":"0b88e161bfa66cbdde8d83e8b1424b05153f6be7"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"b8cf7ac7da93013bd9cdf318ed8aae988a5a52d9","unresolved":true,"context_lines":[{"line_number":103,"context_line":"        else:"},{"line_number":104,"context_line":"            try:"},{"line_number":105,"context_line":"                kwargs_driver \u003d {}"},{"line_number":106,"context_line":"                if args and \u0027conf\u0027 in vars(args):"},{"line_number":107,"context_line":"                    kwargs_driver[\u0027conf\u0027] \u003d args.conf"},{"line_number":108,"context_line":"                if args and \u0027transport_url\u0027 in vars(args):"},{"line_number":109,"context_line":"                    kwargs_driver[\u0027transport_url\u0027] \u003d args.transport_url"},{"line_number":110,"context_line":"                engine \u003d base.get_driver("},{"line_number":111,"context_line":"                    args.conn_str,"},{"line_number":112,"context_line":"                    idle_timeout\u003dargs.idle_timeout,"}],"source_content_type":"text/x-python","patch_set":4,"id":"60d0f1c9_14d1d28c","line":109,"range":{"start_line":106,"start_character":16,"end_line":109,"end_character":71},"in_reply_to":"98c3b034_5b787277","updated":"2026-04-17 16:07:09.000000000","message":"The existing CONF already provides the implementation to parse --config-file","commit_id":"0b88e161bfa66cbdde8d83e8b1424b05153f6be7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"53a0982da35d139f5e81f3565d98ab106d5cf683","unresolved":true,"context_lines":[{"line_number":102,"context_line":"            trace \u003d json.load(open(args.trace))"},{"line_number":103,"context_line":"        else:"},{"line_number":104,"context_line":"            try:"},{"line_number":105,"context_line":"                kwargs_driver \u003d {}"},{"line_number":106,"context_line":"                if args and \u0027conf\u0027 in vars(args):"},{"line_number":107,"context_line":"                    kwargs_driver[\u0027conf\u0027] \u003d args.conf"},{"line_number":108,"context_line":"                if args and \u0027transport_url\u0027 in vars(args):"},{"line_number":109,"context_line":"                    kwargs_driver[\u0027transport_url\u0027] \u003d args.transport_url"},{"line_number":110,"context_line":"                engine \u003d base.get_driver("},{"line_number":111,"context_line":"                    args.conn_str,"},{"line_number":112,"context_line":"                    idle_timeout\u003dargs.idle_timeout,"},{"line_number":113,"context_line":"                    **kwargs_driver,"},{"line_number":114,"context_line":"                )"},{"line_number":115,"context_line":"            except Exception as e:"},{"line_number":116,"context_line":"                raise exc.CommandError(str(e))"},{"line_number":117,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"76e9aa3a_bd47ddb1","line":114,"range":{"start_line":105,"start_character":0,"end_line":114,"end_character":17},"updated":"2026-04-15 13:10:56.000000000","message":"We didn\u0027t have an args check before, so I suspect it\u0027s not needed now. I also believe we can simplify based on changes in the next file.\n\n```suggestion\n\n                engine \u003d base.get_driver(\n                    args.conn_str,\n                    idle_timeout\u003dargs.idle_timeout,\n                    conf\u003dargs.conf,\n                    transport_url\u003dargs.transport_url,\n                )\n```\n\nLastly, can we add comment explaining that `conf` is set in the shell?","commit_id":"0b88e161bfa66cbdde8d83e8b1424b05153f6be7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"53a0982da35d139f5e81f3565d98ab106d5cf683","unresolved":true,"context_lines":[{"line_number":238,"context_line":"                \"via env[OSPROFILER_CONNECTION_STRING]\""},{"line_number":239,"context_line":"            )"},{"line_number":240,"context_line":"        try:"},{"line_number":241,"context_line":"            kwargs_driver \u003d {}"},{"line_number":242,"context_line":"            if args and \u0027conf\u0027 in vars(args):"},{"line_number":243,"context_line":"                kwargs_driver[\u0027conf\u0027] \u003d args.conf"},{"line_number":244,"context_line":"            if args and \u0027transport_url\u0027 in vars(args):"},{"line_number":245,"context_line":"                kwargs_driver[\u0027transport_url\u0027] \u003d args.transport_url"},{"line_number":246,"context_line":"            engine \u003d base.get_driver("},{"line_number":247,"context_line":"                args.conn_str, idle_timeout\u003dargs.idle_timeout, **kwargs_driver"},{"line_number":248,"context_line":"            )"},{"line_number":249,"context_line":"        except Exception as e:"},{"line_number":250,"context_line":"            raise exc.CommandError(str(e))"},{"line_number":251,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3220f287_ee0f1451","line":248,"range":{"start_line":241,"start_character":0,"end_line":248,"end_character":13},"updated":"2026-04-15 13:10:56.000000000","message":"Same comment as above","commit_id":"0b88e161bfa66cbdde8d83e8b1424b05153f6be7"}],"osprofiler/cmd/shell.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"35b93e2bd0f40a57ed95092b0f2117d987cb88fd","unresolved":true,"context_lines":[{"line_number":55,"context_line":"        parser.add_argument(\"-v\", \"--version\","},{"line_number":56,"context_line":"                            action\u003d\"version\","},{"line_number":57,"context_line":"                            version\u003dosprofiler.__version__)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        parser.add_argument(\"--config-file\", dest\u003d\"config_file\","},{"line_number":60,"context_line":"                            default\u003dNone,"},{"line_number":61,"context_line":"                            help\u003d\"Path to oslo.config configuration file for \""},{"line_number":62,"context_line":"                                 \"oslo.messaging options. If not specified, \""},{"line_number":63,"context_line":"                                 \"will search in the following locations: \""},{"line_number":64,"context_line":"                                 \"./osprofiler.conf, \""},{"line_number":65,"context_line":"                                 \"~/.osprofiler/osprofiler.conf, \""},{"line_number":66,"context_line":"                                 \"/etc/osprofiler/osprofiler.conf\")"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        self._append_subcommands(parser)"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"d8b412ac_dc810563","line":66,"range":{"start_line":58,"start_character":1,"end_line":66,"end_character":67},"updated":"2026-04-14 13:49:21.000000000","message":"oslo.config provide this ability by default if you simply call `cfg.CONF`. I assume you (or Claude) decided against this for some reason? It would be helpful to call that out in the commit message if so.\n\nAlso, you\u0027re going to need to rework this now that ruff is in use here. When doing so, can you use brackets here?\n\n```suggestion\n\n        parser.add_argument(\n            \"--config-file\",\n            dest\u003d\"config_file\",\n            default\u003dNone,\n            help\u003d(\n                \"Path to oslo.config configuration file for oslo.messaging \"\n                \"options. If not specified, will search in the following \"\n                \"locations: ./osprofiler.conf, ~/.osprofiler/osprofiler.conf, \"\n                \"/etc/osprofiler/osprofiler.conf\"\n            ),\n        )\n```","commit_id":"012b7e902f442423209b1db51631a64f43ee2b7f"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"3e6dc895d84a3941a60108d774b59a6dfd313a63","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        parser.add_argument(\"-v\", \"--version\","},{"line_number":56,"context_line":"                            action\u003d\"version\","},{"line_number":57,"context_line":"                            version\u003dosprofiler.__version__)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        parser.add_argument(\"--config-file\", dest\u003d\"config_file\","},{"line_number":60,"context_line":"                            default\u003dNone,"},{"line_number":61,"context_line":"                            help\u003d\"Path to oslo.config configuration file for \""},{"line_number":62,"context_line":"                                 \"oslo.messaging options. If not specified, \""},{"line_number":63,"context_line":"                                 \"will search in the following locations: \""},{"line_number":64,"context_line":"                                 \"./osprofiler.conf, \""},{"line_number":65,"context_line":"                                 \"~/.osprofiler/osprofiler.conf, \""},{"line_number":66,"context_line":"                                 \"/etc/osprofiler/osprofiler.conf\")"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        self._append_subcommands(parser)"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"cd7c1bb4_60b9d839","line":66,"range":{"start_line":58,"start_character":1,"end_line":66,"end_character":67},"in_reply_to":"d8b412ac_dc810563","updated":"2026-04-15 12:44:07.000000000","message":"That was me :) .My intent was to default to the oslo.config mechanism for config locations while being able to override it with any other path using cli args. This is the easy way i find. If there a recommended alternative, I can change it.","commit_id":"012b7e902f442423209b1db51631a64f43ee2b7f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"53a0982da35d139f5e81f3565d98ab106d5cf683","unresolved":true,"context_lines":[{"line_number":37,"context_line":"        args \u003d self._get_base_parser().parse_args(argv)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        # Initialize oslo.config if needed for messaging driver"},{"line_number":40,"context_line":"        self.conf \u003d self._initialize_conf(args)"},{"line_number":41,"context_line":"        if self.conf is not None:"},{"line_number":42,"context_line":"            args.conf \u003d self.conf"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        opts.set_defaults(cfg.CONF)"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"d176dea1_c50e6fa5","line":42,"range":{"start_line":40,"start_character":47,"end_line":42,"end_character":33},"updated":"2026-04-15 13:10:56.000000000","message":"Can we always assign this so we can rely on it being present in subcommands?\n\n```suggestion\n        args.conf \u003d self._initialize_conf(args)\n```","commit_id":"0b88e161bfa66cbdde8d83e8b1424b05153f6be7"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"82f733cb4a37d0da72997cc7f5d3cd7a92696689","unresolved":true,"context_lines":[{"line_number":37,"context_line":"        args \u003d self._get_base_parser().parse_args(argv)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        # Initialize oslo.config if needed for messaging driver"},{"line_number":40,"context_line":"        self.conf \u003d self._initialize_conf(args)"},{"line_number":41,"context_line":"        if self.conf is not None:"},{"line_number":42,"context_line":"            args.conf \u003d self.conf"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        opts.set_defaults(cfg.CONF)"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"fe1f7704_11e99c6e","line":42,"range":{"start_line":40,"start_character":47,"end_line":42,"end_character":33},"in_reply_to":"d176dea1_c50e6fa5","updated":"2026-04-17 10:54:32.000000000","message":"Sure, no problem, i will do it that way. I did self.conf to make easier for me to inspect the value in unit tests. But i guess we can live without that.","commit_id":"0b88e161bfa66cbdde8d83e8b1424b05153f6be7"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"533e8fa64e841573feb5a8b1fe2c785e8d2c11db","unresolved":true,"context_lines":[{"line_number":37,"context_line":"        args \u003d self._get_base_parser().parse_args(argv)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"        # Initialize oslo.config if needed for messaging driver"},{"line_number":40,"context_line":"        self.conf \u003d self._initialize_conf(args)"},{"line_number":41,"context_line":"        if self.conf is not None:"},{"line_number":42,"context_line":"            args.conf \u003d self.conf"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        opts.set_defaults(cfg.CONF)"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"927ec7b3_dbb676cf","line":42,"range":{"start_line":40,"start_character":47,"end_line":42,"end_character":33},"in_reply_to":"fe1f7704_11e99c6e","updated":"2026-04-17 11:47:22.000000000","message":"As mentioned in another comment, I\u0027ve finally decided to make conf to be out of args, and treat it as a diferent parameter to the command methods. I\u0027m always passing it with cfg object or None.","commit_id":"0b88e161bfa66cbdde8d83e8b1424b05153f6be7"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"9a79d58e2f00c001da02213ab02c0e4c23955e99","unresolved":true,"context_lines":[{"line_number":61,"context_line":"            help\u003d("},{"line_number":62,"context_line":"                \"Path to oslo.config configuration file for oslo.messaging \""},{"line_number":63,"context_line":"                \"options. If not specified, will search in the following \""},{"line_number":64,"context_line":"                \"locations: ./osprofiler.conf, ~/.osprofiler/osprofiler.conf, \""},{"line_number":65,"context_line":"                \"/etc/osprofiler/osprofiler.conf\""},{"line_number":66,"context_line":"            ),"},{"line_number":67,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":4,"id":"346397cb_f43f31ee","line":64,"updated":"2026-04-15 13:10:45.000000000","message":"IIRC oslo.config has a quite similar implementation and it should load this file automatically unless you override default_config_files. Did you try that approach ?","commit_id":"0b88e161bfa66cbdde8d83e8b1424b05153f6be7"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"82f733cb4a37d0da72997cc7f5d3cd7a92696689","unresolved":true,"context_lines":[{"line_number":61,"context_line":"            help\u003d("},{"line_number":62,"context_line":"                \"Path to oslo.config configuration file for oslo.messaging \""},{"line_number":63,"context_line":"                \"options. If not specified, will search in the following \""},{"line_number":64,"context_line":"                \"locations: ./osprofiler.conf, ~/.osprofiler/osprofiler.conf, \""},{"line_number":65,"context_line":"                \"/etc/osprofiler/osprofiler.conf\""},{"line_number":66,"context_line":"            ),"},{"line_number":67,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":4,"id":"51f1be6c_03bb9d2a","line":64,"in_reply_to":"346397cb_f43f31ee","updated":"2026-04-17 10:54:32.000000000","message":"IIUC, you mean keep the parser for the config-file here but avoiding all the file override logic i made in _initialize_conf ? i just learnt that simply setting default_config_files is enough.","commit_id":"0b88e161bfa66cbdde8d83e8b1424b05153f6be7"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"8123659c8552f3dd4baea8245f6031ef394056e0","unresolved":true,"context_lines":[{"line_number":61,"context_line":"            help\u003d("},{"line_number":62,"context_line":"                \"Path to oslo.config configuration file for oslo.messaging \""},{"line_number":63,"context_line":"                \"options. If not specified, will search in the following \""},{"line_number":64,"context_line":"                \"locations: ./osprofiler.conf, ~/.osprofiler/osprofiler.conf, \""},{"line_number":65,"context_line":"                \"/etc/osprofiler/osprofiler.conf\""},{"line_number":66,"context_line":"            ),"},{"line_number":67,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":4,"id":"833e6d66_69ca390d","line":64,"in_reply_to":"346397cb_f43f31ee","updated":"2026-04-17 11:37:10.000000000","message":"IIUC, you mean keep the parser for the config-file here but avoiding all the override logic","commit_id":"0b88e161bfa66cbdde8d83e8b1424b05153f6be7"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"b8cf7ac7da93013bd9cdf318ed8aae988a5a52d9","unresolved":true,"context_lines":[{"line_number":61,"context_line":"            help\u003d("},{"line_number":62,"context_line":"                \"Path to oslo.config configuration file for oslo.messaging \""},{"line_number":63,"context_line":"                \"options. If not specified, will search in the following \""},{"line_number":64,"context_line":"                \"locations: ./osprofiler.conf, ~/.osprofiler/osprofiler.conf, \""},{"line_number":65,"context_line":"                \"/etc/osprofiler/osprofiler.conf\""},{"line_number":66,"context_line":"            ),"},{"line_number":67,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":4,"id":"4ebd1068_5b546991","line":64,"in_reply_to":"833e6d66_69ca390d","updated":"2026-04-17 16:07:09.000000000","message":"The existing CONF already provides the implementation to parse --config-file. The existing implementation also allows you to use multiple config files or even config directory. If you check nova-manage or heat-manage code then you see it uses cfg.SubcommandOpt to parse args in combination to these arguments implemented in oslo.config.","commit_id":"0b88e161bfa66cbdde8d83e8b1424b05153f6be7"}],"releasenotes/notes/add-config-file-e69071bb99b5324e.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"35b93e2bd0f40a57ed95092b0f2117d987cb88fd","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The osprofiler users can provide oslo_messaging config options"},{"line_number":5,"context_line":"    via config file when getting traces via osprofiler CLI. A new"},{"line_number":6,"context_line":"    option --config-file has been added. If not provided, osprofiler"},{"line_number":7,"context_line":"    will search in default locations:"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    - `./osprofiler.conf`"},{"line_number":10,"context_line":"    - `~/.osprofiler/osprofiler.conf`"},{"line_number":11,"context_line":"    - `/etc/osprofiler/osprofiler.conf`"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1cfb0088_01dde128","line":11,"range":{"start_line":3,"start_character":5,"end_line":11,"end_character":39},"updated":"2026-04-14 13:49:21.000000000","message":"This is rST so single backtickets means default role, not literal. You want double backticks.\n\n```suggestion\n  - |\n    The osprofiler users can provide ``oslo_messaging`` config options\n    via config file when getting traces via osprofiler CLI. A new\n    option ``--config-file`` has been added. If not provided, osprofiler\n    will search in default locations:\n\n    - ``./osprofiler.conf``\n    - ``~/.osprofiler/osprofiler.conf``\n    - ``/etc/osprofiler/osprofiler.conf``\n```","commit_id":"012b7e902f442423209b1db51631a64f43ee2b7f"},{"author":{"_account_id":16312,"name":"Alfredo Moralejo","email":"amoralej@redhat.com","username":"amoralej"},"change_message_id":"3e6dc895d84a3941a60108d774b59a6dfd313a63","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The osprofiler users can provide oslo_messaging config options"},{"line_number":5,"context_line":"    via config file when getting traces via osprofiler CLI. A new"},{"line_number":6,"context_line":"    option --config-file has been added. If not provided, osprofiler"},{"line_number":7,"context_line":"    will search in default locations:"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"    - `./osprofiler.conf`"},{"line_number":10,"context_line":"    - `~/.osprofiler/osprofiler.conf`"},{"line_number":11,"context_line":"    - `/etc/osprofiler/osprofiler.conf`"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"7d553fa1_288b0420","line":11,"range":{"start_line":3,"start_character":5,"end_line":11,"end_character":39},"in_reply_to":"1cfb0088_01dde128","updated":"2026-04-15 12:44:07.000000000","message":"Done","commit_id":"012b7e902f442423209b1db51631a64f43ee2b7f"}]}
