summaryrefslogtreecommitdiffstats
path: root/compass/deploy/ansible/openstack_juno/roles/database/tasks
diff options
context:
space:
mode:
Diffstat (limited to 'compass/deploy/ansible/openstack_juno/roles/database/tasks')
-rw-r--r--compass/deploy/ansible/openstack_juno/roles/database/tasks/main.yml12
-rw-r--r--compass/deploy/ansible/openstack_juno/roles/database/tasks/mariadb.yml61
-rw-r--r--compass/deploy/ansible/openstack_juno/roles/database/tasks/mysql.yml22
3 files changed, 95 insertions, 0 deletions
diff --git a/compass/deploy/ansible/openstack_juno/roles/database/tasks/main.yml b/compass/deploy/ansible/openstack_juno/roles/database/tasks/main.yml
new file mode 100644
index 0000000..e66f0cd
--- /dev/null
+++ b/compass/deploy/ansible/openstack_juno/roles/database/tasks/main.yml
@@ -0,0 +1,12 @@
+---
+- name: copy data.sh
+ template: src=data.j2 dest=/opt/data.sh mode=777
+ tags:
+ - mysql_user
+
+- include: mysql.yml
+ when: HA_CLUSTER is not defined
+
+- include: mariadb.yml
+ when: HA_CLUSTER is defined
+
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
index 0000000..f87ea2f
--- /dev/null
+++ b/compass/deploy/ansible/openstack_juno/roles/database/tasks/mariadb.yml
@@ -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
diff --git a/compass/deploy/ansible/openstack_juno/roles/database/tasks/mysql.yml b/compass/deploy/ansible/openstack_juno/roles/database/tasks/mysql.yml
new file mode 100644
index 0000000..327b656
--- /dev/null
+++ b/compass/deploy/ansible/openstack_juno/roles/database/tasks/mysql.yml
@@ -0,0 +1,22 @@
+---
+- name: install mysql client and server packages
+ apt: name={{ item }} state=present
+ with_items:
+ - python-mysqldb
+ - mysql-server
+
+- name: create mysql log directy
+ file: path=/var/log/mysql state=directory owner=mysql group=mysql mode=0755
+
+- name: update mysql my.cnf
+ copy: src=my.cnf
+ dest=/etc/mysql/my.cnf
+ backup=yes
+
+- name: manually restart mysql server
+ shell: service mysql restart
+
+- name: create database/user
+ shell: /opt/data.sh
+ tags:
+ - mysql_user