Bug 1098102

Summary: systemd-networkd - getting address failed: Device or resource busy
Product: [Fedora] Fedora Reporter: poma <pomidorabelisima>
Component: systemdAssignee: Tom Gundersen <tgunders>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: johannbg, lnykryn, msekleta, plautrba, s, systemd-maint, tgunders, vpavlin, zbyszek
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-05-15 19:08:09 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
systemd-networkd-212-10.git19befb2.20140514.fc21.x86_64 3.15.0-0.rc5.git2.8.fc21.x86_64 none

Description poma 2014-05-15 10:05:05 UTC
systemd-networkd: bridge0: getting address failed: Device or resource busy
systemd-networkd: enp1s6: getting address failed: Device or resource busy
systemd-networkd: enp3s0: getting address failed: Device or resource busy
systemd-networkd: enp1s9: getting address failed: Device or resource busy
systemd-networkd: lo: getting address failed: Device or resource busy

Is it something to consider?

Comment 1 poma 2014-05-15 10:06:16 UTC
Created attachment 895831 [details]
systemd-networkd-212-10.git19befb2.20140514.fc21.x86_64 3.15.0-0.rc5.git2.8.fc21.x86_64

Comment 2 Jóhann B. Guðmundsson 2014-05-15 12:10:51 UTC
You will need to attach all your custom network unit in /etc/systemd/network directory to the report and it seems like interface enp3s0 and enp1s9 are using the same mac address "MAC address: 00:12:34:56:78:30" which to me seems a bit odd...

bond0: MAC address: ce:fe:3f:65:bb:42
bridge0: MAC address: 9a:a8:9f:33:53:71
enp1s6: MAC address: 00:12:34:56:78:16
enp3s0: MAC address: 00:12:34:56:78:30 <--
enp1s9: MAC address: 00:12:34:56:78:30 <--

And in bonding and bridging as well in the dhcp section 
bond0: MAC address: 00:12:34:56:78:30 <- would have expected ce:fe:3f:65:bb:42
bridge0: MAC address: 00:12:34:56:78:30 <- would have expected 9a:a8:9f:33:53:71

In anycase it might somekind of race ( lock ) condition in the dhcp ( request ) implementation since things to me seem to be working fine up to that point

Comment 3 Tom Gundersen 2014-05-15 13:07:49 UTC
Hi poma,

I haven't figured out what is causing these messages, but it appears to be harmless. I.e., the kernel is sending us all the addresses it should, but for some reason also spits out some errors. Until I (or someone else) figures out what is causing the erros I'd prefer to keep them in (at debug level), but eventually I expect we'll filter them out (or fix networkd/kernel if there is a bug).

Jóhann,

The duplicate mac address does indeed look weird (though unrelated to this bug), I expect it is a config failure (i.e., a .network file that is only meant to apply to one interface is applied to two).

As to the MAC address of bond0/bridge0, these appear to be correct. What is happening is that the kernel changes the MAC address at runtime, and it appears that we are picking this up correctly. Of course, the fact that the kernel is changing this is all kinds of crazy, and a fix is making its way to the stable kernels so we can just set a sane MAC address from the get-go.

Comment 4 poma 2014-05-15 19:02:44 UTC
(In reply to Jóhann B. Guðmundsson from comment #2)
> You will need to attach all your custom network unit in /etc/systemd/network
> directory to the report and it seems like interface enp3s0 and enp1s9 are
> using the same mac address "MAC address: 00:12:34:56:78:30" which to me
> seems a bit odd...
> 
> bond0: MAC address: ce:fe:3f:65:bb:42
> bridge0: MAC address: 9a:a8:9f:33:53:71
> enp1s6: MAC address: 00:12:34:56:78:16
> enp3s0: MAC address: 00:12:34:56:78:30 <--
> enp1s9: MAC address: 00:12:34:56:78:30 <--
> 
> And in bonding and bridging as well in the dhcp section 
> bond0: MAC address: 00:12:34:56:78:30 <- would have expected
> ce:fe:3f:65:bb:42
> bridge0: MAC address: 00:12:34:56:78:30 <- would have expected
> 9a:a8:9f:33:53:71
> 
> In anycase it might somekind of race ( lock ) condition in the dhcp (
> request ) implementation since things to me seem to be working fine up to
> that point


Config is the same and the log can be compared with the previous one;
systemd-networkd - bonding, bridges
https://bugzilla.redhat.com/show_bug.cgi?id=1074294#c17

I don't think that problematic are the real interfaces, only one(enp1s9) of them must be powered off/on to show the proper EHA;

[   18.947097] systemd-networkd[581]: bond0: MAC address: 1a:a5:47:b8:52:5d
[   18.952744] systemd-networkd[581]: bridge0: MAC address: d2:2f:29:e4:60:ed
[   18.972495] systemd-networkd[581]: enp3s0: MAC address: 00:12:34:56:78:30
[   18.974546] systemd-networkd[581]: enp1s6: MAC address: 00:12:34:56:78:16
[   18.990586] systemd-networkd[581]: enp1s9: MAC address: 00:12:34:56:78:30
[   19.003344] systemd-networkd[581]: bond0: MAC address: 00:12:34:56:78:30
[   19.007562] systemd-networkd[581]: bridge0: MAC address: 00:12:34:56:78:30

power off / power on

[   16.894278] systemd-networkd[579]: bond0: MAC address: 7a:6b:d2:fe:af:75
[   16.896850] systemd-networkd[579]: bridge0: MAC address: aa:75:b3:55:7c:dd
[   16.914666] systemd-networkd[579]: enp3s0: MAC address: 00:12:34:56:78:30
[   16.932506] systemd-networkd[579]: enp1s9: MAC address: 00:12:34:56:78:19
[   16.934843] systemd-networkd[579]: enp1s6: MAC address: 00:12:34:56:78:16
[   16.951525] systemd-networkd[579]: bond0: MAC address: 00:12:34:56:78:30
[   16.954124] systemd-networkd[579]: enp1s9: MAC address: 00:12:34:56:78:30
[   16.957758] systemd-networkd[579]: bridge0: MAC address: 00:12:34:56:78:30