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.) > >