Issue #2132 has been reported by anarcat.

----------------------------------------
Feature #2132: support for named interface aliases under linux
http://projects.reductivelabs.com/issues/2132

Author: anarcat
Status: Unreviewed
Priority: High
Assigned to: 
Category: 
Target version: 1.5.4
Complexity: Trivial
Keywords: 


Linux supports naming interface aliases. Example here:

<pre>
eth1      Lien encap:Ethernet  HWaddr CENSORED
          inet adr:192.168.0.42  Bcast:192.168.0.255  Masque:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:72056 errors:0 dropped:0 overruns:0 frame:0
          TX packets:43727 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          RX bytes:6908277 (6.5 MiB)  TX bytes:96520716 (92.0 MiB)

eth0:hg   Lien encap:Ethernet  HWaddr CENSORED
          inet adr:209.44.112.91  Bcast:209.44.112.127  Masque:255.255.255.192
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth0:rt   Lien encap:Ethernet  HWaddr CENSORED
          inet adr:209.44.112.92  Bcast:209.44.112.127  Masque:255.255.255.192
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
</pre>

In facter 1.5.1 and 1.5.4, this yields duplicate eth0 interfaces in the 
interfaces fact:

<pre>
interfaces => eth0,eth1,eth0,eth0,sit0
</pre>

This, in turn, breaks modules (like the munin module) which rely on the 
interface list to create graphs per interface:

<pre>
err: Could not retrieve catalog: Puppet::Parser::AST::Resource failed with 
error ArgumentError: Duplicate definition: Munin::Plugin[if_eth0] is already 
defined in file /etc/puppet/modules/munin/manifests/plugin.pp at line 101; 
cannot redefine at /etc/puppet/modules/munin/manifests/plugin.pp:101 on node 
shell.koumbit.net
</pre>

So lots of fun. :)

The fix is to be a bit more lenient in what we consider to be an interface. 
Patch for 1.5.4 attached. I know 1.5 master is slightly different, but it 
should be fairly trivial to patch.

With the patch, I get proper facts in place:

<pre>
interfaces => eth0,eth1,eth0_hg,eth0_rt,sit0
</pre>

Since those are "virtual" interfaces (they're just aliases), I guess an 
alternative approach could be to filter out duplicates in the interfaces fact.


----------------------------------------
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://reductivelabs.com/redmine/my/account

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to