Files
openstack-ansible-os_nova/handlers/main.yml
Dmitriy Rabotyagov 05ffae0ef0 Use systemd sockets for libvirt
Since libvirt 5.7 we should not use traditional mode. Instead systemd
mode should be choosen. Sockets are provided by libvirt package.
We just need to conditionally enable or disable them.

As addition we changed nova_libvirtd_listen_tls to 0 by default
because listen_tls requires certificate to be provided which is not
the case in the current role state. So we also fix behaviour of the role
when nova_libvirtd_listen_tls is 1, supposing that deployer has manually
distributed certificates across compute hosts.

Change-Id: Id73cb67de26c305908d0245551fa57a7e6448784
Closes-Bug: #1903846
2021-01-06 19:18:16 +00:00

81 lines
2.0 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: Stop libvirt-bin
service:
name: "{{ libvirt_service_name }}"
enabled: yes
state: "stopped"
listen:
- Restart libvirt-bin
- name: Enable sockets when needed
service:
name: "{{ item.name | default(item) }}"
state: "{{ item.condition | default(False) | ternary('started', 'stopped') }}"
enabled: "{{ item.condition | default(False) }}"
masked: no
when:
- libvirtd_version is version('5.7', '>=')
with_items:
- name: libvirtd-tls.socket
condition: "{{ nova_libvirtd_listen_tls | bool }}"
- name: libvirtd-tcp.socket
condition: "{{ nova_libvirtd_listen_tcp | bool }}"
listen:
- Restart libvirt-bin
- name: Start libvirt-bin
service:
name: "{{ libvirt_service_name }}"
enabled: yes
state: "started"
listen:
- Restart libvirt-bin
- name: Stop services
service:
name: "{{ item.service_name }}"
enabled: yes
state: "stopped"
daemon_reload: yes
with_items: "{{ filtered_nova_services }}"
register: _stop
until: _stop is success
retries: 5
delay: 2
listen:
- "Restart nova services"
- "venv changed"
- name: Start services
service:
name: "{{ item.service_name }}"
enabled: yes
state: "started"
daemon_reload: yes
with_items: "{{ filtered_nova_services }}"
register: _start
until: _start is success
retries: 5
delay: 2
listen:
- "Restart nova services"
- "venv changed"
- meta: noop
listen: Manage LB
when: false