aboutsummaryrefslogtreecommitdiffstats
path: root/deploy/adapters/ansible/roles/database
diff options
context:
space:
mode:
Diffstat (limited to 'deploy/adapters/ansible/roles/database')
-rw-r--r--deploy/adapters/ansible/roles/database/tasks/mariadb_cluster_debian.yml43
-rw-r--r--deploy/adapters/ansible/roles/database/tasks/mariadb_install.yml11
-rw-r--r--deploy/adapters/ansible/roles/database/templates/data.j26
-rw-r--r--deploy/adapters/ansible/roles/database/vars/Debian.yml18
-rw-r--r--deploy/adapters/ansible/roles/database/vars/main.yml7
5 files changed, 54 insertions, 31 deletions
diff --git a/deploy/adapters/ansible/roles/database/tasks/mariadb_cluster_debian.yml b/deploy/adapters/ansible/roles/database/tasks/mariadb_cluster_debian.yml
index f083a40f..442cd18b 100644
--- a/deploy/adapters/ansible/roles/database/tasks/mariadb_cluster_debian.yml
+++ b/deploy/adapters/ansible/roles/database/tasks/mariadb_cluster_debian.yml
@@ -7,14 +7,6 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
---
-- name: Register RECOVERY
- set_fact: RECOVERY_ENV={{RECOVERY_ENV | default('False')}}
-
-- name: killall mysqld processes
- shell: sudo killall -9 mysqld
- when: RECOVERY_ENV
- ignore_errors: True
-
- name: get cluster status
shell: mysql --silent --skip-column-names -e 'SHOW STATUS LIKE "wsrep_evs_state"'|awk '{print $2}'
register: cluster_status
@@ -22,11 +14,9 @@
- inventory_hostname == haproxy_hosts.keys()[0]
- name: start first node to create new cluster
- service:
- name: mysql
- state: restarted
- enabled: yes
- args: "--wsrep-new-cluster"
+ shell: >
+ service mysql bootstrap;
+ service mysql start;
when: |
inventory_hostname == haproxy_hosts.keys()[0]
and not cluster_status.stdout | search("OPERATIONAL")
@@ -47,19 +37,30 @@
register: cluster_nodes
changed_when: false
-- name: restart other nodes and join cluster
- service:
- name: mysql
- state: restarted
- enabled: yes
+- name: restart other nodes and join cluster1
+ shell: service mysql restart;
+ when: |
+ inventory_hostname != haproxy_hosts.keys()[0]
+ and not cluster_nodes.stdout | search( "{{ internal_ip }}" )
+ ignore_errors: True
+
+- name: delay 60 seconds
+ shell: sleep 60
+
+- name: restart other nodes and join cluster2
+ shell: service mysql restart;
when: |
inventory_hostname != haproxy_hosts.keys()[0]
and not cluster_nodes.stdout | search( "{{ internal_ip }}" )
+- name: chmod directory
+ shell: >
+ chmod 755 -R /var/lib/mysql/ ;
+ chmod 755 -R /var/log/mysql/ ;
+ chmod 755 -R /etc/mysql/conf.d/;
+
- name: restart first nodes
- service:
- name: mysql
- state: restarted
+ shell: service mysql restart
when: |
(inventory_hostname == haproxy_hosts.keys()[0]
and haproxy_hosts|length > 1
diff --git a/deploy/adapters/ansible/roles/database/tasks/mariadb_install.yml b/deploy/adapters/ansible/roles/database/tasks/mariadb_install.yml
index bf9f3464..1b08172d 100644
--- a/deploy/adapters/ansible/roles/database/tasks/mariadb_install.yml
+++ b/deploy/adapters/ansible/roles/database/tasks/mariadb_install.yml
@@ -14,16 +14,16 @@
mode: 0755
when: ansible_os_family == "Debian"
-- name: install python-mysqldb
- action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
- with_items: maridb_packages | union(packages_noarch)
-
- name: change open file limit
copy:
content: "* - nofile 65536 }}"
dest: "/etc/security/limits.conf"
mode: 0755
+- name: install python-mysqldb
+ action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
+ with_items: maridb_packages | union(packages_noarch)
+
- name: create conf dir for wsrep
file: path=/etc/my.cnf.d state=directory mode=0755
when: ansible_os_family == "RedHat"
@@ -52,7 +52,7 @@
when: ansible_os_family == "Debian"
- name: set owner
- file: path=/var/lib/mysql owner=mysql group=mysql recurse=yes state=directory
+ file: path=/var/lib/mysql owner=mysql group=mysql recurse=yes state=directory mode=0755
- name: get logfile stat
stat: path='{{ mysql_data_dir }}/ib_logfile0'
@@ -67,3 +67,4 @@
when: |
logfile_stat.stat.exists
and logfile_stat.stat.size != 1073741824
+
diff --git a/deploy/adapters/ansible/roles/database/templates/data.j2 b/deploy/adapters/ansible/roles/database/templates/data.j2
index 109201ab..66c2fead 100644
--- a/deploy/adapters/ansible/roles/database/templates/data.j2
+++ b/deploy/adapters/ansible/roles/database/templates/data.j2
@@ -6,6 +6,7 @@ drop database if exists neutron;
drop database if exists nova;
drop database if exists cinder;
drop database if exists heat;
+drop database if exists aodh;
CREATE DATABASE keystone;
{% for host in ['%', 'localhost', inventory_hostname] %}
@@ -37,6 +38,11 @@ CREATE DATABASE heat;
GRANT ALL ON heat.* TO 'heat'@'{{ host }}' IDENTIFIED BY '{{ HEAT_DBPASS }}';
{% endfor %}
+CREATE DATABASE aodh;
+{% for host in ['%', 'localhost', inventory_hostname] %}
+GRANT ALL ON aodh.* TO 'aodh'@'{{ host }}' IDENTIFIED BY '{{ AODH_DBPASS }}';
+{% endfor %}
+
{% if WSREP_SST_USER is defined %}
{% for host in ['%', 'localhost', inventory_hostname] %}
GRANT ALL ON *.* TO '{{ WSREP_SST_USER }}'@'{{ host }}' IDENTIFIED BY '{{ WSREP_SST_PASS }}';
diff --git a/deploy/adapters/ansible/roles/database/vars/Debian.yml b/deploy/adapters/ansible/roles/database/vars/Debian.yml
index 621dc492..1021524d 100644
--- a/deploy/adapters/ansible/roles/database/vars/Debian.yml
+++ b/deploy/adapters/ansible/roles/database/vars/Debian.yml
@@ -17,11 +17,21 @@ mysql_packages:
- mysql-server
maridb_packages:
- - libaio1
- - libssl0.9.8
+ - apt-transport-https
+ - debconf-utils
+ - libaio1
+ - libc6
+ - libdbd-mysql-perl
+ - libgcc1
+ - libgcrypt20
+ - libstdc++6
+ - python-software-properties
+ - mariadb-client
+ - galera-3
+ - rsync
+ - socat
+ - mariadb-galera-server-10.0
- python-mysqldb
- - mysql-wsrep-server-5.5
- - galera-3
pip_packages: []
diff --git a/deploy/adapters/ansible/roles/database/vars/main.yml b/deploy/adapters/ansible/roles/database/vars/main.yml
index c0538899..a32897f0 100644
--- a/deploy/adapters/ansible/roles/database/vars/main.yml
+++ b/deploy/adapters/ansible/roles/database/vars/main.yml
@@ -23,6 +23,9 @@ credentials:
db: glance
password: "{{ GLANCE_DBPASS }}"
- user: nova
+ db: nova_api
+ password: "{{ NOVA_DBPASS }}"
+ - user: nova
db: nova
password: "{{ NOVA_DBPASS }}"
- user: cinder
@@ -31,4 +34,6 @@ credentials:
- user: heat
db: heat
password: "{{ HEAT_DBPASS }}"
-
+ - user: aodh
+ db: aodh
+ password: "{{ AODH_DBPASS }}"