Bug fix for aodh database and conf file 25/17925/2
authorYifei Xue <xueyifei@huawei.com>
Tue, 2 Aug 2016 22:40:51 +0000 (06:40 +0800)
committerYifei Xue <xueyifei@huawei.com>
Wed, 3 Aug 2016 08:57:09 +0000 (16:57 +0800)
JIRA: COMPASS-447

Change-Id: Ida974260b0e90778d5825be4731f461dd410415a
Signed-off-by: Yifei Xue <xueyifei@huawei.com>
14 files changed:
deploy/adapters/ansible/openstack_mitaka/roles/aodh/handlers/main.yml
deploy/adapters/ansible/openstack_mitaka/roles/aodh/tasks/aodh_config.yml [new file with mode: 0644]
deploy/adapters/ansible/openstack_mitaka/roles/aodh/tasks/aodh_install.yml [new file with mode: 0644]
deploy/adapters/ansible/openstack_mitaka/roles/aodh/tasks/main.yml
deploy/adapters/ansible/openstack_mitaka/roles/aodh/templates/aodh.conf.j2
deploy/adapters/ansible/openstack_mitaka/roles/database/templates/data.j2 [new file with mode: 0644]
deploy/adapters/ansible/openstack_mitaka/roles/database/vars/main.yml
deploy/adapters/ansible/openstack_mitaka_xenial/roles/aodh/handlers/main.yml
deploy/adapters/ansible/openstack_mitaka_xenial/roles/aodh/tasks/aodh_config.yml [new file with mode: 0644]
deploy/adapters/ansible/openstack_mitaka_xenial/roles/aodh/tasks/aodh_install.yml [new file with mode: 0644]
deploy/adapters/ansible/openstack_mitaka_xenial/roles/aodh/tasks/main.yml
deploy/adapters/ansible/openstack_mitaka_xenial/roles/aodh/templates/aodh.conf.j2
deploy/adapters/ansible/openstack_mitaka_xenial/roles/database/templates/data.j2 [new file with mode: 0644]
deploy/adapters/ansible/openstack_mitaka_xenial/roles/database/vars/main.yml

index e1084c8..b3399e0 100644 (file)
@@ -9,4 +9,5 @@
 ---
 - name: restart aodh services
   service: name={{ item }} state=restarted enabled=yes
-  with_items: services
+  with_items: services | union(services_noarch)
+
diff --git a/deploy/adapters/ansible/openstack_mitaka/roles/aodh/tasks/aodh_config.yml b/deploy/adapters/ansible/openstack_mitaka/roles/aodh/tasks/aodh_config.yml
new file mode 100644 (file)
index 0000000..e60d533
--- /dev/null
@@ -0,0 +1,14 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+- name: aodh db sync
+  shell: su -s /bin/sh -c "aodh-dbsync" aodh
+  notify:
+    - restart aodh services
+
diff --git a/deploy/adapters/ansible/openstack_mitaka/roles/aodh/tasks/aodh_install.yml b/deploy/adapters/ansible/openstack_mitaka/roles/aodh/tasks/aodh_install.yml
new file mode 100644 (file)
index 0000000..eb51fbe
--- /dev/null
@@ -0,0 +1,31 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+- include_vars: "{{ ansible_os_family }}.yml"
+
+- name: install aodh packages
+  action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
+  with_items: packages | union(packages_noarch)
+
+- name: update aodh conf
+  template: src={{ item }} dest=/etc/aodh/aodh.conf
+            backup=yes
+  with_items:
+    - aodh.conf.j2
+#    - api_paste.ini.j2
+#    - policy.json.j2
+  notify:
+    - restart aodh services
+
+- name: write services to monitor list
+  lineinfile: dest=/opt/service create=yes line='{{ item }}'
+  with_items: services | union(services_noarch)
+
+- name: remove default sqlite db
+  shell: rm /var/lib/aodh/aodh.sqlite || touch aodh.sqllite.db.removed
index 75b1551..9b61915 100644 (file)
@@ -7,23 +7,17 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 ---
-- include_vars: "{{ ansible_os_family }}.yml"
+- include: aodh_install.yml
+  tags:
+    - install
+    - aodh_install
+    - aodh
 
-- name: install aodh packages
-  action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
-  with_items: packages | union(packages_noarch)
-
-- name: update aodh conf
-  template: src={{ item }} dest=/etc/aodh/aodh.conf
-            backup=yes
-  with_items:
-    - aodh.conf.j2
-#    - api_paste.ini.j2
-#    - policy.json.j2
-  notify: restart aodh services
-
-- name: write services to monitor list
-  lineinfile: dest=/opt/service create=yes line='{{ item }}'
-  with_items: services
+- include: aodh_config.yml
+  when: inventory_hostname == groups['controller'][0]
+  tags:
+    - config
+    - aodh_config
+    - aodh
 
 - meta: flush_handlers
index 85512ed..743099c 100644 (file)
@@ -10,16 +10,15 @@ bind_port = 8042
 rpc_backend = rabbit
 auth_strategy = keystone
 debug = True
-verbose = True
 
 [oslo_messaging_rabbit]
 rabbit_hosts = {{ internal_vip.ip }}
 rabbit_userid = {{ RABBIT_USER }}
 rabbit_password = {{ RABBIT_PASS }}
-rabbit_use_ssl = false
+#rabbit_use_ssl = false
 
 [database]
-connection = mongodb://aodh:{{ AODH_DBPASS }}@{{ internal_vip.ip }}:27017/aodh
+connection = mysql://aodh:{{ AODH_DBPASS }}@{{ db_host }}/aodh
 
 [keystone_authtoken]
 auth_uri = http://{{ internal_vip.ip }}:5000
diff --git a/deploy/adapters/ansible/openstack_mitaka/roles/database/templates/data.j2 b/deploy/adapters/ansible/openstack_mitaka/roles/database/templates/data.j2
new file mode 100644 (file)
index 0000000..66c2fea
--- /dev/null
@@ -0,0 +1,51 @@
+#!/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;
+drop database if exists heat;
+drop database if exists aodh;
+
+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 %}
+
+CREATE DATABASE heat;
+{% for host in ['%', 'localhost', inventory_hostname] %}
+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 }}';
+{% endfor %}
+{% endif %}
+EOF
index b4ff7ba..a32897f 100644 (file)
@@ -34,4 +34,6 @@ credentials:
   - user: heat
     db: heat
     password: "{{ HEAT_DBPASS }}"
-
+  - user: aodh
+    db: aodh
+    password: "{{ AODH_DBPASS }}"
index e1084c8..b3399e0 100644 (file)
@@ -9,4 +9,5 @@
 ---
 - name: restart aodh services
   service: name={{ item }} state=restarted enabled=yes
-  with_items: services
+  with_items: services | union(services_noarch)
+
diff --git a/deploy/adapters/ansible/openstack_mitaka_xenial/roles/aodh/tasks/aodh_config.yml b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/aodh/tasks/aodh_config.yml
new file mode 100644 (file)
index 0000000..e60d533
--- /dev/null
@@ -0,0 +1,14 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+- name: aodh db sync
+  shell: su -s /bin/sh -c "aodh-dbsync" aodh
+  notify:
+    - restart aodh services
+
diff --git a/deploy/adapters/ansible/openstack_mitaka_xenial/roles/aodh/tasks/aodh_install.yml b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/aodh/tasks/aodh_install.yml
new file mode 100644 (file)
index 0000000..eb51fbe
--- /dev/null
@@ -0,0 +1,31 @@
+##############################################################################
+# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+- include_vars: "{{ ansible_os_family }}.yml"
+
+- name: install aodh packages
+  action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
+  with_items: packages | union(packages_noarch)
+
+- name: update aodh conf
+  template: src={{ item }} dest=/etc/aodh/aodh.conf
+            backup=yes
+  with_items:
+    - aodh.conf.j2
+#    - api_paste.ini.j2
+#    - policy.json.j2
+  notify:
+    - restart aodh services
+
+- name: write services to monitor list
+  lineinfile: dest=/opt/service create=yes line='{{ item }}'
+  with_items: services | union(services_noarch)
+
+- name: remove default sqlite db
+  shell: rm /var/lib/aodh/aodh.sqlite || touch aodh.sqllite.db.removed
index 75b1551..9b61915 100644 (file)
@@ -7,23 +7,17 @@
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
 ---
-- include_vars: "{{ ansible_os_family }}.yml"
+- include: aodh_install.yml
+  tags:
+    - install
+    - aodh_install
+    - aodh
 
-- name: install aodh packages
-  action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
-  with_items: packages | union(packages_noarch)
-
-- name: update aodh conf
-  template: src={{ item }} dest=/etc/aodh/aodh.conf
-            backup=yes
-  with_items:
-    - aodh.conf.j2
-#    - api_paste.ini.j2
-#    - policy.json.j2
-  notify: restart aodh services
-
-- name: write services to monitor list
-  lineinfile: dest=/opt/service create=yes line='{{ item }}'
-  with_items: services
+- include: aodh_config.yml
+  when: inventory_hostname == groups['controller'][0]
+  tags:
+    - config
+    - aodh_config
+    - aodh
 
 - meta: flush_handlers
index 85512ed..743099c 100644 (file)
@@ -10,16 +10,15 @@ bind_port = 8042
 rpc_backend = rabbit
 auth_strategy = keystone
 debug = True
-verbose = True
 
 [oslo_messaging_rabbit]
 rabbit_hosts = {{ internal_vip.ip }}
 rabbit_userid = {{ RABBIT_USER }}
 rabbit_password = {{ RABBIT_PASS }}
-rabbit_use_ssl = false
+#rabbit_use_ssl = false
 
 [database]
-connection = mongodb://aodh:{{ AODH_DBPASS }}@{{ internal_vip.ip }}:27017/aodh
+connection = mysql://aodh:{{ AODH_DBPASS }}@{{ db_host }}/aodh
 
 [keystone_authtoken]
 auth_uri = http://{{ internal_vip.ip }}:5000
diff --git a/deploy/adapters/ansible/openstack_mitaka_xenial/roles/database/templates/data.j2 b/deploy/adapters/ansible/openstack_mitaka_xenial/roles/database/templates/data.j2
new file mode 100644 (file)
index 0000000..66c2fea
--- /dev/null
@@ -0,0 +1,51 @@
+#!/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;
+drop database if exists heat;
+drop database if exists aodh;
+
+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 %}
+
+CREATE DATABASE heat;
+{% for host in ['%', 'localhost', inventory_hostname] %}
+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 }}';
+{% endfor %}
+{% endif %}
+EOF
index b4ff7ba..a32897f 100644 (file)
@@ -34,4 +34,6 @@ credentials:
   - user: heat
     db: heat
     password: "{{ HEAT_DBPASS }}"
-
+  - user: aodh
+    db: aodh
+    password: "{{ AODH_DBPASS }}"