Skip to content

Commit

Permalink
MHA now installs - need to configure
Browse files Browse the repository at this point in the history
  • Loading branch information
time-palominodb committed Aug 24, 2012
1 parent afe32de commit dcff719
Show file tree
Hide file tree
Showing 5 changed files with 75 additions and 8 deletions.
22 changes: 14 additions & 8 deletions AnsiblePlaybooks/Ubuntu-12.04/10-MySQL_MHA_Manager.sh
Expand Up @@ -10,8 +10,10 @@ if [ $USER == "root" ] ; then
exit 255
fi

# -f 10 - fork ten processes at a time
# -v - verbosity
ansibleFlags='-f 10'
ansibleHosts='/etc/ansible/hosts'
ansibleFlags='-f 8 -v'

# Sanity Check Overall Configuration

Expand Down Expand Up @@ -59,20 +61,24 @@ echo " - `date` :: $0 Running MySQL Masters/Slaves Ansible Playbook. ===========
ansible-playbook $ansibleFlags ./BaseSaneSystem/setup.yml


# First: Install MySQL Master and Slaves on database nodes
# MySQL Master and Slaves on database nodes
echo ""
echo " - `date` :: $0 Running MySQL Masters/Slaves Ansible Playbook. ========================"
for i in `ls -1 ./MySQLMasterSlaves/??-*.yml` ; do
echo " - `date` :: $i"
ansible-playbook $ansibleFlags $i
done

# Second: Install HAproxy on the database client nodes
# MHA on MHA manager and MHA nodes
echo ""
echo " - `date` :: $0 Running HAproxy Ansible Playbook. ========================"
ansible-playbook $ansibleFlags ./HAProxy/setup.yml
echo " - `date` :: $0 Running MHA Ansible Playbook. ========================"
for i in `ls -1 ./MHA/??-*.yml` ; do
echo " - `date` :: $i"
ansible-playbook $ansibleFlags $i
done

# Third: Install MHA on MHA manager and MHA nodes
# HAproxy on the database client nodes
echo ""
echo " - `date` :: $0 Running MHA Ansible Playbook. ========================"
ansible-playbook $ansibleFlags ./MHA/setup.yml
echo " - `date` :: $0 Running HAproxy Ansible Playbook. ========================"
ansible-playbook $ansibleFlags ./HAProxy/setup.yml

29 changes: 29 additions & 0 deletions AnsiblePlaybooks/Ubuntu-12.04/MHA/10-installMHA.yml
@@ -0,0 +1,29 @@
---
# install MHA manager software - it would appear MHA manager depends on
# MHA node from a dpkg point of view, so I install everything everywhere
- hosts: mhamanager:mhanodes
user: ubuntu
sudo: True
vars_files:
- ../PalominoClusterToolConfig.yml
tasks:
- name: install MHA dependencies on MHA manager
action: apt name=$item state=installed
with_items:
- libdbd-mysql-perl
- libconfig-tiny-perl
- liblog-dispatch-perl
- libparallel-forkmanager-perl

- name: download MHA software
action: command creates=/tmp/$item /usr/bin/curl http://mysql-master-ha.googlecode.com/files/$item -o /tmp/$item
with_items:
- mha4mysql-node_0.53_all.deb
- mha4mysql-manager_0.53_all.deb

- name: install MHA software
action: command /usr/bin/dpkg -i /tmp/$item
with_items:
- mha4mysql-node_0.53_all.deb
- mha4mysql-manager_0.53_all.deb

2 changes: 2 additions & 0 deletions AnsiblePlaybooks/Ubuntu-12.04/MHA/20-configureMHA.yml
@@ -0,0 +1,2 @@
---

@@ -0,0 +1,18 @@
[server default]
manager_workdir=/var/log/masterha/app
manager_log=/var/log/masterha/app.log

[server1]
hostname=host1
candidate_master=1

[server2]
hostname=host2
candidate_master=1

[server3]
hostname=host3

[server4]
hostname=host4

@@ -0,0 +1,12 @@
[server default]
user=root
password=rootpass
ssh_user=ubuntu
master_binlog_dir=/var/log/mysql
remote_workdir=/data/log/masterha
secondary_check_script=masterha_secondary_check -s remote_host1 -s remote_host2
ping_interval=3
master_ip_failover_script=/script/masterha/master_ip_failover
shutdown_script=/script/masterha/power_manager
report_script=/script/masterha/send_master_failover_mail

0 comments on commit dcff719

Please sign in to comment.