Consolidated proxying of Undercloud API services

Registered by Dan Trainor

The TripleO UI uses custom-defined endpoints to communicate with Undercloud API services listening on various ports which are proxied by HAProxy on an SSL-enabled Undercloud deployment. Each of these ip:port combinations are connected to individually by the UI, and some browsers (Firefox) have difficulty verifying the integrity of a self-signed certificate in this situation. This blueprint adds to the SSL-enabled Undercloud proxy configuration the ability to unify these requests to a single port (443/TCP) and leverage Apache rewrite rules to route those requests to the appropriate backend API service ( /keystone/ -> $undercloud_ip:13000/ ).

Blueprint information

Status:
Complete
Approver:
Steven Hardy
Priority:
High
Drafter:
Dan Trainor
Direction:
Approved
Assignee:
Dan Trainor
Definition:
Approved
Series goal:
Proposed for ocata
Implementation:
Implemented
Milestone target:
milestone icon ocata-rc1
Started by
Emilien Macchi
Completed by
Emilien Macchi

Related branches

Sprints

Whiteboard

Originally, the blueprint suggests using haproxy for this, but we're currently using the "old" notation of listen/server, not frontend/backend. The distinction is important because the ACLs that would allow any kind of proxying to facilitate this are only available in the latter notation. In order to do this in haproxy, tripleo::haproxy would need a rewrite (looks pretty trivial, but likely out of scope for this). So I'd really like to isolate this to UI, which is convenient since UI runs largely self-contained inside Apache.

Description of Firefox exceptions that prevent the current functionality to be used:

https://bugs.launchpad.net/tripleo/+bug/1639807
https://bugzilla.redhat.com/show_bug.cgi?id=1392627

Apache mod_proxy configuration guide:

https://httpd.apache.org/docs/current/mod/mod_proxy.html

Gerrit topic: https://review.openstack.org/#q,topic:bp/proxy-undercloud-api-services,n,z

Addressed by: https://review.openstack.org/424903
    Add additional proxy and config endpoints for UI

Addressed by: https://review.openstack.org/424909
    Proxy API endpoints that UI

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.