Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RCF: [ifupdown] Fix bridges down at boot with Debian bookworm systemd #2441

Merged
merged 1 commit into from
Oct 28, 2024

Conversation

prahal
Copy link
Contributor

@prahal prahal commented Oct 18, 2023

With Debian bookworm systemd 252.6-1, the bridge is stopped immediately after attempting its startup.
It could be that this newer systemd removed the unexpected behavior that allowed to start the service while its "BindsTo" device does not exists.

Workaround for #2370 .

With Debian bookworm systemd 252.6-1, the bridge is stopped immediately
after attempting its startup.
It could be that this newer systemd removed the unexpected behavior that allowed to start
the service while its "BindsTo" device does not exists.
@prahal prahal requested a review from drybjed as a code owner October 18, 2023 14:31
@prahal
Copy link
Contributor Author

prahal commented Oct 18, 2023

@drybjed Note that I cooked this workaround without a reply to my request in #2370 for you to explain me the idea you told about on reddit
https://www.reddit.com/r/debian/comments/7nw98g/comment/ds57s74/ "stick to ifupdown and [email protected] but configure virtual network interfaces as needed in udev beforehand. I'm not sure how this should be done properly, maybe with aid of .device units that define these devices on boot. But this involves more moving parts and I didn't really check if that solution is viable."
I don't think one can create an interface with udev without binding it to a physical interface event (add, change, remove). So to me udev cannot help to create this bridge device before running iface@ service.
We could ask the systemd projects devs how they envision this bridge device creation (or if they have other ideas to cope with this issue).

Copy link
Member

@drybjed drybjed left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is probably a good workaround for current issues, I hope that you tested this. :)

The solution to the issue you mentioned is to create bridge devices in udev ourselves, yes. I'm not sure how ifupdown developers handle this in newer Debian releases, but in networkd it's just a few configuration options (see examples in the networkd role documentation). When the ifupdown role is refreshed this probably will be taken care of in the way ifupdown service does it. In simpler setups, switching to networkd is probably an easier way than to use ifupdown.

@drybjed drybjed added change requests to change existing functionality priority: high status: completed whatever was proposed is now done tag: networking labels Oct 28, 2024
@drybjed drybjed added this to the DebOps v3.3.0 milestone Oct 28, 2024
@drybjed drybjed merged commit 546807a into debops:master Oct 28, 2024
13 of 15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
change requests to change existing functionality priority: high status: completed whatever was proposed is now done tag: networking
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants