aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwutianwei <wutianwei1@huawei.com>2017-10-18 11:19:37 +0800
committerJustin chi <chigang@huawei.com>2017-10-18 13:56:36 +0000
commit856a88f6529d695ad8c3eec845a4b3856f316be9 (patch)
tree7256756ed673b2b2529bf1eb7946d97c5ab3d7c0
parent9f6903031c24c5b62bcf6b02eee0711fa78a685b (diff)
Fix ceilometer issue
OSA don't maintain the ceilometer component. We change the OSA code to make ceilometer work. 1. create ceilometer database 2. change the ceilometer policy 3. change the ceilometer config 4. change the OS_AUTH_TYPE in openrc Change-Id: I2d8630a0c50f5c6bd1e86171cae1fa8f9934334b Signed-off-by: wutianwei <wutianwei1@huawei.com> (cherry picked from commit f55635085312ab2c367d1ae37d0979874b2a7d82)
-rw-r--r--deploy/adapters/ansible/roles/config-osa/files/policy.json15
-rwxr-xr-xdeploy/adapters/ansible/roles/config-osa/tasks/main.yml2
-rw-r--r--deploy/adapters/ansible/roles/config-osa/tasks/meters.yml71
3 files changed, 88 insertions, 0 deletions
diff --git a/deploy/adapters/ansible/roles/config-osa/files/policy.json b/deploy/adapters/ansible/roles/config-osa/files/policy.json
new file mode 100644
index 00000000..0aa0a3d1
--- /dev/null
+++ b/deploy/adapters/ansible/roles/config-osa/files/policy.json
@@ -0,0 +1,15 @@
+{
+ "context_is_admin": "role:admin",
+ "segregation": "rule:context_is_admin",
+
+ "telemetry:get_samples": "",
+ "telemetry:get_sample": "",
+ "telemetry:query_sample": "",
+ "telemetry:create_samples": "",
+
+ "telemetry:compute_statistics": "",
+ "telemetry:get_meters": "",
+
+ "telemetry:get_resource": "",
+ "telemetry:get_resources": "",
+}
diff --git a/deploy/adapters/ansible/roles/config-osa/tasks/main.yml b/deploy/adapters/ansible/roles/config-osa/tasks/main.yml
index d3779fd4..8e5caf85 100755
--- a/deploy/adapters/ansible/roles/config-osa/tasks/main.yml
+++ b/deploy/adapters/ansible/roles/config-osa/tasks/main.yml
@@ -263,3 +263,5 @@
dest: /etc/ansible/roles/repo_build/tasks/main.yml
insertafter: "^- include: repo_post_build.yml"
line: "- include: repo_fix_pandas.yml"
+
+- include: meters.yml
diff --git a/deploy/adapters/ansible/roles/config-osa/tasks/meters.yml b/deploy/adapters/ansible/roles/config-osa/tasks/meters.yml
new file mode 100644
index 00000000..163fc69d
--- /dev/null
+++ b/deploy/adapters/ansible/roles/config-osa/tasks/meters.yml
@@ -0,0 +1,71 @@
+#############################################################################
+# Copyright (c) 2017 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: modify the aodh haproxy config
+ replace:
+ dest: /opt/openstack-ansible/playbooks/vars/configs/haproxy_config.yml
+ regexp: '- "expect status 401"'
+ replace: '- "expect status 200"'
+
+- name: add OS_AUTH_TYPE in openrc
+ lineinfile:
+ dest: /etc/ansible/roles/openstack_openrc/templates/openrc.j2
+ line: "export OS_AUTH_TYPE=password"
+
+- name: copy the ceilometer policy yaml
+ copy:
+ dest: /etc/ansible/roles/os_ceilometer/templates/policy.json.j2
+ src: policy.json
+ mode: 0664
+
+- name: replace the ceilometer policy
+ lineinfile:
+ dest: /etc/ansible/roles/os_ceilometer/tasks/ceilometer_post_install.yml
+ regexp: "ceilometer_policy_user_content"
+ line: ' src: "policy.json.j2"'
+ backrefs: "yes"
+
+- name: modify the os-ceilometer-install.yml
+ blockinfile:
+ dest: /opt/openstack-ansible/playbooks/os-ceilometer-install.yml
+ insertbefore: "common-tasks/package-cache-proxy.yml"
+ block: |
+ # create ceilometer db
+ - include: common-tasks/mysql-db-user.yml
+ static: no
+ vars: {% raw %}
+ user_name: "{{ ceilometer_galera_user }}"
+ password: "{{ ceilometer_container_db_password }}"
+ login_host: "{{ ceilometer_galera_address }}"
+ db_name: "{{ ceilometer_galera_database }}"
+ when: inventory_hostname == groups['ceilometer_all'][0]{% endraw %}
+
+- name: modify the os-ceilometer-install.yml
+ lineinfile:
+ dest: /opt/openstack-ansible/playbooks/os-ceilometer-install.yml
+ insertafter: "is_metal"
+ line: "{{ item }}"
+ with_items:
+ - " ceilometer_galera_user: ceilometer"
+ - " ceilometer_galera_database: ceilometer"
+
+- name: modify the os-ceilometer-install.yml
+ lineinfile:
+ dest: /opt/openstack-ansible/playbooks/os-ceilometer-install.yml
+ insertafter: "is_metal"
+ line: ' {% raw %} ceilometer_galera_address: "{{ galera_address }}"{% endraw %}'
+
+# yamllint disable rule:line-length
+- name: change the ceilometer.conf.j2
+ blockinfile:
+ dest: /etc/ansible/roles/os_ceilometer/templates/ceilometer.conf.j2
+ block: |
+ [database]{% raw %}
+ connection = mysql+pymysql://{{ ceilometer_galera_user }}:{{ ceilometer_container_db_password }}@{{ceilometer_galera_address }}/{{ ceilometer_galera_database }}?charset=utf86{% endraw %}
+# yamllint enable rule:line-length