From 5f109d08e74f2eb5fc84b605831a1495ddcb499e Mon Sep 17 00:00:00 2001 From: Jiri Stransky Date: Tue, 30 May 2017 15:49:51 +0200 Subject: Containerize virtlogd MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit So far we've been using virtlogd running on the host, we should now be using virtlogd from a container. Co-Authored-By: Martin André Co-Authored-By: Jiri Stransky Change-Id: I998c69ea1f7480ebb90afb44d6006953a84a1c04 --- docker/firstboot/setup_docker_host.sh | 3 ++ docker/services/nova-libvirt.yaml | 53 +++++++++++++++++++++-------------- 2 files changed, 35 insertions(+), 21 deletions(-) (limited to 'docker') diff --git a/docker/firstboot/setup_docker_host.sh b/docker/firstboot/setup_docker_host.sh index 8b4c6a03..af213bbd 100755 --- a/docker/firstboot/setup_docker_host.sh +++ b/docker/firstboot/setup_docker_host.sh @@ -6,3 +6,6 @@ set -eux # Disable libvirtd since it conflicts with nova_libvirt container /usr/bin/systemctl disable libvirtd.service /usr/bin/systemctl stop libvirtd.service +# Disable virtlogd since it conflicts with nova_virtlogd container +/usr/bin/systemctl disable virtlogd.service +/usr/bin/systemctl stop virtlogd.service diff --git a/docker/services/nova-libvirt.yaml b/docker/services/nova-libvirt.yaml index 916b057e..7637e6e9 100644 --- a/docker/services/nova-libvirt.yaml +++ b/docker/services/nova-libvirt.yaml @@ -12,10 +12,6 @@ parameters: DockerNovaLibvirtConfigImage: description: The container image to use for the nova_libvirt config_volume type: string - EnablePackageInstall: - default: 'false' - description: Set to true to enable package installation at deploy time - type: boolean ServiceData: default: {} description: Dictionary packing service data @@ -144,13 +140,45 @@ outputs: dest: "/etc/ceph/" merge: true preserve_properties: true + /var/lib/kolla/config_files/nova_virtlogd.json: + command: /usr/sbin/virtlogd --config /etc/libvirt/virtlogd.conf + config_files: + - source: "/var/lib/kolla/config_files/src/*" + dest: "/" + merge: true + preserve_properties: true permissions: - path: /var/log/nova owner: nova:nova recurse: true docker_config: step_3: + nova_virtlogd: + start_order: 0 + image: {get_param: DockerNovaLibvirtImage} + net: host + pid: host + privileged: true + restart: always + volumes: + list_concat: + - {get_attr: [ContainersCommon, volumes]} + - + - /var/lib/kolla/config_files/nova_virtlogd.json:/var/lib/kolla/config_files/config.json:ro + - /var/lib/config-data/puppet-generated/nova_libvirt/:/var/lib/kolla/config_files/src:ro + - /lib/modules:/lib/modules:ro + - /dev:/dev + - /run:/run + - /sys/fs/cgroup:/sys/fs/cgroup + - /var/lib/nova:/var/lib/nova + - /var/run/libvirt:/var/run/libvirt + - /var/lib/libvirt:/var/lib/libvirt + - /etc/libvirt/qemu:/etc/libvirt/qemu:ro + - /var/log/libvirt/qemu:/var/log/libvirt/qemu + environment: + - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS nova_libvirt: + start_order: 1 image: {get_param: DockerNovaLibvirtImage} net: host pid: host @@ -169,7 +197,6 @@ outputs: - /sys/fs/cgroup:/sys/fs/cgroup - /var/lib/nova:/var/lib/nova - /etc/libvirt:/etc/libvirt - # Needed to use host's virtlogd - /var/run/libvirt:/var/run/libvirt - /var/lib/libvirt:/var/lib/libvirt - /var/log/libvirt/qemu:/var/log/libvirt/qemu:ro @@ -216,22 +243,6 @@ outputs: file: path: /etc/ceph state: directory - - name: set enable_package_install fact - set_fact: - enable_package_install: {get_param: EnablePackageInstall} - # We use virtlogd on host, so when using Deployed Server - # feature, we need to ensure libvirt is installed. - - name: install libvirt-daemon - package: - name: libvirt-daemon - state: present - when: enable_package_install - - name: start virtlogd socket - service: - name: virtlogd.socket - state: started - enabled: yes - when: enable_package_install upgrade_tasks: - name: Stop and disable libvirtd service tags: step2 -- cgit 1.2.3-korg