aboutsummaryrefslogtreecommitdiff
path: root/docker/nova/nova-libvirt
diff options
context:
space:
mode:
Diffstat (limited to 'docker/nova/nova-libvirt')
-rw-r--r--docker/nova/nova-libvirt/Dockerfile.j25
-rw-r--r--docker/nova/nova-libvirt/kolla_nova_libvirt_start.sh12
2 files changed, 16 insertions, 1 deletions
diff --git a/docker/nova/nova-libvirt/Dockerfile.j2 b/docker/nova/nova-libvirt/Dockerfile.j2
index 88e4a52d6..b866917ea 100644
--- a/docker/nova/nova-libvirt/Dockerfile.j2
+++ b/docker/nova/nova-libvirt/Dockerfile.j2
@@ -20,6 +20,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
'libguestfs',
'libvirt-client',
'libvirt-daemon',
+ 'libvirt-daemon-log',
'libvirt-daemon-config-nwfilter',
'libvirt-daemon-driver-nwfilter',
'libvirt-daemon-driver-nodedev',
@@ -75,6 +76,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% if base_distro in ['debian'] %}
{% set nova_libvirt_packages = nova_libvirt_packages + [
+ 'libvirt-daemon-log',
'usermode'
] %}
{% endif %}
@@ -89,7 +91,8 @@ RUN rm -f /etc/libvirt/qemu/networks/default.xml /etc/libvirt/qemu/networks/auto
{% endif %}
COPY extend_start.sh /usr/local/bin/kolla_extend_start
-RUN chmod 644 /usr/local/bin/kolla_extend_start
+COPY kolla_nova_libvirt_start.sh /usr/local/bin/kolla_nova_libvirt_start
+RUN chmod 644 /usr/local/bin/kolla_extend_start && chmod 744 /usr/local/bin/kolla_nova_libvirt_start
{{ macros.kolla_patch_sources() }}
diff --git a/docker/nova/nova-libvirt/kolla_nova_libvirt_start.sh b/docker/nova/nova-libvirt/kolla_nova_libvirt_start.sh
new file mode 100644
index 000000000..f06a63d9e
--- /dev/null
+++ b/docker/nova/nova-libvirt/kolla_nova_libvirt_start.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+set -euo pipefail
+
+# NOTE(mikal): Start virtlogd as a sidecar. We need this for
+# nova instance console logs to rotate. Otherwise they will
+# consume unbounded amounts of disk.
+#
+# No exec here: libvirtd will be the "main" process.
+/usr/sbin/virtlogd &
+
+# Now hand over PID 1's direct child role to libvirtd.
+exec /usr/sbin/libvirtd --listen