Bug 1399493 - Configure local storage domain format V4 fails
Summary: Configure local storage domain format V4 fails
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: vdsm
Classification: oVirt
Component: Core
Version: 4.18.15.2
Hardware: All
OS: Linux
high
high
Target Milestone: ovirt-4.1.0-alpha
: 4.19.2
Assignee: Allon Mureinik
QA Contact: Lilach Zitnitski
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-11-29 08:07 UTC by Lilach Zitnitski
Modified: 2017-02-01 14:50 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-02-01 14:50:40 UTC
oVirt Team: Storage
Embargoed:
rule-engine: ovirt-4.1+
rule-engine: planning_ack+
amureini: devel_ack+
ratamir: testing_ack+


Attachments (Terms of Use)
logs zip (285.86 KB, application/zip)
2016-11-29 08:08 UTC, Lilach Zitnitski
no flags Details


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 67548 0 master MERGED localFsSD.py: Add lock class for V4 domains 2016-11-29 20:47:14 UTC

Description Lilach Zitnitski 2016-11-29 08:07:41 UTC
Description of problem:
When trying to configure new local storage domain in a data center with compatibility version 4.1, the creation of the sd fails with the error:
Error while executing action New Local Storage Domain: Storage format is unsupported.  

Version-Release number of selected component (if applicable):
ovirt-engine-4.1.0-0.0.master.20161116231317.git10b5ca9.el7.centos.noarch
vdsm-4.18.999-991.git890b5a9.el7.centos.x86_64

How reproducible:
100%

Steps to Reproduce:
1. select one host and move to maintenance mode
2. right click on the host > management > configure local storage and keep the DC compatibility version on 4.1. 
3. wait for the operation to fail.

Actual results:
Local data center and cluster are created successfully but without active storage domain attached to them. 

Expected results:
Complete local dc, cluster and local storage domain. 

Additional info:


Also, when I tried to configure another local storage from the same host (after I removed the first dc and cluster) with dc compatability version 4.0, I got the expected results with no errors. 

engine.log
start --> 2016-11-29 08:19:05,095 INFO  [org.ovirt.engine.core.vdsbroker.vdsbroker.CreateStorageDomainVDSCommand] (default task-9) [39e1436e] START, CreateStorageDomainVDSCommand(HostName = blond-vdsf, CreateStorageDomainVDSCommandParameters:{runAsync='true', hostId='e3a76e20-bcfa-405b-a339-1359e6616586', storageDomain='StorageDomainStatic:{name='blond-vdsf-Local', id='15245f45-22dc-4054-a729-8e805667f843'}', args='/local_storage'}), log id: d7e666f
fail --> 2016-11-29 08:19:06,627 ERROR [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (default task-9) [39e1436e] Correlation ID: null, Call Stack: null, Custom Event ID: -1, Message: VDSM blond-vdsf command failed: Domain version `4` is unsupported by this version of VDSM: ''

vdsm.log
start --> 2016-11-29 08:19:05,097 INFO  (jsonrpc/3) [dispatcher] Run and protect: createStorageDomain(storageType=4, sdUUID=u'15245f45-22dc-4054-a729-8e805667f843', domainName=u'blond-vdsf-Lo
cal', typeSpecificArg=u'/local_storage', domClass=1, domVersion=u'4', options=None) (logUtils:49)
fail --> 2016-11-29 08:19:05,570 ERROR (jsonrpc/3) [storage.TaskManager.Task] (Task='fda1e92d-75e9-4ea6-a888-cc69bae303ca') Unexpected error (task:870)
Traceback (most recent call last):
  File "/usr/share/vdsm/storage/task.py", line 877, in _run
    return fn(*args, **kargs)
  File "/usr/lib/python2.7/site-packages/vdsm/logUtils.py", line 50, in wrapper
    res = f(*args, **kwargs)
  File "/usr/share/vdsm/storage/hsm.py", line 2573, in createStorageDomain
    storageType, domVersion)
  File "/usr/share/vdsm/storage/localFsSD.py", line 106, in create
    fsd = LocalFsStorageDomain(os.path.join(mntPoint, sdUUID))
  File "/usr/share/vdsm/storage/fileSD.py", line 343, in __init__
    manifest = self.manifestClass(domainPath)
  File "/usr/share/vdsm/storage/fileSD.py", line 169, in __init__
    sd.StorageDomainManifest.__init__(self, sdUUID, domaindir, metadata)
  File "/usr/share/vdsm/storage/sd.py", line 317, in __init__
    self._domainLock = self._makeDomainLock()
  File "/usr/share/vdsm/storage/sd.py", line 498, in _makeDomainLock
    raise se.UnsupportedDomainVersion(domVersion)
UnsupportedDomainVersion: Domain version `4` is unsupported by this version of VDSM: ''

Comment 1 Lilach Zitnitski 2016-11-29 08:08:23 UTC
Created attachment 1225685 [details]
logs zip

engine.log 
vdsm.log

Comment 2 Allon Mureinik 2016-11-29 13:17:13 UTC
(In reply to Lilach Zitnitski from comment #0)
> Also, when I tried to configure another local storage from the same host
> (after I removed the first dc and cluster) with dc compatability version
> 4.0, I got the expected results with no errors. 
4.0 DCs still use the V3 storage format [confusing, I know :-(], so this is kind-of expected.
Regardless, this shouldn't fail with V4 either, of course.

Comment 3 Allon Mureinik 2016-11-29 20:01:02 UTC
Reproduced with the latest master, patch POSTed.
This is a VDSM bug, though - changing component accordingly.

Comment 4 Sandro Bonazzola 2016-12-12 13:56:56 UTC
The fix for this issue should be included in oVirt 4.1.0 beta 1 released on December 1st. If not included please move back to modified.

Comment 5 Lilach Zitnitski 2016-12-13 13:18:00 UTC
--------------------------------------
Tested with the following code:
----------------------------------------
ovirt-engine-4.1.0-0.2.master.20161203231307.gitd7d920b.el7.centos.noarch
vdsm-4.18.999-1059.git63f9e2f.el7.centos.x86_64

Tested with the following scenario:

Steps to Reproduce:
1. select one host and move to maintenance mode
2. right click on the host > management > configure local storage and keep the DC compatibility version on 4.1. 

Actual results:
Complete local dc, cluster and local storage domain.

Expected results:

Moving to VERIFIED!


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