Block-based storage domain tasks can fail on an SPM host that has vdsm-4.17.23-0.el7

Solution Verified - Updated -

Issue

  • There are problems with tasks handled on the SPM host with vdsm-4.17.23-0.el7.

  • vdsm-4.17.23-0.el7 was included in RHEV-H (20160302.1.el7ev). It is also the version released with RHEV 3.6.

  • Customers have reported problems with:

    • virtual machines that belong to VM Pool cannot be started
    • cannot increase the virtual disk size for a virtual machine
    • snapshot deletion failures
    • removing a disk fails
  • This only occurs on block-based storage domains.

  • Sample error message sequence reported in he vdsm logs on the SPM host;

5d2f8189-7cf2-4613-8a46-320363dc935f::ERROR::2016-03-14 19:29:07,439::blockVolume::459::Storage.Volume::(validateImagePath) Unexpected error
Traceback (most recent call last):
  File "/usr/share/vdsm/storage/blockVolume.py", line 457, in validateImagePath
    os.mkdir(imageDir, 0o755)
OSError: [Errno 17] File exists: '/rhev/data-center/598dd170-6339-45ff-82d0-c5e73e1feab5/42f91b62-71fc-4c97-8b0f-9929ce4b88c3/images/e4d3f7f0-8fa7-483a-93cc-07c774c28704'
5d2f8189-7cf2-4613-8a46-320363dc935f::WARNING::2016-03-14 19:29:07,439::resourceManager::594::Storage.ResourceManager::(registerResource) Resource factory failed to create resource '42f91b62-71fc-4c97-8b0f-9929ce4b88c3_imageNS.e4d3f7f0-8fa7-483a-93cc-07c774c28704'. Canceling request.
Traceback (most recent call last):
  File "/usr/share/vdsm/storage/resourceManager.py", line 590, in registerResource
    obj = namespaceObj.factory.createResource(name, lockType)
  File "/usr/share/vdsm/storage/resourceFactories.py", line 193, in createResource
    lockType)
  File "/usr/share/vdsm/storage/resourceFactories.py", line 122, in __getResourceCandidatesList
    imgUUID=resourceName)
  File "/usr/share/vdsm/storage/image.py", line 189, in getChain
    srcVol = volclass(self.repoPath, sdUUID, imgUUID, uuidlist[0])
  File "/usr/share/vdsm/storage/blockVolume.py", line 80, in __init__
    volume.Volume.__init__(self, repoPath, sdUUID, imgUUID, volUUID)
  File "/usr/share/vdsm/storage/volume.py", line 181, in __init__
    self.validate()
  File "/usr/share/vdsm/storage/blockVolume.py", line 89, in validate
    volume.Volume.validate(self)
  File "/usr/share/vdsm/storage/volume.py", line 193, in validate
    self.validateImagePath()
  File "/usr/share/vdsm/storage/blockVolume.py", line 460, in validateImagePath
    raise se.ImagePathError(imageDir)
ImagePathError: Image path does not exist or cannot be accessed/created: (u'/rhev/data-center/598dd170-6339-45ff-82d0-c5e73e1feab5/42f91b62-71fc-4c97-8b0f-9929ce4b88c3/images/e4d3f7f0-8fa7-483a-93cc-07c774c28704',)
  • An Image is not a legal chain error may also be a symptom, e.g.
jsonrpc.Executor/1::ERROR::2016-03-22 00:41:22,099::blockVolume::459::Storage.Volume::(validateImagePath) Unexpected error
Traceback (most recent call last):
  File "/usr/share/vdsm/storage/blockVolume.py", line 457, in validateImagePath
    os.mkdir(imageDir, 0o755)
OSError: [Errno 17] File exists: '/rhev/data-center/00000001-0001-0001-0001-0000000003bd/d9b512c6-fe14-4b69-9757-ec707fdd1231/images/6a5efd25-ebb6-404d-bfc3-c02f1383ff4a'
jsonrpc.Executor/1::ERROR::2016-03-22 00:41:22,100::task::866::Storage.TaskManager.Task::(_setError) Task=`93d1adac-2970-4d50-9b1e-d4481cab9ae6`::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 49, in wrapper
    res = f(*args, **kwargs)
  File "/usr/share/vdsm/storage/hsm.py", line 1815, in copyImage
    pool.validateVolumeChain(sdUUID, srcImgUUID)
  File "/usr/share/vdsm/storage/securable.py", line 77, in wrapper
    return method(self, *args, **kwargs)
  File "/usr/share/vdsm/storage/sp.py", line 2016, in validateVolumeChain
    image.Image(self.poolPath).validateVolumeChain(sdUUID, imgUUID)
  File "/usr/share/vdsm/storage/image.py", line 734, in validateVolumeChain
    raise se.ImageIsNotLegalChain(imgUUID)
ImageIsNotLegalChain: Image is not a legal chain: (u'6a5efd25-ebb6-404d-bfc3-c02f1383ff4a',)

Environment

  • Red Hat Enterprise Virtualization (RHEV) 3.5 and 3.6
    • with Storage Pool Manager (SPM) host;
      • Red Hat Enterprise Linux (RHEL) 7.2 host containing vdsm-4.17.23-0.el7
      • RHEV-H 7.2 (20160302.1.el7ev)

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content