[openstack-dev] [tripleo] mismatch of user/group id between ovs (baremetal) and libvirt (container)

Saravanan KR skramaja at redhat.com
Tue Aug 22 13:14:34 UTC 2017


Hello,

I am working on to integrating DPDK with containerized environment.
Note that DPDK is not yet containerized in tripleo, but this exercise
is to deploy a DPDK workload with the containerized services. I just
want to provide an update regarding an issue.

Currently, OpenvSwitch is running as baremetal service where as
libvirt is containerized. When a VM is created with DPDK network, a
vhost-user socket file will be created by qemu in server mode and ovs
will connect to it as client mode. The socket file will be created on
the host at "/var/lib/vhost_sockets" by the libvrit container, which
is running with qemu user ids as 42427:42427 [1]. Where as
OpenvSwitch, running on baremetal, patched [2] to run with
"Group=qemu", will run with group id as 107.

There is a permission mismatch between the kolla's qemu user id
(42427) and the host machines qemu user id (107), because of which
vhost-use socket creation fails. Till we get ovs containerized,
probably we need to patch ovs to run under kolla's qemu group id
(42427).

With following changes, I am able to get it working.
  chown 42427:42427 /var/lib/vhost_sockets
  sed -i 's/Group=qemu/Group=42427/'
/usr/lib/systemd/system/ovs-vswitchd.service
  systemctl daemon-reload
  systemctl restart openvswitch

This change basically runs ovs with group id of kolla's qemu user
(42427). For the solution, my opinion is that we don't require host's
qemu (107) user in a containerized deployment. I am planning to ensure
that kolla's user id (42427) is updated to the host via the host prep
tasks. Let me know if there is any other aspects to be considered.

Regards,
Saravanan KR

[1] https://github.com/openstack/kolla/blob/187b1f08f586327e5c47a0bed3760a575daa1287/kolla/common/config.py#L750
[2] https://github.com/openstack/tripleo-heat-templates/blob/master/extraconfig/pre_network/host_config_and_reboot.yaml#L227



More information about the OpenStack-dev mailing list