[ovirt-users] Issue with OVN/OVS and mandatory ovirtmgmt network

Sverker Abrahamsson sverker at abrahamsson.com
Wed Dec 28 10:48:24 UTC 2016


Hi Marcin
Yes, that is my issue. I don't want to let ovirt/vdsm see eth0 nor 
ovsbridge0 since as soon as it sees them it messes up the network config 
so that the host will be unreachable.

I have an internal OVS bridge called ovirtbridge which has a port with 
IP address, but in the host network settings that port is not visible. 
It doesn't help to name it ovirtmgmt.

The engine is able to communicate with the host on the ip it has been 
given, it's just that it believes that it HAS to have a ovirtmgmt 
network which can't be on OVN.

/Sverker


Den 2016-12-28 kl. 10:45, skrev Marcin Mirecki:
> 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 at abrahamsson.com>
>> To: users at 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:
>>
>>



More information about the Users mailing list