Issue #15453 has been updated by Gary Larizza.

Updated information:

The search action is working for them, but the install action is not:

<pre>
[root@enxi0003 ~]# puppet module search ntp
Searching http://forge.puppetlabs.com ...
NAME                        DESCRIPTION                                       
AUTHOR             KEYWORDS
DavidSchmitt-ntp            Manage a local NTP subnet with servers and cl...  
@DavidSchmitt      ntp time
ghoneycutt-ntp              manages ntp clients and servers                   
@ghoneycutt        ntp time services
hunner-mcollective          MCollective is a server orchestration softwar...  
@hunner            mcollective ntp
xucchini-ntp                This is an NTP module which does the right th...  
@xucchini          ubuntu ntp kvm time
puppetlabs-ntp              Network Time Service                              
@puppetlabs        ntp time
saz-ntp                     Manage NTP client and server via puppet           
@saz               ntp time ntpd
dhoppe-ntp                  This module manages ntp                           
@dhoppe            debian ubuntu ntp
puppetlabs-mount_providers  Mount Providers                                   
@puppetlabs        solaris linux mount
kickstandproject-ntp                                                          
@kickstandproject  ntp
But

[root@enxi0003 ~]# puppet module install --verbose puppetlabs-ntp
Preparing to install into /etc/puppetlabs/puppet/modules ...
Downloading from http://forge.puppetlabs.com ...
Error: Connection timed out - connect(2)
Error: Try 'puppet help module install' for usage
</pre>

Here's a trace of where the install action is failing:

<pre>
[root@enxi0003 ~]# cat /etc/puppetlabs/puppet/puppet.conf
[main]
    vardir = /var/opt/lib/pe-puppet
    logdir = /var/log/pe-puppet
    rundir = /var/run/pe-puppet
    modulepath = /etc/puppetlabs/puppet/modules:/opt/puppet/share/puppet/modules
    user = pe-puppet
    group = pe-puppet
    archive_files = true
    archive_file_server = enxi0003.example.com
    http_proxy_host = 10.60.3.94
    http_proxy_port = 3128

[master]
    certname = enxi0003.example.com
    dns_alt_names = enxi0003,enxi0003.example.com,puppet,puppet.example.com
    ca_name = 'Puppet CA generated on enxi0003.example.com at Wed Jun  6 
12:50:59 EDT 2012'
    facts_terminus = inventory_active_record
    dbadapter = mysql
    dbname = console_inventory_service
    dbuser = console
    dbpassword = password
    dbserver = localhost
    reports = https, store
    reporturl = https://localhost:443/reports/upload
    node_terminus  = exec
    external_nodes = /etc/puppetlabs/puppet-dashboard/external_node
    ssl_client_header = SSL_CLIENT_S_DN
    ssl_client_verify_header = SSL_CLIENT_VERIFY

[agent]
    certname = enxi0003.example.com
    server = enxi0003.example.com
    report = true
    classfile = $vardir/classes.txt
    localconfig = $vardir/localconfig
    graph = true
    pluginsync = true

[root@enxi0003 ~]# puppet module install puppetlabs-ntp --debug --trace
Preparing to install into /etc/puppetlabs/puppet/modules ...
Downloading from http://forge.puppetlabs.com ...
/opt/puppet/lib/ruby/1.8/net/http.rb:560:in `initialize'
/opt/puppet/lib/ruby/1.8/net/http.rb:560:in `open'
/opt/puppet/lib/ruby/1.8/net/http.rb:560:in `connect'
/opt/puppet/lib/ruby/1.8/timeout.rb:53:in `timeout'
/opt/puppet/lib/ruby/1.8/timeout.rb:101:in `timeout'
/opt/puppet/lib/ruby/1.8/net/http.rb:560:in `connect'
/opt/puppet/lib/ruby/1.8/net/http.rb:553:in `do_start'
/opt/puppet/lib/ruby/1.8/net/http.rb:542:in `start'
/opt/puppet/lib/ruby/1.8/open-uri.rb:242:in `open_http'
/opt/puppet/lib/ruby/1.8/open-uri.rb:616:in `buffer_open'
/opt/puppet/lib/ruby/1.8/open-uri.rb:164:in `open_loop'
/opt/puppet/lib/ruby/1.8/open-uri.rb:162:in `catch'
/opt/puppet/lib/ruby/1.8/open-uri.rb:162:in `open_loop'
/opt/puppet/lib/ruby/1.8/open-uri.rb:132:in `open_uri'
/opt/puppet/lib/ruby/1.8/open-uri.rb:518:in `open'
/opt/puppet/lib/ruby/1.8/open-uri.rb:526:in `read'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/forge/cache.rb:37:in `read_retrieve'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/forge/cache.rb:28:in `retrieve'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/forge/cache.rb:21:in `tap'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/forge/cache.rb:21:in `retrieve'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/forge/repository.rb:85:in `retrieve'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/module_tool/shared_behaviors.rb:149:in
 `download_tarballs'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/module_tool/shared_behaviors.rb:144:in
 `map'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/module_tool/shared_behaviors.rb:144:in
 `download_tarballs'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/module_tool/applications/installer.rb:119:in
 `get_release_packages'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/module_tool/applications/installer.rb:53:in
 `run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/module_tool/applications/application.rb:11:in
 `run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/face/module/install.rb:159:in 
`install implementation, required on Ruby 1.8'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/interface/action.rb+eval[wrapper]:207:in
 `__send__'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/interface/action.rb+eval[wrapper]:207:in
 `install'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application/face_base.rb:242:in `send'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application/face_base.rb:242:in `main'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:317:in `run_command'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:309:in `run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:416:in `hook'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:309:in `run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:407:in `exit_on_fail'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/application.rb:309:in `run'
/opt/puppet/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:69:in `execute'
/usr/local/bin/puppet:4
Error: Connection timed out - connect(2)
Error: Try 'puppet help module install' for usage
</pre>

If they can search, then I imagine they're able to contact the Forge to gather 
data and present it back.  Notice that they're also using an IP address as the 
http_proxy_host - so I'm not sure if that could cause issue.  I don't know the 
code well enough, yet, to know what the differences are between the search and 
install actions.  Let me know if there's more information I can gather.
----------------------------------------
Bug #15453: Puppet Module Tool should respect http proxies
https://projects.puppetlabs.com/issues/15453#change-66682

Author: Gary Larizza
Status: Needs More Information
Priority: Normal
Assignee: 
Category: module tool
Target version: 
Affected Puppet version: 
Keywords: puppet module tool PMT proxy http_proxy
Branch: 


Filing this bug on behalf of a presales email.  Given the following information:

<pre>
> [root@enxi0003 ~]# head /etc/puppetlabs/puppet/puppet.conf
> [main]
>     vardir = /var/opt/lib/pe-puppet
>     logdir = /var/log/pe-puppet
>     rundir = /var/run/pe-puppet
>     modulepath = 
> /etc/puppetlabs/puppet/modules:/opt/puppet/share/puppet/modules
>     user = pe-puppet
>     group = pe-puppet
>     archive_files = true
>     archive_file_server = enxi0003.eagleaccess.com
>     http_proxy_host = proxy.domain.com
>
> [root@enxi0003 ~]# puppet module install --verbose --debug puppetlabs-ntp
> Preparing to install into /etc/puppetlabs/puppet/modules ...
> Downloading from http://forge.puppetlabs.com ...
> Error: Connection timed out - connect(2)
> Error: Try 'puppet help module install' for usage
>
> [root@proxy ~]# tail /var/log/squid/access.log
> 1341935727.031    122 10.60.99.93 TCP_MISS/200 1947 GET 
> http://forge.puppetlabs.com/api/v1/releases.json? - DIRECT/74.207.228.89 
> application/json
</pre>

It would appear that the PMT doesn't respect the http_proxy_host setting in 
puppet.conf.  The customer also reported setting the HTTP_PROXY environment 
variable, but the PMT doesn't respect that either.  


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