Ravi Nori has uploaded a new change for review.

Change subject: restapi : Add brick operation fails from ovirt-shell(#923169)
......................................................................

restapi : Add brick operation fails from ovirt-shell(#923169)

add brick operation fails from ovirt-shell

Change-Id: If3f1f73f6acc9d671c2d93ecb5e4ab757fa23b72
Bug-Url: https://bugzilla.redhat.com/923169
Signed-off-by: Ravi Nori <[email protected]>
---
M 
backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/gluster/GlusterBricksResource.java
M 
backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
M 
backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterBricksResource.java
M 
backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterBricksResourceTest.java
5 files changed, 23 insertions(+), 7 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/36/13936/1

diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/gluster/GlusterBricksResource.java
 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/gluster/GlusterBricksResource.java
index 91451dd..3ee70ee 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/gluster/GlusterBricksResource.java
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/java/org/ovirt/engine/api/resource/gluster/GlusterBricksResource.java
@@ -14,6 +14,7 @@
 
 import org.jboss.resteasy.annotations.providers.jaxb.Formatted;
 import org.ovirt.engine.api.model.GlusterBricks;
+import org.ovirt.engine.api.model.GlusterVolumesBricks;
 import org.ovirt.engine.api.resource.MediaType;
 import org.ovirt.engine.api.resource.RsdlIgnore;
 
@@ -38,7 +39,7 @@
     @POST
     @Formatted
     @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON, 
MediaType.APPLICATION_X_YAML })
-    public Response add(GlusterBricks bricks);
+    public Response add(GlusterVolumesBricks bricks);
 
     /**
      * Removes the given brick from the volume and deletes it from the 
database.
diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
index b0dc308..d1b66a9 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
@@ -3080,6 +3080,17 @@
     </xs:complexContent>
   </xs:complexType>
 
+  <xs:element name="glustervolumesbricks" type="GlusterVolumesBricks" />
+  <xs:complexType name="GlusterVolumesBricks">
+    <xs:complexContent>
+      <xs:extension base="BaseResources">
+        <xs:sequence>
+          <xs:element ref="bricks" minOccurs="0" maxOccurs="1" />
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
   <xs:element name="pm_proxies" type="PmProxies"/>
   <xs:complexType name="PmProxies">
     <xs:sequence>
diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
index 917565a..1b03f13 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
@@ -2971,12 +2971,11 @@
 - name: 
/api/clusters/{cluster:id}/glustervolumes/{glustervolume:id}/bricks|rel=add
   request:
     body:
-      parameterType: Bricks
+      parameterType: GlusterVolumesBricks
       signatures:
       - mandatoryArguments:
-          bricks.brick--COLLECTION: {brick.server_id: 'xs:string', 
brick.brick_dir: 'xs:string'}
-        optionalArguments:
-          bricks.brick--COLLECTION: {brick.replica_count: 'xs:unsignedShort', 
brick.stripe_count: 'xs:unsignedShort'}
+          glustervolumesbricks.bricks.brick--COLLECTION: {brick.server_id: 
'xs:string', brick.brick_dir: 'xs:string'}
+        optionalArguments: {glustervolumesbricks.bricks.replica_count: 
'xs:unsignedShort',  glustervolumesbricks.bricks.stripe_count: 
'xs:unsignedShort'}
     urlparams: {}
     headers:
       Content-Type: {value: application/xml|json, required: true}
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterBricksResource.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterBricksResource.java
index 651dc3d..d242707 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterBricksResource.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterBricksResource.java
@@ -10,6 +10,7 @@
 import org.ovirt.engine.api.model.GlusterBrick;
 import org.ovirt.engine.api.model.GlusterBricks;
 import org.ovirt.engine.api.model.GlusterVolume;
+import org.ovirt.engine.api.model.GlusterVolumesBricks;
 import org.ovirt.engine.api.resource.gluster.GlusterBrickResource;
 import org.ovirt.engine.api.resource.gluster.GlusterBricksResource;
 import org.ovirt.engine.api.restapi.resource.AbstractBackendCollectionResource;
@@ -80,7 +81,8 @@
     }
 
     @Override
-    public Response add(GlusterBricks bricks) {
+    public Response add(GlusterVolumesBricks glusterVolumeBricks) {
+        GlusterBricks bricks = glusterVolumeBricks.getBricks();
         for (GlusterBrick brick : bricks.getGlusterBricks()) {
             validateParameters(brick, "serverId", "brickDir");
         }
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterBricksResourceTest.java
 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterBricksResourceTest.java
index ef36816..da13abc 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterBricksResourceTest.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/gluster/BackendGlusterBricksResourceTest.java
@@ -23,6 +23,7 @@
 import org.ovirt.engine.api.model.GlusterBrick;
 import org.ovirt.engine.api.model.GlusterBricks;
 import org.ovirt.engine.api.model.GlusterVolume;
+import org.ovirt.engine.api.model.GlusterVolumesBricks;
 import org.ovirt.engine.api.resource.ClusterResource;
 import 
org.ovirt.engine.api.restapi.resource.AbstractBackendCollectionResourceTest;
 import org.ovirt.engine.api.restapi.resource.AbstractBackendResource;
@@ -168,7 +169,9 @@
                                   new String[] { "Id" },
                                   new Object[] { GUIDS[0] },
                                   getEntity(0));
-        Response response = collection.add(createModel());
+        GlusterVolumesBricks bricks = new GlusterVolumesBricks();
+        bricks.setBricks(createModel());
+        Response response = collection.add(bricks);
         assertEquals(201, response.getStatus());
         assertTrue(response.getEntity() instanceof GlusterBricks);
         verifyModel(((GlusterBricks) 
response.getEntity()).getGlusterBricks().get(0), 0);


--
To view, visit http://gerrit.ovirt.org/13936
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If3f1f73f6acc9d671c2d93ecb5e4ab757fa23b72
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Ravi Nori <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to