From atal at redhat.com Tue Mar 27 08:11:31 2012 Content-Type: multipart/mixed; boundary="===============0345255192106175363==" MIME-Version: 1.0 From: avi tal To: devel at ovirt.org Subject: [Engine-devel] Extend host_nics action with UpdateNetworks Date: Tue, 27 Mar 2012 14:11:27 +0200 Message-ID: <4F71AE6F.6030703@redhat.com> --===============0345255192106175363== 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. --------------040202050707070305020800 Content-Type: text/plain; charset=3DISO-8859-1; format=3Dflowed Content-Transfer-Encoding: 7bit Hi, I am checking the SetupNetwork feature in 3.1 (si01) and I think we are = missing a very important implementation. SetupNetworks in vdsm layer is able to receive a nics collection which = describe which nics will be updated and handle only those nics. This implementation is missing from engine-backend because backend = automatically treat missing nics as nics we would like to remove. A very buggy scenario would be, missing mgmt network. The idea is to send (via REST API) a collection which contain only the = interfaces (nics) we would like to update. This is actually an UPDATE collection procedure. it could be added as a = different action: http://engine ip:port/hosts/id/nics/*updatenetworks* I believe it is a part of the SetupNetwork feature that needs to be in 3.1. Thanks --------------040202050707070305020800 Content-Type: text/html; charset=3DISO-8859-1 Content-Transfer-Encoding: 7bit Hi,
I am checking the SetupNetwork feature in 3.1 (si01) and I think we are missing a very important implementation.
SetupNetworks in vdsm layer is able to receive a nics collection which describe which nics will be updated and handle only those nics.
This implementation is missing from engine-backend because backend automatically treat missing nics as nics we would like to remove.
A very buggy scenario would be, missing mgmt network.

The idea is to send (via REST API) a collection which contain only the interfaces (nics) we would like to update. 

This is actually an UPDATE collection procedure. it could be added as a different action:
http://engine= ip:port/hosts/id/nics/updatenetworks

I believe it is a part of the SetupNetwork feature that needs to be in 3.1.

Thanks

--------------040202050707070305020800-- --===============0345255192106175363== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0tLS0tLS0tLS0t LS0wNDAyMDIwNTA3MDcwNzAzMDUwMjA4MDAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PUlTTy04ODU5LTE7IGZvcm1hdD1mbG93ZWQKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog N2JpdAoKSGksCkkgYW0gY2hlY2tpbmcgdGhlIFNldHVwTmV0d29yayBmZWF0dXJlIGluIDMuMSAo c2kwMSkgYW5kIEkgdGhpbmsgd2UgYXJlIAptaXNzaW5nIGEgdmVyeSBpbXBvcnRhbnQgaW1wbGVt ZW50YXRpb24uClNldHVwTmV0d29ya3MgaW4gdmRzbSBsYXllciBpcyBhYmxlIHRvIHJlY2VpdmUg YSBuaWNzIGNvbGxlY3Rpb24gd2hpY2ggCmRlc2NyaWJlIHdoaWNoIG5pY3Mgd2lsbCBiZSB1cGRh dGVkIGFuZCBoYW5kbGUgb25seSB0aG9zZSBuaWNzLgpUaGlzIGltcGxlbWVudGF0aW9uIGlzIG1p c3NpbmcgZnJvbSBlbmdpbmUtYmFja2VuZCBiZWNhdXNlIGJhY2tlbmQgCmF1dG9tYXRpY2FsbHkg dHJlYXQgbWlzc2luZyBuaWNzIGFzIG5pY3Mgd2Ugd291bGQgbGlrZSB0byByZW1vdmUuCkEgdmVy eSBidWdneSBzY2VuYXJpbyB3b3VsZCBiZSwgbWlzc2luZyBtZ210IG5ldHdvcmsuCgpUaGUgaWRl YSBpcyB0byBzZW5kICh2aWEgUkVTVCBBUEkpIGEgY29sbGVjdGlvbiB3aGljaCBjb250YWluIG9u bHkgdGhlIAppbnRlcmZhY2VzIChuaWNzKSB3ZSB3b3VsZCBsaWtlIHRvIHVwZGF0ZS4KClRoaXMg aXMgYWN0dWFsbHkgYW4gVVBEQVRFIGNvbGxlY3Rpb24gcHJvY2VkdXJlLiBpdCBjb3VsZCBiZSBh ZGRlZCBhcyBhIApkaWZmZXJlbnQgYWN0aW9uOgpodHRwOi8vZW5naW5lIGlwOnBvcnQvaG9zdHMv aWQvbmljcy8qdXBkYXRlbmV0d29ya3MqCgpJIGJlbGlldmUgaXQgaXMgYSBwYXJ0IG9mIHRoZSBT ZXR1cE5ldHdvcmsgZmVhdHVyZSB0aGF0IG5lZWRzIHRvIGJlIGluIDMuMS4KClRoYW5rcwoKCi0t LS0tLS0tLS0tLS0tMDQwMjAyMDUwNzA3MDcwMzA1MDIwODAwCkNvbnRlbnQtVHlwZTogdGV4dC9o dG1sOyBjaGFyc2V0PUlTTy04ODU5LTEKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogN2JpdAoK PGh0bWw+CiAgPGhlYWQ+CgogICAgPG1ldGEgaHR0cC1lcXVpdj0iY29udGVudC10eXBlIiBjb250 ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9SVNPLTg4NTktMSI+CiAgPC9oZWFkPgogIDxib2R5IGJn Y29sb3I9IiNGRkZGRkYiIHRleHQ9IiMwMDAwMDAiPgogICAgSGksPGJyPgogICAgSSBhbSBjaGVj a2luZyB0aGUgU2V0dXBOZXR3b3JrIGZlYXR1cmUgaW4gMy4xIChzaTAxKSBhbmQgSSB0aGluayB3 ZQogICAgYXJlIG1pc3NpbmcgYSB2ZXJ5IGltcG9ydGFudCBpbXBsZW1lbnRhdGlvbi48YnI+CiAg ICBTZXR1cE5ldHdvcmtzIGluIHZkc20gbGF5ZXIgaXMgYWJsZSB0byByZWNlaXZlIGEgbmljcyBj b2xsZWN0aW9uCiAgICB3aGljaCBkZXNjcmliZSB3aGljaCBuaWNzIHdpbGwgYmUgdXBkYXRlZCBh bmQgaGFuZGxlIG9ubHkgdGhvc2UKICAgIG5pY3MuPGJyPgogICAgVGhpcyBpbXBsZW1lbnRhdGlv biBpcyBtaXNzaW5nIGZyb20gZW5naW5lLWJhY2tlbmQgYmVjYXVzZSBiYWNrZW5kCiAgICBhdXRv bWF0aWNhbGx5IHRyZWF0IG1pc3NpbmcgbmljcyBhcyBuaWNzIHdlIHdvdWxkIGxpa2UgdG8gcmVt b3ZlLiA8YnI+CiAgICBBIHZlcnkgYnVnZ3kgc2NlbmFyaW8gd291bGQgYmUsIG1pc3NpbmcgbWdt dCBuZXR3b3JrLjxicj4KICAgIDxicj4KICAgIFRoZSBpZGVhIGlzIHRvIHNlbmQgKHZpYSBSRVNU IEFQSSkgYSBjb2xsZWN0aW9uIHdoaWNoIGNvbnRhaW4gb25seQogICAgdGhlIGludGVyZmFjZXMg KG5pY3MpIHdlIHdvdWxkIGxpa2UgdG8gdXBkYXRlLiZuYnNwOyA8YnI+CiAgICA8YnI+CiAgICBU aGlzIGlzIGFjdHVhbGx5IGFuIFVQREFURSBjb2xsZWN0aW9uIHByb2NlZHVyZS4gaXQgY291bGQg YmUgYWRkZWQKICAgIGFzIGEgZGlmZmVyZW50IGFjdGlvbjo8YnI+CiAgICA8YSBjbGFzcz0ibW96 LXR4dC1saW5rLWZyZWV0ZXh0IiBocmVmPSJodHRwOi8vZW5naW5lIj5odHRwOi8vZW5naW5lPC9h PiBpcDpwb3J0L2hvc3RzL2lkL25pY3MvPGI+dXBkYXRlbmV0d29ya3M8L2I+IDxicj4KICAgIDxi cj4KICAgIEkgYmVsaWV2ZSBpdCBpcyBhIHBhcnQgb2YgdGhlIFNldHVwTmV0d29yayBmZWF0dXJl IHRoYXQgbmVlZHMgdG8gYmUKICAgIGluIDMuMS48YnI+CiAgICA8YnI+CiAgICBUaGFua3M8YnI+ CiAgICA8YnI+CiAgPC9ib2R5Pgo8L2h0bWw+CgotLS0tLS0tLS0tLS0tLTA0MDIwMjA1MDcwNzA3 MDMwNTAyMDgwMC0tCg== --===============0345255192106175363==-- From simon at redhat.com Tue Mar 27 09:58:01 2012 Content-Type: multipart/mixed; boundary="===============2120271382773103729==" MIME-Version: 1.0 From: Simon Grinberg To: devel at ovirt.org Subject: Re: [Engine-devel] Extend host_nics action with UpdateNetworks Date: Tue, 27 Mar 2012 09:58:01 -0400 Message-ID: In-Reply-To: 4F71AE6F.6030703@redhat.com --===============2120271382773103729== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable ----- Original Message ----- = > From: "avi tal" > To: engine-devel(a)ovirt.org > Cc: "Oded Ramraz" , "Roy Golan" > , "michael pasternak" , > "Simon Grinberg" > Sent: Tuesday, March 27, 2012 2:11:27 PM > Subject: Extend host_nics action with UpdateNetworks > Hi, > I am checking the SetupNetwork feature in 3.1 (si01) and I think we > are missing a very important implementation. > SetupNetworks in vdsm layer is able to receive a nics collection > which describe which nics will be updated and handle only those > nics. > This implementation is missing from engine-backend because backend > automatically treat missing nics as nics we would like to remove. > A very buggy scenario would be, missing mgmt network. > The idea is to send (via REST API) a collection which contain only > the interfaces (nics) we would like to update. > This is actually an UPDATE collection procedure. it could be added as > a different action: > http://engine ip:port/hosts/id/nics/ updatenetworks > I believe it is a part of the SetupNetwork feature that needs to be > in 3.1. +1 While for web UI it makes sense to do it in Read/Modify/Write fashion, mean= ing that the setup network dialogue shows the complete picture, allows the = user to modify and then write it back. It does not make sense to force the = same on an API user. Consider a user that just wants to remove/add two logical networks on bond = X. Does he really have to read it all, then add the networks, then send bac= k? It makes sense to explicitly say update: add only those two on bond X - = do not touch the rest. This means though that the updateNetworks command has to explicitly say rem= ove/add/update per network. = > Thanks --===============2120271382773103729==--