Hi Dan,
I would like to second the idea to minimize code that should be integrated into 
nova.
One of the Quantum statements is the it can be positioned as a standalone 
service.
In such case quantum service on the hypervisor should be activated in other 
than OpenStack environment.

Irena

From: netstack-bounces+irenab=mellanox....@lists.launchpad.net 
[mailto:netstack-bounces+irenab=mellanox....@lists.launchpad.net] On Behalf Of 
Dan Wendlandt
Sent: Thursday, April 05, 2012 2:40 AM
To: Ryota MIBU
Cc: netstack@lists.launchpad.net
Subject: Re: [Netstack] quantum community projects & folsom summit plans

Thanks for your thoughts on this Ryota.  Some additional comments below.  Happy 
to chat more about it at the summit as well.
On Tue, Apr 3, 2012 at 11:42 PM, Ryota MIBU 
<r-m...@cq.jp.nec.com<mailto:r-m...@cq.jp.nec.com>> wrote:
>
>However, I think the goal should be that code that is in Nova is not specific 
>to the plugin.  As we talked about
>earlier in the thread, you may need different types of vif-plugging to attach 
>to different types of switching
>technologies (e.g., OVS vs. bridge vs. VEPA/VNTAG), but I think that different 
>plugins that use the same switching
>technology should be able to use the same vif-plugging (for example, there are 
>several plugins that all use the OVS
>vif-plugging).  Our goal here should be to minimize churn in the Nova codebase.
Yes, I checked the Cisco driver and the portprofile extension.
The Cisco driver seems to pass and retrieve the plugin-specific data with PUT 
method.
I just thought that this kind of vif-plugging could be a general model for 
plugins that work without "agent".
I agree with you that we should minimize churn in the Nova codebase.
But, I still feel that the "agent" model, especially polling, is not so good.
Although there are many topics on the summit,
I hope that we could have discussion about vif-plugging changes.

One important thing to remember is that, there's no requirement that a plugin 
runs an agent.  I believe at least two plugins already, don't use agents at 
all, as they have other ways of remotely configuring the switches when needed.

I think the polling performed by some plugins (e.g., OVS) you mention is 
actually really easy to remove by sending notifications to agents using 
something like RabbitMQ.  This is something that's already planned for Folsom.

I think the issue of "agents" is more fundamental.  It may be that the term 
"agent" is confusing, as it is really just code that runs as a service on the 
hypervisor, just like nova-compute.  The question is really whether there 
should be a single python process (all network logic embedded in nova), or one 
for nova and one for quantum.  In a way, having a quantum agent on the 
hypervisor is similar to what happens when running nova-network in multi-host 
model.

There are two key points here in my mind:
1) We want to minimize network related code churn in Nova.  The vswitch 
configuration supported by Quantum plugins will continue to grow over time, and 
our goal should be that adding a new capability to a Quantum plugin should 
rarely require Nova changes.
2) Its likely that more advanced plugins need to make changes to the vswitch at 
times other than vif-plug and vif-unplug.  For example, consider that quantum 
already exposes the ability to put a port in "admin down" (i.e., no packets 
forwarded) at any point if a tenant makes an API request.

It may be that having a more flexible vif-plugging mechanism is still valuable 
despite these points, so let's chat more about it at the summit.  Thanks again 
for your thoughts.


Dan





>       I think there is another sub topic, but I am not sure yet.
>       I agree that a configurable VIF driver is much better.
>       For designing the configuration of vif-plugging, it is required that we 
> discuss the granularity of selecting
>VIF Driver.
>       Should The granularity of selecting VIF Driver be per node, VM, or VIF?
>       Currently, VIF Driver would be configured in nova-compute.conf.
>       This means that the granularity is per Hypervisor Node.
>       To be more flexible, we might consider the case where VIF1 of VM1 
> connects to bridge and VIF2 of VM1 maps
>to a physical NIC
>       directly.
>       If so, it may raise another issue; how to determine connection type of 
> VIF.
>
>
>
>That's an interesting use case, and something that we haven't tried to deal 
>with yet.  In your use case, who would
>determine how a VIF was mapped?  Would it be a policy described by the service 
>provider?  Would it be part of the
>VM flavor?  Adding this kind of flexibility is certainly possible, though you 
>are the first person who has expressed
>a need for this type of flexibility.
It could be mixed.
I think that a cloud user specifies vNIC option like "physical NIC mapping" as 
a VM flavor,
then a service provider determines a hypervisor node and it's available 
physical NIC.
It is not suitable that the cloud user specifies physical NIC itself.
But this though is not clear enough to having a session on the summit,
I hope that we discuss this issue on vif-plugging session or somewhere in the 
summit.



>       Is there any blueprint of Security Group in NetStack?
>       I have a primitive proposal for an firewall model and API, and a 
> firewall implementation on Quantum OpenFlow
>Plugin.
>       That is just a prototype based on Quantum L2 API.
>       But, this proposal shows how firewalling API should be.
>       I think the first point in designing firewalling models is to which 
> entity each rule is associated.
>       Is the entity network or port?
>       I hope that we will have discussions for firewalling leads much more 
> functionalities and APIs than security
>group has currently.
>
>
>
>Dave Lapsley (on netstack list) is doing a session on this at the summit.  
>Feel free to join as a driver.  My thinking
>on the topic is that each Quantum port could be assigned one or more security 
>groups.  There is also scope, I believe,
>for more advanced ACLs that could be associated with each port, essentially 
>consisting of inbound/outbound lists
>of rules that each have a "match" and an "action" (allow/deny).  There is also 
>the topic of NAT, which in my mind
>makes the most sense to think about in terms of our "L3 forwarding" discussion 
>(see etherpad).
>
I found it.
I'll join the sessions.
Thanks!

>       Finally, I would like to suggest that the Security Group session would 
> be suitable to be held after Quantum
>L3 session.
>       I think the Security Group is a cross layer function and its design 
> should better be coupled with L3 design.
>
>
>
>I think our first task needs to be properly scoping each of these discussions, 
>particularly on the many topics loosely
>call "L3".   I've sent another email to the list with thoughts on breaking up 
>those discussions.
>


Thanks,

Ryota MIBU




--
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dan Wendlandt
Nicira, Inc: www.nicira.com<http://www.nicira.com>
twitter: danwendlandt
~~~~~~~~~~~~~~~~~~~~~~~~~~~

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