summaryrefslogtreecommitdiffstats
path: root/compass/deploy/ansible/roles/database/templates/data.j2
blob: c894b322e8761e6f776e4f124156dd0a6228607f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/sh
mysql -uroot -Dmysql <<EOF
drop database if exists keystone;
drop database if exists glance;
drop database if exists neutron;
drop database if exists nova;
drop database if exists cinder;

CREATE DATABASE keystone;
{% for host in ['%', 'localhost', inventory_hostname] %}
GRANT ALL ON keystone.* TO 'keystone'@'{{ host }}' IDENTIFIED BY '{{ KEYSTONE_DBPASS }}';
{% endfor %}

CREATE DATABASE glance;
{% for host in ['%', 'localhost', inventory_hostname] %}
GRANT ALL ON glance.* TO 'glance'@'{{ host }}' IDENTIFIED BY '{{ GLANCE_DBPASS }}';
{% endfor %}

CREATE DATABASE neutron;
{% for host in ['%', 'localhost', inventory_hostname] %}
GRANT ALL ON neutron.* TO 'neutron'@'{{ host }}' IDENTIFIED BY '{{ NEUTRON_DBPASS }}';
{% endfor %}

CREATE DATABASE nova;
{% for host in ['%', 'localhost', inventory_hostname] %}
GRANT ALL ON nova.* TO 'nova'@'{{ host }}' IDENTIFIED BY '{{ NOVA_DBPASS }}';
{% endfor %}

CREATE DATABASE cinder;
{% for host in ['%', 'localhost', inventory_hostname] %}
GRANT ALL ON cinder.* TO 'cinder'@'{{ host }}' IDENTIFIED BY '{{ CINDER_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 }}';
{% endfor %}
{% endif %}
EOF
SSHClient() self.client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) self.client.connect(self.host, username=self.username, password=self.password, look_for_keys=False, timeout=timeout) def close(self): if self.client is not None: self.client.close() self.client = None def __enter__(self): self.open() return self def __exit__(self, type, value, traceback): self.close() def exec_cmd(self, command, check=True, sudo=False, timeout=TIMEOUT): if sudo and self.username != 'root': command = "sudo -S -p '' %s" % command stdin, stdout, stderr = self.client.exec_command(command, timeout=timeout) if sudo: stdin.write(self.password + '\n') stdin.flush() response = stdout.read().strip() error = stderr.read().strip() if check: if error: self.close() err(error) else: return response return response, error def run(self, command): transport = self.client.get_transport() transport.set_keepalive(1) chan = transport.open_session() chan.exec_command(command) while not chan.exit_status_ready(): if chan.recv_ready(): data = chan.recv(1024) while data: log(data.strip()) data = chan.recv(1024) if chan.recv_stderr_ready(): error_buff = chan.recv_stderr(1024) while error_buff: log(error_buff.strip()) error_buff = chan.recv_stderr(1024) return chan.recv_exit_status() def scp_get(self, remote, local='.', dir=False): try: with scp.SCPClient(self.client.get_transport()) as _scp: _scp.get(remote, local, dir) except Exception as e: err(e) def scp_put(self, local, remote='.', dir=False): try: with scp.SCPClient(self.client.get_transport()) as _scp: _scp.put(local, remote, dir) except Exception as e: err(e)