diff --git a/defaults/main.yml b/defaults/main.yml index 5ad5268..e7d3855 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -67,6 +67,8 @@ gnocchi_venv_download: "{{ not gnocchi_developer_mode | bool and not gnocchi_ide gnocchi_venv_download_url: http://127.0.0.1/venvs/untagged/ubuntu/gnocchi.tgz #: Index Database info +gnocchi_db_setup_host: "{{ ('galera_all' in groups) | ternary(groups['galera_all'][0], 'localhost') }}" +gnocchi_galera_address: "{{ galera_address | default('127.0.0.1') }}" gnocchi_galera_database: gnocchi gnocchi_galera_user: gnocchi gnocchi_galera_address: "{{ galera_address }}" diff --git a/examples/playbook.yml b/examples/playbook.yml index b3fffc0..182ad72 100644 --- a/examples/playbook.yml +++ b/examples/playbook.yml @@ -3,3 +3,7 @@ user: root roles: - { role: "os_gnocchi", tags: [ "os-gnocchi" ] } + galera_root_user: root + vars_prompt: + - name: "galera_root_password" + prompt: "What is galera_root_password?" diff --git a/tasks/gnocchi_db_setup.yml b/tasks/gnocchi_db_setup.yml index 5f3870b..365838c 100644 --- a/tasks/gnocchi_db_setup.yml +++ b/tasks/gnocchi_db_setup.yml @@ -13,6 +13,32 @@ # See the License for the specific language governing permissions and # limitations under the License. +- name: Create DB for service + mysql_db: + login_user: "{{ galera_root_user }}" + login_password: "{{ galera_root_password }}" + login_host: "{{ gnocchi_galera_address }}" + name: "{{ gnocchi_galera_database }}" + state: "present" + delegate_to: "{{ gnocchi_db_setup_host }}" + no_log: True + +- name: Grant access to the DB for the service + mysql_user: + login_user: "{{ galera_root_user }}" + login_password: "{{ galera_root_password }}" + login_host: "{{ gnocchi_galera_address }}" + name: "{{ gnocchi_galera_user }}" + password: "{{ gnocchi_container_mysql_password }}" + host: "{{ item }}" + state: "present" + priv: "{{ gnocchi_galera_database }}.*:ALL" + delegate_to: "{{ gnocchi_db_setup_host }}" + with_items: + - "localhost" + - "%" + no_log: True + - name: Perform a Gnocchi DB sync command: "{{ gnocchi_bin }}/gnocchi-upgrade {{ gnocchi_db_sync_options }}" become: yes