[openstack-dev] [Quantum] continuing todays discussion about the l3 agents

gong yong sheng gongysh at linux.vnet.ibm.com
Wed Nov 28 13:03:59 UTC 2012


On 11/28/2012 08:11 AM, Mark McClain wrote:
> On Nov 27, 2012, at 6:33 PM, gong yong sheng <gongysh at linux.vnet.ibm.com> wrote:
>
> Just wanted to clarify two items:
>
>>> At the moment all of the dhcp agents receive all of the updates. I do not see why we need the quantum service to indicate which agent runs where. This will change the manner in which the dhcp agents work.
>> No. currently, we can run only one dhcp agent  since we are using a topic queue for notification.
> You are correct.  There is a bug in the underlying Oslo RPC implementation that sets the topic and queue names to be same value.  I didn't get a clear explanation of this problem until today and will have to figure out a fix to oslo.
>
>> And one problem with multiple agents serving the same ip is:
>> we will have more than one agents want to update the ip's leasetime now and than.
> This is not a problem.  The DHCP protocol was designed for multiple servers on a network.  When a client accepts a lease, the server that offered the accepted lease will be the only process attempting to update the lease for that port.  The other DHCP instances will not do anything, so there won't be any chance for a conflict.  Also, when a client renews it sends a unicast message to that previous DHCP server and so there will only be one writer in this scenario too.  Additionally, we don't have to worry about conflicting assignments because the dhcp agents use the same static allocations from the Quantum database.
I mean dhcp agent is trying to update leasetime to quantum server. If we 
have more than one dhcp agents, this will cause confusion.
     def update_lease(self, network_id, ip_address, time_remaining):
         try:
             self.plugin_rpc.update_lease_expiration(network_id, ip_address,
                                                     time_remaining)
         except:
             self.needs_resync = True
             LOG.exception(_('Unable to update lease'))
I think it is our dhcp agent's defect. Why does our dhcp agent need the 
lease time? all the IPs are managed in our quantum server, there is not 
need for dynamic ip management in dhcp server managed by dhcp agent.
> mark
>
>
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>




More information about the OpenStack-dev mailing list