<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>openstack/neutron — Stackers Network</title>
    <link>https://stackers.network/projects/openstack-neutron/</link>
    <description>Weekly code-activity digest for openstack/neutron from Stackers Network.</description>
    <item>
      <title>openstack/neutron — Week of 2026-07-18</title>
      <link>https://stackers.network/projects/openstack-neutron/2026-07-18</link>
      <guid>https://stackers.network/projects/openstack-neutron/2026-07-18</guid>
      <pubDate>Sat, 18 Jul 2026 00:00:00 +0000</pubDate>
      <description>OVN backend. The headline feature adds advertisement of the metadata IPv6 route via the RA Route Information Option, giving instances a way to learn the metadata address over Router Advertisements (995796). A companion fix corrects the haproxy IPv6 bind address format used by…</description>
      <content:encoded><![CDATA[<p><strong>OVN backend.</strong> The headline feature adds advertisement of the metadata IPv6 route via the RA Route Information Option, giving instances a way to learn the metadata address over Router Advertisements (<a href="https://review.opendev.org/c/openstack/neutron/+/995796">995796</a>). A companion fix corrects the haproxy IPv6 bind address format used by the metadata service. On the mechanism-driver side, <code translate="no">update_lsp_host_info</code> now reads the LSP <code translate="no">up</code> state directly from the IDL cache and skips host-info updates entirely for router ports — both changes landed on master and were backported across three stable branches, alongside a guard that checks LSP presence before setting a port UP. A cleanup removes the <code translate="no">BaseEvent</code> shim and fixes <code translate="no">matches()</code> bypassing <code translate="no">base_match()</code> in the OVN event path.</p>
<p><strong>Stability and internals.</strong> <code translate="no">load_db_migration_drivers</code> was repaired, and the quota module drops the unused <code translate="no">set_all_quota_usage_dirty()</code> helper. A functional test now tracks socket fds so they get cleaned up between runs.</p>
<p><strong>CI.</strong> Failing tests on CentOS 10 Stream are temporarily skipped to unblock the gate.</p>
<p>Overall the week is dominated by OVN LSP host-info handling, with roughly a dozen of the fifteen merges touching the OVN backend or its stable-branch backports.</p>]]></content:encoded>
    </item>
    <item>
      <title>openstack/neutron — Week of 2026-07-11</title>
      <link>https://stackers.network/projects/openstack-neutron/2026-07-11</link>
      <guid>https://stackers.network/projects/openstack-neutron/2026-07-11</guid>
      <pubDate>Sat, 11 Jul 2026 00:00:00 +0000</pubDate>
      <description>Database cleanup. The dominant thread was a sweep of dead migration code for legacy plugins and drivers: VMware/NSX, Cisco (init ops and ML2 Nexus), Nuage, NEC, Brocade, Metaplugin/BigSwitch, the LinuxBridge monolithic plugin, and the OVS monolithic plugin were all excised…</description>
      <content:encoded><![CDATA[<p><strong>Database cleanup.</strong> The dominant thread was a sweep of dead migration code for legacy plugins and drivers: VMware/NSX, Cisco (init ops and ML2 Nexus), Nuage, NEC, Brocade, Metaplugin/BigSwitch, the LinuxBridge monolithic plugin, and the OVS monolithic plugin were all excised, deleting roughly 1,600 lines from <code translate="no">neutron/db</code>. A follow-up fix to <code translate="no">load_db_migration_drivers</code> keeps the loader working after the purge.</p>
<p><strong>OVN backend.</strong> A new <code translate="no">TimedOnetimeEvent</code> primitive lands for auto-expiring OVSDB watchers, and RPC workers now use the base OVN IDL with notification events disabled (backported across four branches). Several race and correctness fixes: <code translate="no">HAChassisGroupRouterEvent</code> no longer sets <code translate="no">options.chassis</code> on physnet routers, an <code translate="no">HA_Chassis_Group</code> race in port create/update is closed, <code translate="no">UpdateLRouterCommand</code> now honors <code translate="no">if_exists</code>, <code translate="no">ChassisAgentTypeChangeEvent</code> respects its events attribute, LSP host info updates are skipped for router ports, and <code translate="no">update_virtual_port_parent_host</code> handles <code translate="no">PortNotFound</code>. A BGP change limits <code translate="no">lrp_mac</code> to the local chassis.</p>
<p><strong>Config and stability.</strong> Missing <code translate="no">min</code>/<code translate="no">max</code> bounds were added across timeout, interval, count, size, HA conntrackd, and BGP VRF ID options. Segments code now catches missing RPs in <code translate="no">_delete_nova_inventory</code>, and the metadata proxy socket is closed on GC.</p>
<p><strong>Docs and CI.</strong> New pages cover stadium API groups and supported quota resources, LinuxBridge references were pruned, agentic coding guidance was added, and functional-FIPS venv prep moved to Python 3.12.</p>]]></content:encoded>
    </item>
    <item>
      <title>openstack/neutron — Week of 2026-07-04</title>
      <link>https://stackers.network/projects/openstack-neutron/2026-07-04</link>
      <guid>https://stackers.network/projects/openstack-neutron/2026-07-04</guid>
      <pubDate>Sat, 04 Jul 2026 00:00:00 +0000</pubDate>
      <description>PVLAN and EVPN. The largest drop is a ~400-line documentation addition for PVLAN, paired with a small fix to error handling in the PVLAN code path. On the EVPN side, the child_vxlan_port config option was removed from the evpn implementation, trimming ~100 lines of configuration…</description>
      <content:encoded><![CDATA[<p><strong>PVLAN and EVPN.</strong> The largest drop is a ~400-line documentation addition for PVLAN, paired with a small fix to error handling in the PVLAN code path. On the EVPN side, the <code translate="no">child_vxlan_port</code> config option was removed from the evpn implementation, trimming ~100 lines of configuration surface.</p>
<p><strong>OVN and segments stability.</strong> A race condition in <code translate="no">HA_Chassis_Group</code> during port create/update landed on master and was backported to two stable branches. The <code translate="no">_delete_nova_inventory</code> path in the segments plugin now catches "resource provider not found," also delivered with a stable backport. Elsewhere, <code translate="no">ovs_create_tap</code> was flipped to <code translate="no">True</code> by default (see https://review.opendev.org/c/openstack/neutron/+/994752), and an ugly traceback when attaching a subnet to a router was silenced.</p>
<p><strong>Test and tooling maintenance.</strong> Four near-identical patches updated the <code translate="no">base_mac</code> config override in unit tests across branches, a functional test now waits for the LSP tag to be set before proceeding, bash files gained proper shebangs for linting, and the suite was adapted to a new <code translate="no">testtools</code> release.</p>]]></content:encoded>
    </item>
    <item>
      <title>openstack/neutron — Week of 2026-06-27</title>
      <link>https://stackers.network/projects/openstack-neutron/2026-06-27</link>
      <guid>https://stackers.network/projects/openstack-neutron/2026-06-27</guid>
      <pubDate>Sat, 27 Jun 2026 00:00:00 +0000</pubDate>
      <description>L3 agent and config defaults. The biggest single change replaces the Python keepalived-state-change monitor with a dash script (~990 lines churned), trimming a long-standing piece of the HA router agent. Alongside that, ovn_router_indirect_snat now defaults to True, and…</description>
      <content:encoded><![CDATA[<p><strong>L3 agent and config defaults.</strong> The biggest single change replaces the Python <code translate="no">keepalived-state-change</code> monitor with a dash script (~990 lines churned), trimming a long-standing piece of the HA router agent. Alongside that, <code translate="no">ovn_router_indirect_snat</code> now defaults to <code translate="no">True</code>, and <code translate="no">router_route</code> quota is wired through the Neutron quota engine so route limits are tracked like other resources. The metadata proxy gains configurable HAProxy timeouts (<a href="https://review.opendev.org/c/openstack/neutron/+/990588">990588</a>), and metadata response headers got a cleanup pass.</p>
<p><strong>OVN and EVPN.</strong> Several backend fixes landed: the OVN client now resets only LRP <code translate="no">options</code> keys it actually defined, missing <code translate="no">neutron:network_name</code> on sibling LRPs is tolerated, the EVPN HA Chassis Group is cleaned up on router deletion, and EVPN callbacks gained explicit priorities.</p>
<p><strong>Stability.</strong> Retries were added around <code translate="no">NetlinkDumpInterrupted</code>, <code translate="no">_delete_nova_inventory</code> now catches RP-not-found in segments, PVLAN multinode support was repaired, and <code translate="no">allowed_network_downtime</code> was bumped to 7.0 across four backports. A flaky <code translate="no">test_router_update_with_too_many_routes</code> was also pinned down.</p>
<p><strong>Housekeeping.</strong> CentOS CI jobs moved to 10-stream, a CentOS 9 / FRR 8.5 VRF-delete skip was reverted, and four pylint cleanup passes (iterating-dictionary, nested-blocks, unnecessary-pass, using-enumerate) swept the tree.</p>]]></content:encoded>
    </item>
    <item>
      <title>openstack/neutron — Week of 2026-06-20</title>
      <link>https://stackers.network/projects/openstack-neutron/2026-06-20</link>
      <guid>https://stackers.network/projects/openstack-neutron/2026-06-20</guid>
      <pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate>
      <description>API surface. The big functional addition is the new security-groups-default-statefulness API extension, ~770 lines that let operators control the default stateful/stateless behavior of security groups (review.opendev.org/c/openstack/neutron/+/984356). On the policy side…</description>
      <content:encoded><![CDATA[<p><strong>API surface.</strong> The big functional addition is the new <code translate="no">security-groups-default-statefulness</code> API extension, ~770 lines that let operators control the default stateful/stateless behavior of security groups (<a href="https://review.opendev.org/c/openstack/neutron/+/984356">review.opendev.org/c/openstack/neutron/+/984356</a>). On the policy side, <code translate="no">OwnershipValidationHook</code> was removed and the <code translate="no">create_port</code> rule updated, and <code translate="no">_exclude_attributes_by_policy</code> was optimized for list responses in the pecan path. Several config knobs and exceptions were retired as dead code, including <code translate="no">api_workers</code>, <code translate="no">ha_keepalived_state_change_server_threads</code>, and <code translate="no">UnknownNetworkType</code>/<code translate="no">InvalidAddressRequest</code>/<code translate="no">IPAllocationFailed</code>.</p>
<p><strong>EVPN and FRR driver.</strong> A sizable round of work on the FRR-based EVPN stack: <code translate="no">Port_Binding</code> event handling was fixed (~260 lines), <code translate="no">FrrDriver</code>'s vtysh invocation now accepts <code translate="no">--vty_socket</code>, <code translate="no">frrinit.sh</code> was reworked to spawn background daemons, rootwrap filters for <code translate="no">vtysh</code> landed, and the <code translate="no">FrrFixture</code> now explicitly creates its log directories. A vrf-delete test is skipped on CentOS 9 / FRR 8.5.</p>
<p><strong>Stability and bug fixes.</strong> A quota-details API error with unloaded service plugins was fixed and backported to three stable branches. Other fixes: <code translate="no">FloatingIPDNS</code> rows are now deleted on FIP disassociation, an OVN FIP-deletion race was closed, <code translate="no">tun_br</code> is guarded in <code translate="no">_restore_local_vlan_map</code> when there is no <code translate="no">br-tun</code>, extension flows are reinstalled after an OVS restart, <code translate="no">allowed_address_pairs</code> are included in <code translate="no">CT_MARK_INVALID</code> conntrack cleanup, the maintenance worker lock is now scoped to the worker, and metadata response headers were cleaned up.</p>
<p><strong>Tooling.</strong> A new ~890-line Neutron dependency change detection tool landed; elsewhere, pylint <code translate="no">superfluous-parens</code> warnings were cleared, os-ken bumped to 4.2.1, and some unused OVN metadata grenade and zuul jobs removed.</p>]]></content:encoded>
    </item>
    <item>
      <title>openstack/neutron — Week of 2026-06-13</title>
      <link>https://stackers.network/projects/openstack-neutron/2026-06-13</link>
      <guid>https://stackers.network/projects/openstack-neutron/2026-06-13</guid>
      <pubDate>Sat, 13 Jun 2026 00:00:00 +0000</pubDate>
      <description>EVPN feature track. The bulk of the week's ~9.5k lines went into building out EVPN routing end-to-end. A new FRR driver for EVPN routers landed alongside the OVN-side implementation, the Single VxLAN Device (SVD) management layer, and its integration into the OVN Agent EVPN…</description>
      <content:encoded><![CDATA[<p><strong>EVPN feature track.</strong> The bulk of the week's ~9.5k lines went into building out EVPN routing end-to-end. A new <a href="https://review.opendev.org/c/openstack/neutron/+/988158">FRR driver for EVPN routers</a> landed alongside the OVN-side implementation, the Single VxLAN Device (SVD) management layer, and its integration into the OVN Agent EVPN extension. Supporting plumbing arrived in the form of a generic <code translate="no">RangeAllocator</code> with VNI/VLAN allocation and a <code translate="no">RandomRangeAllocator</code> for random VNI selection, plus HA chassis group assignment on EVPN LRPs, VLAN ID propagation through port-binding events to the FSM, and an SVD split into generic and EVPN-specific pieces. The FRR driver also learned to persist running config across reboots.</p>
<p><strong>Other feature surface.</strong> A DNS forwarder L2 extension landed, and PVLAN gained policy rules, a DevStack service-plugin toggle, and a fix to the update response payload. Policy check strings were migrated wholesale to neutron-lib, and port RBAC policies were tightened to require network ownership.</p>
<p><strong>Stability and bug fixes.</strong> OVN got several correctness fixes: passing gateway LRPs to <code translate="no">_check_external_ips_changed</code>, avoiding a nested transaction in <code translate="no">_delete_port</code>'s virtual parent check, reading LSP <code translate="no">up</code> state from the IDL cache, switching to <code translate="no">LSP.tag_request</code>, and using <code translate="no">idl.has_lock</code> for OVSDB lock checks. The OVS agent now skips OF operations for ports with invalid ofport and defers them in <code translate="no">_process_port</code> (with backports). Other fixes covered floating-IP PF validation, quota details with unloaded service plugins, OVS firewall conntrack cleanup, cross-project router conntrack helper access (three backports), <code translate="no">update_router:enable_default_route_*</code> policies (four backports), and ignoring designate NotFound on PTR delete.</p>
<p><strong>Elsewhere.</strong> CI moved the BGP job to experimental while adding a compute1 node to its multinode tempest variant, and the <code translate="no">neutron.tests</code> contrib module was removed.</p>]]></content:encoded>
    </item>
    <item>
      <title>openstack/neutron — Week of 2026-06-06</title>
      <link>https://stackers.network/projects/openstack-neutron/2026-06-06</link>
      <guid>https://stackers.network/projects/openstack-neutron/2026-06-06</guid>
      <pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate>
      <description>OVN feature push. The week's headline is a new PVLAN driver for the OVN mech driver, landing roughly a thousand lines in a single change (985150). Alongside it, ML2/OVN gained an l3-agent-scheduler-ha-priority extension, a subnet_onboard API extension hook, and a change that…</description>
      <content:encoded><![CDATA[<p><strong>OVN feature push.</strong> The week's headline is a new PVLAN driver for the OVN mech driver, landing roughly a thousand lines in a single change (<a href="https://review.opendev.org/c/openstack/neutron/+/985150">985150</a>). Alongside it, ML2/OVN gained an <code translate="no">l3-agent-scheduler-ha-priority</code> extension, a <code translate="no">subnet_onboard</code> API extension hook, and a change that aligns OVN <code translate="no">NAT</code> row UUIDs with the Neutron floating IP UUID. Operational quirks were also addressed: agents are now marked down when a <code translate="no">Chassis</code> is deleted but <code translate="no">Chassis_Private</code> remains, and router-port subnet lookups in <code translate="no">_get_nets_and_ipv6_ra_confs_for_router_port</code> are batched.</p>
<p><strong>EVPN and BGP scaffolding.</strong> Two adjacent efforts moved forward substantially. EVPN gained a DB model for the <code translate="no">evpn_vni</code> attribute and <code translate="no">port_binding</code> events feeding the OVN agent's EVPN extension. The BGP side introduced a new <code translate="no">InterconnectBridge</code> with peer-to-peer flows, ARP proxy on the main BGP router, a fixed (non-configurable) main BGP router name, and a rule preventing route learning from the main BGP LRP. A new <code translate="no">FrrService</code> test fixture supports this work.</p>
<p><strong>Stability and policy.</strong> The OVS firewall now clears invalid conntrack entries after OF rules are applied, backported across three branches, and a tunnel-network detection fix using tunnel-type driver ranges landed on master plus two stable branches. Other fixes cover invalid MAC handling in metadata agent port provisioning, a worker-lifecycle race, cross-project access to router conntrack helpers, and duplicate <code translate="no">AgentSchedulerDbMixin</code> periodic descriptions. New policies expand service-role RBAC for Octavia and allow service role to set port <code translate="no">device_id</code>, and an <code translate="no">update_l3-router</code> policy was added.</p>
<p><strong>Elsewhere.</strong> Documentation now lists all OVN-supported extensions, grenade jobs were dropped from stable/2025.1 CI, and a round of small ORM cleanups replaced <code translate="no">first()</code> with <code translate="no">one_or_none()</code> and tightened port/rule lookups.</p>]]></content:encoded>
    </item>
    <item>
      <title>openstack/neutron — Week of 2026-05-30</title>
      <link>https://stackers.network/projects/openstack-neutron/2026-05-30</link>
      <guid>https://stackers.network/projects/openstack-neutron/2026-05-30</guid>
      <pubDate>Sat, 30 May 2026 00:00:00 +0000</pubDate>
      <description>New service plugin. The headline addition is a PVLAN service plugin, landing in a single ~1,270-line change that introduces private VLAN support as a first-class Neutron service (review.opendev.org/c/openstack/neutron/+/978798). It is by far the largest piece of code to merge…</description>
      <content:encoded><![CDATA[<p><strong>New service plugin.</strong> The headline addition is a <strong>PVLAN service plugin</strong>, landing in a single ~1,270-line change that introduces private VLAN support as a first-class Neutron service (<a href="https://review.opendev.org/c/openstack/neutron/+/978798">review.opendev.org/c/openstack/neutron/+/978798</a>). It is by far the largest piece of code to merge this week.</p>
<p><strong>BGP and spine-and-leaf.</strong> OVN BGP gained an admin guide for spine-and-leaf fabrics, an EVPN constants module, and a behavior change that always assumes a single provider switch. FRR startup on leaf/spine deployments is now delayed until the controller interfaces actually exist, closing a race during bring-up.</p>
<p><strong>Worker and OVN internals.</strong> Periodic thread workers were reorganized into groups with selective wrapping (replacing an earlier "group periodic thread workers together" patch that was reverted), and a DEBUG decorator now traces worker lifecycle. On the OVN side, OVNL3 post-fork init is skipped in non-API workers, and a redundant <code translate="no">get_port()</code> was removed from <code translate="no">_add_router_ext_gw</code>.</p>
<p><strong>Bug fixes.</strong> Port RBAC policies are now correctly required to check network ownership, and VLAN/tunnel network detection now consults the <code translate="no">VlanTypeDriver</code> and tunnel type driver ranges instead of guessing. ML2 mechanism drivers are notified in reverse order during port delete, and PF floating IP GET/PUT parent validation was corrected. The RBAC, VLAN, and PF floating IP fixes each shipped across three or four stable branches.</p>
<p><strong>Docs.</strong> Substantial new admin documentation landed for server-side processes, notification events and payloads, and policy scope types.</p>]]></content:encoded>
    </item>
    <item>
      <title>openstack/neutron — Week of 2026-05-23</title>
      <link>https://stackers.network/projects/openstack-neutron/2026-05-23</link>
      <guid>https://stackers.network/projects/openstack-neutron/2026-05-23</guid>
      <pubDate>Sat, 23 May 2026 00:00:00 +0000</pubDate>
      <description>EVPN support. The dominant theme this week was EVPN landing as a first-class capability. Roughly 1,600 lines arrived across three changes that together build out the feature: an OVN Agent EVPN extension with a netlink monitor, the API and service plugin implementation, and a…</description>
      <content:encoded><![CDATA[<p><strong>EVPN support.</strong> The dominant theme this week was EVPN landing as a first-class capability. Roughly 1,600 lines arrived across three changes that together build out the feature: an <a href="https://review.opendev.org/c/openstack/neutron/+/984409">OVN Agent EVPN extension with a netlink monitor</a>, the <a href="https://review.opendev.org/c/openstack/neutron/+/986581">API and service plugin implementation</a>, and a finite state machine event handler driving the extension. On the BGP side, VLAN networks are now explicitly rejected to keep the speaker honest about what it can advertise.</p>
<p><strong>OVN stability.</strong> Several long-standing rough edges in the OVN backend were straightened out. A FIP NAT <code translate="no">external_mac</code> race when the LSP was already UP was fixed, a shared <code translate="no">admin_context</code> leak across OVSDB monitor event handlers was closed, and the <code translate="no">OVNL3RouterPlugin</code> now registers its events inside the Neutron API workers. MTU handling for metadata and OVN LB health-monitor tap interfaces was aligned with the network MTU, and <code translate="no">BGPWorker</code> was guarded against a missing <code translate="no">_reconciler</code>.</p>
<p><strong>API surface.</strong> Plural policy names in the tagging controller and floating-IP policy were corrected and backported across four stable branches. Multicast addresses are now rejected in Allowed Address Pairs, and a doc warning was added about QoS low bandwidth limits interacting with MTU.</p>
<p><strong>Maintenance.</strong> Periodic thread workers were grouped, <code translate="no">model_query</code> was dropped from <code translate="no">db/_utils.py</code>, the <code translate="no">version</code> module was deprecated, and the <code translate="no">pbr</code> runtime-dependency removal was reverted.</p>]]></content:encoded>
    </item>
  </channel>
</rss>
