Issue #7559 has been updated by Patrick Otto.

+1 with dpittman, it looks like this needs a more general approach as this is 
also a problem on OpenStack.
I'm not sure yet wether this can be fixed by defining the MAC address range 
(either in OpenStack or libvirt),
but I'm looking into this (as I'm submitting a few fixes for bodepd's openstack 
project).

    ubuntu@hello-world:~$ curl 
http://169.254.169.254/2008-02-01/meta-data/instance-id
    i-00000002
    ubuntu@hello-world:~$ 
    ubuntu@hello-world:~$ facter -d metadata
    Caught recursion on kernel
    value for kernel is still nil
    Not an EC2 host
    ubuntu@hello-world:~$
----------------------------------------
Feature #7559: Fact for identifying Amazon VPC instances.
https://projects.puppetlabs.com/issues/7559#change-61691

Author: Nigel Kersten
Status: Needs Decision
Priority: Normal
Assignee: Ken Barber
Category: library
Target version: 
Keywords: 
Branch: 
Affected Facter version: 


(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