Issue #2346 has been updated by Paul Nasrat.

Status changed from Accepted to Needs design decision
Assigned to changed from James Turnbull to Paul Nasrat

This fact is completely broken at the moment:

* Timeout::Error isn't caught by rescue (due to how it inherits)
* The issue of wrong open semantics outlined here, this is causing hidden 
immediate failure
* The fact is going to cause a 2 second wait to every facter run

I've raised a thread with a patch on list for discussion.


----------------------------------------
Bug #2346: ec2.rb open-uri "open" doesn't like the port argument
http://projects.reductivelabs.com/issues/2346

Author: Chris Ferry
Status: Needs design decision
Priority: Normal
Assigned to: Paul Nasrat
Category: library
Target version: 1.6.0
Complexity: Unknown
Keywords: ec2


ec2.rb(main):032:0* if can_connect?("169.254.169.254","80")
ec2.rb(main):033:1>   metadata
ec2.rb(main):034:1> end
Exception `ArgumentError' at /usr/lib/ruby/1.8/open-uri.rb:32 - illegal access 
mode 80
So this collection will fail all the time.

Following is what I did to fix:
8,9c8,9
< def can_connect?(ip,port,wait_sec=2)
<  Timeout::timeout(wait_sec) {open(ip, port)}
---
> def can_connect?(ip,wait_sec=2)
>  Timeout::timeout(wait_sec) {open(ip)}
32c32
< if can_connect?("169.254.169.254","80")
---
> if can_connect?("169.254.169.254")
35d34
< 


-- 
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