)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"1ab3175a63d791f9836d9a7e7a522fd520b64c24","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"4b965c5b_fa01d64c","updated":"2026-07-28 19:50:31.000000000","message":"I think the inspect.py stuff can be safely dropped, but needing to tease out the why of it.","commit_id":"b825aef3fa23c12bb4ef354f8e13fc5ab13e017b"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"006d597301c69c8ed2c35b57b6b9d57c41f2a91e","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"46da3bac_cafab4bf","updated":"2026-07-28 20:10:44.000000000","message":"To be explicit: the cases before:\n(api-url can be ipa-api-url or inspection-callback-url)\n- api-url unset: use mDNS\n- api-url \u003d\u003d mDNS: use mDNS\n- api-url \u003d\u003d [anything else]: use api-url, proceed without mDNS\n\nThe cases now:\n\n- api-url unset: do not use mDNS unless [mdns]use_mdns is set\n- api-url \u003d\u003d mDNS: use mDNS (treat this as an opt-in)\n- api-url \u003d\u003d [anything else]: use api-url, proceed without mDNS","commit_id":"b825aef3fa23c12bb4ef354f8e13fc5ab13e017b"}],"ironic_python_agent/agent.py":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"7a0342af791593ba2156ed9225a64aaaba4b744a","unresolved":true,"context_lines":[{"line_number":237,"context_line":"                        # implicit fallback to mDNS, do not fail (maybe"},{"line_number":238,"context_line":"                        # we\u0027re only running inspection)."},{"line_number":239,"context_line":"                        LOG.warning(\u0027Could not get baremetal endpoint \u0027"},{"line_number":240,"context_line":"                                    \u0027from mDNS, will not heartbeat\u0027)"},{"line_number":241,"context_line":"                else:"},{"line_number":242,"context_line":"                    config.override(params)"},{"line_number":243,"context_line":"        if api_url:"}],"source_content_type":"text/x-python","patch_set":2,"id":"11c4173b_9c36057a","line":240,"updated":"2026-07-16 19:28:46.000000000","message":"I\u0027m not sure this else case is the correct behavior or if we should just boom in *all cases* if we can\u0027t get an mdns endpoint and use_mdns is enabled?","commit_id":"88f27fcc10fac0c4df019f8fd8d975f9e443ceff"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"1ab3175a63d791f9836d9a7e7a522fd520b64c24","unresolved":true,"context_lines":[{"line_number":237,"context_line":"                        # implicit fallback to mDNS, do not fail (maybe"},{"line_number":238,"context_line":"                        # we\u0027re only running inspection)."},{"line_number":239,"context_line":"                        LOG.warning(\u0027Could not get baremetal endpoint \u0027"},{"line_number":240,"context_line":"                                    \u0027from mDNS, will not heartbeat\u0027)"},{"line_number":241,"context_line":"                else:"},{"line_number":242,"context_line":"                    config.override(params)"},{"line_number":243,"context_line":"        if api_url:"}],"source_content_type":"text/x-python","patch_set":2,"id":"8561595e_0dd7e3ba","line":240,"in_reply_to":"11c4173b_9c36057a","updated":"2026-07-28 19:50:31.000000000","message":"But it is continuity to the flow before. Odds are one won\u0027t have a working agent, but that is the expected outcome/result.","commit_id":"88f27fcc10fac0c4df019f8fd8d975f9e443ceff"}],"ironic_python_agent/inspector.py":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"7a0342af791593ba2156ed9225a64aaaba4b744a","unresolved":true,"context_lines":[{"line_number":78,"context_line":"        # explicit, operator-controlled opt-in (there is no implicit"},{"line_number":79,"context_line":"        # fallback here), requiring the same level of access as [mdns]"},{"line_number":80,"context_line":"        # use_mdns. Honor it as such."},{"line_number":81,"context_line":"        CONF.set_override(\u0027use_mdns\u0027, True, group\u003d\u0027mdns\u0027)"},{"line_number":82,"context_line":"        LOG.debug(\u0027Fetching the inspection URL from mDNS\u0027)"},{"line_number":83,"context_line":"        url, params \u003d mdns.get_endpoint(\u0027baremetal-introspection\u0027)"},{"line_number":84,"context_line":"        # We expect a proper catalog URL, which doesn\u0027t include any path."}],"source_content_type":"text/x-python","patch_set":2,"id":"1dc11a2f_6f059641","line":81,"updated":"2026-07-16 19:28:46.000000000","message":"inspection_callback_url gets set to mdns programatically above, this is broken","commit_id":"88f27fcc10fac0c4df019f8fd8d975f9e443ceff"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"85dafa14642a4eb4b4136e19f00c4f8884f1da2f","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        # explicit, operator-controlled opt-in (there is no implicit"},{"line_number":79,"context_line":"        # fallback here), requiring the same level of access as [mdns]"},{"line_number":80,"context_line":"        # use_mdns. Honor it as such."},{"line_number":81,"context_line":"        CONF.set_override(\u0027use_mdns\u0027, True, group\u003d\u0027mdns\u0027)"},{"line_number":82,"context_line":"        LOG.debug(\u0027Fetching the inspection URL from mDNS\u0027)"},{"line_number":83,"context_line":"        url, params \u003d mdns.get_endpoint(\u0027baremetal-introspection\u0027)"},{"line_number":84,"context_line":"        # We expect a proper catalog URL, which doesn\u0027t include any path."}],"source_content_type":"text/x-python","patch_set":2,"id":"08cd4860_a01940bd","line":81,"in_reply_to":"1dc11a2f_6f059641","updated":"2026-07-16 19:48:15.000000000","message":"Done","commit_id":"88f27fcc10fac0c4df019f8fd8d975f9e443ceff"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"1ab3175a63d791f9836d9a7e7a522fd520b64c24","unresolved":true,"context_lines":[{"line_number":78,"context_line":"        # explicit, operator-controlled opt-in (there is no implicit"},{"line_number":79,"context_line":"        # fallback here), requiring the same level of access as [mdns]"},{"line_number":80,"context_line":"        # use_mdns. Honor it as such."},{"line_number":81,"context_line":"        CONF.set_override(\u0027use_mdns\u0027, True, group\u003d\u0027mdns\u0027)"},{"line_number":82,"context_line":"        LOG.debug(\u0027Fetching the inspection URL from mDNS\u0027)"},{"line_number":83,"context_line":"        url, params \u003d mdns.get_endpoint(\u0027baremetal-introspection\u0027)"},{"line_number":84,"context_line":"        # We expect a proper catalog URL, which doesn\u0027t include any path."}],"source_content_type":"text/x-python","patch_set":3,"id":"8bca7b9f_8ca35b2c","line":81,"updated":"2026-07-28 19:50:31.000000000","message":"... So why would we do this if we\u0027re guarding elsewhere?\n\nBecause, I\u0027m thinking this call path gets called way later on, but then alreay seems redundant...","commit_id":"b825aef3fa23c12bb4ef354f8e13fc5ab13e017b"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"2f672531fc17a17ba08191dd5f3af3d3d1a85222","unresolved":true,"context_lines":[{"line_number":78,"context_line":"        # explicit, operator-controlled opt-in (there is no implicit"},{"line_number":79,"context_line":"        # fallback here), requiring the same level of access as [mdns]"},{"line_number":80,"context_line":"        # use_mdns. Honor it as such."},{"line_number":81,"context_line":"        CONF.set_override(\u0027use_mdns\u0027, True, group\u003d\u0027mdns\u0027)"},{"line_number":82,"context_line":"        LOG.debug(\u0027Fetching the inspection URL from mDNS\u0027)"},{"line_number":83,"context_line":"        url, params \u003d mdns.get_endpoint(\u0027baremetal-introspection\u0027)"},{"line_number":84,"context_line":"        # We expect a proper catalog URL, which doesn\u0027t include any path."}],"source_content_type":"text/x-python","patch_set":3,"id":"1f2fd576_2bff9c53","line":81,"in_reply_to":"8bca7b9f_8ca35b2c","updated":"2026-07-28 20:05:59.000000000","message":"Discussed this with Jay, I guess I\u0027m okay with this because this is anticipated as a full and complete fallback as mdns is intended in such a case.","commit_id":"b825aef3fa23c12bb4ef354f8e13fc5ab13e017b"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"006d597301c69c8ed2c35b57b6b9d57c41f2a91e","unresolved":true,"context_lines":[{"line_number":78,"context_line":"        # explicit, operator-controlled opt-in (there is no implicit"},{"line_number":79,"context_line":"        # fallback here), requiring the same level of access as [mdns]"},{"line_number":80,"context_line":"        # use_mdns. Honor it as such."},{"line_number":81,"context_line":"        CONF.set_override(\u0027use_mdns\u0027, True, group\u003d\u0027mdns\u0027)"},{"line_number":82,"context_line":"        LOG.debug(\u0027Fetching the inspection URL from mDNS\u0027)"},{"line_number":83,"context_line":"        url, params \u003d mdns.get_endpoint(\u0027baremetal-introspection\u0027)"},{"line_number":84,"context_line":"        # We expect a proper catalog URL, which doesn\u0027t include any path."}],"source_content_type":"text/x-python","patch_set":3,"id":"2de8f55e_f0faf5ca","line":81,"in_reply_to":"8bca7b9f_8ca35b2c","updated":"2026-07-28 20:10:44.000000000","message":"So basically, the unmanaged inspection + mdns use case: the existing opt-in mechanism (setting api-url\u003dmdns) has to keep working for this to be backportable. We also implement something similar for the agent case, on line 215 -- if you set ipa-api-url\u003dmdns, we consider it functionally equivalent to [mdns]use_mdns\u003dtrue.\n\nWe could, in a future change, remove the api-url\u003dmdns override, but that would not be backportable.","commit_id":"b825aef3fa23c12bb4ef354f8e13fc5ab13e017b"}]}
