Page MenuHomePhabricator

Cloud VPS: neutron network: the ifupdown bridge setup can be fragile
Closed, ResolvedPublic

Description

As of this writing, when we need to create a bridge for the neutron-l3-agent we create a resource via puppet openstack::neutron::bridge. This in turns deploys a config file /etc/network/interafaces.d/<bridge_name>
In the case of our neutron l3 setup, we have 2 bridges with 1 port each, one for the external vlan and other for the internal vlan.
Then, when ifup is called at boot (via networking.service), the bridge will be empty of ports if the vlan interfaces aren't up beforehand. An ordering problem.

Moreover, we have seen the behavior be different if the vlan interface is called eno50.1105 or just vlan1105.

This setup is fragile and can lead to severe network outages.

Event Timeline

Change 839492 had a related patch set uploaded (by Arturo Borrero Gonzalez; author: Arturo Borrero Gonzalez):

[operations/puppet@production] openstack: neutron: refresh bridge ifupdown code to handle ordering

https://gerrit.wikimedia.org/r/839492

Change 839492 merged by Arturo Borrero Gonzalez:

[operations/puppet@production] openstack: neutron: refresh bridge ifupdown code to handle ordering

https://gerrit.wikimedia.org/r/839492

aborrero triaged this task as Medium priority.Oct 6 2022, 11:49 AM
aborrero moved this task from Inbox to Doing on the cloud-services-team (Kanban) board.

The particular issue with ordering has been resolved for now.

The underlying fragility in how we setup neutron in general may remain present, but that's worth another task.