Mount vhost_sockets directory for vhost-user socket creation
authorSaravanan KR <skramaja@redhat.com>
Wed, 30 Aug 2017 09:14:53 +0000 (14:44 +0530)
committerSaravanan KR <skramaja@redhat.com>
Fri, 8 Sep 2017 07:10:18 +0000 (07:10 +0000)
For DPDK, vhost-user sockets are created on the host at
/var/lib/vhost_sockets directory, which will be used by
libvirt and openvswitch. This directory has the necessary
permissions and SELinux policies. Mount this folder for
libvirt container.

Change-Id: Id8be208d1b05886ac45dfdcf48fe766ee5724d1c
Partial-Bug: #1712732
(cherry picked from commit 3ea04744c22ae4cd2e1f2b77fc7d5ade012899e0)

docker/services/nova-libvirt.yaml

index 8f151cf..d20c093 100644 (file)
@@ -204,6 +204,7 @@ outputs:
                   - /var/lib/libvirt:/var/lib/libvirt
                   - /var/log/libvirt/qemu:/var/log/libvirt/qemu:ro
                   - /var/log/containers/nova:/var/log/nova
+                  - /var/lib/vhost_sockets:/var/lib/vhost_sockets
                 -
                   if:
                     - use_tls_for_live_migration
@@ -252,6 +253,30 @@ outputs:
             - /etc/libvirt/qemu
             - /var/lib/libvirt
             - /var/log/containers/nova
+        # qemu user on host will be cretaed by libvirt package install, ensure
+        # the qemu user created with same uid/gid as like libvirt package.
+        # These specific values are required since ovs is running on host.
+        # Once ovs with DPDK is containerized, we could modify this uid/gid
+        # to match with kolla config values.
+        - name: ensure qemu group is present on the host
+          group:
+            name: qemu
+            gid: 107
+            state: present
+        - name: ensure qemu user is present on the host
+          user:
+            name: qemu
+            uid: 107
+            group: qemu
+            state: present
+            shell: /sbin/nologin
+            comment: qemu user
+        - name: create directory for vhost-user sockets with qemu ownership
+          file:
+            path: /var/lib/vhost_sockets
+            state: directory
+            owner: qemu
+            group: qemu
         - name: ensure ceph configurations exist
           file:
             path: /etc/ceph