Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 885661

Summary: [engine] InitVdsOnUp sends a redundant ConnectStoragePool call to vdsm when the master domain is not available (i.e. connect is bound to fail)
Product: Red Hat Enterprise Virtualization Manager Reporter: Gadi Ickowicz <gickowic>
Component: ovirt-engineAssignee: Liron Aravot <laravot>
Status: CLOSED WONTFIX QA Contact: Gadi Ickowicz <gickowic>
Severity: low Docs Contact:
Priority: unspecified    
Version: 3.1.0CC: abaron, amureini, dyasny, hateya, iheim, lpeer, nlevinki, Rhev-m-bugs, sgrinber, yeylon, ykaul
Target Milestone: ---   
Target Release: 3.2.0   
Hardware: All   
OS: Linux   
Whiteboard: storage
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-12-26 05:59:57 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Storage RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
engine + vdsm logs none

Description Gadi Ickowicz 2012-12-10 11:08:49 UTC
Created attachment 660712 [details]
engine + vdsm logs

Description of problem:
InitVdsOnUp flow does ConnectHostToStoragePool without ConnectStorageServer first

Version-Release number of selected component (if applicable):


How reproducible:
?

Steps to Reproduce:
Automated test spm-priority-sanity
1. adds 3 hosts, storage domain and sets spm priorities
2. One of the hosts was moved to Non-Operational (wrong master domain or version)
3. Autorecovery reactivates hosts, and then initVdsOnUp runs ConnectStoragePool without ConnectStorageServer
  


Expected results:
Cannot connect host to storage pool on VDS Init without connectStorageServer

Additional info:
relevant lines from logs:
2012-12-09 22:37:17,957 INFO  [org.ovirt.engine.core.bll.InitVdsOnUpCommand] (QuartzScheduler_Worker-11) [612bc85e] Running command: InitVdsOnUpCommand internal: true.
2012-12-09 22:37:17,995 INFO  [org.ovirt.engine.core.bll.storage.ConnectHostToStoragePoolServersCommand] (QuartzScheduler_Worker-11) [7089d023] Running command: ConnectHostToStoragePoolServersCommand internal: tru
2012-12-09 22:37:18,006 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.ConnectStoragePoolVDSCommand] (QuartzScheduler_Worker-11) [7089d023] START, ConnectStoragePoolVDSCommand(HostName = 10.35.160.113, HostId = 
2012-12-09 22:37:18,039 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.ConnectStoragePoolVDSCommand] (QuartzScheduler_Worker-11) [7089d023] FINISH, ConnectStoragePoolVDSCommand, log id: 76d76a07
2012-12-09 22:37:18,058 INFO  [org.ovirt.engine.core.bll.SetNonOperationalVdsCommand] (QuartzScheduler_Worker-11) [38722e85] Running command: SetNonOperationalVdsCommand internal: true. Entities affected :  ID: 6c
2012-12-09 22:37:18,060 INFO  [org.ovirt.engine.core.vdsbroker.SetVdsStatusVDSCommand] (QuartzScheduler_Worker-11) [38722e85] START, SetVdsStatusVDSCommand(HostName = 10.35.160.113, HostId = 6c541f2e-423f-11e2-8e2
2012-12-09 22:37:18,063 INFO  [org.ovirt.engine.core.vdsbroker.SetVdsStatusVDSCommand] (QuartzScheduler_Worker-11) [38722e85] FINISH, SetVdsStatusVDSCommand, log id: 547ed8c0

Comment 1 Ayal Baron 2012-12-17 06:47:18 UTC
Barak, didn't you guys fix something around this?

Comment 2 Liron Aravot 2012-12-25 16:04:00 UTC
the bug description isn't correct - there's specfic case in which the engine send uneeded connectStoragePool (which we know that will fail) - in 'regular' flow connectStorageServer is being executed before as seens in this log (taken from the attached log).

Gadi, please add what what domains you had and what was their status during the run.

reducing severity, patch will follow.

, sharedLocks= ]
2012-12-09 22:37:07,129 INFO  [org.ovirt.engine.core.bll.InitVdsOnUpCommand] (QuartzScheduler_Worker-94) [5f7cb871] Running command: InitVdsOnUpCommand internal: true.
2012-12-09 22:37:07,173 INFO  [org.ovirt.engine.core.bll.storage.ConnectHostToStoragePoolServersCommand] (QuartzScheduler_Worker-94) [14cf1694] Running command: ConnectHostToStoragePoolServersCommand internal: true. Entities affected :  ID: 28ad393b-5f86-4036-b1d8-5b7fa97ef6e8 Type: StoragePool
2012-12-09 22:37:07,176 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.ConnectStorageServerVDSCommand] (QuartzScheduler_Worker-94) [14cf1694] START, ConnectStorageServerVDSCommand(HostName = 10.35.160.97, HostId = 6b15876a-423f-11e2-8850-001a4a169769, storagePoolId = 28ad393b-5f86-4036-b1d8-5b7fa97ef6e8, storageType = NFS, connectionList = [{ id: d518ef17-56d4-4a38-a52c-c77a3ac2d831, connection: 10.35.64.106:/export/jenkins-vm-12_nfs_2012_12_09_22_31_24_89393, iqn: null, vfsType: null, mountOptions: null, nfsVersion: null, nfsRetrans: null, nfsTimeo: null };]), log id: 193ffda3
2012-12-09 22:37:07,247 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.ConnectStorageServerVDSCommand] (QuartzScheduler_Worker-94) [14cf1694] FINISH, ConnectStorageServerVDSCommand, return: {d518ef17-56d4-4a38-a52c-c77a3ac2d831=0}, log id: 193ffda3
2012-12-09 22:37:07,247 INFO  [org.ovirt.engine.core.bll.storage.ConnectHostToStoragePoolServersCommand] (QuartzScheduler_Worker-94) [14cf1694] Host 10.35.160.97 storage connection was succeeded 
2012-12-09 22:37:07,261 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.ConnectStoragePoolVDSCommand] (QuartzScheduler_Worker-94) [14cf1694] START, ConnectStoragePoolVDSCommand(HostName = 10.35.160.97, HostId = 6b15876a-423f-11e2-8850-001a4a169769, storagePoolId = 28ad393b-5f86-4036-b1d8-5b7fa97ef6e8, vds_spm_id = 1, masterDomainId = bdf5cbff-6e95-4c17-8b79-e7169d733b9b, masterVersion = 1), log id: 5230bf0f

Comment 3 Haim 2012-12-25 17:43:16 UTC
(In reply to comment #2)
> the bug description isn't correct - there's specfic case in which the engine
> send uneeded connectStoragePool (which we know that will fail) - in
> 'regular' flow connectStorageServer is being executed before as seens in
> this log (taken from the attached log).
> 
> Gadi, please add what what domains you had and what was their status during
> the run.

Liron, if bug description is not correct, please fix it, other then that, I don't seem to follow what needed from Gadi, he reported what is expected from engine, if you know there is a specific flow in which engine will send connectStoragePool without connectStorageServer, send a patch for that flow, other then that I think you have all information in the bug.

Comment 4 Ayal Baron 2012-12-26 05:59:57 UTC
The use case is not very interesting and fixing it can introduce regressions as it's a sensitive flow.
Closing.