Bug 1285785

Summary: Out-of-sync non-required network causes host to become non-operational
Product: [oVirt] ovirt-engine Reporter: Meni Yakove <myakove>
Component: BLL.NetworkAssignee: bugs <bugs>
Status: CLOSED DUPLICATE QA Contact: Meni Yakove <myakove>
Severity: medium Docs Contact:
Priority: low    
Version: 3.6.0CC: alkaplan, bugs, danken, myakove
Target Milestone: ovirt-4.3.0Flags: rule-engine: ovirt-4.3+
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-02-11 07:39:31 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Network RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
engine log none

Description Meni Yakove 2015-11-26 13:15:07 UTC
Created attachment 1099280 [details]
engine log

Description of problem:
When VM network is attached to host and the network changed to be non-VM the host become non-operational even when the network is not 'required'



Version-Release number of selected component (if applicable):
rhevm-3.6.1-0.2.el6.noarch

How reproducible:
100%

Steps to Reproduce:
1. Create VM network and attach it to host
2. Update the network to be non-VM (via UI network tab, wait for Successfully applied changes for network... in events)
3. Stop vdsmd service on the host
4. Update the network to bo VM network
5. Start vdsmd service on the host

 
Actual results:
Host is non-operational

Expected results:
Host is up

Additional info:
ERROR [org.ovirt.engine.core.bll.SetNonOperationalVdsCommand] (DefaultQuartzScheduler_Worker-64) [3cd92061] Host 'host_mixed_1' is set to Non-Op
erational, the following networks are implemented as non-VM instead of a VM networks: 'net1'

Comment 1 Yaniv Kaul 2015-11-26 15:18:22 UTC
Is this a regression?

Comment 2 Alona Kaplan 2015-11-29 13:06:32 UTC
Looking at the code, seems the behavior in 3.6 is the same as 3.5.
Also tried to verify it on 3.5 environment and I got this error on 'non-required' network.

The old relevant code-
https://gerrit.ovirt.org/#/c/33905/5/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CollectVdsNetworkDataVDSCommand.java

The new relevant code-
https://gerrit.ovirt.org/#/c/33905/5/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/HostNetworkTopologyPersisterImpl.java

In both of the cases 'getVmNetworksImplementedAsBridgeless(..)' which is responsible for retrieving the problematic networks looks the same. It ignores the 'isRequired' property.

Note- the error will be displayed only if the 'non-required' networks is attached to the host. Maybe it is the cause to the misunderstanding?

Comment 3 Meni Yakove 2015-12-01 06:44:55 UTC
In this case the network is 'non-required' and attach to the host and the network in unsynced, as far as I know the host should be operational since the network is 
'non-required'.

Comment 4 Dan Kenigsberg 2015-12-09 09:36:17 UTC
We may need to rethink the semantics of "non-required", so that a non-required network may be out-of-sync without affecting the host operation status.

Comment 5 Alona Kaplan 2018-02-11 07:39:31 UTC

*** This bug has been marked as a duplicate of bug 1528853 ***