)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"53cef5a76d635e1ebbff8569e1a52b557b9c3c87","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"5f1443dc_6743edeb","updated":"2026-07-02 19:06:09.000000000","message":"CCing folks cause I didn\u0027t write a spec on this but I\u0027d like visibility. I want to add the TBN evaluator tool and the inspection rules validator as sub-commands in the future to this as well.","commit_id":"9ff31d3f5fe33642d988bc07551f44e434fd4fdf"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"e713c44e8be2507aa15e1ba67f6a81161d910ac0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"10ed2001_322ddb73","updated":"2026-07-02 16:22:03.000000000","message":"Here\u0027s an example output of this command: https://paste.opendev.org/show/834353/","commit_id":"9ff31d3f5fe33642d988bc07551f44e434fd4fdf"}],"doc/source/cli/index.rst":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"46ef07df9c48f49cbfd673824b0137beb0089c80","unresolved":true,"context_lines":[{"line_number":7,"context_line":"  :maxdepth: 1"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"  ironic-dbsync"},{"line_number":10,"context_line":"  ironic-manage"},{"line_number":11,"context_line":"  ironic-status"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c3c81e7a_53bb89e2","line":10,"updated":"2026-07-03 14:42:49.000000000","message":"Ideally, also add to https://opendev.org/openstack/ironic/src/branch/master/doc/source/references/index.rst#cli-references (I\u0027m not sure why we have two places)","commit_id":"9ff31d3f5fe33642d988bc07551f44e434fd4fdf"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"c8c2079796a094cf37e2ecb7b47520db076bdbd5","unresolved":true,"context_lines":[{"line_number":7,"context_line":"  :maxdepth: 1"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"  ironic-dbsync"},{"line_number":10,"context_line":"  ironic-manage"},{"line_number":11,"context_line":"  ironic-status"}],"source_content_type":"text/x-rst","patch_set":1,"id":"4edbd62b_b7c51b0f","line":10,"in_reply_to":"c3c81e7a_53bb89e2","updated":"2026-07-06 14:25:36.000000000","message":"I\u0027ve made a follow up change with this since you had a +2 but can squash it in too.","commit_id":"9ff31d3f5fe33642d988bc07551f44e434fd4fdf"}],"ironic/command/manage.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"46ef07df9c48f49cbfd673824b0137beb0089c80","unresolved":true,"context_lines":[{"line_number":25,"context_line":"from ironic.drivers import base as driver_base"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"HARDWARE_TYPES_GROUP \u003d \u0027ironic.hardware.types\u0027"},{"line_number":28,"context_line":"INTERFACES_GROUP_TEMPLATE \u003d \u0027ironic.hardware.interfaces.%s\u0027"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def _print_entry_point_group(group, config_option, title):"}],"source_content_type":"text/x-python","patch_set":1,"id":"a2aaa062_fadcf07b","line":28,"updated":"2026-07-03 14:42:49.000000000","message":"nit: these constants are in https://opendev.org/openstack/ironic/src/branch/master/ironic/common/driver_factory.py but private so far","commit_id":"9ff31d3f5fe33642d988bc07551f44e434fd4fdf"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"cc1425e83114866f071ed856d904f5ed433be72f","unresolved":true,"context_lines":[{"line_number":25,"context_line":"from ironic.drivers import base as driver_base"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"HARDWARE_TYPES_GROUP \u003d \u0027ironic.hardware.types\u0027"},{"line_number":28,"context_line":"INTERFACES_GROUP_TEMPLATE \u003d \u0027ironic.hardware.interfaces.%s\u0027"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def _print_entry_point_group(group, config_option, title):"}],"source_content_type":"text/x-python","patch_set":1,"id":"907b3a43_45be7085","line":28,"in_reply_to":"1283278a_425e2aa1","updated":"2026-07-06 17:02:03.000000000","message":"I\u0027m ok with you doing in the type checking branch, I will leave a +2 and will let Dmitry +W in case he is ok!","commit_id":"9ff31d3f5fe33642d988bc07551f44e434fd4fdf"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"c8c2079796a094cf37e2ecb7b47520db076bdbd5","unresolved":true,"context_lines":[{"line_number":25,"context_line":"from ironic.drivers import base as driver_base"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"HARDWARE_TYPES_GROUP \u003d \u0027ironic.hardware.types\u0027"},{"line_number":28,"context_line":"INTERFACES_GROUP_TEMPLATE \u003d \u0027ironic.hardware.interfaces.%s\u0027"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def _print_entry_point_group(group, config_option, title):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1283278a_425e2aa1","line":28,"in_reply_to":"a2aaa062_fadcf07b","updated":"2026-07-06 14:25:36.000000000","message":"Good spot. I\u0027m actually touching that file quite a bit in my type checking branch. Would it be okay if I cleaned this up after this change and did so in my type checking branch?","commit_id":"9ff31d3f5fe33642d988bc07551f44e434fd4fdf"}]}
