On 05/09/2012 11:23 PM, Maru Newby wrote:
> Hi Bob,
> 
> On 2012-05-09, at 6:26 PM, Robert Kukura wrote:
>>>
>>> I'm less clear on the need to implement rpc communication between the
>>> vif driver and quantum plugin, at least as part of this blueprint.
>>>  Am I missing a use-case that is not already handled by Quantum's
>>> rest interface?
>>
>> At least one of the reasons for this is so that connection of a newly
>> created tap device to the virtual network by the agent would be
>> triggered immediately by the RPC, rather than waiting for agent's
>> periodic poll of the node's local tap devices to discover it.
>>
> 
> I'm afraid I don't see your logic.   The path is:
> 
> Virt driver -> Quantum -> Plugin -> Agent
> 
> The blueprint in question proposes that communication between plugin and
> agent be conducted via rpc rather than the current shared database.  The
> proposal ensures that there is no polling involved.  I see no reason for
> communication between the virt driver and quantum be conducted over rpc
> when a rest interface can do the same job with no extra effort or
> complexity.
> 
> Thanks,
> 
> 
> Maru
> 

Hi Maru,

I agree a REST interface could do the job. I misinterpreted your email
as arguing that the VIF driver should just create the tap device and the
agent should poll to discover the tap device, as is done now.

I'm not sure there would be much difference in code complexity using RPC
vs REST, except maybe that, assuming the VIF driver remains in nova, it
would need to use nova's copy of the openstack-common RPC rather than
quantum's copy, and these would need to remain compatible. RPC might
have the advantage of offering async messaging, but I'm not sure that's
needed here.

But it would seem reasonable for the VIF driver in nova to use the same
mechanism that nova itself will be using to talk with quantum (replacing
QuantumManager), which I'd guess is REST.

I think the general pattern has been that RPC interfaces should be
internal to either the nova or quantum components, and REST interfaces
should be using for communications between different OpenStack
components. In that case, it boils down to whether the VIF drivers are
considered part of nova, where REST should be used, or part of quantum,
where either REST or RPC could be used.

-Bob

-- 
Mailing list: https://launchpad.net/~netstack
Post to     : netstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~netstack
More help   : https://help.launchpad.net/ListHelp

Reply via email to