Bug 1136199

Summary: Logical volume does not exist error at VM startup when volume already exists at volume creation
Product: [Retired] oVirt Reporter: Elad <ebenahar>
Component: vdsmAssignee: Tal Nisan <tnisan>
Status: CLOSED CURRENTRELEASE QA Contact: Elad <ebenahar>
Severity: high Docs Contact:
Priority: unspecified    
Version: 3.5CC: acanan, amureini, bazulay, bugs, ecohen, gklein, iheim, lsurette, mgoldboi, rbalakri, sbonazzo, tnisan, yeylon
Target Milestone: ---Keywords: Reopened
Target Release: 3.5.1   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: storage
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-01-21 16:05: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:
Bug Depends On:    
Bug Blocks: 1150419, 1193195    
Attachments:
Description Flags
hosted-engine-setup and vdsm logs none

Description Elad 2014-09-02 07:09:26 UTC
Created attachment 933614 [details]
hosted-engine-setup and vdsm logs

Description of problem:
I tried to deploy hosted-engine, using hosted-engine --deploy. The setup failed with the following error:

[ ERROR ] Failed to execute stage 'Closing up': Cannot set temporary password for console connection. The VM may not have been created: please check VDSM logs

It happened when I tried to install hosted-engine using iSCSI and picked a LUN which already contained a storage domain. I chose 'no' for:

The specified storage location already contains a data domain. Is this an additional host setup (Yes, No)[Yes]?



Version-Release number of selected component (if applicable):
ovirt-3.5 RC1.1
ovirt-hosted-engine-setup-1.2.0-0.1.master.20140820130713.gitd832f86.el7.noarch

How reproducible:
Always

Steps to Reproduce:
1. Execute hosted-engine --deploy 
2. Choose iSCSI and pick a LUN which is already contain a storage domain (from an old setup)
3. Answer 'no' to:
The specified storage location already contains a data domain. Is this an additional host setup (Yes, No)[Yes]?


Actual results:
The installation failed:
         --== CONFIGURATION PREVIEW ==--                                                                                                                                                                            
                                                                                                                                                                                                                     
          Engine FQDN                        : elad-he.qa.lab.tlv.redhat.com                                                                                                                                         
          Bridge name                        : ovirtmgmt
          SSH daemon port                    : 22
          Firewall manager                   : iptables
          Gateway address                    : 10.35.102.254
          Host name for web application      : hosted_engine_1
          iSCSI Target Name                  : iqn.2008-05.com.xtremio:001e675b8ee0
          iSCSI Portal port                  : 3260
          Host ID                            : 1
          iSCSI LUN ID                       : 0
          Image size GB                      : 25
          iSCSI Portal IP Address            : 10.35.146.129
          iSCSI Portal user                  :
          Console type                       : qxl
          Memory size MB                     : 4096
          MAC address                        : 00:16:3e:43:bf:62
          Boot type                          : pxe
          Number of CPUs                     : 2
          CPU Type                           : model_Conroe

          Please confirm installation settings (Yes, No)[Yes]:
[ INFO  ] Generating answer file '/etc/ovirt-hosted-engine/answers.conf'
[ INFO  ] Stage: Transaction setup
[ INFO  ] Stage: Misc configuration
[ INFO  ] Stage: Package installation
[ INFO  ] Stage: Misc configuration
[ INFO  ] Configuring libvirt
[ INFO  ] Configuring VDSM
[ INFO  ] Starting vdsmd
[ INFO  ] Waiting for VDSM hardware info
[ INFO  ] Waiting for VDSM hardware info
[ INFO  ] Waiting for VDSM hardware info
[ INFO  ] Connecting Storage Pool
[ INFO  ] Verifying sanlock lockspace initialization
[ INFO  ] Creating VM Image
[ INFO  ] Disconnecting Storage Pool
[ INFO  ] Start monitoring domain
[ INFO  ] Configuring VM
[ INFO  ] Updating hosted-engine configuration
[ INFO  ] Stage: Transaction commit
[ INFO  ] Stage: Closing up
[ INFO  ] Creating VM
[ ERROR ] Failed to execute stage 'Closing up': Cannot set temporary password for console connection. The VM may not have been created: please check VDSM logs
[ INFO  ] Stage: Clean up
[ INFO  ] Generating answer file '/etc/ovirt-hosted-engine/answers.conf'
[ INFO  ] Answer file '/etc/ovirt-hosted-engine/answers.conf' has been updated
[ INFO  ] Stage: Pre-termination
[ INFO  ] Stage: Termination



Expected results:
Installation should succeed in case using a LUN that contain a storage domain 

Additional info: hosted-engine-setup and vdsm logs

Comment 1 Sandro Bonazzola 2014-09-19 09:15:58 UTC
The original error is VM not started due to:
Thread-80::ERROR::2014-09-02 09:59:45,684::task::866::Storage.TaskManager.Task::(_setError) Task=`8a7dc199-5098-496b-8b82-10af0d76a402`::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 3093, in getVolumeSize
    apparentsize = str(dom.getVSize(imgUUID, volUUID))
  File "/usr/share/vdsm/storage/blockSD.py", line 622, in getVSize
    size = lvm.getLV(self.sdUUID, volUUID).size
  File "/usr/share/vdsm/storage/lvm.py", line 893, in getLV
    raise se.LogicalVolumeDoesNotExistError("%s/%s" % (vgName, lvName))
LogicalVolumeDoesNotExistError: Logical volume does not exist: ('d5dcc8db-8b0a-42af-9b5f-07964546f746/2a664b74-0e70-45ea-8175-e9141361a1b2',)

5277bbed-37f2-44e1-b1fa-6404ac1e7615::ERROR::2014-09-02 09:58:34,433::volume::438::Storage.Volume::(create) Failed to create volume: /rhev/data-center/2cdf5f4a-680a-4f91-b19d-320c4438c0bd/d5dcc8db-8b0a-42af-9b5f-07964546f746/images/0e5d84e1-9f5b-4d1c-a63e-d93a193a556b/2a664b74-0e70-45ea-8175-e9141361a1b2, volume already exists
5277bbed-37f2-44e1-b1fa-6404ac1e7615::ERROR::2014-09-02 09:58:34,433::volume::474::Storage.Volume::(create) Unexpected error
Traceback (most recent call last):
  File "/usr/share/vdsm/storage/volume.py", line 440, in create
    raise e
CannotCreateLogicalVolume: Cannot create Logical Volume: ('d5dcc8db-8b0a-42af-9b5f-07964546f746', '2a664b74-0e70-45ea-8175-e9141361a1b2')

Closing as duplicate

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

Comment 2 Elad 2014-10-05 18:28:21 UTC
I'm not sure why this bug was closed as DUP.
Based on comment #6 in https://bugzilla.redhat.com/show_bug.cgi?id=1143830 and since the scenario is different, this bug should be open and fixed.
(also, it was opened first)

Comment 3 Elad 2014-10-05 18:32:07 UTC
The relevant error from vdsm.log:

Thread-48::ERROR::2014-09-02 09:58:29,687::task::866::Storage.TaskManager.Task::(_setError) Task=`0c71ac47-6012-4581-8890-5d1203301fae`::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 3158, in getVolumePath
    volUUID=volUUID).getVolumePath()
  File "/usr/share/vdsm/storage/sd.py", line 400, in produceVolume
    volUUID)
  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 144, in __init__
    self.validate()
  File "/usr/share/vdsm/storage/blockVolume.py", line 88, in validate
    raise se.VolumeDoesNotExist(self.volUUID)  # Fix me
VolumeDoesNotExist: Volume does not exist: ('556fc1e2-9f24-4e85-a236-d54c0dffea6d',)

Comment 4 Allon Mureinik 2014-11-19 14:17:41 UTC
The real issue here is a lack of space:
Traceback (most recent call last):
  File "/usr/share/vdsm/virt/vm.py", line 2268, in _startUnderlyingVm
    self._run()
  File "/usr/share/vdsm/virt/vm.py", line 3323, in _run
    self._connection.createXML(domxml, flags),
  File "/usr/lib64/python2.7/site-packages/vdsm/libvirtconnection.py", line 111, in wrapper
    ret = f(*args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 2915, in createXML
    if ret is None:raise libvirtError('virDomainCreateXML() failed', conn=self)
libvirtError: Failed to acquire lock: No space left on device
Thread-26::DEBUG::2014-09-01 14:11:53,577::vm::2809::vm.Vm::(setDownStatus) vmId=`2eaf5771-0487-4594-bf46-009ae6e583fe`::Changed state to Down: Failed to acquire lock: No space left on device (code=1)


Which had several fixes both in VDSM and in HE's code.
Please retest with the latest build.

Comment 5 Elad 2014-12-14 13:31:23 UTC
Deployment on a dirty LUN using iSCSI succeeds.

Tested using RHEV 3.5 vt13.1, RHEL6.6 installed on the host.

Comment 6 Elad 2014-12-14 15:01:00 UTC
Checked using rhev 3.5 vt13.1

Comment 7 Sandro Bonazzola 2015-01-21 16:05:57 UTC
oVirt 3.5.1 has been released. If problems still persist, please make note of it in this bug report.