--- # 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: Perform a DB expand command: "{{ neutron_bin }}/neutron-db-manage upgrade --expand" become: yes become_user: "{{ neutron_system_user_name }}" when: - "ansible_local['openstack_ansible']['neutron']['need_db_expand'] | bool" - "inventory_hostname == ((groups[neutron_services['neutron-server']['group']] | intersect(ansible_play_hosts)) | list)[0]" - name: Disable the db expand fact ini_file: dest: "/etc/ansible/facts.d/openstack_ansible.fact" section: neutron option: "need_db_expand" value: "False" - name: Check for available offline migrations command: "{{ neutron_bin }}/neutron-db-manage has_offline_migrations" become: yes become_user: "{{ neutron_system_user_name }}" when: - "inventory_hostname == ((groups[neutron_services['neutron-server']['group']] | intersect(ansible_play_hosts)) | list)[0]" changed_when: false register: _offline_migrations_check failed_when: - "_offline_migrations_check.rc == 1" - "'Need to apply migrations' not in _offline_migrations_check.stdout" - name: Set the fact for the required offline migrations ini_file: dest: "/etc/ansible/facts.d/openstack_ansible.fact" section: neutron option: "need_db_contract" value: "True" when: - "'stdout' in _offline_migrations_check" - "'Need to apply migrations' in _offline_migrations_check.stdout" notify: Restart neutron services - name: Refresh local facts setup: filter: ansible_local gather_subset: "!all"