--- # 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: Check for existing migrations shell: | neutron-db-manage --config-file {{ neutron_db_config }} --config-file {{ neutron_db_plugin }} current | egrep "^[0-9a-z]{12}" sudo: yes sudo_user: "{{ neutron_system_user_name }}" failed_when: false register: neutron_migrations_previously_run tags: - neutron-db-setup - neutron-upgrade - name: Perform an initial Neutron DB sync 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_migrations_previously_run.rc == 1 tags: - neutron-db-setup - neutron-upgrade - name: Perform a Neutron DB online upgrade (expand) command: | neutron-db-manage --config-file {{ neutron_db_config }} --config-file {{ neutron_db_plugin }} upgrade --expand sudo: yes sudo_user: "{{ neutron_system_user_name }}" when: neutron_migrations_previously_run.rc == 0 tags: - neutron-db-setup - neutron-upgrade - name: Stop Neutron server service: name: "neutron-server" state: stopped pattern: "neutron-server" delegate_to: "{{ item }}" with_items: groups['neutron_server'] when: neutron_migrations_previously_run.rc == 0 tags: - neutron-db-setup - neutron-upgrade - name: Perform a Neutron DB offline upgrade (contract) command: | neutron-db-manage --config-file {{ neutron_db_config }} --config-file {{ neutron_db_plugin }} upgrade --contract sudo: yes sudo_user: "{{ neutron_system_user_name }}" when: neutron_migrations_previously_run.rc == 0 tags: - neutron-db-setup - neutron-upgrade - name: Start neutron server service: name: "neutron-server" state: started pattern: "neutron-server" delegate_to: "{{ item }}" with_items: groups['neutron_server'] when: neutron_migrations_previously_run.rc == 0 tags: - neutron-db-setup - neutron-upgrade