[openstack-dev] Using custom IPAM with OpenStack

Salvatore Orlando sorlando at nicira.com
Mon Nov 18 10:32:23 UTC 2013


Oh no, not another *aas!

Seriously, I don't think IP address management should be a service of its
own independent from Neutron and/or nova-network.
Neutron currently has an IPAM logic which is entirely coded in
db_base_plugin_v2.py, and is more or less loosely coupled with the DHCP
agent.
We already have in place blueprints for allowing different IPAM drivers,
which might or might not be part of the neutron code base, and which might
or might not leverage the DHCP agent. There has been slow progress on these
blueprints, and it would be awesome if somebody could jump in and help us
deliver them.

In my opinion, I don't think this calls for a new service plugin, IPAM is
and should always be part of the 'core' Neutron API.
It should be possible to abstract an interface for allocation/dellocating
IP addresses for ports, and then have 'drivers' implementing this
interface, with the current IPAM logic becoming the default drivers to be
executed in gate jobs.

As different IPAM drivers might have totally different DB schemas, the
final design should also provide a solution for addressing database
migrations, and, if possible, data model conversion when switching from one
driver to another (though I am not sure if this should be a requirement)

Another interesting, and perhaps orthogonal aspect is whether we want to
expose IP addresses as a first-level resource in the Neutron API, but this
is probably the subject for another thread.

Regards,
Salvatore



On 18 November 2013 10:08, Mathieu Rohon <mathieu.rohon at gmail.com> wrote:

> Hi,
>
> As I understood Juniper/contrail developers have also troubles with IPAM.
> The Hooks you are talking about in Nova, is handled with service
> plugin in Neutron. May be there is a place to implement an IPAMaaS
> service, or DHCPaaS?
>
>
>
> On Thu, Nov 14, 2013 at 6:32 AM, Lari Partanen <lari.partanen at gmail.com>
> wrote:
> > Thanks! So _generate_ip @ neutron.db.db_base_plugin_v2.py is one of the
> > methods I need to modify. Is there something like this
> > http://docs.openstack.org/developer/nova/devref/hooks.html in Neutron
> for
> > extending its methods or do I need to make a patch
> > if I wish to distribute my changes?
> >
> > Regards,
> > Lari
> >
> > Hi,
> >
> > You can take a look at the patches in this blueprint:
> >
> https://blueprints.launchpad.net/neutron/+spec/configurable-ip-allocation
> >
> > There was also a bp created earlier to talk to an external IPAM:
> > https://blueprints.launchpad.net/neutron/+spec/neutron-ipam
> >
> > Thanks,
> > ~Sumit.
> >
> >
> > On Wed, Nov 13, 2013 at 7:22 PM, Lari Partanen <lari.partanen at
> > gmail.com>wrote:
> >
> >> Hi,
> >>
> >> our company is using an IPAM solution that we would like to integrate
> with
> >> OpenStack. The idea would be that when instances request IP addresses
> they
> >> would get a free IP address from our IPAM which would be then allocated
> to
> >> them and when instances are deleted the IP addresses are released from
> the
> >> IPAM.
> >>
> >> I've gone through the source code but I'm having hard time figuring out
> >> how should I proceed with the integration. I would be grateful on
> >> information about what methods I should be looking for in the source
> code
> >> and how to extend them properly.
> >>
> >> Thanks!
> >> _______________________________________________
> >> OpenStack-dev mailing list
> >> OpenStack-dev at lists.openstack.org
> >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> >>
> >
> >
> >
> > _______________________________________________
> > OpenStack-dev mailing list
> > OpenStack-dev at lists.openstack.org
> > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> >
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20131118/d489915a/attachment.html>


More information about the OpenStack-dev mailing list