Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1491169

Summary: [REST] Extend storage domain fails with ValidationException: Parameter 'storage_domain.storage.logical_units.vendor_id' is mandatory but was not provided
Product: [oVirt] ovirt-engine Reporter: Elad <ebenahar>
Component: BLL.StorageAssignee: Allon Mureinik <amureini>
Status: CLOSED DUPLICATE QA Contact: Raz Tamir <ratamir>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 4.2.0CC: bugs
Target Milestone: ---Keywords: Automation, Regression
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-09-13 08:44:18 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:
Attachments:
Description Flags
engine.log none

Description Elad 2017-09-13 08:39:41 UTC
Created attachment 1325273 [details]
engine.log

Description of problem:
Extend storage domain fails while performed via REST API:

2017-09-13 11:30:20,416+03 ERROR [org.ovirt.engine.api.restapi.resource.validation.ValidationExceptionMapper] (default task-2) [] Input validation failed while processing 'PUT' request for 
path '/storagedomains/f356bdb0-aecf-437a-b568-457f5a286918'.
2017-09-13 11:30:20,416+03 ERROR [org.ovirt.engine.api.restapi.resource.validation.ValidationExceptionMapper] (default task-2) [] Exception: org.ovirt.api.metamodel.server.ValidationExcepti
on: Parameter 'storage_domain.storage.logical_units.vendor_id' is mandatory but was not provided.
        at org.ovirt.engine.api.resource.StorageDomainResourceHelper.validateUpdate(StorageDomainResourceHelper.java:38) [restapi-definition.jar:]
        at org.ovirt.engine.api.resource.StorageDomainResource.doUpdate(StorageDomainResource.java:92) [restapi-definition.jar:]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_144]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_144]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_144]
        at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_144]
        at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:140) [resteasy-jaxrs-3.0.24.Final.jar:3.0.24.Final]
        at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295) [resteasy-jaxrs-3.0.24.Final.jar:3.0.24.Final]
        at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249) [resteasy-jaxrs-3.0.24.Final.jar:3.0.24.Final]


Version-Release number of selected component (if applicable):
ovirt-engine-4.2.0-0.0.master.20170911195522.git5ddba50.el7.centos.noarch
ovirt-engine-restapi-4.2.0-0.0.master.20170911195522.git5ddba50.el7.centos.noarch
vdsm-4.20.3-22.git95788e5.el7.centos.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Extend a block storage domain via REST 

PUT request body:

2017-09-13 11:30:20,375 - MainThread - storagedomains - DEBUG - PUT request content is --  url:/ovirt-engine/api/storagedomains/f356bdb0-aecf-437a-b568-457f5a286918 body:<storage_domain>
    <storage>
        <logical_units>
            <logical_unit id="3514f0c5a516004a8">
                <address>10.35.146.129</address>
                <port>3260</port>
                <target>iqn.2008-05.com.xtremio:xio00153500071-514f0c50023f6c00</target>
            </logical_unit>
        </logical_units>
        <override_luns>true</override_luns>
        <type>iscsi</type>
    </storage>
    <host>
        <name>host_mixed_2</name>
    </host>
</storage_domain>



Actual results:

        Status: 400
        Reason: Bad Request
        Detail: Parameter 'storage_domain.storage.logical_units.vendor_id' is mandatory but was not provided.


Expected results:
Extend storage domain should succeed without 'storage_domain.storage.logical_units.vendor_id' as it did in previous ovirt builds.

Additional info:
engine.log

Comment 1 Raz Tamir 2017-09-13 08:44:18 UTC

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