---
- name: Creating Ironic database
  become: true
  kolla_toolbox:
    container_engine: "{{ kolla_container_engine }}"
    module_name: mysql_db
    module_args:
      login_host: "{{ database_address }}"
      login_port: "{{ database_port }}"
      login_user: "{{ ironic_database_shard_root_user }}"
      login_password: "{{ database_password }}"
      name: "{{ item.database_name }}"
  run_once: True
  delegate_to: "{{ groups[item.group][0] }}"
  with_items:
    - database_name: "{{ ironic_database_name }}"
      group: "ironic-api"
    - database_name: "{{ ironic_inspector_database_name }}"
      group: "ironic-inspector"
  when:
    - not use_preconfigured_databases | bool
    - inventory_hostname in groups[item.group]

- name: Creating Ironic database user and setting permissions
  become: true
  kolla_toolbox:
    container_engine: "{{ kolla_container_engine }}"
    module_name: mysql_user
    module_args:
      login_host: "{{ database_address }}"
      login_port: "{{ database_port }}"
      login_user: "{{ ironic_database_shard_root_user }}"
      login_password: "{{ database_password }}"
      name: "{{ item.database_user }}"
      password: "{{ item.database_password }}"
      host: "%"
      priv: "{{ item.database_name }}.*:ALL"
      append_privs: "yes"
  run_once: True
  delegate_to: "{{ groups[item.group][0] }}"
  with_items:
    - database_name: "{{ ironic_database_name }}"
      database_user: "{{ ironic_database_user }}"
      database_password: "{{ ironic_database_password }}"
      group: "ironic-api"
    - database_name: "{{ ironic_inspector_database_name }}"
      database_user: "{{ ironic_inspector_database_user }}"
      database_password: "{{ ironic_inspector_database_password }}"
      group: "ironic-inspector"
  loop_control:
    label: "{{ item.database_name }}"
  when:
    - not use_preconfigured_databases | bool
    - inventory_hostname in groups[item.group]

- import_tasks: bootstrap_service.yml
