Change in vdsm[ovirt-3.5.0]: API: move diskSizeExtend logic from BindingXMLRPC

tnisan at redhat.com tnisan at redhat.com
Tue Jan 6 13:06:32 UTC 2015


Hello Nir Soffer, Daniel Erez, Dan Kenigsberg, Allon Mureinik,

I'd like you to do a code review.  Please visit

    http://gerrit.ovirt.org/36613

to review the following change.

Change subject: API: move diskSizeExtend logic from BindingXMLRPC
......................................................................

API: move diskSizeExtend logic from BindingXMLRPC

In order to make cold extend disk usable
with JSON-RPC, move logic verifying specified
VM id from 'BindingXMLRPC -> diskSizeExtend' into
'API (VM class) -> diskSizeExtend'
[since there's no other mediator for this logic
to both xml/json rpc protocols].

Change-Id: I9014154f376609d8bd547b7c008954981785b551
Bug-Url: https://bugzilla.redhat.com/1178499
Signed-off-by: Daniel Erez <derez at redhat.com>
Reviewed-on: http://gerrit.ovirt.org/36590
Reviewed-by: Nir Soffer <nsoffer at redhat.com>
Reviewed-by: Allon Mureinik <amureini at redhat.com>
Reviewed-by: Tal Nisan <tnisan at redhat.com>
Reviewed-by: Dan Kenigsberg <danken at redhat.com>
---
M vdsm/API.py
M vdsm/rpc/BindingXMLRPC.py
2 files changed, 15 insertions(+), 15 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/13/36613/1

diff --git a/vdsm/API.py b/vdsm/API.py
index b2caf44..3d5a883 100644
--- a/vdsm/API.py
+++ b/vdsm/API.py
@@ -583,10 +583,19 @@
         return v.diskReplicateFinish(srcDisk, dstDisk)
 
     def diskSizeExtend(self, driveSpecs, newSize):
-        v = self._cif.vmContainer.get(self._UUID)
-        if not v:
-            return errCode['noVM']
-        return v.diskSizeExtend(driveSpecs, newSize)
+        if self._UUID == VM.BLANK_UUID:
+            try:
+                volume = Volume(
+                    driveSpecs['volumeID'], driveSpecs['poolID'],
+                    driveSpecs['domainID'], driveSpecs['imageID'])
+            except KeyError:
+                return errCode['imageErr']
+            return volume.updateSize(newSize)
+        else:
+            v = self._cif.vmContainer.get(self._UUID)
+            if not v:
+                return errCode['noVM']
+            return v.diskSizeExtend(driveSpecs, newSize)
 
     def pause(self):
         v = self._cif.vmContainer.get(self._UUID)
diff --git a/vdsm/rpc/BindingXMLRPC.py b/vdsm/rpc/BindingXMLRPC.py
index d460644..a9d465a 100644
--- a/vdsm/rpc/BindingXMLRPC.py
+++ b/vdsm/rpc/BindingXMLRPC.py
@@ -523,17 +523,8 @@
         return api.getDiskAlignment(driveSpecs)
 
     def diskSizeExtend(self, vmId, driveSpecs, newSize):
-        if vmId == API.VM.BLANK_UUID:
-            try:
-                volume = API.Volume(
-                    driveSpecs['volumeID'], driveSpecs['poolID'],
-                    driveSpecs['domainID'], driveSpecs['imageID'])
-            except KeyError:
-                return errCode['imageErr']
-            return volume.updateSize(newSize)
-        else:
-            vm = API.VM(vmId)
-            return vm.diskSizeExtend(driveSpecs, newSize)
+        api = API.VM(vmId)
+        return api.diskSizeExtend(driveSpecs, newSize)
 
     def addNetwork(self, bridge, vlan=None, bond=None, nics=None,
                    options=None):


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9014154f376609d8bd547b7c008954981785b551
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: ovirt-3.5.0
Gerrit-Owner: Tal Nisan <tnisan at redhat.com>
Gerrit-Reviewer: Allon Mureinik <amureini at redhat.com>
Gerrit-Reviewer: Dan Kenigsberg <danken at redhat.com>
Gerrit-Reviewer: Daniel Erez <derez at redhat.com>
Gerrit-Reviewer: Nir Soffer <nsoffer at redhat.com>


More information about the vdsm-patches mailing list