A little history about the names.  I originally named it NetworkElement because 
the code that supports the network service naturally is an element in the 
network.  However, when we finalized the REST APIs, then I realized the name 
NetworkElement implies that it is one particular instance of a network element. 
 However, that's not actually how CloudStack uses NetworkElement.  CloudStack 
itself doesn't want to understand how many instances are underneath to support 
the network service.  It wants the NetworkElement implementation itself be 
responsible for that.  CloudStack is only responsible for pushing the virtual 
entities such as Network, Network rules, VMs (nics) to the NetworkElement 
implementations when they change.

It is up to NetworkElement to implement the number instances it has in a zone, 
whether it is in a HA configuration, whether instances are dedicated to an 
account and many other things that can help differentiate one vendor's offering 
from another.  So when we expose the REST API, we changed the name to 
NetworkServiceProvider but I never went back to change the NetworkElement 
interface to NetworkServiceProvider to make it the same.  Hence, the confusion.

--Alex

> -----Original Message-----
> From: Alex Huang [mailto:alex.hu...@citrix.com]
> Sent: Tuesday, May 08, 2012 1:44 PM
> To: cloudstack-dev@incubator.apache.org
> Subject: RE: How to add a PhysicalNetworkServiceProvider
> 
> NetworkServiceProvider is not added through the UI.  It's added through the
> components.xml as a NetworkElement.  The names are confusing.  We
> should change that interface name to NetworkServiceProvider.
> 
> --Alex
> 
> > -----Original Message-----
> > From: Frank Zhang [mailto:frank.zh...@citrix.com]
> > Sent: Tuesday, May 08, 2012 1:42 PM
> > To: cloudstack-dev@incubator.apache.org
> > Subject: How to add a PhysicalNetworkServiceProvider
> >
> > I went through CloudStack UI there are  three default
> > NetworkServiceProvider, but I didn't see any way to add a new provider.
> > Do we support that? Or we only allow API to add it?

Reply via email to