Bug 1232747 - Horizon vhosts using different IP address than the one reported after overcloud deployment
Summary: Horizon vhosts using different IP address than the one reported after overclo...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tripleo-heat-templates
Version: 7.0 (Kilo)
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ga
: Director
Assignee: Giulio Fidente
QA Contact: Marius Cornea
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-06-17 12:28 UTC by Marius Cornea
Modified: 2015-08-05 13:54 UTC (History)
10 users (show)

Fixed In Version: openstack-tripleo-heat-templates-0.8.6-12.el7ost
Doc Type: Bug Fix
Doc Text:
HAProxy failed to configure the Horizon listener, which caused unavailability of Horizon on the public VIP. This fix eanbles the HAProxy Horizon listener and the Horizon dashboard is now available on the public VIP.
Clone Of:
Environment:
Last Closed: 2015-08-05 13:54:16 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
OpenStack gerrit 192870 None None None Never
Red Hat Product Errata RHEA-2015:1549 normal SHIPPED_LIVE Red Hat Enterprise Linux OpenStack Platform director Release 2015-08-05 17:49:10 UTC

Description Marius Cornea 2015-06-17 12:28:20 UTC
Description of problem:
I'm running a 3 controller node deployment and Horizon is not accessible by the IP address reported after the overcloud deployment. Even though the reported url is the keystone endpoint I'd expect to be able to access horizon through that IP address. Otherwise I need to SSH to the controllers and look for the Horizon vhost settings.

Overcloud Endpoint: http://192.0.2.12:5000/v2.0/

Version-Release number of selected component (if applicable):
openstack-tripleo-puppet-elements-0.0.1-2.el7ost.noarch
puppet-3.6.2-2.el7.noarch
openstack-heat-engine-2015.1.0-3.el7ost.noarch
openstack-heat-api-cfn-2015.1.0-3.el7ost.noarch
openstack-heat-templates-0-0.6.20150605git.el7ost.noarch
openstack-heat-api-2015.1.0-3.el7ost.noarch
heat-cfntools-1.2.8-2.el7.noarch
openstack-heat-common-2015.1.0-3.el7ost.noarch
python-heatclient-0.6.0-1.el7ost.noarch
openstack-heat-api-cloudwatch-2015.1.0-3.el7ost.noarch
openstack-tripleo-heat-templates-0.8.6-9.el7ost.noarch


How reproducible:
100%

Steps to Reproduce:
1. Deploy 3 controller and one compute overcloud

Actual results:
http://192.0.2.12/dashboard throws a 404

Expected results:
http://192.0.2.12/dashboard loads the dashboard

Additional info:

All vhosts are using the nodes local IP address so I believe HA wouldn't work for Horizon.

[heat-admin@overcloud-controller-0 ~]$ grep -i servername -B1 /etc/httpd/conf.d/15-horizon_vhost.conf
<VirtualHost 192.0.2.17:80>
  ServerName overcloud-controller-0.localdomain
[heat-admin@overcloud-controller-1 ~]$ grep -i servername -B1 /etc/httpd/conf.d/15-horizon_vhost.conf
<VirtualHost 192.0.2.14:80>
  ServerName overcloud-controller-1.localdomain
[heat-admin@overcloud-controller-2 ~]$ grep -i servername -B1 /etc/httpd/conf.d/15-horizon_vhost.conf
<VirtualHost 192.0.2.15:80>
  ServerName overcloud-controller-2.localdomain

Comment 3 Giulio Fidente 2015-06-17 16:40:44 UTC
Balancing for Horizon is false by default [1] we miss to enable it!

1. https://github.com/openstack/puppet-tripleo/blob/master/manifests/loadbalancer.pp#L205

Comment 6 Marios Andreou 2015-06-25 10:04:42 UTC
I think this bug is now fixed and can be closed. As we discovered in [1] we are setting this/others in the static hieradata like [2] and indeed the real fix here was [3] https://review.openstack.org/#/c/192870/  though it seems we missed to update the bug and review. I deployed with templates that include [3] and the result lgtm like [4]

[1] https://review.openstack.org/#/c/193398/
[2] https://github.com/openstack/tripleo-heat-templates/blob/master/puppet/hieradata/controller.yaml#L115
[3] https://review.openstack.org/#/c/192870/
[4]

(undercloud)
heat output-show overcloud KeystoneURL
"http://192.0.2.16:5000/v2.0/"

overcloud-controller-1 cat /etc/haproxy/haproxy.
listen horizon
  bind 192.0.2.15:80 
  bind 192.0.2.16:80 
  option httpchk GET /
  server overcloud-controller-0 192.0.2.20:80 check fall 5 inter 2000 rise 2
  server overcloud-controller-1 192.0.2.19:80 check fall 5 inter 2000 rise 2
  server overcloud-controller-2 192.0.2.21:80 check fall 5 inter 2000 rise 2

[root@overcloud-controller-1 ~]# cat /etc/httpd/conf.d/10-horizon_vhost.conf  | grep VirtualHost
<VirtualHost 192.0.2.19:80>
</VirtualHost>

(undercloud):
[stack@instack ~]$ wget 192.0.2.16
--2015-06-25 04:26:06--  http://192.0.2.16/
Connecting to 192.0.2.16:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://192.0.2.16/dashboard [following]
--2015-06-25 04:26:06--  http://192.0.2.16/dashboard
Connecting to 192.0.2.16:80... connected.
HTTP request sent, awaiting response... 302 FOUND
Location: http://192.0.2.16/dashboard/auth/login/?next=/dashboard/ [following]
--2015-06-25 04:26:07--  http://192.0.2.16/dashboard/auth/login/?next=/dashboard/
Connecting to 192.0.2.16:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2406 (2.3K) [text/html]
Saving to: ‘index.html’

100%[======================================================>] 2,406       --.-K/s   in 0s      

2015-06-25 04:26:08 (218 MB/s) - ‘index.html’ saved [2406/2406]

[stack@instack ~]$

Comment 8 errata-xmlrpc 2015-08-05 13:54:16 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2015:1549


Note You need to log in before you can comment on or make changes to this bug.