Add safe shutdown systemd jobs to tools
Without these jobs, a compute node that is rebooted or powered off may violently kill off the VMs running inside of it. This has been kept separate from the main portion of kolla-ansible since no current role modifies the systemd jobs of the system. Change-Id: I0a4424f97b5ad872ff0398258c1dc42d31d0ef07
This commit is contained in:
parent
97dcee4c98
commit
d648be03ec
19
tools/kolla-libvirt-guests.service
Normal file
19
tools/kolla-libvirt-guests.service
Normal file
@ -0,0 +1,19 @@
|
||||
[Unit]
|
||||
Description=Manage libvirt guests in kolla safely
|
||||
After=docker.service
|
||||
After=systemd-machined.service
|
||||
After=virt-guest-shutdown.target
|
||||
Requires=docker.service
|
||||
Requires=virt-guest-shutdown.target
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
TimeoutStopSec=610
|
||||
ExecStart=-/usr/bin/docker exec nova_libvirt /bin/rm -f /var/lib/libvirt/libvirt-guests
|
||||
ExecStart=-/usr/bin/docker start nova_compute
|
||||
ExecStop=/usr/bin/docker stop nova_compute
|
||||
ExecStop=/usr/bin/docker exec nova_libvirt /bin/sh -x /usr/libexec/libvirt-guests.sh shutdown
|
24
tools/setup-compute-libvirt.yml
Normal file
24
tools/setup-compute-libvirt.yml
Normal file
@ -0,0 +1,24 @@
|
||||
# This playbook modifies the system shutdown sequence to ensure that
|
||||
# nova-compute is shutdown safely, including guests, when used in
|
||||
# conjunction with systemd-machined and libvirt.
|
||||
---
|
||||
- name: Set up compute libvirts to shutdown guests safely
|
||||
hosts: compute
|
||||
become: true
|
||||
vars:
|
||||
systemd_artifacts:
|
||||
- kolla-libvirt-guests.service
|
||||
- virt-guest-shutdown.target
|
||||
tasks:
|
||||
- name: Install systemd artifacts
|
||||
copy:
|
||||
src: "{{ item }}"
|
||||
dest: "/usr/lib/systemd/system/{{ item }}"
|
||||
with_items: "{{ systemd_artifacts }}"
|
||||
|
||||
- name: Enable/start systemd artifacts
|
||||
systemd:
|
||||
enabled: yes
|
||||
state: started
|
||||
name: "{{ item }}"
|
||||
with_items: "{{ systemd_artifacts }}"
|
5
tools/virt-guest-shutdown.target
Normal file
5
tools/virt-guest-shutdown.target
Normal file
@ -0,0 +1,5 @@
|
||||
[Unit]
|
||||
Description=Coordination target for machined controlled guests
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Loading…
Reference in New Issue
Block a user