[Bug 732953] Re: can_connect function inside ec2.rb always return false
Paul Hirst
paul.hirst at sophos.com
Mon Nov 7 13:47:19 UTC 2011
I think this fix may have just broken puppet running on a non EC2
instance. On real hardware we now get the following output from puppet:
root at uk-sofalive1:/usr/share/doc/facter# puppetd --test
notice: Ignoring --listen on onetime run
info: Retrieving plugin
err: Could not run Puppet configuration client: Could not retrieve local facts: execution expired
Running facter reveals:
root at uk-sofalive1:/usr/share/doc/facter# facter -p
/usr/lib/ruby/1.8/timeout.rb:60:in `open': execution expired (Timeout::Error)
from /usr/lib/ruby/1.8/net/http.rb:560:in `connect'
from /usr/lib/ruby/1.8/timeout.rb:53:in `timeout'
from /usr/lib/ruby/1.8/timeout.rb:93:in `timeout'
from /usr/lib/ruby/1.8/net/http.rb:560:in `connect'
from /usr/lib/ruby/1.8/net/http.rb:553:in `do_start'
from /usr/lib/ruby/1.8/net/http.rb:542:in `start'
from /usr/lib/ruby/1.8/open-uri.rb:242:in `open_http'
from /usr/lib/ruby/1.8/open-uri.rb:616:in `buffer_open'
from /usr/lib/ruby/1.8/open-uri.rb:164:in `open_loop'
from /usr/lib/ruby/1.8/open-uri.rb:162:in `catch'
from /usr/lib/ruby/1.8/open-uri.rb:162:in `open_loop'
from /usr/lib/ruby/1.8/open-uri.rb:132:in `open_uri'
from /usr/lib/ruby/1.8/open-uri.rb:518:in `open'
from /usr/lib/ruby/1.8/open-uri.rb:30:in `open'
from /usr/lib/ruby/1.8/facter/ec2.rb:10:in `can_connect?'
from /usr/lib/ruby/1.8/facter/ec2.rb:10:in `can_connect?'
from /usr/lib/ruby/1.8/facter/ec2.rb:33
from /usr/lib/ruby/1.8/facter/util/loader.rb:72:in `load'
from /usr/lib/ruby/1.8/facter/util/loader.rb:72:in `load_file'
from /usr/lib/ruby/1.8/facter/util/loader.rb:38:in `load_all'
from /usr/lib/ruby/1.8/facter/util/loader.rb:33:in `each'
from /usr/lib/ruby/1.8/facter/util/loader.rb:33:in `load_all'
from /usr/lib/ruby/1.8/facter/util/loader.rb:30:in `each'
from /usr/lib/ruby/1.8/facter/util/loader.rb:30:in `load_all'
from /usr/lib/ruby/1.8/facter/util/collection.rb:94:in `load_all'
from /usr/lib/ruby/1.8/facter.rb:91:in `to_hash'
from /usr/bin/facter:138
Stracing this process reveals that's it's attempting to connect to
169.254.169.254 and failing when it times out:
connect(5, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("169.254.169.254")}, 16) = -1 EINPROGRESS (Operation now in progress)
select(7, [], [5], [5], {1, 976432}) = 0 (Timeout)
select(7, [], [5], [5], {0, 0}) = 0 (Timeout)
mmap(NULL, 167936, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fb087093000
rt_sigprocmask(SIG_BLOCK, NULL, [PIPE], 8) = 0
rt_sigprocmask(SIG_SETMASK, [PIPE], NULL, 8) = 0
select(7, [], [5], [5], {0, 0}) = 0 (Timeout)
rt_sigprocmask(SIG_BLOCK, NULL, [PIPE], 8) = 0
rt_sigprocmask(SIG_SETMASK, [PIPE], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [PIPE], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [PIPE], NULL, 8) = 0
close(5) = 0
We've seen this on three of our servers now. We expect it to happen on
all of them if we allow the facter package to update.
--
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to facter in Ubuntu.
https://bugs.launchpad.net/bugs/732953
Title:
can_connect function inside ec2.rb always return false
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/facter/+bug/732953/+subscriptions
More information about the Ubuntu-server-bugs
mailing list