Hi Sverker,
The management network is mandatory on each host. It's used by the
engine to communicate with the host.
Looking at your description and the exception it looks like it is missing.
The error is caused by not having any network for the host
(network list retrieved in InterfaceDaoImpl.getHostNetworksByCluster - which
gets all the networks on nics for a host from vds_interface table in the DB).
Could you maybe create a virtual nic connected to ovsbridge0 (as I understand you
have no physical nic available) and use this for the management network?
I then create a bridge for use with ovirt, with a private address.
I'm not quite sure I understand. Is this yet another bridge connected to
ovsbridge0?
You could also attach the vnic for the management network here if need be.
Please keep in mind that OVN has no use in setting up the management network.
The OVN provider can only handle external networks, which can not be used for a
management network.
Marcin
----- Original Message -----
From: "Sverker Abrahamsson"
<sverker(a)abrahamsson.com>
To: users(a)ovirt.org
Sent: Wednesday, December 28, 2016 12:39:59 AM
Subject: [ovirt-users] Issue with OVN/OVS and mandatory ovirtmgmt network
Hi
For long time I've been looking for proper support in ovirt for Open vSwitch
so I'm happy that it is moving in the right direction. However, there seems
to still be a dependency on a ovirtmgmt bridge and I'm unable to move that
to the OVN provider.
The hosting center where I rent hw instances has a bit special network setup,
so I have one physical network port with a /32 netmask and point-to-point
config to router. The physical port I connect to a ovs bridge which has the
public ip. Since ovirt always messes up the network config when I've tried
to let it have access to the network config for the physical port, I've set
eht0 and ovsbridge0 as hidden in vdsm.conf.
I then create a bridge for use with ovirt, with a private address. With the
OVN provider I am now able to import these into the engine and it looks
good. When creating a VM I can select that it will have a vNic on my OVS
bridge.
However, I can't start the VM as an exception is thrown in the log:
2016-12-28 00:13:33,350 ERROR [org.ovirt.engine.core.bll.RunVmCommand]
(default task-5) [3c882d53] Error during ValidateFailure.:
java.lang.NullPointerException
at
org.ovirt.engine.core.bll.scheduling.policyunits.NetworkPolicyUnit.validateRequiredNetworksAvailable(NetworkPolicyUnit.java:140)
[bll.jar:]
at
org.ovirt.engine.core.bll.scheduling.policyunits.NetworkPolicyUnit.filter(NetworkPolicyUnit.java:69)
[bll.jar:]
at
org.ovirt.engine.core.bll.scheduling.SchedulingManager.runInternalFilters(SchedulingManager.java:597)
[bll.jar:]
at
org.ovirt.engine.core.bll.scheduling.SchedulingManager.runFilters(SchedulingManager.java:564)
[bll.jar:]
at
org.ovirt.engine.core.bll.scheduling.SchedulingManager.canSchedule(SchedulingManager.java:494)
[bll.jar:]
at
org.ovirt.engine.core.bll.validator.RunVmValidator.canRunVm(RunVmValidator.java:133)
[bll.jar:]
at org.ovirt.engine.core.bll.RunVmCommand.validate(RunVmCommand.java:940)
[bll.jar:]
at
org.ovirt.engine.core.bll.CommandBase.internalValidate(CommandBase.java:886)
[bll.jar:]
at org.ovirt.engine.core.bll.CommandBase.validateOnly(CommandBase.java:366)
[bll.jar:]
at
org.ovirt.engine.core.bll.PrevalidatingMultipleActionsRunner.canRunActions(PrevalidatingMultipleActionsRunner.java:113)
[bll.jar:]
at
org.ovirt.engine.core.bll.PrevalidatingMultipleActionsRunner.invokeCommands(PrevalidatingMultipleActionsRunner.java:99)
[bll.jar:]
at
org.ovirt.engine.core.bll.PrevalidatingMultipleActionsRunner.execute(PrevalidatingMultipleActionsRunner.java:76)
[bll.jar:]
at org.ovirt.engine.core.bll.Backend.runMultipleActionsImpl(Backend.java:613)
[bll.jar:]
at org.ovirt.engine.core.bll.Backend.runMultipleActions(Backend.java:583)
[bll.jar:]
Looking at that section of code where the exception is thrown, I see that it
iterates over host networks to find required networks, which I assume is
ovirtmgmt. In the host network setup dialog I don't see any networks at all
but it lists ovirtmgmt as required. It also list the OVN networks but these
can't be statically assigned as they are added dynamically when needed,
which is fine.
I believe that I either need to remove ovirtmgmt network or configure that it
is provided by the OVN provider, but neither is possible. Preferably it
shouldn't be hardcoded which network is management and mandatory but be
possible to configure.
/Sverker
Den 2016-12-27 kl. 17:10, skrev Marcin Mirecki: