diff --git a/defaults/main.yml b/defaults/main.yml index d041cef2..a71bb43c 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -67,6 +67,8 @@ magnum_developer_constraints: - "git+{{ magnum_git_repo }}@{{ magnum_git_install_branch }}#egg=magnum" # Database vars +magnum_db_setup_host: "{{ ('galera_all' in groups) | ternary(groups['galera_all'][0], 'localhost') }}" +magnum_galera_address: "{{ galera_address | default('127.0.0.1') }}" magnum_galera_database_name: magnum_service magnum_galera_user: magnum magnum_galera_use_ssl: "{{ galera_use_ssl | default(False) }}" diff --git a/tasks/magnum_db_setup.yml b/tasks/magnum_db_setup.yml index 811a07e5..c4c4a8a1 100644 --- a/tasks/magnum_db_setup.yml +++ b/tasks/magnum_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: "{{ magnum_galera_address }}" + name: "{{ magnum_galera_database_name }}" + state: "present" + delegate_to: "{{ magnum_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: "{{ magnum_galera_address }}" + name: "{{ magnum_galera_user }}" + password: "{{ magnum_galera_password }}" + host: "{{ item }}" + state: "present" + priv: "{{ magnum_galera_database_name }}.*:ALL" + delegate_to: "{{ magnum_db_setup_host }}" + with_items: + - "localhost" + - "%" + no_log: True + - name: Perform a synchronization of the Magnum database command: "{{ magnum_bin}}/magnum-db-manage upgrade" become: yes diff --git a/tests/test-install-magnum.yml b/tests/test-install-magnum.yml index dab2b28e..bb46ee1d 100644 --- a/tests/test-install-magnum.yml +++ b/tests/test-install-magnum.yml @@ -21,10 +21,6 @@ vhost_name: "{{ magnum_rabbitmq_vhost }}" user_name: "{{ magnum_rabbitmq_userid }}" user_password: "{{ magnum_rabbitmq_password }}" - - include: common/create-grant-db.yml - db_user: "{{ magnum_galera_user }}" - db_name: "{{ magnum_galera_database_name }}" - db_password: "{{ magnum_galera_password }}" roles: - role: "os_magnum" vars_files: