Issue #7559 has been updated by C Lang.

MACs are completely inconsistent in a VPC. I think we can officially abandon 
that suggestion.

I note that ec2 facts work fine in facter 1.6.7-1.16 in the epel repository.  
That version of ec2.rb doesn't appear to check for a MAC, but just tries to 
connect and read the meta data.

It seems like this is an optimization that broke critical functionality for 
those of us in VPCs. Is it really impractical to simply ditch the MAC check for 
now?  I am currently forced to use Puppet to patch ec2.rb before my systems can 
work properly - not very efficient for boot-strapping new instances. 

This bug is 15 months old. Can we PLEASE get it fixed?

----------------------------------------
Feature #7559: Fact for identifying Amazon VPC instances.
https://projects.puppetlabs.com/issues/7559#change-69643

Author: Nigel Kersten
Status: Accepted
Priority: Normal
Assignee: 
Category: library
Target version: 
Keywords: vpc ec2 arp
Branch: 
Affected Facter version: 1.6.10


(From the list)

 I ran into a buglet in facter 1.5.9rc6 (from tmz repo).  In normal AWS
instances it works great.  In VPC instances if doesn't work.  This seems
to be because VPC instances don't use the fe:ff:ff:... MAC addresses.

<pre>
/sbin/ifconfig
eth0      Link encap:Ethernet  HWaddr 02:67:4E:E1:26:30
         inet addr:172.17.129.24  ...


/sbin/arp
Address          HWtype  HWaddress          Flags  Mask  Iface
169.254.169.253  ether   02:67:4E:C0:00:01  C      eth0
172.17.128.1     ether   02:67:4E:C0:00:01  C      eth0


/sbin/ifconfig
eth0      Link encap:Ethernet  HWaddr 02:67:4E:DA:58:16
         inet addr:172.17.128.126

/sbin/arp
Address          HWtype  HWaddress          Flags  Mask  Iface
169.254.169.253  ether   02:67:4E:C0:00:01  C      eth0
172.17.128.1     ether   02:67:4E:C0:00:01  C      eth0
</pre>


Of the two VPC EC2 instances I've seen, the MAC address always start
with 02:67:4E.  I have only seen two instances, both in the same VPC, so
I don't know if this holds for every VPC instance, YMMV.


in ec2.rb , the following seemed to work:
<pre>
def has_euca_mac?
 !!(Facter.value(:macaddress) =~ %r{^02:67:4[eE]:})
end
</pre>


-- 
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://projects.puppetlabs.com/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