Bug 1129261 - prepareImage api call fails with [Errno 2] No such file or directory
Summary: prepareImage api call fails with [Errno 2] No such file or directory
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: oVirt
Classification: Retired
Component: ovirt-hosted-engine-ha
Version: 3.5
Hardware: Unspecified
OS: Unspecified
unspecified
urgent
Target Milestone: ---
: 3.5.0
Assignee: Jiri Moskovcak
QA Contact: Nikolai Sednev
URL:
Whiteboard: sla
Depends On: 1139019
Blocks: 1067162 1073943
TreeView+ depends on / blocked
 
Reported: 2014-08-12 12:25 UTC by Jiri Moskovcak
Modified: 2016-02-10 19:41 UTC (History)
13 users (show)

Fixed In Version: ovirt-3.5.0_rc2
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1130038 (view as bug list)
Environment:
Last Closed: 2014-10-17 12:28:57 UTC
oVirt Team: SLA


Attachments (Terms of Use)
vdsm logs (576.64 KB, application/x-zip-compressed)
2014-08-12 12:25 UTC, Jiri Moskovcak
no flags Details
logs and test (171.05 KB, application/zip)
2014-08-20 15:06 UTC, Jiri Moskovcak
no flags Details


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 31751 0 master MERGED use blank storage pool when connecting the volumes Never
oVirt gerrit 32689 0 ovirt-hosted-engine-ha-1.2 MERGED use blank storage pool when connecting the volumes Never

Description Jiri Moskovcak 2014-08-12 12:25:41 UTC
Created attachment 926064 [details]
vdsm logs

Description of problem:
when hosted engine broker tries to connect it's storage using vdsm it fail with: [Errno 2] No such file or directory

Version-Release number of selected component (if applicable):
vdsm-4.16.1-6.gita4a4614.el6.x86_64

How reproducible:
100%

Steps to Reproduce:
1. install hosted-engine
2. reboot the machine
3. check if the hosted engine storage is up'n'running
4. /rhev/data-center/mnt/blockSD/3498465f-eb04-49f3-81d2-f7713b392e5a/ha_agent/hosted-engine.metadata points to volume which is not activated

Actual results:
ha-agent doesn't run

Expected results:
storage connected, ha-agent running

Additional info:
vdsm log attached

Comment 1 Jiri Moskovcak 2014-08-12 12:28:11 UTC
after additional testing, it seems like it actually activates the lvm device, but fails to create some symlink and returns non-zero error code which makes the he-broker think that it fails even though the storage is actually available.

Comment 2 Dan Kenigsberg 2014-08-12 14:21:50 UTC
Thread-1205::ERROR::2014-08-12 14:13:03,605::blockSD::1054::Storage.StorageDomain::(linkBCImage) Failed to create path to image directory: /rhev/data-center/84cfc3d9-03cf-4ec5-9f29-a18ba1f6f02f/3498465f-eb04-49f3-81d2-f7713b392e5a/images/04f6b652-5e14-40d8-973c-ca384ffc0c50
Thread-1205::ERROR::2014-08-12 14:13:03,605::task::866::Storage.TaskManager.Task::(_setError) Task=`0ffda0cc-8afc-46bb-8b80-49e0a4291a68`::Unexpected error
Traceback (most recent call last):
  File "/usr/share/vdsm/storage/task.py", line 873, in _run
    return fn(*args, **kargs)
  File "/usr/share/vdsm/logUtils.py", line 45, in wrapper
    res = f(*args, **kwargs)
  File "/usr/share/vdsm/storage/hsm.py", line 3213, in prepareImage
    runImgPath = dom.linkBCImage(imgPath, imgUUID)
  File "/usr/share/vdsm/storage/blockSD.py", line 1047, in linkBCImage
    os.symlink(imgPath, dst)
OSError: [Errno 2] No such file or directory

Comment 3 Federico Simoncelli 2014-08-13 15:52:06 UTC
The request fails because you're not connected to a pool. To prepare an image when you're not connected to a pool (general HE use case) you should specify a blank pool uuid (00000000-0000-0000-0000-000000000000). E.g.:

prepareImage(sdUUID='3498465f-eb04-49f3-81d2-f7713b392e5a', spUUID='00000000-0000-0000-0000-000000000000', imgUUID='e3449f52-b227-4666-a4d5-9fdc56f000ce', leafUUID='04f6b652-5e14-40d8-973c-ca384ffc0c50')

Comment 4 Jiri Moskovcak 2014-08-14 07:33:25 UTC
(In reply to Federico Simoncelli from comment #3)
> The request fails because you're not connected to a pool. To prepare an
> image when you're not connected to a pool (general HE use case) you should
> specify a blank pool uuid (00000000-0000-0000-0000-000000000000). E.g.:
> 
> prepareImage(sdUUID='3498465f-eb04-49f3-81d2-f7713b392e5a',
> spUUID='00000000-0000-0000-0000-000000000000',
> imgUUID='e3449f52-b227-4666-a4d5-9fdc56f000ce',
> leafUUID='04f6b652-5e14-40d8-973c-ca384ffc0c50')

- thanks for the hint, going to try that, btw, I'm pretty sure it used to work back in May when we start using vdsm api for storage creation.

Comment 5 Jiri Moskovcak 2014-08-14 07:47:59 UTC
btw, does the same apply for getVolumePath ?

Comment 6 Jiri Moskovcak 2014-08-14 08:06:09 UTC
This is what I get if I use blank pool:

Thread-199::ERROR::2014-08-14 10:04:35,846::task::866::Storage.TaskManager.Task::(_setError) Task=`95689457-eec0-405c-8d0c-3f81e2556121`::Unexpected error
Traceback (most recent call last):
  File "/usr/share/vdsm/storage/task.py", line 873, in _run
    return fn(*args, **kargs)
  File "/usr/share/vdsm/logUtils.py", line 45, in wrapper
    res = f(*args, **kwargs)
  File "/usr/share/vdsm/storage/hsm.py", line 3237, in prepareImage
    return {'path': leafPath, 'info': leafInfo,
UnboundLocalError: local variable 'leafInfo' referenced before assignment

Comment 7 Federico Simoncelli 2014-08-18 08:21:23 UTC
(In reply to Jiri Moskovcak from comment #6)
> This is what I get if I use blank pool:
> 
> Thread-199::ERROR::2014-08-14
> 10:04:35,846::task::866::Storage.TaskManager.Task::(_setError)
> Task=`95689457-eec0-405c-8d0c-3f81e2556121`::Unexpected error
> Traceback (most recent call last):
>   File "/usr/share/vdsm/storage/task.py", line 873, in _run
>     return fn(*args, **kargs)
>   File "/usr/share/vdsm/logUtils.py", line 45, in wrapper
>     res = f(*args, **kwargs)
>   File "/usr/share/vdsm/storage/hsm.py", line 3237, in prepareImage
>     return {'path': leafPath, 'info': leafInfo,
> UnboundLocalError: local variable 'leafInfo' referenced before assignment

You haven't attached any log

Comment 8 Jiri Moskovcak 2014-08-20 15:06:56 UTC
Created attachment 928864 [details]
logs and test

Comment 9 Sandro Bonazzola 2014-10-17 12:28:57 UTC
oVirt 3.5 has been released and should include the fix for this issue.

Comment 10 Nikolai Sednev 2015-02-17 11:23:24 UTC
Works for me.


Note You need to log in before you can comment on or make changes to this bug.