cf-containers-broker
cf-containers-broker copied to clipboard
cf-containers-broker fail to work with uaa and self signed SSL certivicates
Skip_ssl_validation settings isn't passed to oumniauth and cf-uaa-lib. This cause cf-uaa-lib fail to acquire uaa token when using self signed SSL certificate.
Pleas note that cf-uaa-lib, from version 3.0.0, by default try to validate SSL cert. (See cf-uaa-lib 3.0.0 Release Notes.)
Pleas fix passing Skip_ssl_validation cf-uaa-lib.
Stack trace from cf-containers-broker.log, for requesting uaa token first time:
I, 2016-03-07T22:29:57.270940 #4693 INFO – : (cloudfoundry) Fetching access token
I, 2016-03-07T22:29:57.271069 #4693 INFO – : (cloudfoundry) Client: p-couchdb16-client auth_server: http://login.<cf_domain> token_server: https://uaa.<cf_domain>
F, 2016-03-07T22:29:57.288340 #4693 FATAL – :
CF::UAA::SSLException (Invalid SSL Cert for https://uaa.<cf_domain>/oauth/token. Use '--skip-ssl-validation' to continue with an insecure target):
cf-uaa-lib (3.2.4) lib/uaa/http.rb:169:in `rescue in net_http_request'
cf-uaa-lib (3.2.4) lib/uaa/http.rb:157:in `net_http_request'
cf-uaa-lib (3.2.4) lib/uaa/http.rb:145:in `request'
cf-uaa-lib (3.2.4) lib/uaa/token_issuer.rb:77:in `request_token'
cf-uaa-lib (3.2.4) lib/uaa/token_issuer.rb:234:in `authcode_grant'
/var/vcap/packages/cf-containers-broker/vendor/cache/omniauth-uaa-oauth2-f892fd3415f9/lib/omniauth/strategies/cloudfoundry.rb:176:in `build_access_token'
/var/vcap/packages/cf-containers-broker/vendor/cache/omniauth-uaa-oauth2-f892fd3415f9/lib/omniauth/strategies/cloudfoundry.rb:127:in `callback_phase'
omniauth (1.2.2) lib/omniauth/strategy.rb:227:in `callback_call'
omniauth (1.2.2) lib/omniauth/strategy.rb:184:in `call!'
omniauth (1.2.2) lib/omniauth/strategy.rb:164:in `call'
omniauth (1.2.2) lib/omniauth/builder.rb:59:in `call'
rack (1.6.4) lib/rack/session/abstract/id.rb:225:in `context'
rack (1.6.4) lib/rack/session/abstract/id.rb:220:in `call'
rack (1.6.4) lib/rack/etag.rb:24:in `call'
rack (1.6.4) lib/rack/conditionalget.rb:25:in `call'
rack (1.6.4) lib/rack/head.rb:13:in `call'
actionpack (4.2.4) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
actionpack (4.2.4) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
activesupport (4.2.4) lib/active_support/callbacks.rb:88:in `__run_callbacks__'
activesupport (4.2.4) lib/active_support/callbacks.rb:778:in `_run_call_callbacks'
activesupport (4.2.4) lib/active_support/callbacks.rb:81:in `run_callbacks'
actionpack (4.2.4) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
actionpack (4.2.4) lib/action_dispatch/middleware/remote_ip.rb:78:in `call'
actionpack (4.2.4) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
actionpack (4.2.4) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
railties (4.2.4) lib/rails/rack/logger.rb:38:in `call_app'
railties (4.2.4) lib/rails/rack/logger.rb:20:in `block in call'
activesupport (4.2.4) lib/active_support/tagged_logging.rb:68:in `block in tagged'
activesupport (4.2.4) lib/active_support/tagged_logging.rb:26:in `tagged'
activesupport (4.2.4) lib/active_support/tagged_logging.rb:68:in `tagged'
railties (4.2.4) lib/rails/rack/logger.rb:20:in `call'
actionpack (4.2.4) lib/action_dispatch/middleware/request_id.rb:21:in `call'
rack (1.6.4) lib/rack/runtime.rb:18:in `call'
activesupport (4.2.4) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
actionpack (4.2.4) lib/action_dispatch/middleware/static.rb:116:in `call'
railties (4.2.4) lib/rails/engine.rb:518:in `call'
railties (4.2.4) lib/rails/application.rb:165:in `call'
rack (1.6.4) lib/rack/tempfile_reaper.rb:15:in `call'
rack (1.6.4) lib/rack/lint.rb:49:in `_call'
rack (1.6.4) lib/rack/lint.rb:37:in `call'
rack (1.6.4) lib/rack/showexceptions.rb:24:in `call'
rack (1.6.4) lib/rack/commonlogger.rb:33:in `call'
rack (1.6.4) lib/rack/chunked.rb:54:in `call'
rack (1.6.4) lib/rack/content_length.rb:15:in `call'
vendor/bundle/ruby/2.2.0/gems/unicorn-5.0.0/lib/unicorn/http_server.rb:562:in `process_client'
vendor/bundle/ruby/2.2.0/gems/unicorn-5.0.0/lib/unicorn/http_server.rb:658:in `worker_loop'
vendor/bundle/ruby/2.2.0/gems/unicorn-5.0.0/lib/unicorn/http_server.rb:508:in `spawn_missing_workers'
vendor/bundle/ruby/2.2.0/gems/unicorn-5.0.0/lib/unicorn/http_server.rb:132:in `start'
unicorn (5.0.0) bin/unicorn:126:in `<top (required)>'
/var/vcap/packages/cf-containers-broker/vendor/bundle/ruby/2.2.0/bin/unicorn:23:in `load'
/var/vcap/packages/cf-containers-broker/vendor/bundle/ruby/2.2.0/bin/unicorn:23:in `<main>'
Stack trace for refreshing uaa token
I, [2016-03-10T12:30:01.634196 #23104] INFO -- : Completed 500 Internal Server Error in 124ms
F, [2016-03-10T12:30:01.635141 #23104] FATAL -- :
CF::UAA::SSLException (Invalid SSL Cert for https://uaa.<domain>/oauth/token. Use '--skip-ssl-validation' to continue with an insecure target):
lib/uaa_session.rb:39:in `refreshed_token_info'
lib/uaa_session.rb:9:in `build'
app/controllers/manage/instances_controller.rb:64:in `build_uaa_session'
My workaround in PR #49