--- # Copyright 2015, 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: "Kilo: Set venv path" hosts: "keystone_all[0]:glance_all[0]:cinder_all[0]:nova_api_os_compute[0]:neutron_server[0]:heat_all[0]" user: root vars: file_name: "{{ venv_tar_location | basename }}" tasks: - name: "Kilo: Set venv fact" set_fact: venv_path: "/opt/{{ file_name.split('.tgz')[0] }}" - name: "Kilo: Keystone DB Migrations" hosts: "keystone_all[0]" user: root tasks: - name: "Kilo: Perform a Keystone DB sync 67" command: "{{ venv_path }}/bin/keystone-manage db_sync" - name: "Kilo: Glance DB Migrations" hosts: "glance_all[0]" user: root tasks: - name: "Kilo: Perform a Glance DB sync" command: "{{ venv_path }}/bin/glance-manage db_sync" - name: "Kilo: Cinder DB Migrations" hosts: "cinder_all[0]" user: root tasks: - name: "Kilo: Perform a cinder DB sync" command: "{{ venv_path }}/bin/cinder-manage db sync" - name: "Kilo: Nova DB Migrations" hosts: "nova_api_os_compute[0]" user: root tasks: - name: "Kilo: Perform a Nova DB sync" command: "{{ venv_path }}/bin/nova-manage db sync" - name: "Kilo: Run nova flavor migrations" command: "{{ venv_path }}/bin/nova-manage db migrate_flavor_data --force" - name: "Kilo: Run nova null uuid checks" command: "{{ venv_path }}/bin/nova-manage db null_instance_uuid_scan --delete" - name: "Kilo: Neutron DB Migrations" hosts: "neutron_server[0]" user: root vars: neutron_plugins: ml2: plugin_ini: "plugins/ml2/ml2_conf.ini" ml2.lxb: plugin_ini: "plugins/ml2/ml2_conf.ini" plumgrid: plugin_ini: "plugins/plumgrid/plumgrid.ini" neutron_system_user_name: "neutron" neutron_db_revision: "head" neutron_db_plugin: "/etc/neutron/{{ neutron_plugins[neutron_plugin_type | default('ml2')]['plugin_ini'] }}" neutron_db_config: "/etc/neutron/neutron.conf" tasks: - name: "Kilo: Perform a Neutron DB Upgrade" command: "{{ venv_path }}/bin/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 }}" - name: "Kilo: Check for DB revision" shell: "{{ venv_path }}/bin/neutron-db-manage history | grep -w 'Revision ID: {{ neutron_db_revision }}'" register: neutron_dbmanage failed_when: false changed_when: neutron_dbmanage.rc != 0 sudo: yes sudo_user: "{{ neutron_system_user_name }}" - name: "Kilo: Perform a Neutron DB Stamp" command: "{{ venv_path }}/bin/neutron-db-manage --config-file {{ neutron_db_config }} --config-file {{ neutron_db_plugin }} stamp {{ neutron_db_revision }}" when: neutron_dbmanage.rc != 0 sudo: yes sudo_user: "{{ neutron_system_user_name }}" - name: "Kilo: Heat DB Migrations" hosts: "heat_all[0]" user: root tasks: - name: "Kilo: Perform a heat DB sync" command: "{{ venv_path }}/bin/heat-manage db_sync" - name: "Kilo: Horizon DB drop" hosts: "utility_all[0]" user: root tasks: - name: "Kilo: Drop horizon DB - It will be recreated later" command: "mysql --unbuffered -sNL -e 'drop database {{ horizon_galera_database | default('dash') }}'" register: drop_db failed_when: false changed_when: drop_db.rc == 0