cloudfoundry/bosh — pull request #525 by gberche-orange (2014-02-17 13:54:23+00:00)
Title: Fixing HTTP Exception that should trigger retry when polling bosh director through an http proxy

HTTP client returns different exceptions when polling the same bosh director directly or through an http proxy. See discussion at https://groups.google.com/a/cloudfoundry.org/forum/?fromgroups=#!search/http_proxy/bosh-dev/B_hGiw2fKgQ/ONQLqp_gB2sJ

```
$ bosh micro deploy --update-if-exists /home/gberche/bosh-stemcell-1782-vsphere-esxi-ubuntu.tgz
Deploy Micro BOSH
unpacking stemcell (00:00:05)
uploading stemcell (00:03:48)
creating VM from urn:vcloud:catalogitem:ab8ddfcd-1714-4918-a436-1b2a96c22e16 (00:03:24)
waiting for the agent (00:00:41)
mount disk (00:00:06)
stopping agent services (00:00:01)

Applying micro BOSH spec |ooooooooooooo | 6/11 00:09:14 ETA: 00:05:37

/opt/rh/ruby193/root/usr/local/share/gems/gems/httpclient-2.2.4/lib/httpclient/session.rb:822:in `connect_ssl_proxy': connect to ssl proxy failed with status 503 Service Unavailable (HTTPClient::BadResponseError)
from /opt/rh/ruby193/root/usr/local/share/gems/gems/httpclient-2.2.4/lib/httpclient/session.rb:740:in `block in connect'
from /opt/rh/ruby193/root/usr/share/ruby/timeout.rb:68:in `timeout'
from /opt/rh/ruby193/root/usr/share/ruby/timeout.rb:99:in `timeout'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/httpclient-2.2.4/lib/httpclient/session.rb:733:in `connect'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/httpclient-2.2.4/lib/httpclient/session.rb:594:in `query'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/httpclient-2.2.4/lib/httpclient/session.rb:161:in `query'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/httpclient-2.2.4/lib/httpclient.rb:1060:in `do_get_block'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/httpclient-2.2.4/lib/httpclient.rb:869:in `block in do_request'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/httpclient-2.2.4/lib/httpclient.rb:956:in `protect_keep_alive_disconnected'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/httpclient-2.2.4/lib/httpclient.rb:868:in `do_request'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/httpclient-2.2.4/lib/httpclient.rb:756:in `request'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/httpclient-2.2.4/lib/httpclient.rb:661:in `get'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/bosh_cli_plugin_micro-1.1761.0/lib/bosh/deployer/instance_manager.rb:456:in `block in wait_until_director_ready'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/bosh_cli_plugin_micro-1.1761.0/lib/bosh/deployer/instance_manager.rb:431:in `block in wait_until_ready'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/bosh_common-1.1761.0/lib/common/retryable.rb:21:in `block in retryer'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/bosh_common-1.1761.0/lib/common/retryable.rb:19:in `loop'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/bosh_common-1.1761.0/lib/common/retryable.rb:19:in `retryer'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/bosh_common-1.1761.0/lib/common/common.rb:119:in `retryable'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/bosh_cli_plugin_micro-1.1761.0/lib/bosh/deployer/instance_manager.rb:429:in `wait_until_ready'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/bosh_cli_plugin_micro-1.1761.0/lib/bosh/deployer/instance_manager.rb:449:in `wait_until_director_ready'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/bosh_cli_plugin_micro-1.1761.0/lib/bosh/deployer/instance_manager.rb:151:in `block in create'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/bosh_cli_plugin_micro-1.1761.0/lib/bosh/deployer/instance_manager.rb:79:in `step'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/bosh_cli_plugin_micro-1.1761.0/lib/bosh/deployer/instance_manager.rb:149:in `create'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/bosh_cli_plugin_micro-1.1761.0/lib/bosh/deployer/instance_manager.rb:202:in `update'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/bosh_cli_plugin_micro-1.1761.0/lib/bosh/deployer/instance_manager.rb:102:in `block in update_deployment'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/bosh_cli_plugin_micro-1.1761.0/lib/bosh/deployer/instance_manager.rb:92:in `with_lifecycle'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/bosh_cli_plugin_micro-1.1761.0/lib/bosh/deployer/instance_manager.rb:102:in `update_deployment'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/bosh_cli_plugin_micro-1.1761.0/lib/bosh/cli/commands/micro.rb:182:in `perform'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/bosh_cli-1.1761.0/lib/cli/command_handler.rb:57:in `run'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/bosh_cli-1.1761.0/lib/cli/runner.rb:56:in `run'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/bosh_cli-1.1761.0/lib/cli/runner.rb:16:in `run'
from /opt/rh/ruby193/root/usr/local/share/gems/gems/bosh_cli-1.1761.0/bin/bosh:7:in `'
from /opt/rh/ruby193/root/usr/local/bin/bosh:23:in `load'
from /opt/rh/ruby193/root/usr/local/bin/bosh:23:in `

'
```