--- # Copyright 2014, Rackspace US, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # 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: "{{ neutron_galera_address }}" name: "{{ neutron_galera_database }}" state: "present" tags: - neutron-db-setup - name: Grant access to the DB for the service mysql_user: login_user: "{{ galera_root_user }}" login_password: "{{ galera_root_password }}" login_host: "{{ neutron_galera_address }}" name: "{{ neutron_galera_user }}" password: "{{ neutron_container_mysql_password }}" host: "{{ item }}" state: "present" priv: "{{ neutron_galera_database }}.*:ALL" with_items: - "localhost" - "%" tags: - neutron-db-setup - name: Inspect on disk neutron DB revision command: > cat {{ neutron_system_home_folder }}/neutron-revision failed_when: false changed_when: neutron_revision_on_disk.rc != 0 register: neutron_revision_on_disk tags: - neutron-db-setup - neutron-upgrade - neutron-stamp - name: Check last DB revision shell: | neutron-db-manage history | head -1 | tee {{ neutron_system_home_folder }}/neutron-revision register: neutron_revision sudo: yes sudo_user: "{{ neutron_system_user_name }}" delegate_to: "{{ item }}" with_items: groups['neutron_all'] tags: - neutron-db-setup - neutron-upgrade - neutron-stamp - name: Stop neutron server service: name: "neutron-server" state: stopped pattern: "neutron-server" ignore_errors: true when: neutron_revision.results.0.stdout != neutron_revision_on_disk.stdout tags: - neutron-db-setup - neutron-stamp - name: Perform a Neutron DB Upgrade command: | neutron-db-manage --config-file {{ neutron_db_config }} --config-file {{ neutron_db_plugin }} upgrade {{ neutron_db_revision }} sudo: yes sudo_user: "{{ neutron_system_user_name }}" when: > neutron_revision.results.0.stdout != neutron_revision_on_disk.stdout notify: Restart neutron services tags: - neutron-db-setup - neutron-upgrade - neutron-stamp - name: Perform a Neutron DB Stamp command: | neutron-db-manage --config-file {{ neutron_db_config }} --config-file {{ neutron_db_plugin }} stamp {{ neutron_db_revision }} when: neutron_revision.results.0.stdout != neutron_revision_on_disk.stdout sudo: yes sudo_user: "{{ neutron_system_user_name }}" notify: Restart neutron services tags: - neutron-db-setup - neutron-upgrade - neutron-stamp