On 06/13/2012 04:28 AM, Dan Wendlandt wrote:
Thanks for responding Willian!

Looping in main list in case others are interested in progress. A few comments inline.

Dan

On Tue, Jun 12, 2012 at 6:13 PM, Willian Molinari <willian.molin...@locaweb.com.br <mailto:willian.molin...@locaweb.com.br>> wrote:

    Æ!!

    We were waiting for a definition from Mark / Carl but I think we
    should start some discussions (as Dan mentioned before) sooner as
    possible.
    I'm just concerned because we are not working diretly with nova
    (we have our own in house solution for compute), so we may not
    understand some needs.

    > 1) take the dnsmasq + vif-plugging logic currently in
    nova/network/linux_net.py and create a library in
    quantum/agent/linux (similar to how we're moving the
    iptables_manager class there..)

    I agree. I don't know the nova/network/linux_net.py code but I
    think it looks like the code we are migrating to the
    iptables_manager and will be a good start for different dhcp backends.


great.


    > 2) create a dhcp-agent that can run on a centralized node.  It
    could learn about new Quantum ports and their IP/MAC pairs by
    polling the database (trivial to implement but slow) or via a
    notification API or RPC (more efficient and more general).
    > For each new network, it would use the quantum v2 client library
    to create a port on that network and "vif-plug" a dnsmasq instance
    into that network.  For each new port on that network, it would
    fetch the MAC + IP pair from Quantum, then update the DHCP config.

    Pooling would work. On our quantum branch (using that big plugin)
    we're using rabbitmq to make the connection between our dhcp agent
    and quantum. The agent consumes a queue and the server publish to
    it when a new vm needs ip.
    The API solution looks better but we'll need more code and maybe
    more time to implement it IMHO.


I agree. Having some kind of notification is clearly the right way to scale this, but polling could be a simple short-cut to get this working for F-2. The logic is so simple that there's really no wasted work :)
I agree. For the first phase polling should suffice. The RPC is a better solution in the long run. I am in the process of setting up the infrastructure for this. Once we have the common configuration support we can import the RPC code from openstack common (I need to use this for the scalable agents solution).


    > I think there could also be a pretty simple "multi-host" variant
    of this that runs on each hypervisor as well to eliminate any
    concerns around HA for a centralized implementation.
    > This implementation could even learn about new ports on the
    hypervisor on its own by monitoring the vswitch itself.

    Is this second implementation critical for F-2?


No. A multi-host solution is important for the Folsom deliverable, so we need to target it for F-3, but for F-2 I think we just need any DHCP mechanism that is compatible with the IPs allocated by Quantum v2 API.




--
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dan Wendlandt
Nicira, Inc: www.nicira.com <http://www.nicira.com>
twitter: danwendlandt
~~~~~~~~~~~~~~~~~~~~~~~~~~~


-- 
Mailing list: https://launchpad.net/~netstack
Post to     : netstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~netstack
More help   : https://help.launchpad.net/ListHelp

Reply via email to