<div>Hi Simon,</div><div><br></div><div>Your message is very timely, as we were thinking about adding disk and networking attach/detach actions in 3.6, see this ticket [1]</div><div><br></div><div>
Our approach will be to add new actions to the VM object, not the VNet. The xmlrpc calls will require a template with the new disk or nic to add, following the VM template syntax:</div><div><br></div><div>NIC = [ NETWORK_ID = 7 ]</div>
<div><br></div><div>The core will check network IP availability, user permissions, etc. We will probably have to modify the VM life cycle too.</div>
<div><br></div><div>While we figure out how to proceed, it would be very helpful if you could contribute stand-alone scripts with the necessary hypervisor actions to add/remove NICs. These scripts will probably need the host, vm hypervisor identifier, and the MAC as the only parameters.</div>
<div><br></div><div>Thank you for your interest in the OpenNebula development.</div><div>Carlos</div><div>
<br></div><div><font color="#222222" face="arial, sans-serif">[1] <a href="http://dev.opennebula.org/issues/1223" target="_blank">http://dev.opennebula.org/issues/1223</a></font></div>--<br>Carlos Martín, MSc<br>Project Engineer<br>
OpenNebula - The Open-source Solution for Data Center Virtualization<div><span style="border-collapse:collapse;color:rgb(136,136,136);font-family:arial,sans-serif;font-size:13px"><a href="http://www.OpenNebula.org" target="_blank">www.OpenNebula.org</a> | <a href="mailto:cmartin@opennebula.org" target="_blank">cmartin@opennebula.org</a> | <a href="http://twitter.com/opennebula" target="_blank">@OpenNebula</a></span><span style="border-collapse:collapse;color:rgb(136,136,136);font-family:arial,sans-serif;font-size:13px"><a href="mailto:cmartin@opennebula.org" style="color:rgb(42,93,176)" target="_blank"></a></span></div>
<br>
<br><br><div class="gmail_quote">On Tue, Apr 3, 2012 at 4:57 PM, Simon Boulet <span dir="ltr"><<a href="mailto:simon@nostalgeek.com" target="_blank">simon@nostalgeek.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi all,<br>
<br>
I recently posted a message on the One-users list regarding NIC<br>
hot-plugging, or the ability to add IP Leases to running VMs:<br>
<a href="http://lists.opennebula.org/pipermail/users-opennebula.org/2012-March/008326.html" target="_blank">http://lists.opennebula.org/pipermail/users-opennebula.org/2012-March/008326.html</a><br>
<br>
Basically my idea is to add two new one.vn.assign and one.vn.unassign<br>
calls to the API, and implement new VNM scripts ex. addnic and remnic<br>
to let the hypervisor appropriately set up de bridge or ebtables for<br>
the VM.<br>
<br>
Another simpler option is to add an Optional parameter to the<br>
one.vn.hold call which would take the VMID for which the Lease is to<br>
be held. However this option would leave the Cloud admins to configure<br>
the bridge or ebtables manually by logging in to the hypervisor. But<br>
at least it would make Open Nebula consistant and return the lease to<br>
the pool when the VM is destroyed.<br>
<br>
We do have suffisant knowledge and time here to implement the new XML<br>
RPC API calls or change the existing one.vn.hold call. However, I<br>
would need help to add the calls in the cli, Sunstone, etc. and for<br>
the addnic and remnic to the different VNMs (as we use a custom VNM<br>
here).<br>
<br>
I'm looking at which of these two options is preferred, perhaps<br>
suggestion for the proper API calls or VNM scripts names, or if anyone<br>
as better ideas. We're ready to start working on this immediately and<br>
make it into the next 3.5 release.<br>
<br>
Thanks<br>
<br>
Simon<br>
_______________________________________________<br>
Ecosystem mailing list<br>
<a href="mailto:Ecosystem@lists.opennebula.org" target="_blank">Ecosystem@lists.opennebula.org</a><br>
<a href="http://lists.opennebula.org/listinfo.cgi/ecosystem-opennebula.org" target="_blank">http://lists.opennebula.org/listinfo.cgi/ecosystem-opennebula.org</a><br>
</blockquote></div><br>