Description of problem: When deployed, the link to Overcloud Horizon points to wrong url as it does not have /dashboard in it. Version-Release number of selected component (if applicable): How reproducible: 100% Steps to Reproduce: 1. Deploy with instack-virt-setup, instack-install-undercloud and instack-deploy-overcloud 2. Log in as admin to the tuskar-ui 3. The link to Horizon on the left is not correct because it does not contain "/dashboard" Actual results: Mentioned link points to <overcloud_url>/admin Expected results: Mentioned link points to <overcloud_url>/dashboard/admin Additional info:
Fix has been posted for a review https://code.engineering.redhat.com/gerrit/40047
There is a redundant colon in the displayed url: http://192.0.2.7:/dashboard
The Horizon URL is recovered from keystone endpoint-list (publicurl) which is including the port. In this case the port is blank (which defaults to 80). Unfortunately Keystone returns the URL including the colon. Anyway, this does not affect the functionality of the link so I don't think it is something we'd want to fix on the UI side. It might be eventually fixed on the Keystone side.
I changed the endpoint in keysstone to point to http://192.0.2.7/dashboard, and in the undercloud I got the url: http://192.0.2.7/dashboarddashboard Let's decide what the url should be in keystone and only add another "dashboard" in the end if necessary... Then we can close this bug and open another one on the keystone endpoint creation.
I can revert current patch and create new one that changes the url when horizon endpoint url is created after deployment. So the horizon endpoint URL in Keystone will be correct. Although os-cloud-config hardcodes colon to the endpoint url, so I am not able to remove it. I emphasize the fact that colon in url does not cause it to be wrong. I can set the port to 80 so the port number is actually present in the url. Do you think it is good enough? Hardcoded colon is os-cloud-config bug.
The best approach seems to me to change the endpoint url in keystone after deployment so it would be correct. However, I'm not the one who should decide on it. I actually don't understand why horizon and its endpoint are even defined in keystone when using TripleO. When you install with packstack, for example, horizon's service and endpoint are not even defined. Do we really need them in keystone?
As we agreed, the current fix is good enough for RHOS 6.0 A2. A new bug will be filed against 7.0, where dashboard url will be properly set when keystone endpoints are set instead of changing the url in the template.
New bug for OSP 7 is here: https://bugzilla.redhat.com/show_bug.cgi?id=1199923
This was actually fixed in A1.