Starting xenstored in a driver domain

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Starting xenstored in a driver domain

Michael A. Collins
I am trying to setup a network driver domain on Fedora rawhide running xen 4.9.1. I have configured the driver domain with a pci pass through nic and openvswitch, I've also installed xen-runtime and it's included dependencies so I have /etc/xen/scripts.  I enabled a system service called xendriverdomain which executes xl devd and I see vif-openvswitch being executed when I start a domu that references backend= in its vif definition.  I get the following error though from that big script: xenstore-read /local/domain/5/vm failed

The systemd service xenstored fails to start, since it's checking for control_d in /proc/xen/capabilities, that file exists but is empty.  I have specified driver_domain = 1 in the driver domain's config file.  Am I missing anything else?
Mike

_______________________________________________
Xen-users mailing list
[hidden email]
https://lists.xenproject.org/mailman/listinfo/xen-users
Reply | Threaded
Open this post in threaded view
|

Re: Starting xenstored in a driver domain

Michael A. Collins
So I figured out that I don't need a running instance of xenstored on the driver domain, since xenstore-read works for the driver domains own trees in xenstore.  Are the xenstore-read errors in vif-openvswitch because that script is written to be run on dom0 only?  Do I need to create a new vif script that is specific to driver domains?
Mike

------ Original message------
Date: Sun, Dec 3, 2017 11:10
Cc:
Subject:[Xen-users] Starting xenstored in a driver domain

I am trying to setup a network driver domain on Fedora rawhide running xen 4.9.1. I have configured the driver domain with a pci pass through nic and openvswitch, I've also installed xen-runtime and it's included dependencies so I have /etc/xen/scripts.  I enabled a system service called xendriverdomain which executes xl devd and I see vif-openvswitch being executed when I start a domu that references backend= in its vif definition.  I get the following error though from that big script: xenstore-read /local/domain/5/vm failed

The systemd service xenstored fails to start, since it's checking for control_d in /proc/xen/capabilities, that file exists but is empty.  I have specified driver_domain = 1 in the driver domain's config file.  Am I missing anything else?
Mike

_______________________________________________
Xen-users mailing list
[hidden email]
https://lists.xenproject.org/mailman/listinfo/xen-users
Reply | Threaded
Open this post in threaded view
|

Re: Starting xenstored in a driver domain

George Dunlap
On Mon, Dec 4, 2017 at 3:40 AM, [hidden email] <[hidden email]> wrote:
> So I figured out that I don't need a running instance of xenstored on the
> driver domain, since xenstore-read works for the driver domains own trees in
> xenstore.  Are the xenstore-read errors in vif-openvswitch because that
> script is written to be run on dom0 only?  Do I need to create a new vif
> script that is specific to driver domains?

It sounds like that's a bug in the vif-openvswitch script -- it
shouldn't rely on reading data from the domain's "private" xenstore
area (available to domain 0 but not to a driver domain).

Can you try the attached patch and see if it helps?

 -George

_______________________________________________
Xen-users mailing list
[hidden email]
https://lists.xenproject.org/mailman/listinfo/xen-users

0001-hotplug-Fix-vif-openvswitch-to-run-inside-a-driver-d.patch (1K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Starting xenstored in a driver domain

Michael A. Collins
While your patch did work, it removed some default functionality from
the script while running in dom0.  I wrote up the following and have
patched it into my scripts on both my dom0 and driver domu.

It just checks to see if /proc/xen/capabilities exists and is empty, if
so it only creates the domid and mac external-ids.

If it's not empty, it then reverts to its normal behavior adding the
mac, vm-uuid and vm-name external-ids.

This way, the same script can operate on both dom0 and driver domu
without any changes.


Thanks for pointing me in the right direction!

Mike


On 12/4/2017 9:50 AM, George Dunlap wrote:

> On Mon, Dec 4, 2017 at 3:40 AM, [hidden email] <[hidden email]> wrote:
>> So I figured out that I don't need a running instance of xenstored on the
>> driver domain, since xenstore-read works for the driver domains own trees in
>> xenstore.  Are the xenstore-read errors in vif-openvswitch because that
>> script is written to be run on dom0 only?  Do I need to create a new vif
>> script that is specific to driver domains?
> It sounds like that's a bug in the vif-openvswitch script -- it
> shouldn't rely on reading data from the domain's "private" xenstore
> area (available to domain 0 but not to a driver domain).
>
> Can you try the attached patch and see if it helps?
>
>   -George

_______________________________________________
Xen-users mailing list
[hidden email]
https://lists.xenproject.org/mailman/listinfo/xen-users

vif-openvswitch.patch (2K) Download Attachment