#!/usr/bin/env bash set -o errexit -o nounset TOP_DIR=$(cd "$(dirname "$0")/.." && pwd) source "$TOP_DIR/config/paths" source "$CONFIG_DIR/credentials" source "$LIB_DIR/functions.guest" source "$CONFIG_DIR/admin-openstackrc.sh" exec_logfile indicate_current_auto #------------------------------------------------------------------------------ # Set up OpenStack neutron LBaaS for controller node. # http://docs.openstack.org/admin-guide-cloud/content/install_neutron-lbaas-agent.html #------------------------------------------------------------------------------ echo "Configuring neutron lbaas for controller node." conf=/etc/neutron/neutron.conf # Configure network plugin parameters iniset_sudo $conf DEFAULT service_plugins "router,lbaas" echo "Restarting neutron service." sudo service neutron-server restart # Configure openstack dashboard function check_dashboard_settings { local memcached_conf=/etc/memcached.conf local dashboard_conf=/etc/openstack-dashboard/local_settings.py # Enabling Neutron LBaaS on Horizon echo "Enabling neutron LBaaS on horizon." sudo sed -i "s/'enable_lb': False/\'enable_lb\': True/" $dashboard_conf } echo "Checking dashboard configuration." check_dashboard_settings function check_apache_service { # Check if apache service is down, if not force retry a couple of times. sleep 10 i=0 until service apache2 status | grep 'not running'; do sudo service apache2 stop sleep 10 i ++ if [ $i -gt 3 ] then break fi done } echo "Reloading apache and memcached service." sudo service apache2 stop check_apache_service sudo service apache2 start sudo service memcached restart