From Ernest.Beinrohr at axonpro.sk Tue Apr 21 11:29:51 2015 Content-Type: multipart/mixed; boundary="===============5430092385458365794==" MIME-Version: 1.0 From: Ernest Beinrohr To: users at ovirt.org Subject: [ovirt-users] Is it possible to limit the number and speed of paralel STORAGE migrations? Date: Tue, 21 Apr 2015 17:29:37 +0200 Message-ID: <55366CE1.3050404@axonpro.sk> --===============5430092385458365794== 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. --------------000203080307020305010009 Content-Type: text/plain; charset=3Dutf-8; format=3Dflowed Content-Transfer-Encoding: 7bit Ovirt uses dd and qemu-img for live migration. Is it possible to limit = the number of concurrent live storage moves or limit the bandwidth used? I'd like to move about 30 disks to another storage during the night, but = each takes about 30 minutes each and if more than one runs, it chokes my = storage. -- = Ernest Beinrohr, AXON PRO Ing , RHCE = , RHCVA = , LPIC = , VCA , +421-2-62410360 +421-903-482603 --------------000203080307020305010009 Content-Type: text/html; charset=3Dutf-8 Content-Transfer-Encoding: 7bit Ovirt uses dd and qemu-img for live migration. Is it possible to limit the number of concurrent live storage moves or limit the bandwidth used?


I'd like to move about 30 disks to another storage during the night, but each takes about 30 minutes each and if more than one runs, it chokes my storage.

--
Ernest Beinrohr, AXON PRO
Ing, RHCE, RHCVA, LPIC, VCA,
+421-2-62410360 +421-903-482603
--------------000203080307020305010009-- --===============5430092385458365794== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0tLS0tLS0tLS0t LS0wMDAyMDMwODAzMDcwMjAzMDUwMTAwMDkKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PXV0Zi04OyBmb3JtYXQ9Zmxvd2VkCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQK Ck92aXJ0IHVzZXMgZGQgYW5kIHFlbXUtaW1nIGZvciBsaXZlIG1pZ3JhdGlvbi4gSXMgaXQgcG9z c2libGUgdG8gbGltaXQgCnRoZSBudW1iZXIgb2YgY29uY3VycmVudCBsaXZlIHN0b3JhZ2UgbW92 ZXMgb3IgbGltaXQgdGhlIGJhbmR3aWR0aCB1c2VkPwoKCkknZCBsaWtlIHRvIG1vdmUgYWJvdXQg MzAgZGlza3MgdG8gYW5vdGhlciBzdG9yYWdlIGR1cmluZyB0aGUgbmlnaHQsIGJ1dCAKZWFjaCB0 YWtlcyBhYm91dCAzMCBtaW51dGVzIGVhY2ggYW5kIGlmIG1vcmUgdGhhbiBvbmUgcnVucywgaXQg Y2hva2VzIG15IApzdG9yYWdlLgoKLS0gCkVybmVzdCBCZWlucm9ociwgQVhPTiBQUk8KSW5nIDxo dHRwOi8vd3d3LmJlaW5yb2hyLnNrL2luZy5waHA+LCBSSENFIAo8aHR0cDovL3d3dy5iZWlucm9o ci5zay9yaGNlLnBocD4sIFJIQ1ZBIAo8aHR0cDovL3d3dy5iZWlucm9oci5zay9yaGNlLnBocD4s IExQSUMgCjxodHRwOi8vd3d3LmJlaW5yb2hyLnNrL2xwaWMucGhwPiwgVkNBIDxodHRwOi8vd3d3 LmJlaW5yb2hyLnNrL3ZjYS5waHA+LAorNDIxLTItNjI0MTAzNjAgKzQyMS05MDMtNDgyNjAzCgot LS0tLS0tLS0tLS0tLTAwMDIwMzA4MDMwNzAyMDMwNTAxMDAwOQpDb250ZW50LVR5cGU6IHRleHQv aHRtbDsgY2hhcnNldD11dGYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA3Yml0Cgo8aHRt bD4KICA8aGVhZD4KCiAgICA8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+CiAgPC9oZWFkPgogIDxib2R5IGJnY29sb3I9IiNG RkZGRkYiIHRleHQ9IiMwMDAwMDAiPgogICAgT3ZpcnQgdXNlcyBkZCBhbmQgcWVtdS1pbWcgZm9y IGxpdmUgbWlncmF0aW9uLiBJcyBpdCBwb3NzaWJsZSB0bwogICAgbGltaXQgdGhlIG51bWJlciBv ZiBjb25jdXJyZW50IGxpdmUgc3RvcmFnZSBtb3ZlcyBvciBsaW1pdCB0aGUKICAgIGJhbmR3aWR0 aCB1c2VkPzxicj4KICAgIDxicj4KICAgIDxicj4KICAgIEknZCBsaWtlIHRvIG1vdmUgYWJvdXQg MzAgZGlza3MgdG8gYW5vdGhlciBzdG9yYWdlIGR1cmluZyB0aGUgbmlnaHQsCiAgICBidXQgZWFj aCB0YWtlcyBhYm91dCAzMCBtaW51dGVzIGVhY2ggYW5kIGlmIG1vcmUgdGhhbiBvbmUgcnVucywg aXQKICAgIGNob2tlcyBteSBzdG9yYWdlLiA8YnI+CiAgICA8YnI+CiAgICA8ZGl2IGNsYXNzPSJt b3otc2lnbmF0dXJlIj4tLSA8YnI+CiAgICAgIDxkaXYgaWQ9Im9lcm5paV9mb290ZXIiIHN0eWxl PSJjb2xvcjogZ3JheTsiPgogICAgICAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogTHVjaWRh IENvbnNvbGUsIEx1eGkgTW9ubywgQ291cmllciwKICAgICAgICAgIG1vbm9zcGFjZTsgZm9udC1z aXplOiA5MCU7Ij4KICAgICAgICAgIEVybmVzdCBCZWlucm9ociwgQVhPTiBQUk88YnI+CiAgICAg ICAgICA8YSBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lOyBjb2xvcjogZ3JheTsiCiAgICAg ICAgICAgIGhyZWY9Imh0dHA6Ly93d3cuYmVpbnJvaHIuc2svaW5nLnBocCI+SW5nPC9hPiwgPGEK ICAgICAgICAgICAgc3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IGdyYXk7Igog ICAgICAgICAgICBocmVmPSJodHRwOi8vd3d3LmJlaW5yb2hyLnNrL3JoY2UucGhwIj5SSENFPC9h PiwgPGEKICAgICAgICAgICAgc3R5bGU9InRleHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IGdy YXk7IgogICAgICAgICAgICBocmVmPSJodHRwOi8vd3d3LmJlaW5yb2hyLnNrL3JoY2UucGhwIj5S SENWQTwvYT4sIDxhCiAgICAgICAgICAgIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNv bG9yOiBncmF5OyIKICAgICAgICAgICAgaHJlZj0iaHR0cDovL3d3dy5iZWlucm9oci5zay9scGlj LnBocCI+TFBJQzwvYT4sIDxhCiAgICAgICAgICAgIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IG5v bmU7IGNvbG9yOiBncmF5OyIKICAgICAgICAgICAgaHJlZj0iaHR0cDovL3d3dy5iZWlucm9oci5z ay92Y2EucGhwIj5WQ0E8L2E+LCA8YnI+CiAgICAgICAgICArNDIxLTItNjI0MTAzNjAgKzQyMS05 MDMtNDgyNjAzCiAgICAgICAgICA8YnI+CiAgICAgICAgPC9zcGFuPiA8L2Rpdj4KICAgICAgPGlt ZwogICAgICAgIHNyYz0iaHR0cDovL25vanNzdGF0cy5hcHBzcG90LmNvbS9VQS00NDQ5NzA5Ni0x L2VtYWlsLmJlaW5yb2hyLnNrIgogICAgICAgIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIgYm9yZGVy PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj4KICAgIDwvZGl2PgogIDwvYm9keT4KPC9odG1sPgoK LS0tLS0tLS0tLS0tLS0wMDAyMDMwODAzMDcwMjAzMDUwMTAwMDktLQo= --===============5430092385458365794==-- From dyasny at gmail.com Tue Apr 21 11:33:08 2015 Content-Type: multipart/mixed; boundary="===============6094186061645940387==" MIME-Version: 1.0 From: Dan Yasny To: users at ovirt.org Subject: Re: [ovirt-users] Is it possible to limit the number and speed of paralel STORAGE migrations? Date: Tue, 21 Apr 2015 11:33:07 -0400 Message-ID: In-Reply-To: 55366CE1.3050404@axonpro.sk --===============6094186061645940387== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Why not just script them to migrate one after the other? The CLI is nice and simple, and the SDK is even nicer On Tue, Apr 21, 2015 at 11:29 AM, Ernest Beinrohr < Ernest.Beinrohr(a)axonpro.sk> wrote: > Ovirt uses dd and qemu-img for live migration. Is it possible to limit > the number of concurrent live storage moves or limit the bandwidth used? > > > I'd like to move about 30 disks to another storage during the night, but > each takes about 30 minutes each and if more than one runs, it chokes my > storage. > > -- > Ernest Beinrohr, AXON PRO > Ing , RHCE > , RHCVA , > LPIC , VCA > , > +421-2-62410360 +421-903-482603 > > _______________________________________________ > Users mailing list > Users(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/users > > --===============6094186061645940387== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGRpdiBkaXI9Imx0ciI+V2h5IG5vdCBqdXN0IHNjcmlwdCB0aGVtIHRvIG1pZ3JhdGUgb25lIGFm dGVyIHRoZSBvdGhlcj8gVGhlIENMSSBpcyBuaWNlIGFuZCBzaW1wbGUsIGFuZCB0aGUgU0RLIGlz IGV2ZW4gbmljZXI8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9leHRyYSI+PGJyPjxkaXYgY2xhc3M9 ImdtYWlsX3F1b3RlIj5PbiBUdWUsIEFwciAyMSwgMjAxNSBhdCAxMToyOSBBTSwgRXJuZXN0IEJl aW5yb2hyIDxzcGFuIGRpcj0ibHRyIj4mbHQ7PGEgaHJlZj0ibWFpbHRvOkVybmVzdC5CZWlucm9o ckBheG9ucHJvLnNrIiB0YXJnZXQ9Il9ibGFuayI+RXJuZXN0LkJlaW5yb2hyQGF4b25wcm8uc2s8 L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIg c3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRp bmctbGVmdDoxZXgiPgogIAoKICAgIAogIAogIDxkaXYgYmdjb2xvcj0iI0ZGRkZGRiIgdGV4dD0i IzAwMDAwMCI+CiAgICBPdmlydCB1c2VzIGRkIGFuZCBxZW11LWltZyBmb3IgbGl2ZSBtaWdyYXRp b24uIElzIGl0IHBvc3NpYmxlIHRvCiAgICBsaW1pdCB0aGUgbnVtYmVyIG9mIGNvbmN1cnJlbnQg bGl2ZSBzdG9yYWdlIG1vdmVzIG9yIGxpbWl0IHRoZQogICAgYmFuZHdpZHRoIHVzZWQ/PGJyPgog ICAgPGJyPgogICAgPGJyPgogICAgSSYjMzk7ZCBsaWtlIHRvIG1vdmUgYWJvdXQgMzAgZGlza3Mg dG8gYW5vdGhlciBzdG9yYWdlIGR1cmluZyB0aGUgbmlnaHQsCiAgICBidXQgZWFjaCB0YWtlcyBh Ym91dCAzMCBtaW51dGVzIGVhY2ggYW5kIGlmIG1vcmUgdGhhbiBvbmUgcnVucywgaXQKICAgIGNo b2tlcyBteSBzdG9yYWdlLiA8YnI+PHNwYW4gY2xhc3M9IkhPRW5aYiI+PGZvbnQgY29sb3I9IiM4 ODg4ODgiPgogICAgPGJyPgogICAgPGRpdj4tLSA8YnI+CiAgICAgIDxkaXYgc3R5bGU9ImNvbG9y OmdyYXkiPgogICAgICAgIDxzcGFuIHN0eWxlPSJmb250LWZhbWlseTpMdWNpZGEgQ29uc29sZSxM dXhpIE1vbm8sQ291cmllcixtb25vc3BhY2U7Zm9udC1zaXplOjkwJSI+CiAgICAgICAgICBFcm5l c3QgQmVpbnJvaHIsIEFYT04gUFJPPGJyPgogICAgICAgICAgPGEgc3R5bGU9InRleHQtZGVjb3Jh dGlvbjpub25lO2NvbG9yOmdyYXkiIGhyZWY9Imh0dHA6Ly93d3cuYmVpbnJvaHIuc2svaW5nLnBo cCIgdGFyZ2V0PSJfYmxhbmsiPkluZzwvYT4sIDxhIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9u ZTtjb2xvcjpncmF5IiBocmVmPSJodHRwOi8vd3d3LmJlaW5yb2hyLnNrL3JoY2UucGhwIiB0YXJn ZXQ9Il9ibGFuayI+UkhDRTwvYT4sIDxhIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xv cjpncmF5IiBocmVmPSJodHRwOi8vd3d3LmJlaW5yb2hyLnNrL3JoY2UucGhwIiB0YXJnZXQ9Il9i bGFuayI+UkhDVkE8L2E+LCA8YSBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmU7Y29sb3I6Z3Jh eSIgaHJlZj0iaHR0cDovL3d3dy5iZWlucm9oci5zay9scGljLnBocCIgdGFyZ2V0PSJfYmxhbmsi PkxQSUM8L2E+LCA8YSBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmU7Y29sb3I6Z3JheSIgaHJl Zj0iaHR0cDovL3d3dy5iZWlucm9oci5zay92Y2EucGhwIiB0YXJnZXQ9Il9ibGFuayI+VkNBPC9h PiwgPGJyPgogICAgICAgICAgPGEgaHJlZj0idGVsOiUyQjQyMS0yLTYyNDEwMzYwIiB2YWx1ZT0i KzQyMTI2MjQxMDM2MCIgdGFyZ2V0PSJfYmxhbmsiPis0MjEtMi02MjQxMDM2MDwvYT4gPGEgaHJl Zj0idGVsOiUyQjQyMS05MDMtNDgyNjAzIiB2YWx1ZT0iKzQyMTkwMzQ4MjYwMyIgdGFyZ2V0PSJf YmxhbmsiPis0MjEtOTAzLTQ4MjYwMzwvYT4KICAgICAgICAgIDxicj4KICAgICAgICA8L3NwYW4+ IDwvZGl2PgogICAgICA8aW1nIHNyYz0iaHR0cDovL25vanNzdGF0cy5hcHBzcG90LmNvbS9VQS00 NDQ5NzA5Ni0xL2VtYWlsLmJlaW5yb2hyLnNrIiBib3JkZXI9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9 IjEiPgogICAgPC9kaXY+CiAgPC9mb250Pjwvc3Bhbj48L2Rpdj4KCjxicj5fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4KVXNlcnMgbWFpbGluZyBsaXN0 PGJyPgo8YSBocmVmPSJtYWlsdG86VXNlcnNAb3ZpcnQub3JnIj5Vc2Vyc0BvdmlydC5vcmc8L2E+ PGJyPgo8YSBocmVmPSJodHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vdXNl cnMiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGlu Zm8vdXNlcnM8L2E+PGJyPgo8YnI+PC9ibG9ja3F1b3RlPjwvZGl2Pjxicj48L2Rpdj4K --===============6094186061645940387==-- From Ernest.Beinrohr at axonpro.sk Wed Apr 22 05:44:47 2015 Content-Type: multipart/mixed; boundary="===============6098738050399737595==" 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 --===============6098738050399737595== 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-- --===============6098738050399737595== 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 --===============6098738050399737595==-- From jhernand at redhat.com Wed Apr 22 07:09:12 2015 Content-Type: multipart/mixed; boundary="===============4424874248825730937==" MIME-Version: 1.0 From: =?utf-8?q?Juan_Hern=C3=A1ndez_=3Cjhernand_at_redhat=2Ecom=3E?= 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 13:09:07 +0200 Message-ID: <55378153.8050203@redhat.com> In-Reply-To: 55376D7E.3060001@axonpro.sk --===============4424874248825730937== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On 04/22/2015 11:44 AM, Ernest Beinrohr wrote: > 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_dom= ain=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.m= odel.Action) = > ( org.ovirt.engine.api.model.Disk org.ovirt.engine.api.model.Disk(a)6a0db= 58b ) > = The parameter to the "move" method should be an "Action", containing a reference to the target storage domain. You need something like this: ---8<--- #!/usr/bin/python import time from ovirtsdk import api from ovirtsdk.xml import params # Connect to the server: api =3D api.API( url=3D"https://ovirt.example.com/ovirt-engine/api", username=3D"admin(a)internal", password=3D"***", insecure=3DTrue, debug=3DFalse ) # Find the VM whose disks we want to move: vm =3D api.vms.get(name=3D"myvm") # Create the information of the storage domain where we will # move the disks to. Note that we only need to know the name # (or id) of the storage domain, the server will locate it so # we don't need to look it up here: sd =3D params.StorageDomain(name=3D"newstorage") # Iterate the disks of the VM and for each of them move it # to the target storage domain: for disk in vm.disks.list(): # Start moving the disk. Note that this is an asynchronous # operation, so once the "move" method returns you will # have to wait for the actual movement to finish. print("Moving disk \"%s\" ..." % disk.get_alias()) disk.move( params.Action( storage_domain=3Dsd ) ) # Wait till the state of the disk is "ok", which means it # has been moved completely. Note that it is important to # wait a few seconds before doing the first check, as # otherwise you will get the status of the disk before # the movement started, thus you would get "ok" but # because the movement didn't start yet. disk_id =3D disk.get_id() while True: print("Waiting for movement to complete ...") time.sleep(5) disk =3D vm.disks.get(id=3Ddisk_id) if disk.get_status().get_state() =3D=3D "ok": break # Bye: api.disconnect() --->8--- -- = Direcci=C3=B3n Comercial: C/Jose Bardasano Baos, 9, Edif. Gorbea 3, planta 3=C2=BAD, 28016 Madrid, Spain Inscrita en el Reg. Mercantil de Madrid =E2=80=93 C.I.F. B82657941 - Red Ha= t S.L. --===============4424874248825730937==-- From Ernest.Beinrohr at axonpro.sk Wed Apr 22 09:13:18 2015 Content-Type: multipart/mixed; boundary="===============7990315992238982208==" 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 15:12:59 +0200 Message-ID: <55379E5B.9050508@axonpro.sk> In-Reply-To: 55378153.8050203@redhat.com --===============7990315992238982208== 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. --------------020004080101080804050901 Content-Type: text/plain; charset=3Dutf-8; format=3Dflowed Content-Transfer-Encoding: 8bit D=C5=88a 22.04.2015 o 13:09 Juan Hern=C3=A1ndez nap=C3=ADsal(a): > # Iterate the disks of the VM and for each of them move it > # to the target storage domain: > for disk in vm.disks.list(): > # Start moving the disk. Note that this is an asynchronous > # operation, so once the "move" method returns you will > # have to wait for the actual movement to finish. > print("Moving disk \"%s\" ..." % disk.get_alias()) > disk.move( > params.Action( > storage_domain=3Dsd > ) > ) This works nicely, thank you. -- = Ernest Beinrohr, AXON PRO Ing , RHCE = , RHCVA = , LPIC = , VCA , +421-2-62410360 +421-903-482603 --------------020004080101080804050901 Content-Type: text/html; charset=3Dutf-8 Content-Transfer-Encoding: 8bit
D=C5=88a 22.04.2015 o 13:09 Juan Hern=C3= =A1ndez nap=C3=ADsal(a):
# Iterate the disks of the VM and for each of them move it
# to the target storage domain:
for disk in vm.disks.list():
    # Start moving the disk. Note that this is an asynchronous
    # operation, so once the "move" method returns you will
    # have to wait for the actual movement to finish.
    print("Moving disk \"%s\" ..." % disk.get_alias())
    disk.move(
        params.Action(
            storage_domain=3Dsd
        )
    )
This works nicely, thank you.

--
Ernest Beinrohr, AXON PRO
Ing, RHCE, RHCVA, LPIC, VCA,
+421-2-62410360 +421-903-482603
--------------020004080101080804050901-- --===============7990315992238982208== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0tLS0tLS0tLS0t LS0wMjAwMDQwODAxMDEwODA4MDQwNTA5MDEKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PXV0Zi04OyBmb3JtYXQ9Zmxvd2VkCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQK CkTFiGEgMjIuMDQuMjAxNSBvIDEzOjA5IEp1YW4gSGVybsOhbmRleiBuYXDDrXNhbChhKToKPiAj IEl0ZXJhdGUgdGhlIGRpc2tzIG9mIHRoZSBWTSBhbmQgZm9yIGVhY2ggb2YgdGhlbSBtb3ZlIGl0 Cj4gIyB0byB0aGUgdGFyZ2V0IHN0b3JhZ2UgZG9tYWluOgo+IGZvciBkaXNrIGluIHZtLmRpc2tz Lmxpc3QoKToKPiAgICAgICMgU3RhcnQgbW92aW5nIHRoZSBkaXNrLiBOb3RlIHRoYXQgdGhpcyBp cyBhbiBhc3luY2hyb25vdXMKPiAgICAgICMgb3BlcmF0aW9uLCBzbyBvbmNlIHRoZSAibW92ZSIg bWV0aG9kIHJldHVybnMgeW91IHdpbGwKPiAgICAgICMgaGF2ZSB0byB3YWl0IGZvciB0aGUgYWN0 dWFsIG1vdmVtZW50IHRvIGZpbmlzaC4KPiAgICAgIHByaW50KCJNb3ZpbmcgZGlzayBcIiVzXCIg Li4uIiAlIGRpc2suZ2V0X2FsaWFzKCkpCj4gICAgICBkaXNrLm1vdmUoCj4gICAgICAgICAgcGFy YW1zLkFjdGlvbigKPiAgICAgICAgICAgICAgc3RvcmFnZV9kb21haW49c2QKPiAgICAgICAgICAp Cj4gICAgICApClRoaXMgd29ya3MgbmljZWx5LCB0aGFuayB5b3UuCgotLSAKRXJuZXN0IEJlaW5y b2hyLCBBWE9OIFBSTwpJbmcgPGh0dHA6Ly93d3cuYmVpbnJvaHIuc2svaW5nLnBocD4sIFJIQ0Ug CjxodHRwOi8vd3d3LmJlaW5yb2hyLnNrL3JoY2UucGhwPiwgUkhDVkEgCjxodHRwOi8vd3d3LmJl aW5yb2hyLnNrL3JoY2UucGhwPiwgTFBJQyAKPGh0dHA6Ly93d3cuYmVpbnJvaHIuc2svbHBpYy5w aHA+LCBWQ0EgPGh0dHA6Ly93d3cuYmVpbnJvaHIuc2svdmNhLnBocD4sCis0MjEtMi02MjQxMDM2 MCArNDIxLTkwMy00ODI2MDMKCi0tLS0tLS0tLS0tLS0tMDIwMDA0MDgwMTAxMDgwODA0MDUwOTAx CkNvbnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04CkNvbnRlbnQtVHJhbnNmZXIt RW5jb2Rpbmc6IDhiaXQKCjxodG1sPgogIDxoZWFkPgogICAgPG1ldGEgY29udGVudD0idGV4dC9o dG1sOyBjaGFyc2V0PXV0Zi04IiBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiPgogIDwvaGVhZD4K ICA8Ym9keSBiZ2NvbG9yPSIjRkZGRkZGIiB0ZXh0PSIjMDAwMDAwIj4KICAgIDxkaXYgY2xhc3M9 Im1vei1jaXRlLXByZWZpeCI+RMWIYSAyMi4wNC4yMDE1IG8gMTM6MDkgSnVhbiBIZXJuw6FuZGV6 CiAgICAgIG5hcMOtc2FsKGEpOgogICAgPC9kaXY+CiAgICA8YmxvY2txdW90ZSBjaXRlPSJtaWQ6 NTUzNzgxNTMuODA1MDIwM0ByZWRoYXQuY29tIiB0eXBlPSJjaXRlIj4KICAgICAgPHByZSB3cmFw PSIiPgojIEl0ZXJhdGUgdGhlIGRpc2tzIG9mIHRoZSBWTSBhbmQgZm9yIGVhY2ggb2YgdGhlbSBt b3ZlIGl0CiMgdG8gdGhlIHRhcmdldCBzdG9yYWdlIGRvbWFpbjoKZm9yIGRpc2sgaW4gdm0uZGlz a3MubGlzdCgpOgogICAgIyBTdGFydCBtb3ZpbmcgdGhlIGRpc2suIE5vdGUgdGhhdCB0aGlzIGlz IGFuIGFzeW5jaHJvbm91cwogICAgIyBvcGVyYXRpb24sIHNvIG9uY2UgdGhlICJtb3ZlIiBtZXRo b2QgcmV0dXJucyB5b3Ugd2lsbAogICAgIyBoYXZlIHRvIHdhaXQgZm9yIHRoZSBhY3R1YWwgbW92 ZW1lbnQgdG8gZmluaXNoLgogICAgcHJpbnQoIk1vdmluZyBkaXNrIFwiJXNcIiAuLi4iICUgZGlz ay5nZXRfYWxpYXMoKSkKICAgIGRpc2subW92ZSgKICAgICAgICBwYXJhbXMuQWN0aW9uKAogICAg ICAgICAgICBzdG9yYWdlX2RvbWFpbj1zZAogICAgICAgICkKICAgICkKPC9wcmU+CiAgICA8L2Js b2NrcXVvdGU+CiAgICBUaGlzIHdvcmtzIG5pY2VseSwgdGhhbmsgeW91Ljxicj4KICAgIDxicj4K ICAgIDxkaXYgY2xhc3M9Im1vei1zaWduYXR1cmUiPi0tIDxicj4KICAgICAgPGRpdiBpZD0ib2Vy bmlpX2Zvb3RlciIgc3R5bGU9ImNvbG9yOiBncmF5OyI+CiAgICAgICAgPHNwYW4gc3R5bGU9ImZv bnQtZmFtaWx5OiBMdWNpZGEgQ29uc29sZSwgTHV4aSBNb25vLCBDb3VyaWVyLAogICAgICAgICAg bW9ub3NwYWNlOyBmb250LXNpemU6IDkwJTsiPgogICAgICAgICAgRXJuZXN0IEJlaW5yb2hyLCBB WE9OIFBSTzxicj4KICAgICAgICAgIDxhIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNv bG9yOiBncmF5OyIKICAgICAgICAgICAgaHJlZj0iaHR0cDovL3d3dy5iZWlucm9oci5zay9pbmcu cGhwIj5Jbmc8L2E+LCA8YQogICAgICAgICAgICBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25l OyBjb2xvcjogZ3JheTsiCiAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly93d3cuYmVpbnJvaHIuc2sv cmhjZS5waHAiPlJIQ0U8L2E+LCA8YQogICAgICAgICAgICBzdHlsZT0idGV4dC1kZWNvcmF0aW9u OiBub25lOyBjb2xvcjogZ3JheTsiCiAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly93d3cuYmVpbnJv aHIuc2svcmhjZS5waHAiPlJIQ1ZBPC9hPiwgPGEKICAgICAgICAgICAgc3R5bGU9InRleHQtZGVj b3JhdGlvbjogbm9uZTsgY29sb3I6IGdyYXk7IgogICAgICAgICAgICBocmVmPSJodHRwOi8vd3d3 LmJlaW5yb2hyLnNrL2xwaWMucGhwIj5MUElDPC9hPiwgPGEKICAgICAgICAgICAgc3R5bGU9InRl eHQtZGVjb3JhdGlvbjogbm9uZTsgY29sb3I6IGdyYXk7IgogICAgICAgICAgICBocmVmPSJodHRw Oi8vd3d3LmJlaW5yb2hyLnNrL3ZjYS5waHAiPlZDQTwvYT4sIDxicj4KICAgICAgICAgICs0MjEt Mi02MjQxMDM2MCArNDIxLTkwMy00ODI2MDMKICAgICAgICAgIDxicj4KICAgICAgICA8L3NwYW4+ IDwvZGl2PgogICAgICA8aW1nCiAgICAgICAgc3JjPSJodHRwOi8vbm9qc3N0YXRzLmFwcHNwb3Qu Y29tL1VBLTQ0NDk3MDk2LTEvZW1haWwuYmVpbnJvaHIuc2siCiAgICAgICAgbW96LWRvLW5vdC1z ZW5kPSJ0cnVlIiBib3JkZXI9IjAiIHdpZHRoPSIxIiBoZWlnaHQ9IjEiPgogICAgPC9kaXY+CiAg PC9ib2R5Pgo8L2h0bWw+CgotLS0tLS0tLS0tLS0tLTAyMDAwNDA4MDEwMTA4MDgwNDA1MDkwMS0t Cg== --===============7990315992238982208==--