Add openstack HA installer code with ansible for compass adapter
[genesis.git] / compass / deploy / ansible / openstack_juno / roles / database / tasks / mariadb.yml
diff --git a/compass/deploy/ansible/openstack_juno/roles/database/tasks/mariadb.yml b/compass/deploy/ansible/openstack_juno/roles/database/tasks/mariadb.yml
new file mode 100644 (file)
index 0000000..f87ea2f
--- /dev/null
@@ -0,0 +1,61 @@
+---
+- name: install python-mysqldb
+  apt: name={{ item }} state=present force=yes
+  with_items:
+      - libaio1
+      - libssl0.9.8
+      #- mariadb-client-5.5
+      - mysql-client-5.5
+      - python-mysqldb
+
+- name: download mariadb and galera deb package
+  get_url: url={{ item.url }} dest=/opt/{{ item.filename }}
+  register: result
+  until: result|success
+  retries: 5
+  delay: 3
+  with_items:
+    - { url:  "{{ MARIADB_URL }}", filename: "{{ MARIADB }}" }
+    - { url:  "{{ GALERA_URL }}", filename: "{{ GALERA }}" }
+
+- name: install mariadb  and galera packages
+  command: dpkg -i /opt/{{ item }}
+  with_items:
+    - "{{ MARIADB }}"
+    - "{{ GALERA }}"
+
+- name: create mysql log directy
+  file: path=/var/log/mysql state=directory owner=mysql group=mysql mode=0755
+
+- name: update mariadb my.cnf
+  template: src=my.cnf dest=/etc/mysql/my.cnf backup=yes
+
+- name: update galera wsrep.cnf
+  template: src=wsrep.cnf dest=/etc/mysql/conf.d/wsrep.cnf backup=yes
+
+- name: update wsrep_sst_rsync uid 
+  lineinfile: dest=/usr/bin/wsrep_sst_rsync state=absent regexp="\s*uid = \$MYUID$"  backup=yes
+
+- name: update wsrep_sst_rsync gid 
+  lineinfile: dest=/usr/bin/wsrep_sst_rsync state=absent regexp="\s*gid = \$MYGID$"  backup=yes
+
+- name: manually restart mysql server
+  service: name=mysql state=restarted enabled=yes
+  register: result
+  until: result|success
+  retries: 5
+  delay: 5
+  tags:
+    - mysql_restart
+
+- name: generate mysql service list
+  shell: echo {{ item }} >> /opt/service
+  with_items:
+   - mysql
+
+
+- name: create database/user
+  shell: /opt/data.sh
+  when: HA_CLUSTER[inventory_hostname] == ''
+  tags:
+    - mysql_user