)]}'
{"/PATCHSET_LEVEL":[{"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":"5c4d90ee7529e61d51f20ee25c0f8c4df0d361d3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"b1b27ccc_36848d23","updated":"2026-02-27 21:29:03.000000000","message":"+2 because we\u0027re describing the behavior, and it\u0027s a doc... but the failure cases are unfortunate","commit_id":"f5dc35da99ff6234852e0b975fa759c0ea2af627"},{"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":"ae925adeea936a8fce3c25f3fb3c7d4c923495e1","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"1fbd4e4e_83c1a6a0","updated":"2026-03-02 18:31:32.000000000","message":"CI Failure is real.\n\n\u003e 2026-03-02 18:18:13.389278 | ubuntu-noble | /home/zuul/src/opendev.org/openstack/ironic/doc/source/admin/vxlan.rst: WARNING: document isn\u0027t included in any toctree","commit_id":"9b28c333633e1afb91accb4dbbf47a25ad4ddd74"}],"doc/source/admin/vxlan.rst":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a9828e7a95be8c8a12bd406652b3e9274a38c649","unresolved":true,"context_lines":[{"line_number":205,"context_line":"The OVN controller manages the lifecycle of these localnet ports, enabling"},{"line_number":206,"context_line":"them on nodes that have appropriate bridge mappings and disabling them when"},{"line_number":207,"context_line":"network topology changes. This provides automatic failover and load"},{"line_number":208,"context_line":"distribution across multiple network nodes."},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"Requirements"},{"line_number":211,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"608df398_4fb1dc8a","line":208,"updated":"2026-02-24 00:12:34.000000000","message":"We might want to call out to the OVN docs we carry regarding issues.","commit_id":"6b56895303b49efcf04969b5ae1737abadc67352"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"be4fb4c5a3df5c4d5bec0a80944c0253dc517aa9","unresolved":false,"context_lines":[{"line_number":205,"context_line":"The OVN controller manages the lifecycle of these localnet ports, enabling"},{"line_number":206,"context_line":"them on nodes that have appropriate bridge mappings and disabling them when"},{"line_number":207,"context_line":"network topology changes. This provides automatic failover and load"},{"line_number":208,"context_line":"distribution across multiple network nodes."},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"Requirements"},{"line_number":211,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"c9c642de_fb0c36b1","line":208,"in_reply_to":"608df398_4fb1dc8a","updated":"2026-03-03 15:15:55.000000000","message":"I revised the OVN docs separately, so we should be pretty good there given I think we\u0027ve also resolved (or started the process of resolving) some of the other major issues.","commit_id":"6b56895303b49efcf04969b5ae1737abadc67352"},{"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":"5c4d90ee7529e61d51f20ee25c0f8c4df0d361d3","unresolved":true,"context_lines":[{"line_number":525,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":526,"context_line":""},{"line_number":527,"context_line":"Port Binding Failures"},{"line_number":528,"context_line":"---------------------"},{"line_number":529,"context_line":""},{"line_number":530,"context_line":"**Symptom**: Bare metal node is stuck in \"wait call-back\" or \"deploying\""},{"line_number":531,"context_line":"state."}],"source_content_type":"text/x-rst","patch_set":4,"id":"e005b6aa_433b0eee","line":528,"updated":"2026-02-27 21:29:03.000000000","message":"This entire section has me concerned because it talks about a symptom of nodes being stuck in state for what seems like relatively common misconfigurations. Nodes getting stuck in states is one of our worst failure modes -- what are we missing to properly plumb through failure notifications to Ironic?","commit_id":"f5dc35da99ff6234852e0b975fa759c0ea2af627"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7f91230fa24a6b215debd16c5473b212a574e296","unresolved":true,"context_lines":[{"line_number":525,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":526,"context_line":""},{"line_number":527,"context_line":"Port Binding Failures"},{"line_number":528,"context_line":"---------------------"},{"line_number":529,"context_line":""},{"line_number":530,"context_line":"**Symptom**: Bare metal node is stuck in \"wait call-back\" or \"deploying\""},{"line_number":531,"context_line":"state."}],"source_content_type":"text/x-rst","patch_set":4,"id":"a1a29434_c7e94eb5","line":528,"in_reply_to":"e005b6aa_433b0eee","updated":"2026-03-02 16:21:38.000000000","message":"So, really we lack completion callback from working. Yet, that is only on completion. The right way to proceed with that is to ensure that we get deferred tasks moved forward and create a deferred task to resume the overall deployment flow.","commit_id":"f5dc35da99ff6234852e0b975fa759c0ea2af627"},{"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":"5c4d90ee7529e61d51f20ee25c0f8c4df0d361d3","unresolved":true,"context_lines":[{"line_number":532,"context_line":""},{"line_number":533,"context_line":"**Common Causes**:"},{"line_number":534,"context_line":""},{"line_number":535,"context_line":"1. **No physical_network configured**"},{"line_number":536,"context_line":""},{"line_number":537,"context_line":"   Check if the port has a physical_network::"},{"line_number":538,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"23f2e7fd_84bbc8c5","line":535,"updated":"2026-02-27 21:29:03.000000000","message":"Why would this leave things in a stuck state? Can\u0027t we make this error properly?","commit_id":"f5dc35da99ff6234852e0b975fa759c0ea2af627"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7f91230fa24a6b215debd16c5473b212a574e296","unresolved":true,"context_lines":[{"line_number":532,"context_line":""},{"line_number":533,"context_line":"**Common Causes**:"},{"line_number":534,"context_line":""},{"line_number":535,"context_line":"1. **No physical_network configured**"},{"line_number":536,"context_line":""},{"line_number":537,"context_line":"   Check if the port has a physical_network::"},{"line_number":538,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"cd3399d1_b5c6d518","line":535,"in_reply_to":"23f2e7fd_84bbc8c5","updated":"2026-03-02 16:21:38.000000000","message":"So, we can\u0027t detect a silent failure case, nor can neutron. Drivers raising exceptions are ignored, the only indicator is a driver successfully indicating completion. https://review.opendev.org/c/openstack/ironic/+/699953 Fixes this to an extent, however that will be what ends up failing the deployment.","commit_id":"f5dc35da99ff6234852e0b975fa759c0ea2af627"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7f91230fa24a6b215debd16c5473b212a574e296","unresolved":true,"context_lines":[{"line_number":541,"context_line":"   Set if missing::"},{"line_number":542,"context_line":""},{"line_number":543,"context_line":"       openstack baremetal port set --physical-network physnet1 \u003cport-uuid\u003e"},{"line_number":544,"context_line":""},{"line_number":545,"context_line":"2. **VLAN exhaustion on physical network**"},{"line_number":546,"context_line":""},{"line_number":547,"context_line":"   Check available VLANs in ``/etc/neutron/plugins/ml2/ml2_conf.ini``::"}],"source_content_type":"text/x-rst","patch_set":4,"id":"56a36f28_debef072","line":544,"updated":"2026-03-02 16:21:38.000000000","message":"todo: lets add note regarding the setting added in https://review.opendev.org/c/openstack/ironic/+/699953 which should still fail the deployment.","commit_id":"f5dc35da99ff6234852e0b975fa759c0ea2af627"},{"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":"5c4d90ee7529e61d51f20ee25c0f8c4df0d361d3","unresolved":true,"context_lines":[{"line_number":542,"context_line":""},{"line_number":543,"context_line":"       openstack baremetal port set --physical-network physnet1 \u003cport-uuid\u003e"},{"line_number":544,"context_line":""},{"line_number":545,"context_line":"2. **VLAN exhaustion on physical network**"},{"line_number":546,"context_line":""},{"line_number":547,"context_line":"   Check available VLANs in ``/etc/neutron/plugins/ml2/ml2_conf.ini``::"},{"line_number":548,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"42c69d3e_e7c574b8","line":545,"updated":"2026-02-27 21:29:03.000000000","message":"Again, is there no way to plumb the error up to the user in this case?","commit_id":"f5dc35da99ff6234852e0b975fa759c0ea2af627"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7f91230fa24a6b215debd16c5473b212a574e296","unresolved":true,"context_lines":[{"line_number":542,"context_line":""},{"line_number":543,"context_line":"       openstack baremetal port set --physical-network physnet1 \u003cport-uuid\u003e"},{"line_number":544,"context_line":""},{"line_number":545,"context_line":"2. **VLAN exhaustion on physical network**"},{"line_number":546,"context_line":""},{"line_number":547,"context_line":"   Check available VLANs in ``/etc/neutron/plugins/ml2/ml2_conf.ini``::"},{"line_number":548,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"8c7ec4b1_6ab029ef","line":545,"in_reply_to":"42c69d3e_e7c574b8","updated":"2026-03-02 16:21:38.000000000","message":"The same mitigating control in https://review.opendev.org/c/openstack/ironic/+/699953 adddresses this, however there is quite literally no way to surface \"there are insufficent vlans\" short of someone seeing the error from the segments database in neutron. Its not remotely detectable or surfaces up.","commit_id":"f5dc35da99ff6234852e0b975fa759c0ea2af627"},{"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":"65ae844abc9ed823616368163760e64f7ce486c5","unresolved":true,"context_lines":[{"line_number":542,"context_line":""},{"line_number":543,"context_line":"       openstack baremetal port set --physical-network physnet1 \u003cport-uuid\u003e"},{"line_number":544,"context_line":""},{"line_number":545,"context_line":"2. **VLAN exhaustion on physical network**"},{"line_number":546,"context_line":""},{"line_number":547,"context_line":"   Check available VLANs in ``/etc/neutron/plugins/ml2/ml2_conf.ini``::"},{"line_number":548,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"869efe00_7ebbad45","line":545,"in_reply_to":"8c7ec4b1_6ab029ef","updated":"2026-03-02 16:35:01.000000000","message":"I don\u0027t care about surfacing the *right error* to the user. I care about: 1) never having a node in ACTIVE that isn\u0027t networking properly and 2) never leaving nodes stuck (or stuck-until-timeout) in a state due to a failure mode","commit_id":"f5dc35da99ff6234852e0b975fa759c0ea2af627"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7f91230fa24a6b215debd16c5473b212a574e296","unresolved":true,"context_lines":[{"line_number":577,"context_line":""},{"line_number":578,"context_line":"Check the Neutron server logs for errors related to segment allocation::"},{"line_number":579,"context_line":""},{"line_number":580,"context_line":"    sudo journalctl -u devstack@q-svc | grep -i segment"},{"line_number":581,"context_line":""},{"line_number":582,"context_line":"**Possible Causes**:"},{"line_number":583,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"c28db413_db086522","line":580,"updated":"2026-03-02 16:21:38.000000000","message":"This is full of devstack-isms.","commit_id":"f5dc35da99ff6234852e0b975fa759c0ea2af627"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"be4fb4c5a3df5c4d5bec0a80944c0253dc517aa9","unresolved":false,"context_lines":[{"line_number":577,"context_line":""},{"line_number":578,"context_line":"Check the Neutron server logs for errors related to segment allocation::"},{"line_number":579,"context_line":""},{"line_number":580,"context_line":"    sudo journalctl -u devstack@q-svc | grep -i segment"},{"line_number":581,"context_line":""},{"line_number":582,"context_line":"**Possible Causes**:"},{"line_number":583,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3c7273dc_e0ed982f","line":580,"in_reply_to":"c28db413_db086522","updated":"2026-03-03 15:15:55.000000000","message":"Done","commit_id":"f5dc35da99ff6234852e0b975fa759c0ea2af627"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7f91230fa24a6b215debd16c5473b212a574e296","unresolved":true,"context_lines":[{"line_number":704,"context_line":"this model. The hierarchical binding mechanism expects to allocate the lower"},{"line_number":705,"context_line":"segment automatically."},{"line_number":706,"context_line":""},{"line_number":707,"context_line":"**Mitigation**: Use regular tenant networks with VXLAN as the default"},{"line_number":708,"context_line":"network type."},{"line_number":709,"context_line":""},{"line_number":710,"context_line":"Performance Depends on Connectivity Model"}],"source_content_type":"text/x-rst","patch_set":4,"id":"cb063711_f203c305","line":707,"range":{"start_line":707,"start_character":49,"end_line":707,"end_character":54},"updated":"2026-03-02 16:21:38.000000000","message":"or Geneve","commit_id":"f5dc35da99ff6234852e0b975fa759c0ea2af627"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"7f91230fa24a6b215debd16c5473b212a574e296","unresolved":true,"context_lines":[{"line_number":747,"context_line":"- **VXLAN Support Specification**:"},{"line_number":748,"context_line":"  https://review.opendev.org/c/openstack/ironic-specs/+/959401"},{"line_number":749,"context_line":""},{"line_number":750,"context_line":"Code Reviews"},{"line_number":751,"context_line":"------------"},{"line_number":752,"context_line":""},{"line_number":753,"context_line":"- **baremetal-l2vni mechanism driver**:"},{"line_number":754,"context_line":"  https://review.opendev.org/c/openstack/networking-baremetal/+/973889"},{"line_number":755,"context_line":""},{"line_number":756,"context_line":"- **Trunk port reconciliation for L2VNI**:"},{"line_number":757,"context_line":"  https://review.opendev.org/c/openstack/networking-baremetal/+/974619"},{"line_number":758,"context_line":""},{"line_number":759,"context_line":"- **NGS Cisco NX-OS VXLAN support**:"},{"line_number":760,"context_line":"  https://review.opendev.org/c/openstack/networking-generic-switch/+/968377"},{"line_number":761,"context_line":""},{"line_number":762,"context_line":"- **NGS Arista EOS and SONiC VXLAN support**:"},{"line_number":763,"context_line":"  https://review.opendev.org/c/openstack/networking-generic-switch/+/972763"},{"line_number":764,"context_line":""},{"line_number":765,"context_line":"- **NGS Junos and Cumulus NVUE VXLAN support**:"},{"line_number":766,"context_line":"  https://review.opendev.org/c/openstack/networking-generic-switch/+/972764"},{"line_number":767,"context_line":""},{"line_number":768,"context_line":"External Documentation"},{"line_number":769,"context_line":"----------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9ad5856c_f252b1b9","line":766,"range":{"start_line":750,"start_character":0,"end_line":766,"end_character":75},"updated":"2026-03-02 16:21:38.000000000","message":"The code reviews can be dropped. They all merged.","commit_id":"f5dc35da99ff6234852e0b975fa759c0ea2af627"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"be4fb4c5a3df5c4d5bec0a80944c0253dc517aa9","unresolved":false,"context_lines":[{"line_number":747,"context_line":"- **VXLAN Support Specification**:"},{"line_number":748,"context_line":"  https://review.opendev.org/c/openstack/ironic-specs/+/959401"},{"line_number":749,"context_line":""},{"line_number":750,"context_line":"Code Reviews"},{"line_number":751,"context_line":"------------"},{"line_number":752,"context_line":""},{"line_number":753,"context_line":"- **baremetal-l2vni mechanism driver**:"},{"line_number":754,"context_line":"  https://review.opendev.org/c/openstack/networking-baremetal/+/973889"},{"line_number":755,"context_line":""},{"line_number":756,"context_line":"- **Trunk port reconciliation for L2VNI**:"},{"line_number":757,"context_line":"  https://review.opendev.org/c/openstack/networking-baremetal/+/974619"},{"line_number":758,"context_line":""},{"line_number":759,"context_line":"- **NGS Cisco NX-OS VXLAN support**:"},{"line_number":760,"context_line":"  https://review.opendev.org/c/openstack/networking-generic-switch/+/968377"},{"line_number":761,"context_line":""},{"line_number":762,"context_line":"- **NGS Arista EOS and SONiC VXLAN support**:"},{"line_number":763,"context_line":"  https://review.opendev.org/c/openstack/networking-generic-switch/+/972763"},{"line_number":764,"context_line":""},{"line_number":765,"context_line":"- **NGS Junos and Cumulus NVUE VXLAN support**:"},{"line_number":766,"context_line":"  https://review.opendev.org/c/openstack/networking-generic-switch/+/972764"},{"line_number":767,"context_line":""},{"line_number":768,"context_line":"External Documentation"},{"line_number":769,"context_line":"----------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"28c8c9fa_261fe2f3","line":766,"range":{"start_line":750,"start_character":0,"end_line":766,"end_character":75},"in_reply_to":"9ad5856c_f252b1b9","updated":"2026-03-03 15:15:55.000000000","message":"Done","commit_id":"f5dc35da99ff6234852e0b975fa759c0ea2af627"}]}
