Hi
I've been able to work around this issue by adding a hook which
checks if the ovirtmgmt interface is a port on a ovs switch and if
so add the correct data to interface element. I added this to
before_device_create and before_nic_hotplug folders, it works as
far as bringing the hosted engine up, but resyncing host network
from engine side makes it loose the connection.
/Sverker
Apparently the logs were too big for the mailing list, but should have been received by Petr and Dominik. Let me know if not.
What it boils down to, I think, is that the xml sent to libvirt does not have the correct data for openvswitch in interface element, see snippet below.
The question is, where should that be set?
What I actually want to reach is to have ovirtmgmt network on OVN according to this description "https://gist.github.com/phoracek/ebbd9a6bcfcb14d88f6b463c8dccb27b" so it might be an unnecessary step to get it to work with OVS switch but the content of interface element in xml sent to libvirt is similar so I think an understanding of where it comes from is necessary to troubleshoot that (if needed).
/Sverker
Den 2018-05-13 kl. 00:23, skrev Sverker Abrahamsson:
Sure, they are attached. The attempt to start the hosted engine vm occurs at 14:29:42
Best regards
Sverker
Den 2018-05-11 kl. 13:39, skrev Petr Horacek:
PetrThanks,Hi,would you mind sharing the whole vdsm.log and supervdsm.log?
2018-05-10 22:48 GMT+02:00 Sverker Abrahamsson <sverker@abrahamsson.com>:
Hi Dominik
Den 2018-05-10 kl. 22:08, skrev Dominik Holler:
On Thu, 10 May 2018 19:15:07 +0200Ovirt version is 4.2.3.5, vdsm version 4.20.27
Sverker Abrahamsson <sverker@abrahamsson.com> wrote:
HiWhich version of oVirt?
I have a problem with running hosted engine with openvswitch. I have
How do you configured hosted engine to use openvswitch?I've followed the same steps as outlined in that mail just that I found it when I started to troubleshoot.
Did you follow the steps in
https://lists.ovirt.org/pipermail/users/2017-March/080748. html
?
OVSone cluster where the ovirt engine runs on the host, there it worksWhat is the switch type of this cluster?
From vdsm.log when the vm is createdand when starting a vm the interface definition looks like this:Where do you pick up this xml?
<interface type="bridge">
<address bus="0x00" domain="0x0000" function="0x0"
slot="0x03" type="pci" />
<mac address="00:1a:4a:16:01:51" />
<model type="virtio" />
<source bridge="vdsmbr_2XMhqdgD" />
<virtualport type="openvswitch" />
<filterref filter="vdsm-no-mac-spoofing" />
</interface>
vdsm-client VM getInfo vmID=3efc0421-5ad5-4a04-9a0e-3The xml for that vm as fetched from vdsm does not contain virtualportWhere do you pick up this xml, maybe from a logfile or virsh?
0bd8822b299
In the engine it's set to OVS, but at this point it hasn't started yet. Does the host have that setting somewhere?tag nor does it use the correct bridge, it looks like this:What is the switch type of this cluster?
<interface type="bridge">
<model type="virtio"/>
<link state="up"/>
<source bridge="ovirtmgmt"/>
<address bus="0x00" domain="0x0000" function="0x0" slot="0x03"
type="pci"/>
<mac address="00:1a:4a:16:01:51"/>
<filterref filter="vdsm-no-mac-spoofing"/>
<bandwidth/>
</interface>
I.e. somewhere the definition is modified to contain the correct data
to work with openvswitch
On the other cluster where I try to run hosted engine I don't get the
These are the error messages when vm fails to start, but it's caused by the interface element does not contain virtualport nor the correct bridge.above behaviour. When the engine vm starts the interface settings areCan you share the error message from engine.log and vdsm.log, and maybe
not modified to use the bridge in openvswitch, with the result that
the vm fails to start:
supervdsm.log?
vdsm.log:
2018-05-10 22:45:30,562+0200 ERROR (vm/f222c92f) [virt.vm] (vmId='f222c92f-91af-4d1c-860d-c2b406211496') The vm start process failed (vm:943)
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/vdsm/virt/vm.py", line 872, in _startUnderlyingVm
self._run()
File "/usr/lib/python2.7/site-packages/vdsm/virt/vm.py", line 2872, in _run
dom.createWithFlags(flags)
File "/usr/lib/python2.7/site-packages/vdsm/common/libvirtconnect ion.py", line 130, in wrapper
ret = f(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/vdsm/common/function.py", line 92, in wrapper
return func(inst, *args, **kwargs)
File "/usr/lib64/python2.7/site-packages/libvirt.py", line 1099, in createWithFlags
if ret == -1: raise libvirtError ('virDomainCreateWithFlags() failed', dom=self)
libvirtError: Unable to add bridge ovirtmgmt port vnet0: Operation not supported
2018-05-10 22:45:30,562+0200 INFO (vm/f222c92f) [virt.vm] (vmId='f222c92f-91af-4d1c-860d-c2b406211496') Changed state to Down: Unable to add bridge ovirtmgmt port vnet0: Operation not supported (code=1)
(vm:1683)
2018-05-10 22:45:30,604+0200 INFO (vm/f222c92f) [virt.vm] (vmId='f222c92f-91af-4d1c-860d-c2b406211496') Stopping connection (guestagent:438)
It's the hosted engine vm that fails to start, hence I don't have any engine.log and supervdsm.log doesn't contain anything about this
<interface type="bridge">
<model type="virtio"/>
<link state="up"/>
<source bridge="ovirtmgmt"/>
<alias name="ua-430d692e-6ef0-4529-8af0-b37a53a11564"/>
<address bus="0x00" domain="0x0000" function="0x0"
slot="0x03" type="pci"/>
<mac address="00:16:3e:0e:39:42"/>
<filterref filter="vdsm-no-mac-spoofing"/>
<bandwidth/>
</interface>
Last login: Thu May 10 16:23:48 2018 from 172.27.1.32
[root@h2 ~]# ovs-vsctl show
dfcf7463-ce51-4115-9a3a-ecab9efa8146
Bridge "vdsmbr_H91hH5sG"
Port "vdsmbr_H91hH5sG"
Interface "vdsmbr_H91hH5sG"
type: internal
Port ovirtmgmt
Interface ovirtmgmt
type: internal
Port "dummy0"
Interface "dummy0"
ovs_version: "2.9.0"
I assumed first there is a hook that make the needed change, but the
only hooks I can find that mentions openvswitch are
ovirt_provider_ovn_hook and 50_openstacknet but both those would set
the source bridge to br-int and not look up the dynamic name of the
bridge as created by vdsm.
One special thing about the host where I try to run hosted engine is
that the there is a dummy port since otherwise I couldn't get vdsm to
create the bridge, but that shouldn't affect changing the interface
definition for the vm.
Where should I look next?
_______________________________________________
Users mailing list -- users@ovirt.org
To unsubscribe send an email to users-leave@ovirt.org
_______________________________________________
Users mailing list -- users@ovirt.org
To unsubscribe send an email to users-leave@ovirt.org