Sure. Do you have specific questions?
The idea is to slim it down.
First, other managers (RulesManager, FirewallManager etc) rely on
NetworkManager to communicate with the plugins when they can do so
themselves. The FirewallManager for example calls applyRules on the
NetworkManagerImpl since the latter has the list of all elements. The
applyRules method is ugly as we can see as it is trying to decipher who
called it and why. The FirewallManager instead can be injected with the
list of FirewallServiceProvider elements and can call applyFWRules
directly.

Second, there can be a logical split between the public (service)
interface and the orchestration interface. This should be as
straightforward as not making NetworkManagerImpl inherit from
NetworkService.

Third, the service and orchestration interfaces can be logically split
along functional areas (Physical, L2, PublicIp). Furthermore, a lot of the
plugins and other managers call the NetworkManager only to query the
network model. For example a lot of the incoming apis is to merely
retrieve a network/ip/offering from an id or to find out if a service is
supported. This can also be moved into its own "read-only" kind of class.


On 1/4/13 12:02 AM, "Hugo Trippaers" <htrippa...@schubergphilis.com> wrote:

>Hey Chiradeep,
>
>I have some trouble understanding the proposal. I completely agree with
>the definition of the problem, NetworkManager is getting a bit too big to
>be managed efficiently, but could you try to explain the split of the
>manager with a bit more detail?
>
>
>Cheers,
>
>Hugo
>
>> -----Original Message-----
>> From: Chiradeep Vittal [mailto:chiradeep.vit...@citrix.com]
>> Sent: Friday, January 04, 2013 8:42 AM
>> To: CloudStack DeveloperList
>> Subject: [PROPOSAL] Network Manager refactoring
>> 
>> I want to simplify the core network manager classes by splitting and
>>moving
>> code around.
>> The JIRA bug is here:
>> https://issues.apache.org/jira/browse/CLOUDSTACK-740
>> 
>> 
>> The proposal is here:
>> http://s.apache.org/73c
>> 
>> 
>> I will be working on a branch (network-refactor) while I wait for
>>comments.
>> 
>> Thanks
>> --
>> Chiradeep
>

Reply via email to