mysql -uroot -p -e 'CREATE USER "haproxy"@"%" IDENTIFIED WITH "";'
cat >> /etc/haproxy/haproxy.cfg << EOF
listen galera_cluster
bind 192.168.2.20:3306
balance source
option mysql-check user haproxy
server controller1 192.168.2.21:3306 check port 3306 inter 2000 rise 2 fall 5
server controller2 192.168.2.22:3306 backup check port 3306 inter 2000 rise 2 fall 5
server controller3 192.168.2.23:3306 backup check port 3306 inter 2000 rise 2 fall 5
EOF
pcs resource restart haproxy
mysql -uhaproxy -h 192.168.2.20 -e 'show databases;'
sed -i 's/^OPTIONS=\".*\"$/OPTIONS="-l 127.0.0.1,::1,192.168.2.21"/g' /etc/sysconfig/memcached
sed -i 's/^OPTIONS=\".*\"$/OPTIONS="-l 127.0.0.1,::1,192.168.2.22"/g' /etc/sysconfig/memcached
sed -i 's/^OPTIONS=\".*\"$/OPTIONS="-l 127.0.0.1,::1,192.168.2.23"/g' /etc/sysconfig/memcached
systemctl restart memcached.service
systemctl enable memcached.service
systemctl status memcached.service
mysql -uroot -p
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
IDENTIFIED BY 'KEYSTONE_DBPASS';
FLUSH PRIVILEGES;
EXIT;
sed -i 's/^Listen.*5000$/Listen 192.168.2.21:5000/g' /usr/share/keystone/wsgi-keystone.conf
sed -i 's/^Listen.*35357$/Listen 192.168.2.21:35357/g' /usr/share/keystone/wsgi-keystone.conf
sed -i 's/^Listen.*80$/Listen 192.168.2.21:80/g' /etc/httpd/conf/httpd.conf
sed -i 's/^Listen.*5000$/Listen 192.168.2.22:5000/g' /usr/share/keystone/wsgi-keystone.conf
sed -i 's/^Listen.*35357$/Listen 192.168.2.22:35357/g' /usr/share/keystone/wsgi-keystone.conf
sed -i 's/^Listen.*80$/Listen 192.168.2.22:80/g' /etc/httpd/conf/httpd.conf
sed -i 's/^Listen.*5000$/Listen 192.168.2.23:5000/g' /usr/share/keystone/wsgi-keystone.conf
sed -i 's/^Listen.*35357$/Listen 192.168.2.23:35357/g' /usr/share/keystone/wsgi-keystone.conf
sed -i 's/^Listen.*80$/Listen 192.168.2.23:80/g' /etc/httpd/conf/httpd.conf
systemctl restart httpd.service
systemctl enable httpd.service
systemctl status httpd.service
cat >> /etc/haproxy/haproxy.cfg << EOF
listen keystone_admin_cluster
bind 192.168.2.20:35357
balance source
option tcpka
option httpchk
option tcplog
server controller1 192.168.2.21:35357 check inter 2000 rise 2 fall 5
server controller2 192.168.2.22:35357 check inter 2000 rise 2 fall 5
server controller3 192.168.2.23:35357 check inter 2000 rise 2 fall 5
listen keystone_public_internal_cluster
bind 192.168.2.20:5000
balance source
option tcpka
option httpchk
option tcplog
server controller1 192.168.2.21:5000 check inter 2000 rise 2 fall 5
server controller2 192.168.2.22:5000 check inter 2000 rise 2 fall 5
server controller3 192.168.2.23:5000 check inter 2000 rise 2 fall 5
EOF
CREATE DATABASE glance;
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \
IDENTIFIED BY 'GLANCE_DBPASS';
GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \
IDENTIFIED BY 'GLANCE_DBPASS';
FLUSH PRIVILEGES;
EXIT;
. ~/admin-openrc
openstack user create --domain default --password GLANCE_PASS glance
openstack role add --project service --user glance admin
openstack service create --name glance \
--description "OpenStack Image" image
cat << EOF >> /etc/haproxy/haproxy.cfg
listen glance_api_cluster
bind 192.168.2.20:9292
balance source
option tcpka
option httpchk
option tcplog
server controller1 192.168.2.21:9292 check inter 2000 rise 2 fall 5
server controller2 192.168.2.22:9292 check inter 2000 rise 2 fall 5
server controller3 192.168.2.23:9292 check inter 2000 rise 2 fall 5
listen glance_registry_cluster
bind 192.168.2.20:9191
balance source
option tcpka
option tcplog
server controller1 192.168.2.21:9191 check inter 2000 rise 2 fall 5
server controller2 192.168.2.22:9191 check inter 2000 rise 2 fall 5
server controller3 192.168.2.23:9191 check inter 2000 rise 2 fall 5
EOF
CREATE DATABASE nova_api;
CREATE DATABASE nova;
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' \
IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' \
IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \
IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \
IDENTIFIED BY 'NOVA_DBPASS';
FLUSH PRIVILEGES;
EXIT;
. admin-openrc
openstack user create --domain default \
--password NOVA_PASS nova
openstack role add --project service --user nova admin
openstack service create --name nova \
--description "OpenStack Compute" compute
cat << EOF >> /etc/haproxy/haproxy.cfg
listen nova_compute_api_cluster
bind 192.168.2.20:8774
balance source
option tcpka
option httpchk
option tcplog
server controller1 192.168.2.21:8774 check inter 2000 rise 2 fall 5
server controller2 192.168.2.22:8774 check inter 2000 rise 2 fall 5
server controller3 192.168.2.23:8774 check inter 2000 rise 2 fall 5
listen nova_metadata_api_cluster
bind 192.168.2.20:8775
balance source
option tcpka
option tcplog
server controller1 192.168.2.21:8775 check inter 2000 rise 2 fall 5
server controller2 192.168.2.22:8775 check inter 2000 rise 2 fall 5
server controller3 192.168.2.23:8775 check inter 2000 rise 2 fall 5
listen nova_vncproxy_cluster
bind 192.168.2.20:6080
balance source
option tcpka
option tcplog
server controller1 192.168.2.21:6080 check inter 2000 rise 2 fall 5
server controller2 192.168.2.22:6080 check inter 2000 rise 2 fall 5
server controller3 192.168.2.23:6080 check inter 2000 rise 2 fall 5
EOF
CREATE DATABASE neutron;
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \
IDENTIFIED BY 'NEUTRON_DBPASS';
GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \
IDENTIFIED BY 'NEUTRON_DBPASS';
FLUSH PRIVILEGES;
EXIT;
. admin-openrc
openstack user create --domain default \
--password NEUTRON_PASS neutron
openstack role add --project service --user neutron admin
openstack service create --name neutron \
--description "OpenStack Networking" network
cat << EOF >> /etc/haproxy/haproxy.cfg
listen cinder_api_cluster
bind 192.168.2.20:8776
balance source
option tcpka
option httpchk
option tcplog
server controller1 192.168.2.21:8776 check inter 2000 rise 2 fall 5
server controller2 192.168.2.22:8776 check inter 2000 rise 2 fall 5
server controller3 192.168.2.23:8776 check inter 2000 rise 2 fall 5
EOF
pcs resource restart haproxy
mysql -u root -p
CREATE DATABASE cinder;
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' \
IDENTIFIED BY 'CINDER_DBPASS';
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' \
IDENTIFIED BY 'CINDER_DBPASS';
FLUSH PRIVILEGES;
EXIT;
. ~/admin-openrc
openstack user create --domain default --password CINDER_PASS cinder
openstack role add --project service --user cinder admin