On 19/10/12 5:46 AM, "Alena Prokharchyk" <alena.prokharc...@citrix.com>
wrote:

>On 10/18/12 4:59 AM, "Murali Reddy" <murali.re...@citrix.com> wrote:
>
>>On 17/10/12 10:42 PM, "Alena Prokharchyk" <alena.prokharc...@citrix.com>
>>wrote:
>>
>>>Murali, some comments:
>>>
>>>1) "During network design phase of network creation, 'Direct network
>>>Guru' which designs the shared networks shall setup the network to be in
>>> Network.State.Allocated if shared network is being created in advanced
>>>zone and with L4-L7 services enabled"
>>>
>>>Can you explain why? Allocated state means that the Vlan and CIDR for
>>>the
>>>network will be re-calculated on every network imeplement. Setup state
>>>means that the Vlan will stay with the network for its lifecycle, as
>>>well
>>>as the network CIDR. If you are not planning to recalculate the CIDR on
>>>each network re-implement, then Setup is your initial and the only one
>>>state.
>>>
>>>If the only one thing you want to do during this face - prepare your
>>>external devices - then you should use prepare() instead (we call it
>>>when
>>>setup the network)
>>
>>
>>I agree that 'Allocated' state is wrong here. I don¹t want CIDR to be
>>recalculated. I just want to force the 'shared network' in the advanced
>>zone to go through the complete implement phase. Right now, shared
>>network
>>are set to be in 'Setup' state by direct network guru. Implement network
>>phase skips the back end implementation (i.e. implement operation on
>>network elements) when network state is 'Setup'. I want to model life
>>cycle of 'shared network' with L4-L7 service just as isolated network.
>>Except for the fact that network is shared by multiple accounts, shared
>>network with L4-L7 services is really same as isolated network w.r.t life
>>cycle of the network and how the rules are applied.
>>
>>I can set the state to be 'Setup' but want the shared network with L4-L7
>>service to go through implement phase. Does having state transition from
>>State.Setup to State.Implemented on Event.ImplementNetwork make sense?
>
>Murali, could you please give more details on what exactly you want to
>introduce in Implement phase for Shared networks? Because looking at the
>code right now, I see that in
>
>* DirectNetworkGuru (responsible for Shared networks)- does nothing in
>implement()
>* ExternalGuestNetworkGuru (responsible for Isolated network), -
>recalculate vlan and cidr for the network in implement()
>
>
>I assume all you want to do - re-implement the elements and network rules
>w/o changing the network configuration? That's something that
>RestartNetwork does (re-implements all the network elements and the rules
>w/o changing the network state and config; both Isolated and Shared
>networks can be restarted)
>
>-Alena.

Ok. Let me elaborate a bit. So the network in CloudStack is handled by two
entities. Network design (L2-L3) is handled by 'Network Guru' and network
services (L4-L7) are handled by 'Network element'. Network operations like
implement, shutdown, restart, destroy should go through operations on both
network guru and network element as well. Since the 'shared network' did
not have any L4-L7 services, network operations were implemented for
shared network to go through corresponding operation on network guru only.
Now if we have L4-L7 services in the 'shared network', network operations
like implement, shutdown, restart etc should go through corresponding
actions on network guru, and network element as well. For e.g. I see that
implementNetwork() operation in the network manager, does NOT end up
invoking implementNetworkElementsAndResources() for the 'shared networks'
as the direct network guru says network is setup. Implement phase skips
the implementNetworkElementsAndResources() as network is setup.

So, my thinking is, 'shared network' with L4-L7 services should go through
'Implementing' and 'Implemented' sates as well.



Reply via email to