Thanks for highlighting why remove entry is not implemented. The interface 
works for internal implementation where you have the MS database and a separate 
table in the DHCP server that you are managing. If the DHCP Provider is 
external and authoritative on the IP Address Management or trying to provide 
discovery view this assumption is not valid, and you need to explicitly inform 
it when you want to add an entry and remove one. It looks like most External 
DHCP providers are going to use the standard Plugin prepare/release interface, 
like I have for our solution.
-Soheil
________________________________________
From: Sheng Yang [sh...@yasker.org]
Sent: Friday, September 13, 2013 4:23 PM
To: <dev@cloudstack.apache.org>
Subject: Re: DhcpServiceProvider

In the original implementation, the new dhcp entry would automatically
override the old one, so the old entry hasn't been removed explicitly.

But still, it would be better to get it done explicitly of course.

--Sheng


On Fri, Sep 13, 2013 at 1:20 PM, Chiradeep Vittal <
chiradeep.vit...@citrix.com> wrote:

> Soheil, agree that it needs to moved to NetworkElement and also needs
> complementary remove()
> It seems half-thought-out.
>
> On 9/13/13 11:31 AM, "Soheil Eizadi" <seiz...@infoblox.com> wrote:
>
> >Posting my questions again... -Soheil
> >________________________________________
> >From: Soheil Eizadi [seiz...@infoblox.com]
> >Sent: Friday, September 06, 2013 3:13 PM
> >To: dev@cloudstack.apache.org
> >Subject: DhcpServiceProvider
> >
> >I had not looked at the DhcpServiceProvider NetworkElement before, but
> >after recent problem, I got a chance to look at it in more detail. I am
> >new to CloudStack and don't have a lot of the history and had some
> >questions.
> >
> >Is there a link to documentation for the DhcpServiceProvider work?
> >
> >I assume the main use case for DhcpServiceProvider is to support DHCP
> >Daemon like DNSMasq, are there other use cases?
> >
> >The interface is simple enough:
> >
> >
> >public interface DhcpServiceProvider extends NetworkElement {
> >
> >    boolean addDhcpEntry(...) ...;
> >
> >    boolean configDhcpSupportForSubnet(...) ...;
> >
> >    boolean  removeDhcpSupportForSubnet(...) ...;
> >
> >}
> >
> >
> >Is there a reason why the companion entry to addDhcpEntry() e.g.
> >removeDhcpEntry() is missing?
> >
> >
> >What is the motivation in adding this code to the NetworkManager versus
> >contain it inside the NetworkElement providing the DHCP? (The logic I see
> >in NetworkManager does not seem to be adding any value. Also it is adding
> >a specific network function DHCP to the NetworkManager, where we are
> >moving functions e.g. IP Address Allocation out.)
>
>

Reply via email to