[openstack-dev] [quantum] Understanding DHCP Agent

Trinath Somanchi trinath.somanchi at gmail.com
Fri Oct 26 17:15:37 UTC 2012


Mark-

First, thanks for the informative reply.

True Said, I understood the flow. But then, I want to look into this
scenario by means of the Source Code.

As described in the mail by me, I'm understanding How the Data flow inside
the code.

Hence, I have put forward my understanding in the RPC call and cast of the
dhcp agent.

as below.

quantum/agent/dhcp_agent.py     <--- the actual daemon agent, which makes
the rpc.cast/rpc.call to fetch the data.

          * A                  | *                 <------ (Flow
representing arrows)
          *  |                  V*
quantum/db/dhcp_rpc_base.py     <---- which implements the QuantumPluginV2
to process the rpc.cast/rpc.call by the above agent.

            * A                |   *                <------ (Flow
representing arrows)
          *    |                V*
quantum/db/db_base_plugin_v2.py    <--- where the actual DB processing
happens for the requests.


Here, (I'm new to the folsom code) i have outlined how the data flow
between the files is happening from my understanding.

Can you kindly please help me on the validity of my understanding. Were
there any other files which help to achieve this in dhcp agent ?

Thanking you..

-
Trinath


On Fri, Oct 26, 2012 at 9:07 PM, Mark McClain <mark.mcclain at dreamhost.com>wrote:

> Trinath-
>
> The DHCP agent uses both RPC and Notifications.  The general rule is that
> information originated by the Server flows via notifications and the agent
> uses RPC to request information from the Quantum server or notify the
> server of lease renewals.
>
> In a cold start situation, the agent will:
>
> Make RPC call for active networks (the RPC flow is as your described below)
> Start any DHCP services for active networks
> Enter Notification Processing Loop
> - Wait for changes to Networks, Subnets, Ports
> - Modify DHCP daemon configs in response to those changes
> (If notification payload does not have enough information use RPC to
> clarify current state)
>
> Does this clarify how the agent works?
>
> mark
>
> On Oct 26, 2012, at 11:10 AM, Trinath Somanchi <trinath.somanchi at gmail.com>
> wrote:
>
> Hi-
>
> I was trying to understand how the Quantum DHCP agent Daemon works.  As I
> walk through the code, to understand the working on the Daemon,
>
> I found it to be using rpc cast and call. But was lost into the code to
> find the correct data flow.
>
> In my study I found this:
>
>
>
>
> quantum/agent/dhcp_agent.py     <--- the actual daemon agent, which makes
> the rpc.cast/rpc.call to fetch the data.
>
>           * A                  | *                 <------ (Flow
> representing arrows)
>           *  |                  V*
> quantum/db/dhcp_rpc_base.py     <---- which implements the QuantumPluginV2
> to process the rpc.cast/rpc.call by the above agent.
>
>             * A                |   *                <------ (Flow
> representing arrows)
>           *    |                V*
> quantum/db/db_base_plugin_v2.py    <--- where the actual DB processing
> happens for the requests.
>
>
>
>
> I have some doubts here, (though there very preliminary)
>
> [1] The RPC cast and call are sent to the Quantum server ?
> [2] Am I in a right path of understanding the dhcp agent daemon working.
>
> Kindly please help me understand the processes flow
>
> Thanks in advance.
>
> --
> Regards,
> ----------------------------------------------
> Trinath Somanchi,
> +91 9866 235 130
>
> _______________________________________________
> 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
>
>


-- 
Regards,
----------------------------------------------
Trinath Somanchi,
+91 9866 235 130
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20121026/2d0767af/attachment-0001.html>


More information about the OpenStack-dev mailing list