From Ernest.Beinrohr at axonpro.sk Wed Apr 22 05:44:47 2015 Content-Type: multipart/mixed; boundary="===============2039823385969633855==" MIME-Version: 1.0 From: Ernest Beinrohr To: users at ovirt.org Subject: Re: [ovirt-users] Is it possible to limit the number and speed of paralel STORAGE migrations? Date: Wed, 22 Apr 2015 11:44:30 +0200 Message-ID: <55376D7E.3060001@axonpro.sk> In-Reply-To: CALLXwb6s2S-mDdXFQ9aPbEYwT1SzFS_pG8r2wxS6djEQHnaHfA@mail.gmail.com --===============2039823385969633855== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This is a multi-part message in MIME format. --------------000406070305040405010107 Content-Type: text/plain; charset=3Dutf-8; format=3Dflowed Content-Transfer-Encoding: 8bit D=C5=88a 21.04.2015 o 17:33 Dan Yasny nap=C3=ADsal(a): > Why not just script them to migrate one after the other? The CLI is = > nice and simple, and the SDK is even nicer Well I gave it a try, but I'm quite new to python and this does not work = as expected: for vm in vms: print vm.name for disk in vm.disks.list( ): print " disk: " + disk.name sd =3D api.storagedomains.get('newstorage') disk.move(params.Disk(storage_domains=3Dparams.StorageDomains(storage_domai= n=3D[sd]))) status: 500 reason: Internal Server Error detail: HTTP Status 500 - Bad arguments passed to public abstract = javax.ws.rs.core.Response = org.ovirt.engine.api.resource.MovableResource.move(org.ovirt.engine.api.mod= el.Action) = ( org.ovirt.engine.api.model.Disk org.ovirt.engine.api.model.Disk(a)6a0db58= b ) -- = Ernest Beinrohr, AXON PRO Ing , RHCE = , RHCVA = , LPIC = , VCA , +421-2-62410360 +421-903-482603 --------------000406070305040405010107 Content-Type: text/html; charset=3Dutf-8 Content-Transfer-Encoding: 8bit
D=C5=88a 21.04.2015 o 17:33 Dan Yasny nap=C3=ADsal(a):
Why not just script them to migrate one after the other? The CLI is nice and simple, and the SDK is even nicer
Well I gave it a try, but I'm quite new to python and this does not work as expected:

for vm in vms:
=C2=A0 print vm.name
=C2=A0 for disk in vm.disks.list( ):
=C2=A0=C2=A0=C2=A0 print " disk: " + disk.name
=C2=A0=C2=A0=C2=A0 sd =3D api.storagedomains.get('newstorage')
=C2=A0=C2=A0=C2=A0 disk.move(params.Disk(storage_domains=3Dparams.StorageDomains(storage_domai= n=3D[sd])))


status: 500
reason: Internal Server Error
detail: HTTP Status 500 - Bad arguments passed to public abstract javax.ws.rs.core.Response org.ovirt.engine.api.resource.MovableResource.move(org.ovirt.engine.api= .model.Action)=C2=A0 ( org.ovirt.engine.api.model.Disk org.ovirt.engine.api.model.Disk(a)6a0db58b )

--
Ernest Beinrohr, AXON PRO
Ing, RHCE, RHCVA, LPIC, VCA,
+421-2-62410360 +421-903-482603
--------------000406070305040405010107-- --===============2039823385969633855== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0tLS0tLS0tLS0t LS0wMDA0MDYwNzAzMDUwNDA0MDUwMTAxMDcKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PXV0Zi04OyBmb3JtYXQ9Zmxvd2VkCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQK CkTFiGEgMjEuMDQuMjAxNSBvIDE3OjMzIERhbiBZYXNueSBuYXDDrXNhbChhKToKPiBXaHkgbm90 IGp1c3Qgc2NyaXB0IHRoZW0gdG8gbWlncmF0ZSBvbmUgYWZ0ZXIgdGhlIG90aGVyPyBUaGUgQ0xJ IGlzIAo+IG5pY2UgYW5kIHNpbXBsZSwgYW5kIHRoZSBTREsgaXMgZXZlbiBuaWNlcgpXZWxsIEkg Z2F2ZSBpdCBhIHRyeSwgYnV0IEknbSBxdWl0ZSBuZXcgdG8gcHl0aG9uIGFuZCB0aGlzIGRvZXMg bm90IHdvcmsgCmFzIGV4cGVjdGVkOgoKZm9yIHZtIGluIHZtczoKICAgcHJpbnQgdm0ubmFtZQog ICBmb3IgZGlzayBpbiB2bS5kaXNrcy5saXN0KCApOgogICAgIHByaW50ICIgZGlzazogIiArIGRp c2submFtZQogICAgIHNkID0gYXBpLnN0b3JhZ2Vkb21haW5zLmdldCgnbmV3c3RvcmFnZScpCmRp c2subW92ZShwYXJhbXMuRGlzayhzdG9yYWdlX2RvbWFpbnM9cGFyYW1zLlN0b3JhZ2VEb21haW5z KHN0b3JhZ2VfZG9tYWluPVtzZF0pKSkKCgpzdGF0dXM6IDUwMApyZWFzb246IEludGVybmFsIFNl cnZlciBFcnJvcgpkZXRhaWw6IEhUVFAgU3RhdHVzIDUwMCAtIEJhZCBhcmd1bWVudHMgcGFzc2Vk IHRvIHB1YmxpYyBhYnN0cmFjdCAKamF2YXgud3MucnMuY29yZS5SZXNwb25zZSAKb3JnLm92aXJ0 LmVuZ2luZS5hcGkucmVzb3VyY2UuTW92YWJsZVJlc291cmNlLm1vdmUob3JnLm92aXJ0LmVuZ2lu ZS5hcGkubW9kZWwuQWN0aW9uKSAKKCBvcmcub3ZpcnQuZW5naW5lLmFwaS5tb2RlbC5EaXNrIG9y Zy5vdmlydC5lbmdpbmUuYXBpLm1vZGVsLkRpc2tANmEwZGI1OGIgKQoKLS0gCkVybmVzdCBCZWlu cm9ociwgQVhPTiBQUk8KSW5nIDxodHRwOi8vd3d3LmJlaW5yb2hyLnNrL2luZy5waHA+LCBSSENF IAo8aHR0cDovL3d3dy5iZWlucm9oci5zay9yaGNlLnBocD4sIFJIQ1ZBIAo8aHR0cDovL3d3dy5i ZWlucm9oci5zay9yaGNlLnBocD4sIExQSUMgCjxodHRwOi8vd3d3LmJlaW5yb2hyLnNrL2xwaWMu cGhwPiwgVkNBIDxodHRwOi8vd3d3LmJlaW5yb2hyLnNrL3ZjYS5waHA+LAorNDIxLTItNjI0MTAz NjAgKzQyMS05MDMtNDgyNjAzCgotLS0tLS0tLS0tLS0tLTAwMDQwNjA3MDMwNTA0MDQwNTAxMDEw NwpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD11dGYtOApDb250ZW50LVRyYW5zZmVy LUVuY29kaW5nOiA4Yml0Cgo8aHRtbD4KICA8aGVhZD4KICAgIDxtZXRhIGNvbnRlbnQ9InRleHQv aHRtbDsgY2hhcnNldD11dGYtOCIgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIj4KICA8L2hlYWQ+ CiAgPGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiIgdGV4dD0iIzAwMDAwMCI+CiAgICA8ZGl2IGNsYXNz PSJtb3otY2l0ZS1wcmVmaXgiPkTFiGEgMjEuMDQuMjAxNSBvIDE3OjMzIERhbiBZYXNueQogICAg ICBuYXDDrXNhbChhKTo8YnI+CiAgICA8L2Rpdj4KICAgIDxibG9ja3F1b3RlCmNpdGU9Im1pZDpD QUxMWHdiNnMyUy1tRGRYRlE5YVBiRVl3VDFTekZTX3BHOHIyd3hTNmRqRVFIbmFIZkFAbWFpbC5n bWFpbC5jb20iCiAgICAgIHR5cGU9ImNpdGUiPgogICAgICA8ZGl2IGRpcj0ibHRyIj5XaHkgbm90 IGp1c3Qgc2NyaXB0IHRoZW0gdG8gbWlncmF0ZSBvbmUgYWZ0ZXIgdGhlCiAgICAgICAgb3RoZXI/ IFRoZSBDTEkgaXMgbmljZSBhbmQgc2ltcGxlLCBhbmQgdGhlIFNESyBpcyBldmVuIG5pY2VyPC9k aXY+CiAgICA8L2Jsb2NrcXVvdGU+CiAgICBXZWxsIEkgZ2F2ZSBpdCBhIHRyeSwgYnV0IEknbSBx dWl0ZSBuZXcgdG8gcHl0aG9uIGFuZCB0aGlzIGRvZXMgbm90CiAgICB3b3JrIGFzIGV4cGVjdGVk Ojxicj4KICAgIDxicj4KICAgIGZvciB2bSBpbiB2bXM6PGJyPgogICAgwqAgcHJpbnQgdm0ubmFt ZTxicj4KICAgIMKgIGZvciBkaXNrIGluIHZtLmRpc2tzLmxpc3QoICk6PGJyPgogICAgwqDCoMKg IHByaW50ICIgZGlzazogIiArIGRpc2submFtZTxicj4KICAgIMKgwqDCoCBzZCA9IGFwaS5zdG9y YWdlZG9tYWlucy5nZXQoJ25ld3N0b3JhZ2UnKTxicj4KICAgIMKgwqDCoApkaXNrLm1vdmUocGFy YW1zLkRpc2soc3RvcmFnZV9kb21haW5zPXBhcmFtcy5TdG9yYWdlRG9tYWlucyhzdG9yYWdlX2Rv bWFpbj1bc2RdKSkpPGJyPgogICAgPGJyPgogICAgPGJyPgogICAgc3RhdHVzOiA1MDA8YnI+CiAg ICByZWFzb246IEludGVybmFsIFNlcnZlciBFcnJvcjxicj4KICAgIGRldGFpbDogSFRUUCBTdGF0 dXMgNTAwIC0gQmFkIGFyZ3VtZW50cyBwYXNzZWQgdG8gcHVibGljIGFic3RyYWN0CiAgICBqYXZh eC53cy5ycy5jb3JlLlJlc3BvbnNlCiAgICBvcmcub3ZpcnQuZW5naW5lLmFwaS5yZXNvdXJjZS5N b3ZhYmxlUmVzb3VyY2UubW92ZShvcmcub3ZpcnQuZW5naW5lLmFwaS5tb2RlbC5BY3Rpb24pwqAK ICAgICggb3JnLm92aXJ0LmVuZ2luZS5hcGkubW9kZWwuRGlzawogICAgb3JnLm92aXJ0LmVuZ2lu ZS5hcGkubW9kZWwuRGlza0A2YTBkYjU4YiApPGJyPgogICAgPGJyPgogICAgPGRpdiBjbGFzcz0i bW96LXNpZ25hdHVyZSI+LS0gPGJyPgogICAgICA8ZGl2IGlkPSJvZXJuaWlfZm9vdGVyIiBzdHls ZT0iY29sb3I6IGdyYXk7Ij4KICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEx1Y2lk YSBDb25zb2xlLCBMdXhpIE1vbm8sIENvdXJpZXIsCiAgICAgICAgICBtb25vc3BhY2U7IGZvbnQt c2l6ZTogOTAlOyI+CiAgICAgICAgICBFcm5lc3QgQmVpbnJvaHIsIEFYT04gUFJPPGJyPgogICAg ICAgICAgPGEgc3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IGdyYXk7IgogICAg ICAgICAgICBocmVmPSJodHRwOi8vd3d3LmJlaW5yb2hyLnNrL2luZy5waHAiPkluZzwvYT4sIDxh CiAgICAgICAgICAgIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiBncmF5OyIK ICAgICAgICAgICAgaHJlZj0iaHR0cDovL3d3dy5iZWlucm9oci5zay9yaGNlLnBocCI+UkhDRTwv YT4sIDxhCiAgICAgICAgICAgIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiBn cmF5OyIKICAgICAgICAgICAgaHJlZj0iaHR0cDovL3d3dy5iZWlucm9oci5zay9yaGNlLnBocCI+ UkhDVkE8L2E+LCA8YQogICAgICAgICAgICBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lOyBj b2xvcjogZ3JheTsiCiAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly93d3cuYmVpbnJvaHIuc2svbHBp Yy5waHAiPkxQSUM8L2E+LCA8YQogICAgICAgICAgICBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBu b25lOyBjb2xvcjogZ3JheTsiCiAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly93d3cuYmVpbnJvaHIu c2svdmNhLnBocCI+VkNBPC9hPiwgPGJyPgogICAgICAgICAgKzQyMS0yLTYyNDEwMzYwICs0MjEt OTAzLTQ4MjYwMwogICAgICAgICAgPGJyPgogICAgICAgIDwvc3Bhbj4gPC9kaXY+CiAgICAgIDxp bWcKICAgICAgICBzcmM9Imh0dHA6Ly9ub2pzc3RhdHMuYXBwc3BvdC5jb20vVUEtNDQ0OTcwOTYt MS9lbWFpbC5iZWlucm9oci5zayIKICAgICAgICBtb3otZG8tbm90LXNlbmQ9InRydWUiIGJvcmRl cj0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSI+CiAgICA8L2Rpdj4KICA8L2JvZHk+CjwvaHRtbD4K Ci0tLS0tLS0tLS0tLS0tMDAwNDA2MDcwMzA1MDQwNDA1MDEwMTA3LS0K --===============2039823385969633855==--