Andy McCrae 823a80bd44 Move to use UWsgi for Nova
The placement service is already setup to use UWsgi, we need
to move the other Nova services to follow suit as part of our community
goal for Pike.

Additionally, we need to clean up the nginx configuration as we are
moving away from fronting uWSGI with nginx inside the roles.

Depends-On: Ib66b9709fb88205eaf3f133c87357a4dbbdde5ae
Change-Id: If6c30e00c1c753692c970457b75e3ae7f5cc066c
Implements: blueprint goal-deploy-api-in-wsgi
2017-08-14 14:27:25 +01:00

77 lines
2.5 KiB
YAML

---
# 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: Restart libvirt-bin
service:
name: "{{ libvirt_service_name }}"
enabled: yes
state: "restarted"
daemon_reload: "{{ (ansible_service_mgr == 'systemd') | ternary('yes', omit) }}"
- name: Stop services
service:
name: "{{ item.service_name }}"
enabled: yes
state: "stopped"
daemon_reload: "{{ (ansible_service_mgr == 'systemd') | ternary('yes', omit) }}"
with_items: "{{ filtered_nova_services }}"
register: _stop
until: _stop | success
retries: 5
delay: 2
listen: "Restart nova services"
# Note (odyssey4me):
# The policy.json file is currently read continually by the services
# and is not only read on service start. We therefore cannot template
# directly to the file read by the service because the new policies
# may not be valid until the service restarts. This is particularly
# important during a major upgrade. We therefore only put the policy
# file in place after the service has been stopped.
#
- name: Copy new policy file into place
copy:
src: "/etc/nova/policy.json-{{ nova_venv_tag }}"
dest: "/etc/nova/policy.json"
owner: "root"
group: "{{ nova_system_group_name }}"
mode: "0640"
remote_src: yes
listen: "Restart nova services"
- name: Start services
service:
name: "{{ item.service_name }}"
enabled: yes
state: "started"
daemon_reload: "{{ (ansible_service_mgr == 'systemd') | ternary('yes', omit) }}"
with_items: "{{ filtered_nova_services }}"
register: _start
until: _start | success
retries: 5
delay: 2
listen: "Restart nova services"
- name: Wait for the nova-compute service to initialize
command: "openstack --os-cloud default compute service list --service nova-compute --format value --column Host"
register: _compute_host_list
retries: 10
delay: 5
until: "ansible_nodename in _compute_host_list.stdout_lines"
when:
- "'nova_compute' in group_names"
- "nova_discover_hosts_in_cells_interval | int < 1"
listen: "Restart nova services"