Issue #2132 has been updated by jamtur01.

Status changed from Ready for Checkin to Closed
Target version changed from 1.6.0 to 1.5.5

Pushed in commit:"7fa257689b08d5c6c8e22da9da49f0679aa9b1d9" in branch 1.5.x
----------------------------------------
Feature #2132: support for named interface aliases under linux
http://projects.reductivelabs.com/issues/2132

Author: anarcat
Status: Ready for Checkin
Priority: High
Assigned to: jamtur01
Category: library
Target version: 1.5.5
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