In this article, we’ll build highly available OpenStack Icehouse Nova services and the Horizon dashboard. In previous articles, we built the highly available HAProxy load balancers, database servers and the other basic OpenStack controller services.
In the previous articles, we built two OpenStack Icehouse controller nodes:
Now we will add Nova to these controllers.
Nova Controller Services
First we install the Nova Controller packages:
Next, we modify /etc/nova/nova.conf and add the following settings:
Notice that I’ve set my_ip and vncserver_listen to the IP address of icehouse1. On icehouse2, use the icehouse2 address. The rabbit_hosts points to the addresses of both controller nodes. All other IP addresses point to our load balancer VIP (192.168.1.32). Next, we create the nova database:
Then we can populate the database (on one node only) and restart the services (on both nodes):
Now, we need to load balance our Nova services. If you recall, we built our HAProxy load balancers:
- haproxy1 (192.168.1.30)
- haproxy2 (192.168.1.31)
One both of these load balancers, we edit the /etc/haproxy/haproxy.cfg and add the following stanzas:
Then we reload the HAProxy configuration:
At this point, you have high availability Nova services. For a quick check, we source our credentials file and try a command:
To install the dashboard, we install the packages:
Then we edit the /etc/openstack-dashboard/local_settings.py and change any references of 127.0.0.1 to our VIP address (192.168.1.32):
and we edit /etc/memcached.conf and change the listening address from 127.0.0.1 to the address of this controller node (22.214.171.124 for icehouse1, 192.168.1.36 for icehouse2):
and restart the services:
Now back to our load balancers. We again add a few stanzas to our /etc/haproxy/haproxy.cfg:
and reload the connfiguration:
That’s it. You should be able to access the dashboard via the url: http://192.168.1.32/horizon and logon with admin/password.