openstack-ansible-os_neutron/tasks/neutron_db_setup.yml
Travis Truman 744270e64b Cleanup/standardize usage of tags
The numerous tags within the role have been condensed
to two tags: neutron-install and neutron-config

These tags have been chosen as they are namespaced
and cover the two major functions of the role.

Documentation has been updated to inform how each tag
influences the function of the role.

Change-Id: I5beda5397f1f4f6d03a4a6946700eb7aeab245ec
2016-07-12 10:05:44 -04:00

83 lines
3.1 KiB
YAML

---
# 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: Get neutron migrations facts
neutron_migrations_facts:
release: newton
library_path: "{{ neutron_lib_dir }}"
bin_path: "{{ neutron_bin }}"
when: neutron_plugin_type.split('.')[0] == 'ml2'
- name: Print neutron migrations facts
debug:
var: neutron_migrations
when: neutron_plugin_type.split('.')[0] == 'ml2'
- name: Perform a Neutron DB online upgrade (expand)
command: |
{{ neutron_bin }}/neutron-db-manage
--config-file {{ neutron_db_config }}
--config-file {{ neutron_db_plugin }}
upgrade --expand
become: yes
become_user: "{{ neutron_system_user_name }}"
when:
- (neutron_migrations is defined and neutron_migrations['run_expand']|bool)
- neutron_plugin_type.split('.')[0] == 'ml2'
- name: Stop Neutron server
service:
name: "neutron-server"
state: stopped
pattern: "neutron-server"
delegate_to: "{{ item }}"
with_items: "{{ groups[neutron_services['neutron-server']['group']] }}"
when: (neutron_migrations is defined and neutron_migrations['run_contract']|bool) or neutron_plugin_type.split('.')[0] != 'ml2'
- name: Perform a Neutron DB offline upgrade (contract)
command: |
{{ neutron_bin }}/neutron-db-manage
--config-file {{ neutron_db_config }}
--config-file {{ neutron_db_plugin }}
upgrade --contract
become: yes
become_user: "{{ neutron_system_user_name }}"
when:
- (neutron_migrations is defined and neutron_migrations['run_contract']|bool)
- neutron_plugin_type.split('.')[0] == 'ml2'
# NOTE: We have to handle neutron_plugin_type.split('.')[0] != 'ml2' because not all neutron
# plugins have contract/expand branches which breaks neutron-db-manage.
# This can be reverted once all plugins are conformant.
- name: Perform a Neutron DB offline upgrade (heads)
command: |
{{ neutron_bin }}/neutron-db-manage
--config-file {{ neutron_db_config }}
--config-file {{ neutron_db_plugin }}
upgrade heads
become: yes
become_user: "{{ neutron_system_user_name }}"
when:
- neutron_plugin_type.split('.')[0] != 'ml2'
- name: Start neutron server
service:
name: "neutron-server"
state: started
pattern: "neutron-server"
delegate_to: "{{ item }}"
with_items: "{{ groups[neutron_services['neutron-server']['group']] }}"
when: (neutron_migrations is defined and neutron_migrations['run_contract']|bool) or neutron_plugin_type.split('.')[0] != 'ml2'