Problem:
I am trying to set up an openstack compute resource in foreman. However, it seems it doesn’t like the URL I need to use. Our openstack installation has multiple controllers which are set behind a haproxy. So the URL I need to use access the tokens endpoint is https://cloud.example.com/identity/v3/auth/tokens
That URL works if I manually access the endpoint with curl. However, when I enter it as URL for a compute resource, it gets a 404. It seems even though I gave the full URL it still tries to access https://cloud.example.com/v3/auth/tokens instead which doesn’t work.
Looking at the source code here (not saying that it’s the right place to look) it seems that it only takes the host and port from the url and uses that a few lines later. So seeing that it would explain why it doesn’t work.
Expected outcome:
Accepting the full URL given, not only parts of it.
Hey @gvde - the docs kinda do check out with what you’ve experienced
In the URL field, enter the URL for the OpenStack Authentication keystone service’s API at the tokens resource. Use the following format: http://openstack.example.com:5000/v3.0/tokens.
Well, I read docs usually more like examples unless they mention specifically, that it has to be a specific form. In particular, when docs are “broken” anyway, because the identity endpoint is actually /v3/auth/tokens according to the openstack docs
Neither using ‘/v3.0/’ nor omitting ‘/auth/’ is working on our openstack installation.
So I wouldn’t consider the current foreman provisioning guide a real reference to decide whether a URI prefix would/should work or not.
Any insight? Docs are incorrect and the code doesn’t seem to handle prefix URIs. Where do I open issues for the docs and where for the openstack interface?