...
Internal LB can be handled by 2 1 network providersprovider:
- InternalLBVm - have to add support for this provider first.Netscaler VPX
The pic below is for the case when InternalLBVm is used as a provider for the LB service on internal tier:
...
- Service=LB, Provider=InternalLbVm, LB service capability "lbSchemes" with the value "Internal"
...
- Service=LB, Provider=Netscaler, LB service capability "lbSchemes" with the value Internal".Before creating the network, enable InternalLbVm element/provider on the physical network using configureInternalLoadBalancerElement and updateNetworkServiceProvider APIs. The cloudStack UI will enable the element/provider automatically as a part of physical network creation, so these instructions are only for the case when APIs are called directly, omitting the UI.
...
- Network.java interface - add new capability for the LB service - lbSchemes. It will have 2 values - Internal and Public.Existing Netscaler Service Provider will support both values - Internal and Public - for the supportedLbSchemes capability as it can act as a provider for Public and Internal Load Balancing.
- Introduce new Network Element - InternalLBVm. This provider supports only 1 service - LB, and its supportedLbMode capability can be Internal only. We need a new network element because Internal LB Vm will have different number of nics from the regular CS system vm (Guest and Control only); and its lifecycle will be different as well. The Vm will be started not when network gets implemented, but when the new IP gets acquired from the Guest Network for the Load Balancer rule.
...