You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Daan Hoogland <da...@gmail.com> on 2013/10/01 10:50:23 UTC

Re: Review Request 14320: add boolean option httpModeEnabled to the service offering for use in haproxy conf

Ok Chiradeep,

I see where you worries are. I'll study the stickiness implementation. If
it is not a zone wide thing I'll consider it.

I disagree that the feature is implementation specific. The tuning is. And
the tuning the feature are not the same. The abstraction of the feature
httpClose, which is only implemented by haproxy (let's assume) as a set of
options is the reason for someone to choose for this implementation of a
load balancer. This should be leveraged.

Actually in the Schuberg Philis implementation it must. The solution that
is now done at the actual site is hacked into the running VR. This will
then lead to an emergency if the router is recreated for some reason.

regards,
Daan

On Mon, Sep 30, 2013 at 11:50 PM, Chiradeep Vittal <
Chiradeep.Vittal@citrix.com> wrote:

> My point is that it is a tuning that is specific for HAProxy and shouldn't
> be exposed in an abstraction like the CS API.
> (After all, how do I choose, as an end-user Offering A with httpClose or
> offering B without httpClose). If there is another desirable feature Y in
> Netscaler, do you anticipate changing another dozen files for that feature?
>
> If you look at the stickiness policy feature, it isn't tied to the service
> offering despite there being some differences between stickiness
> capabilities between different LB providers.
>
>
>
> On 9/28/13 4:18 AM, "Daan Hoogland" <da...@gmail.com> wrote:
>
> >Chiradeep,
> >
> >the network offerings are created by the cloud operator aren't they? The
> >netscaler  en f5 modules will have to implement it's own behavior on
> >httpClose. in case of haproxy it means no mode http and option httpclose
> >(and some other things)
> >
> >If you define it zone wide every tenant has the same setting whilst you
> >want this to tune setting (like with maxConnections) for a tenant.
> >
> >regards,
> >Daan
> >
> >
> >On Thu, Sep 26, 2013 at 10:57 PM, Chiradeep Vittal
> ><ch...@gmail.com>wrote:
> >
> >>    This is an automatically generated e-mail. To reply, visit:
> >> https://reviews.apache.org/r/14320/
> >>
> >> Not sure if this should be in the API since it is a HAProxy-specific
> >>configuration. This wouldn't apply to Netscaler or F5.
> >> After all the end user has no idea if he is using HAProxy of Netscaler
> >>or F5.
> >>
> >> Likely this flag is of interest to the cloud operator only, so why not
> >>put it in zone-wide config instead of the network offering.
> >> Do you really see someone creating 2 offerings: one with HttpClose and
> >>one without HttpClose?
> >>
> >>
> >> - Chiradeep Vittal
> >>
> >> On September 26th, 2013, 7:01 p.m. UTC, daan Hoogland wrote:
> >>   Review request for cloudstack and Wei Zhou.
> >> By daan Hoogland.
> >>
> >> *Updated Sept. 26, 2013, 7:01 p.m.*
> >>  *Bugs: * CLOUDSTACK-4328
> >>  *Repository: * cloudstack-git
> >> Description
> >>
> >> add boolean option httpModeEnabled to the service offering for use in
> >>haproxy conf
> >>
> >>   Testing
> >>
> >> created unit test.
> >> instantiated a network with some loadbalancer rule based on a netoffer
> >>with the option to true/false and maxconnections to a non default value
> >>-> checked haproxy.cfg on the router
> >>
> >>   Diffs
> >>
> >>    - api/src/com/cloud/offering/NetworkOffering.java (6c5573e)
> >>    - api/src/org/apache/cloudstack/api/ApiConstants.java (f85784b)
> >>    -
> >>api/src/org/apache/cloudstack/api/command/admin/network/CreateNetworkOffe
> >>ringCmd.java
> >>    (bdad904)
> >>    -
> >>api/src/org/apache/cloudstack/api/command/admin/network/UpdateNetworkOffe
> >>ringCmd.java
> >>    (c9c4c8a)
> >>    - core/src/com/cloud/agent/api/routing/LoadBalancerConfigCommand.java
> >>    (ee29290)
> >>    - core/src/com/cloud/network/HAProxyConfigurator.java (2309125)
> >>    - core/test/com/cloud/network/HAProxyConfiguratorTest.java
> >>    (PRE-CREATION)
> >>    -
> >>engine/components-api/src/com/cloud/configuration/ConfigurationManager.ja
> >>va
> >>    (5e1b9b5)
> >>    -
> >>engine/orchestration/src/org/apache/cloudstack/engine/orchestration/Netwo
> >>rkOrchestrator.java
> >>    (53f64fd)
> >>    - engine/schema/src/com/cloud/offerings/NetworkOfferingVO.java
> >>    (eefdc94)
> >>    -
> >>plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/El
> >>asticLoadBalancerManagerImpl.java
> >>    (ecd6006)
> >>    -
> >>plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/
> >>network/lb/InternalLoadBalancerVMManagerImpl.java
> >>    (587ae99)
> >>    - server/src/com/cloud/configuration/ConfigurationManagerImpl.java
> >>    (8a0f7a6)
> >>    -
> >>server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.ja
> >>va
> >>    (7c026a4)
> >>    - server/test/com/cloud/vpc/MockConfigurationManagerImpl.java
> >>(c9a0480)
> >>    -
> >>server/test/org/apache/cloudstack/networkoffering/CreateNetworkOfferingTe
> >>st.java
> >>    (1f1fb75)
> >>    - setup/db/db/schema-420to430.sql (44a884d)
> >>
> >> View Diff <https://reviews.apache.org/r/14320/diff/>
> >>
>
>

Re: Review Request 14320: add boolean option httpModeEnabled to the service offering for use in haproxy conf

Posted by Chiradeep Vittal <Ch...@citrix.com>.
Sure.

On 10/9/13 1:55 PM, "Daan Hoogland" <da...@gmail.com> wrote:

>H Chiradeep,
>
>Would you considder this if I rename the option to keepAlive, adding a
>API description field stating that it only has effect on HAProxy (for
>now)?
>
>regards,
>Daan
>
>On Tue, Oct 1, 2013 at 10:50 AM, Daan Hoogland <da...@gmail.com>
>wrote:
>> Ok Chiradeep,
>>
>> I see where you worries are. I'll study the stickiness implementation.
>>If it
>> is not a zone wide thing I'll consider it.
>>
>> I disagree that the feature is implementation specific. The tuning is.
>>And
>> the tuning the feature are not the same. The abstraction of the feature
>> httpClose, which is only implemented by haproxy (let's assume) as a set
>>of
>> options is the reason for someone to choose for this implementation of a
>> load balancer. This should be leveraged.
>>
>> Actually in the Schuberg Philis implementation it must. The solution
>>that is
>> now done at the actual site is hacked into the running VR. This will
>>then
>> lead to an emergency if the router is recreated for some reason.
>>
>> regards,
>> Daan
>>
>> On Mon, Sep 30, 2013 at 11:50 PM, Chiradeep Vittal
>> <Ch...@citrix.com> wrote:
>>>
>>> My point is that it is a tuning that is specific for HAProxy and
>>>shouldn't
>>> be exposed in an abstraction like the CS API.
>>> (After all, how do I choose, as an end-user Offering A with httpClose
>>>or
>>> offering B without httpClose). If there is another desirable feature Y
>>>in
>>> Netscaler, do you anticipate changing another dozen files for that
>>> feature?
>>>
>>> If you look at the stickiness policy feature, it isn't tied to the
>>>service
>>> offering despite there being some differences between stickiness
>>> capabilities between different LB providers.
>>>
>>>
>>>
>>> On 9/28/13 4:18 AM, "Daan Hoogland" <da...@gmail.com> wrote:
>>>
>>> >Chiradeep,
>>> >
>>> >the network offerings are created by the cloud operator aren't they?
>>>The
>>> >netscaler  en f5 modules will have to implement it's own behavior on
>>> >httpClose. in case of haproxy it means no mode http and option
>>>httpclose
>>> >(and some other things)
>>> >
>>> >If you define it zone wide every tenant has the same setting whilst
>>>you
>>> >want this to tune setting (like with maxConnections) for a tenant.
>>> >
>>> >regards,
>>> >Daan
>>> >
>>> >
>>> >On Thu, Sep 26, 2013 at 10:57 PM, Chiradeep Vittal
>>> ><ch...@gmail.com>wrote:
>>> >
>>> >>    This is an automatically generated e-mail. To reply, visit:
>>> >> https://reviews.apache.org/r/14320/
>>> >>
>>> >> Not sure if this should be in the API since it is a HAProxy-specific
>>> >>configuration. This wouldn't apply to Netscaler or F5.
>>> >> After all the end user has no idea if he is using HAProxy of
>>>Netscaler
>>> >>or F5.
>>> >>
>>> >> Likely this flag is of interest to the cloud operator only, so why
>>>not
>>> >>put it in zone-wide config instead of the network offering.
>>> >> Do you really see someone creating 2 offerings: one with HttpClose
>>>and
>>> >>one without HttpClose?
>>> >>
>>> >>
>>> >> - Chiradeep Vittal
>>> >>
>>> >> On September 26th, 2013, 7:01 p.m. UTC, daan Hoogland wrote:
>>> >>   Review request for cloudstack and Wei Zhou.
>>> >> By daan Hoogland.
>>> >>
>>> >> *Updated Sept. 26, 2013, 7:01 p.m.*
>>> >>  *Bugs: * CLOUDSTACK-4328
>>> >>  *Repository: * cloudstack-git
>>> >> Description
>>> >>
>>> >> add boolean option httpModeEnabled to the service offering for use
>>>in
>>> >>haproxy conf
>>> >>
>>> >>   Testing
>>> >>
>>> >> created unit test.
>>> >> instantiated a network with some loadbalancer rule based on a
>>>netoffer
>>> >>with the option to true/false and maxconnections to a non default
>>>value
>>> >>-> checked haproxy.cfg on the router
>>> >>
>>> >>   Diffs
>>> >>
>>> >>    - api/src/com/cloud/offering/NetworkOffering.java (6c5573e)
>>> >>    - api/src/org/apache/cloudstack/api/ApiConstants.java (f85784b)
>>> >>    -
>>>
>>> >> 
>>>>>api/src/org/apache/cloudstack/api/command/admin/network/CreateNetworkO
>>>>>ffe
>>> >>ringCmd.java
>>> >>    (bdad904)
>>> >>    -
>>>
>>> >> 
>>>>>api/src/org/apache/cloudstack/api/command/admin/network/UpdateNetworkO
>>>>>ffe
>>> >>ringCmd.java
>>> >>    (c9c4c8a)
>>> >>    -
>>> >> core/src/com/cloud/agent/api/routing/LoadBalancerConfigCommand.java
>>> >>    (ee29290)
>>> >>    - core/src/com/cloud/network/HAProxyConfigurator.java (2309125)
>>> >>    - core/test/com/cloud/network/HAProxyConfiguratorTest.java
>>> >>    (PRE-CREATION)
>>> >>    -
>>>
>>> >> 
>>>>>engine/components-api/src/com/cloud/configuration/ConfigurationManager
>>>>>.ja
>>> >>va
>>> >>    (5e1b9b5)
>>> >>    -
>>>
>>> >> 
>>>>>engine/orchestration/src/org/apache/cloudstack/engine/orchestration/Ne
>>>>>two
>>> >>rkOrchestrator.java
>>> >>    (53f64fd)
>>> >>    - engine/schema/src/com/cloud/offerings/NetworkOfferingVO.java
>>> >>    (eefdc94)
>>> >>    -
>>>
>>> >> 
>>>>>plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb
>>>>>/El
>>> >>asticLoadBalancerManagerImpl.java
>>> >>    (ecd6006)
>>> >>    -
>>>
>>> >> 
>>>>>plugins/network-elements/internal-loadbalancer/src/org/apache/cloudsta
>>>>>ck/
>>> >>network/lb/InternalLoadBalancerVMManagerImpl.java
>>> >>    (587ae99)
>>> >>    - 
>>>server/src/com/cloud/configuration/ConfigurationManagerImpl.java
>>> >>    (8a0f7a6)
>>> >>    -
>>>
>>> >> 
>>>>>server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl
>>>>>.ja
>>> >>va
>>> >>    (7c026a4)
>>> >>    - server/test/com/cloud/vpc/MockConfigurationManagerImpl.java
>>> >>(c9a0480)
>>> >>    -
>>>
>>> >> 
>>>>>server/test/org/apache/cloudstack/networkoffering/CreateNetworkOfferin
>>>>>gTe
>>> >>st.java
>>> >>    (1f1fb75)
>>> >>    - setup/db/db/schema-420to430.sql (44a884d)
>>> >>
>>> >> View Diff <https://reviews.apache.org/r/14320/diff/>
>>> >>
>>>
>>


Re: Review Request 14320: add boolean option httpModeEnabled to the service offering for use in haproxy conf

Posted by Daan Hoogland <da...@gmail.com>.
H Chiradeep,

Would you considder this if I rename the option to keepAlive, adding a
API description field stating that it only has effect on HAProxy (for
now)?

regards,
Daan

On Tue, Oct 1, 2013 at 10:50 AM, Daan Hoogland <da...@gmail.com> wrote:
> Ok Chiradeep,
>
> I see where you worries are. I'll study the stickiness implementation. If it
> is not a zone wide thing I'll consider it.
>
> I disagree that the feature is implementation specific. The tuning is. And
> the tuning the feature are not the same. The abstraction of the feature
> httpClose, which is only implemented by haproxy (let's assume) as a set of
> options is the reason for someone to choose for this implementation of a
> load balancer. This should be leveraged.
>
> Actually in the Schuberg Philis implementation it must. The solution that is
> now done at the actual site is hacked into the running VR. This will then
> lead to an emergency if the router is recreated for some reason.
>
> regards,
> Daan
>
> On Mon, Sep 30, 2013 at 11:50 PM, Chiradeep Vittal
> <Ch...@citrix.com> wrote:
>>
>> My point is that it is a tuning that is specific for HAProxy and shouldn't
>> be exposed in an abstraction like the CS API.
>> (After all, how do I choose, as an end-user Offering A with httpClose or
>> offering B without httpClose). If there is another desirable feature Y in
>> Netscaler, do you anticipate changing another dozen files for that
>> feature?
>>
>> If you look at the stickiness policy feature, it isn't tied to the service
>> offering despite there being some differences between stickiness
>> capabilities between different LB providers.
>>
>>
>>
>> On 9/28/13 4:18 AM, "Daan Hoogland" <da...@gmail.com> wrote:
>>
>> >Chiradeep,
>> >
>> >the network offerings are created by the cloud operator aren't they? The
>> >netscaler  en f5 modules will have to implement it's own behavior on
>> >httpClose. in case of haproxy it means no mode http and option httpclose
>> >(and some other things)
>> >
>> >If you define it zone wide every tenant has the same setting whilst you
>> >want this to tune setting (like with maxConnections) for a tenant.
>> >
>> >regards,
>> >Daan
>> >
>> >
>> >On Thu, Sep 26, 2013 at 10:57 PM, Chiradeep Vittal
>> ><ch...@gmail.com>wrote:
>> >
>> >>    This is an automatically generated e-mail. To reply, visit:
>> >> https://reviews.apache.org/r/14320/
>> >>
>> >> Not sure if this should be in the API since it is a HAProxy-specific
>> >>configuration. This wouldn't apply to Netscaler or F5.
>> >> After all the end user has no idea if he is using HAProxy of Netscaler
>> >>or F5.
>> >>
>> >> Likely this flag is of interest to the cloud operator only, so why not
>> >>put it in zone-wide config instead of the network offering.
>> >> Do you really see someone creating 2 offerings: one with HttpClose and
>> >>one without HttpClose?
>> >>
>> >>
>> >> - Chiradeep Vittal
>> >>
>> >> On September 26th, 2013, 7:01 p.m. UTC, daan Hoogland wrote:
>> >>   Review request for cloudstack and Wei Zhou.
>> >> By daan Hoogland.
>> >>
>> >> *Updated Sept. 26, 2013, 7:01 p.m.*
>> >>  *Bugs: * CLOUDSTACK-4328
>> >>  *Repository: * cloudstack-git
>> >> Description
>> >>
>> >> add boolean option httpModeEnabled to the service offering for use in
>> >>haproxy conf
>> >>
>> >>   Testing
>> >>
>> >> created unit test.
>> >> instantiated a network with some loadbalancer rule based on a netoffer
>> >>with the option to true/false and maxconnections to a non default value
>> >>-> checked haproxy.cfg on the router
>> >>
>> >>   Diffs
>> >>
>> >>    - api/src/com/cloud/offering/NetworkOffering.java (6c5573e)
>> >>    - api/src/org/apache/cloudstack/api/ApiConstants.java (f85784b)
>> >>    -
>>
>> >> >>api/src/org/apache/cloudstack/api/command/admin/network/CreateNetworkOffe
>> >>ringCmd.java
>> >>    (bdad904)
>> >>    -
>>
>> >> >>api/src/org/apache/cloudstack/api/command/admin/network/UpdateNetworkOffe
>> >>ringCmd.java
>> >>    (c9c4c8a)
>> >>    -
>> >> core/src/com/cloud/agent/api/routing/LoadBalancerConfigCommand.java
>> >>    (ee29290)
>> >>    - core/src/com/cloud/network/HAProxyConfigurator.java (2309125)
>> >>    - core/test/com/cloud/network/HAProxyConfiguratorTest.java
>> >>    (PRE-CREATION)
>> >>    -
>>
>> >> >>engine/components-api/src/com/cloud/configuration/ConfigurationManager.ja
>> >>va
>> >>    (5e1b9b5)
>> >>    -
>>
>> >> >>engine/orchestration/src/org/apache/cloudstack/engine/orchestration/Netwo
>> >>rkOrchestrator.java
>> >>    (53f64fd)
>> >>    - engine/schema/src/com/cloud/offerings/NetworkOfferingVO.java
>> >>    (eefdc94)
>> >>    -
>>
>> >> >>plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/El
>> >>asticLoadBalancerManagerImpl.java
>> >>    (ecd6006)
>> >>    -
>>
>> >> >>plugins/network-elements/internal-loadbalancer/src/org/apache/cloudstack/
>> >>network/lb/InternalLoadBalancerVMManagerImpl.java
>> >>    (587ae99)
>> >>    - server/src/com/cloud/configuration/ConfigurationManagerImpl.java
>> >>    (8a0f7a6)
>> >>    -
>>
>> >> >>server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.ja
>> >>va
>> >>    (7c026a4)
>> >>    - server/test/com/cloud/vpc/MockConfigurationManagerImpl.java
>> >>(c9a0480)
>> >>    -
>>
>> >> >>server/test/org/apache/cloudstack/networkoffering/CreateNetworkOfferingTe
>> >>st.java
>> >>    (1f1fb75)
>> >>    - setup/db/db/schema-420to430.sql (44a884d)
>> >>
>> >> View Diff <https://reviews.apache.org/r/14320/diff/>
>> >>
>>
>