tree a72b593dd515cef4aabd8f1b2867e2c94f3dc3b9
parent b38ddf60473baa4911e5158f1d8a2e4540abb24e
author Monty Taylor <mordred@inaugust.com> 1519159127 -0600
committer Monty Taylor <mordred@inaugust.com> 1520032905 -0500
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIyBAABCAAcBQJamdyKFRxtb3JkcmVkQGluYXVndXN0LmNvbQAKCRB7rpS8cUGl
 lCmDD/4raMcKyhfwvK1Bz0rfcaqmoDyqorxUm1adjaGX509E4rlv/4TW8+iPdqan
 GiitcCMGifw+HJ4J6RVrsNwMsQXxlDk4ZeNUSmvAd4axVfpeZP7ka6bri3SfUpub
 GeSZFj9Na8KWBfv+QlZe0nfAax7TJnJtLnD1ZpXzDIZ6INRIKz4y5sFKM2AH9Wif
 +1GJ46v4kn8pFokIJ8Z7PF5s6u8nGn9ryoeFuOIc8IWQ61hxTG3y+tVdwAxOWE8L
 mhpgbcUi/EJk/Feb8TDo1hPMu11x9NIwiCwN+iIZylWW8TpiZE3YBPHL/qKXTT+5
 YshNMJNOjT7gddO9bIdXhGFc7Yu5GXWN5oma1hibxtS8HYfEDSXCpG+kcFw6G4CR
 cfbTHQfT1lLw+cCuOrUjo/oSwAhrx98H+11uhXY+N/ZUO8nm2Ihm4nS9IeYbyWAA
 NGkcirm4rQN2LuU/cFL87nrqwvpTGyZfjRJlbj6schQolsUOeasEgUtgKt3dTGWT
 +oM6VtjLfj/zyk+2bXk9yl4eJxxi1bVtnEd7aQdrOEElSzex3QjIGucPrOMHiiHa
 O5ZpZMz/nNo+I4wq7RBYV82aD8/B38gK6yFVCQMelPpCdFNj+UxcVGkMJc9OnrIE
 pbxdHs19Hdk/u60D+7v78tWgjhBenIXwT7XmsciHtl/KmYJFtQ==
 =qwkw
 -----END PGP SIGNATURE-----

Make Info.endpoint a config override

The endpoint field in the info payload is intended to help the
javascript web code find out where the API endpoint is, and to allow
people who are deploying html/js as static assets to an external web
server drop a json file in that deployment to tell it where their
zuul-web server is.

The only scenario where the endpoint information as served by the /info
or /{tenant}/info endpoints of zuul-web is useful is
same-host/single-apache deployments that are hosted on a sub-url ... and
unfortunately, it's not possible for the aiohttp code to be aware of
such suburl deployments from http headers. request.url has the actual
location (such as http://localhost:8080/info) and X-Forwarded-Host will
only contain the host, not the path.

The actual important aspects of the payload are:

* A payload always be able to be found no matter the deployment
  scenario.
* That a deployer can communicate to the javascript code the root of the
  REST API in the scenarios where relative paths will resolve to the
  incorrect thing.

With that in mind, change the Info.endpoint field returned by zuul-web
to default to None (or actually json null), or to a value provided by
the deployer in the zuul.conf file similar to websocket_url.

This way the web app can view 'null' as meaning "I'm deployed in such a
manner that relative paths are the correct thing to fetch from" and a value
as "the deployer has told me explicitly where to fetch from, I will join
my relative paths to the value first."

Because it is a value that is provided by the deployer if it is to
exist, rename it to "rest_api_url" to better match websocket_url and
stats_url.

Change-Id: I6b85a93db6c70c997bbff1329373fbfc2d1007c6
