diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-11-06 20:04:08 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-11-06 20:04:08 +0000 |
| commit | b3ef02193d7030016291e602b4c9671d9407d790 (patch) | |
| tree | b01b40f766f11aec22812f6a0820d89ab9ab6ee8 | |
| parent | 1f01ef37a465a1659189ee5cdfb14c8cffc50a50 (diff) | |
| parent | ce8978884e33a38cdd15b214cc2f70e219aeb646 (diff) | |
| download | kolla-b3ef02193d7030016291e602b4c9671d9407d790.tar.gz kolla-b3ef02193d7030016291e602b4c9671d9407d790.zip | |
Merge "Allow flexibility in mysql backend for ceilometer"
| -rw-r--r-- | ansible/roles/ceilometer/defaults/main.yml | 5 | ||||
| -rw-r--r-- | ansible/roles/ceilometer/tasks/bootstrap.yml | 24 |
2 files changed, 24 insertions, 5 deletions
diff --git a/ansible/roles/ceilometer/defaults/main.yml b/ansible/roles/ceilometer/defaults/main.yml index b914e62d9..e3d015df6 100644 --- a/ansible/roles/ceilometer/defaults/main.yml +++ b/ansible/roles/ceilometer/defaults/main.yml @@ -7,9 +7,10 @@ project_name: "ceilometer" #################### ceilometer_database_name: "ceilometer" ceilometer_database_user: "ceilometer" +ceilometer_database_port: "{{ mondodb_port if ceilometer_database_type == 'mongodb' else database_port }}" -ceilometer_database_mongodb_address: "{% for host in groups['mongodb'] %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ mongodb_port }}{% if not loop.last %},{% endif %}{% endfor %}" -ceilometer_database_mysql_address: "{{ kolla_internal_fqdn }}:{{ database_port }}" +ceilometer_database_mongodb_address: "{% for host in groups['mongodb'] %}{{ hostvars[host]['ansible_' + hostvars[host]['api_interface']]['ipv4']['address'] }}:{{ ceilometer_database_port }}{% if not loop.last %},{% endif %}{% endfor %}" +ceilometer_database_mysql_address: "{{ kolla_internal_fqdn }}:{{ ceilometer_database_port }}" #################### diff --git a/ansible/roles/ceilometer/tasks/bootstrap.yml b/ansible/roles/ceilometer/tasks/bootstrap.yml index 0ceae2fd0..7078709ed 100644 --- a/ansible/roles/ceilometer/tasks/bootstrap.yml +++ b/ansible/roles/ceilometer/tasks/bootstrap.yml @@ -10,11 +10,26 @@ when: - ceilometer_database_type == "mongodb" +- name: Checking Ceilometer mysql database + command: docker exec -t kolla_toolbox /usr/bin/ansible localhost + -m mysql_db + -a "login_host='{{ ceilometer_database_mysql_address }}' + login_port='{{ ceilometer_database_port }}' + login_user='{{ ceilometer_database_user }}' + login_password='{{ ceilometer_database_password }}' + name='{{ ceilometer_database_name }}'" + register: mysql_access + failed_when: False + changed_when: False + run_once: True + when: + - ceilometer_database_type == "mysql" + - name: Creating Ceilometer mysql database command: docker exec -t kolla_toolbox /usr/bin/ansible localhost -m mysql_db -a "login_host='{{ ceilometer_database_mysql_address }}' - login_port='{{ database_port }}' + login_port='{{ ceilometer_database_port }}' login_user='{{ database_user }}' login_password='{{ database_password }}' name='{{ ceilometer_database_name }}'" @@ -26,12 +41,13 @@ delegate_to: "{{ groups['ceilometer-api'][0] }}" when: - ceilometer_database_type == "mysql" + - "'FAILED' in mysql_access.stdout" - name: Creating Ceilometer database user and setting permissions command: docker exec -t kolla_toolbox /usr/bin/ansible localhost -m mysql_user -a "login_host='{{ ceilometer_database_mysql_address }}' - login_port='{{ database_port }}' + login_port='{{ ceilometer_database_port }}' login_user='{{ database_user }}' login_password='{{ database_password }}' name='{{ ceilometer_database_name }}' @@ -47,9 +63,11 @@ delegate_to: "{{ groups['ceilometer-api'][0] }}" when: - ceilometer_database_type == "mysql" + - "'FAILED' in mysql_access.stdout" # TODO(Jeffrey4l): fix idempotent when ceilomter_database_type == "gnocchi" +# NOTE(vbel): bootstrapping of mysql db for ceilometer is idempotent - include: bootstrap_service.yml when: ((ceilometer_database_type == "mongodb" and mongodb_ceilometer_database.changed) - or (ceilometer_database_type == "mysql" and mysql_ceilometer_database.changed) + or ceilometer_database_type == "mysql" or ceilometer_database_type == "gnocchi") |
