Bug 1224601

Summary: [VMFEX_Hook] Migration fail with 'HookError' when using vmfex profile and vdsm-hook-vmfex-dev hook in rhev-M
Product: Red Hat Enterprise Virtualization Manager Reporter: Michael Burman <mburman>
Component: vdsmAssignee: Dan Kenigsberg <danken>
Status: CLOSED ERRATA QA Contact: Michael Burman <mburman>
Severity: high Docs Contact:
Priority: unspecified    
Version: 3.5.3CC: bazulay, danken, eedri, gklein, lpeer, lsurette, mkalinin, mpicoto, myakove, yeylon, ykaul, ylavi
Target Milestone: ovirt-3.6.0-rcKeywords: ZStream
Target Release: 3.6.0Flags: ylavi: Triaged+
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: ovirt-3.6.0-2.1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1226709 (view as bug list) Environment:
Last Closed: 2016-03-09 19:40:26 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:
Bug Depends On:    
Bug Blocks: 1226709    
Attachments:
Description Flags
Logs none

Description Michael Burman 2015-05-25 06:05:10 UTC
Created attachment 1029350 [details]
Logs

Description of problem:
[VMFEX_Hook] Migration fail with 'HookError' when using vmfex profile and vdsm-hook-vmfex-dev hook in rhev-M.

vdsm.log on destination:

Thread-7212::ERROR::2015-05-21 20:17:56,106::vm::5660::vm.Vm::(_updateDevicesDomxmlCache) vmId=`a7b476ef-df37-4ba5-b1f0-d90dc91e81bd`::Alias not found for device type graphics during migration at destination host
Thread-7213::DEBUG::2015-05-21 20:17:56,108::vm::4144::vm.Vm::(_waitForUnderlyingMigration) vmId=`a7b476ef-df37-4ba5-b1f0-d90dc91e81bd`::Waiting 21600 seconds for end of migration
Thread-7212::DEBUG::2015-05-21 20:17:56,120::utils::739::root::(execCmd) /usr/libexec/vdsm/hooks/before_device_migrate_destination/50_vmfex (cwd None)
Thread-7212::DEBUG::2015-05-21 20:17:56,261::utils::759::root::(execCmd) FAILED: <err> = 'vmfex_dev hook: [unexpected error]: Traceback (most recent call last):\n  File "/usr/libexec/vdsm/hooks/before_device_migrate_destination/50_vmfex", line 171, in <module>\n    main()\n  File "/usr/libexec/vdsm/hooks/before_device_migrate_destination/50_vmfex", line 162, in main\n    attachProfileToInterfaceXml(interface, portProfile)\n  File "/usr/libexec/vdsm/hooks/before_device_migrate_destination/50_vmfex", line 120, in attachProfileToInterfaceXml\n    source.removeAttribute(\'bridge\')\n  File "/usr/lib64/python2.6/xml/dom/minidom.py", line 759, in removeAttribute\n    raise xml.dom.NotFoundErr()\nNotFoundErr\n\n\n'; <rc> = 2
Thread-7212::INFO::2015-05-21 20:17:56,261::hooks::100::root::(_runHooksDir) vmfex_dev hook: [unexpected error]: Traceback (most recent call last):
  File "/usr/libexec/vdsm/hooks/before_device_migrate_destination/50_vmfex", line 171, in <module>
    main()
  File "/usr/libexec/vdsm/hooks/before_device_migrate_destination/50_vmfex", line 162, in main
    attachProfileToInterfaceXml(interface, portProfile)
  File "/usr/libexec/vdsm/hooks/before_device_migrate_destination/50_vmfex", line 120, in attachProfileToInterfaceXml
    source.removeAttribute('bridge')
  File "/usr/lib64/python2.6/xml/dom/minidom.py", line 759, in removeAttribute
    raise xml.dom.NotFoundErr()
NotFoundErr



Thread-7212::ERROR::2015-05-21 20:17:56,261::BindingXMLRPC::1152::vds::(wrapper) unexpected error
Traceback (most recent call last):
  File "/usr/share/vdsm/rpc/BindingXMLRPC.py", line 1136, in wrapper
    res = f(*args, **kwargs)
  File "/usr/share/vdsm/rpc/BindingXMLRPC.py", line 495, in vmMigrationCreate
    return vm.migrationCreate(params)
  File "/usr/share/vdsm/API.py", line 555, in migrationCreate
    if not v.waitForMigrationDestinationPrepare():
  File "/usr/share/vdsm/virt/vm.py", line 5695, in waitForMigrationDestinationPrepare
    dev._deviceXML, self.conf, dev.custom)
  File "/usr/share/vdsm/hooks.py", line 182, in before_device_migrate_destination
    vmconf=vmconf, params=customProperties)
  File "/usr/share/vdsm/hooks.py", line 110, in _runHooksDir
    raise HookError()
HookError

Version-Release number of selected component (if applicable):
3.5.3-0.2.el6ev

How reproducible:
100

Steps to Reproduce:
1. UCS setup with port profile configured.
Run sudo engine-config -s CustomDeviceProperties=
 '{type=interface;prop={vmfex=^[a-zA-Z0-9_.-]{2,32}$}}' on engine and 'yum install vdsm-hook-vmfex-dev' on servers.
2. In rhev-M Configure vNIC profile with vmfex=>UCS port profile 
and assign the profile to VM
3. Run VM using vmfex profile and try to migrate to second host.

Actual results:
Migration failed with hook error on destination

Expected results:
Migration should succeed.

Comment 3 Dan Kenigsberg 2015-09-30 06:45:15 UTC
Michelle, as far as I understand, this bug is closed and verified. It would be closed once rhev-3.6.0 is out, and no work is expected on it.
Note that there's a 3.5.4 bug 1226709 which is already made available to customers with rhev-3.5.4.

Which version of Vdsm does the customer have? And hich version of vdsm-hook-vmfex-dev?

Comment 6 errata-xmlrpc 2016-03-09 19:40:26 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-0362.html