As some of you might have noticed, I've been breaking apart code in the server 
package.  Code that is crucial to orchestration such as life cycle management 
of virtual entities and orchestrating plugins to implement the virtual entities 
on the physical hardware are being moved into the engine package.  Code that 
are related to self-service are left in the server package.

A couple of days ago, I arrived at NetworkManager.  For those of you who's seen 
NetworkManager, you know what a monster this is.  After some analysis, I 
decided I will break this into three parts.

- NetworkOrchestrator.java: This resides in engine and manages the life cycle 
of Network and Nic and participates in the VM life cycle orchestration.
- NetworkManagerImpl.java: This resides in server for now because majority of 
the code left in this file is to provide ways to find different service 
providers.  Eventually, that functionality will be absorbed into 
rulesmanagerimpl.
- IpAddressManagerImpl.java: This for now will reside in server for now.  This 
will contain all of the code that deals with ip address allocation.  
Eventually, this functionality may be absorbed into a new interface that can be 
shared by the NetworkGurus.  The design of this is yet to be done but has been 
discussed in another thread.

I will work on this and probably complete it by early next week.  Please let me 
know if you have any comments.  For now, I will mostly breakup the code and do 
minimal change to make it all work.  The code will be in master.

--Alex

Reply via email to