Re: [openstack-dev] [Neutron][LBaaS] L7 data types
Hi · I will add HTTP_METHOD to the ‘type’ enum of L7Rule · GT,LT,GE,LE – at this phase I prefer to keep string based ‘compare_type’ and I prefer not to add those number based compare types · FILE_NAME,FILE_TYPE – Those two are a result of the URL fragmentation. Example: http://myserver/something/images/mypic.png . FILE_NAME = mypic FILE_TYPE = png thanks Avishay From: Oleg Bondarev [mailto:obonda...@mirantis.com] Sent: Wednesday, February 19, 2014 9:26 AM To: OpenStack Development Mailing List (not for usage questions) Subject: Re: [openstack-dev] [Neutron][LBaaS] L7 data types Hi folks, please see a few comments inline. On Wed, Feb 19, 2014 at 12:51 AM, Stephen Balukoff mailto:sbaluk...@bluebox.net>> wrote: A couple quick suggestions (additions): Entity: L7Rule o Attribute: type • Possible values: * HTTP_METHOD o Attribute: compare_type • Possible values: * GT (greater than) * LT (less than) * GE (greater than or equal to) * LE (less than or equal to) Will we be doing syntax checking based on the L7Rule type being presented? (eg. if w'ere going to check that HEADER X has a value that is greater than Y, are we going to make sure that "Y" is an integer? Or if we're going to check that the PATH STARTS_WITH Z, are we going to make sure that Z is a non-zero-length string? ) I think we should do these checks on the plugin level (API level doesn't support such checks at the moment). Thanks, Stephen On Tue, Feb 18, 2014 at 3:58 AM, Avishay Balderman mailto:avish...@radware.com>> wrote: Here are the suggested values for the attributes below: • Entity: L7Rule o Attribute: type • Possible values: • HOST_NAME • PATH • FILE_NAME • FILE_TYPE Can somebody please clarify what FILE_NAME and FILE_TYPE mean? Just can't find corresponding matching criterias in haproxy. • HEADER • COOKIE o Attribute: compare_type • Possible values: • EQUAL • CONTAINS • REGEX • STARTS_WITH • ENDS_WITH • Entity:L7VipPolicyAssociation o Attribute:action • Possible values: • POOL (must have pool id) • REDIRECT(must have a url to be used as redirect destination) • REJECT From: Oleg Bondarev [mailto:obonda...@mirantis.com<mailto:obonda...@mirantis.com>] Sent: Monday, February 17, 2014 9:17 AM To: OpenStack Development Mailing List (not for usage questions) Subject: Re: [openstack-dev] [Neutron][LBaaS] L7 data types Hi, I would add another candidate for being a closed set: L7VipPolicyAssociation.action (use_backend, block, etc.) Thanks, Oleg On Sun, Feb 16, 2014 at 3:53 PM, Avishay Balderman mailto:avish...@radware.com>> wrote: (removing extra space from the subject – let email clients apply their filters) From: Avishay Balderman Sent: Sunday, February 16, 2014 9:56 AM To: OpenStack Development Mailing List (not for usage questions) Subject: [openstack-dev] [Neutron][LBaaS] L7 data types Hi There are 2 fields in the L7 model that are candidates for being a closed set (Enum). I would like to hear your opinion. Entity: L7Rule Field : type Description: this field holds the part of the request where we should look for a value Possible values: URL,HEADER,BODY,(?) Entity: L7Rule Field : compare_type Description: The way we compare the value against a given value Possible values: REG_EXP, EQ, GT, LT,EQ_IGNORE_CASE,(?) Note: With REG_EXP we can cover the rest of the values. In general In the L7rule one can express the following (Example): “check if in the value of header named ‘Jack’ starts with X” – if this is true – this rule “returns” true Thanks Avishay ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org<mailto:OpenStack-dev@lists.openstack.org> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org<mailto:OpenStack-dev@lists.openstack.org> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev -- Stephen Balukoff Blue Box Group, LLC (800)613-4305 x807 ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org<mailto:OpenStack-dev@lists.openstack.org> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [Neutron][LBaaS] L7 data types
Hi folks, please see a few comments inline. On Wed, Feb 19, 2014 at 12:51 AM, Stephen Balukoff wrote: > A couple quick suggestions (additions): > > Entity: L7Rule > > o Attribute: type > > § Possible values: > > >- HTTP_METHOD > > o Attribute: compare_type > > § Possible values: > > >- GT (greater than) >- LT (less than) >- GE (greater than or equal to) >- LE (less than or equal to) > > Will we be doing syntax checking based on the L7Rule type being presented? > (eg. if w'ere going to check that HEADER X has a value that is greater > than Y, are we going to make sure that "Y" is an integer? Or if we're going > to check that the PATH STARTS_WITH Z, are we going to make sure that Z is a > non-zero-length string? ) > I think we should do these checks on the plugin level (API level doesn't support such checks at the moment). > > Thanks, > Stephen > > On Tue, Feb 18, 2014 at 3:58 AM, Avishay Balderman > wrote: > >> Here are the suggested values for the attributes below: >> >> · Entity: L7Rule >> >> o Attribute: type >> >> § Possible values: >> >> · HOST_NAME >> >> · PATH >> >> · FILE_NAME >> >> · FILE_TYPE >> > Can somebody please clarify what FILE_NAME and FILE_TYPE mean? Just can't find corresponding matching criterias in haproxy. > · HEADER >> >> · COOKIE >> >> o Attribute: compare_type >> >> § Possible values: >> >> · EQUAL >> >> · CONTAINS >> >> · REGEX >> >> · STARTS_WITH >> >> · ENDS_WITH >> >> · Entity:L7VipPolicyAssociation >> >> o Attribute:action >> >> § Possible values: >> >> · POOL (must have pool id) >> >> · REDIRECT(must have a url to be used as redirect destination) >> >> · REJECT >> >> >> >> >> >> *From:* Oleg Bondarev [mailto:obonda...@mirantis.com] >> *Sent:* Monday, February 17, 2014 9:17 AM >> >> *To:* OpenStack Development Mailing List (not for usage questions) >> *Subject:* Re: [openstack-dev] [Neutron][LBaaS] L7 data types >> >> >> >> Hi, >> >> >> >> I would add another candidate for being a closed set: >> L7VipPolicyAssociation.action (use_backend, block, etc.) >> >> >> >> Thanks, >> >> Oleg >> >> >> >> On Sun, Feb 16, 2014 at 3:53 PM, Avishay Balderman >> wrote: >> >> (removing extra space from the subject - let email clients apply their >> filters) >> >> >> >> *From:* Avishay Balderman >> *Sent:* Sunday, February 16, 2014 9:56 AM >> *To:* OpenStack Development Mailing List (not for usage questions) >> *Subject:* [openstack-dev] [Neutron][LBaaS] L7 data types >> >> >> >> Hi >> >> There are 2 fields in the L7 model that are candidates for being a closed >> set (Enum). >> >> I would like to hear your opinion. >> >> >> >> Entity: L7Rule >> >> Field : type >> >> Description: this field holds the part of the request where we should >> look for a value >> >> Possible values: URL,HEADER,BODY,(?) >> >> >> >> Entity: L7Rule >> >> Field : compare_type >> >> Description: The way we compare the value against a given value >> >> Possible values: REG_EXP, EQ, GT, LT,EQ_IGNORE_CASE,(?) >> >> *Note*: With REG_EXP we can cover the rest of the values. >> >> >> >> In general In the L7rule one can express the following (Example): >> >> "check if in the value of header named 'Jack' starts with X" - if this >> is true - this rule "returns" true >> >> >> >> >> >> Thanks >> >> >> >> Avishay >> >> >> ___ >> OpenStack-dev mailing list >> OpenStack-dev@lists.openstack.org >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >> >> >> >> ___ >> OpenStack-dev mailing list >> OpenStack-dev@lists.openstack.org >> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev >> >> > > > -- > Stephen Balukoff > Blue Box Group, LLC > (800)613-4305 x807 > > ___ > OpenStack-dev mailing list > OpenStack-dev@lists.openstack.org > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [Neutron][LBaaS] L7 data types
Oh! One thing I forgot to mention below: On Sat, Feb 15, 2014 at 11:55 PM, Avishay Balderman wrote: > > Entity: L7Rule > > Field : compare_type > > Description: The way we compare the value against a given value > > Possible values: REG_EXP, EQ, GT, LT,EQ_IGNORE_CASE,(?) > > *Note*: With REG_EXP we can cover the rest of the values. > > > I seem to recall reading in the haproxy manual that regex matches are generally a lot slower than other kinds of matches. So, if you can do a 'path_beg' match, for example, that's a better performing choice over a 'path_reg' match which would accomplish the same thing. Given you have mentioned that 'STARTS_WITH' and 'ENDS_WITH' are listed as compare_types we're enumerating, I guess this has already been taken into account? Blue Box Group, LLC (800)613-4305 x807 ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [Neutron][LBaaS] L7 data types
A couple quick suggestions (additions): Entity: L7Rule o Attribute: type § Possible values: - HTTP_METHOD o Attribute: compare_type § Possible values: - GT (greater than) - LT (less than) - GE (greater than or equal to) - LE (less than or equal to) Will we be doing syntax checking based on the L7Rule type being presented? (eg. if w'ere going to check that HEADER X has a value that is greater than Y, are we going to make sure that "Y" is an integer? Or if we're going to check that the PATH STARTS_WITH Z, are we going to make sure that Z is a non-zero-length string? ) Thanks, Stephen On Tue, Feb 18, 2014 at 3:58 AM, Avishay Balderman wrote: > Here are the suggested values for the attributes below: > > · Entity: L7Rule > > o Attribute: type > > § Possible values: > > · HOST_NAME > > · PATH > > · FILE_NAME > > · FILE_TYPE > > · HEADER > > · COOKIE > > o Attribute: compare_type > > § Possible values: > > · EQUAL > > · CONTAINS > > · REGEX > > · STARTS_WITH > > · ENDS_WITH > > · Entity:L7VipPolicyAssociation > > o Attribute:action > > § Possible values: > > · POOL (must have pool id) > > · REDIRECT(must have a url to be used as redirect destination) > > · REJECT > > > > > > *From:* Oleg Bondarev [mailto:obonda...@mirantis.com] > *Sent:* Monday, February 17, 2014 9:17 AM > > *To:* OpenStack Development Mailing List (not for usage questions) > *Subject:* Re: [openstack-dev] [Neutron][LBaaS] L7 data types > > > > Hi, > > > > I would add another candidate for being a closed set: > L7VipPolicyAssociation.action (use_backend, block, etc.) > > > > Thanks, > > Oleg > > > > On Sun, Feb 16, 2014 at 3:53 PM, Avishay Balderman > wrote: > > (removing extra space from the subject – let email clients apply their > filters) > > > > *From:* Avishay Balderman > *Sent:* Sunday, February 16, 2014 9:56 AM > *To:* OpenStack Development Mailing List (not for usage questions) > *Subject:* [openstack-dev] [Neutron][LBaaS] L7 data types > > > > Hi > > There are 2 fields in the L7 model that are candidates for being a closed > set (Enum). > > I would like to hear your opinion. > > > > Entity: L7Rule > > Field : type > > Description: this field holds the part of the request where we should > look for a value > > Possible values: URL,HEADER,BODY,(?) > > > > Entity: L7Rule > > Field : compare_type > > Description: The way we compare the value against a given value > > Possible values: REG_EXP, EQ, GT, LT,EQ_IGNORE_CASE,(?) > > *Note*: With REG_EXP we can cover the rest of the values. > > > > In general In the L7rule one can express the following (Example): > > “check if in the value of header named ‘Jack’ starts with X” – if this is > true – this rule “returns” true > > > > > > Thanks > > > > Avishay > > > ___ > OpenStack-dev mailing list > OpenStack-dev@lists.openstack.org > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > > > ___ > OpenStack-dev mailing list > OpenStack-dev@lists.openstack.org > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > -- Stephen Balukoff Blue Box Group, LLC (800)613-4305 x807 ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [Neutron][LBaaS] L7 data types
Here are the suggested values for the attributes below: · Entity: L7Rule o Attribute: type § Possible values: · HOST_NAME · PATH · FILE_NAME · FILE_TYPE · HEADER · COOKIE o Attribute: compare_type § Possible values: · EQUAL · CONTAINS · REGEX · STARTS_WITH · ENDS_WITH · Entity:L7VipPolicyAssociation o Attribute:action § Possible values: · POOL (must have pool id) · REDIRECT(must have a url to be used as redirect destination) · REJECT From: Oleg Bondarev [mailto:obonda...@mirantis.com] Sent: Monday, February 17, 2014 9:17 AM To: OpenStack Development Mailing List (not for usage questions) Subject: Re: [openstack-dev] [Neutron][LBaaS] L7 data types Hi, I would add another candidate for being a closed set: L7VipPolicyAssociation.action (use_backend, block, etc.) Thanks, Oleg On Sun, Feb 16, 2014 at 3:53 PM, Avishay Balderman mailto:avish...@radware.com>> wrote: (removing extra space from the subject – let email clients apply their filters) From: Avishay Balderman Sent: Sunday, February 16, 2014 9:56 AM To: OpenStack Development Mailing List (not for usage questions) Subject: [openstack-dev] [Neutron][LBaaS] L7 data types Hi There are 2 fields in the L7 model that are candidates for being a closed set (Enum). I would like to hear your opinion. Entity: L7Rule Field : type Description: this field holds the part of the request where we should look for a value Possible values: URL,HEADER,BODY,(?) Entity: L7Rule Field : compare_type Description: The way we compare the value against a given value Possible values: REG_EXP, EQ, GT, LT,EQ_IGNORE_CASE,(?) Note: With REG_EXP we can cover the rest of the values. In general In the L7rule one can express the following (Example): “check if in the value of header named ‘Jack’ starts with X” – if this is true – this rule “returns” true Thanks Avishay ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org<mailto:OpenStack-dev@lists.openstack.org> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [Neutron][LBaaS] L7 data types
Hi, I would add another candidate for being a closed set: L7VipPolicyAssociation.action (use_backend, block, etc.) Thanks, Oleg On Sun, Feb 16, 2014 at 3:53 PM, Avishay Balderman wrote: > (removing extra space from the subject - let email clients apply their > filters) > > > > *From:* Avishay Balderman > *Sent:* Sunday, February 16, 2014 9:56 AM > *To:* OpenStack Development Mailing List (not for usage questions) > *Subject:* [openstack-dev] [Neutron][LBaaS] L7 data types > > > > Hi > > There are 2 fields in the L7 model that are candidates for being a closed > set (Enum). > > I would like to hear your opinion. > > > > Entity: L7Rule > > Field : type > > Description: this field holds the part of the request where we should > look for a value > > Possible values: URL,HEADER,BODY,(?) > > > > Entity: L7Rule > > Field : compare_type > > Description: The way we compare the value against a given value > > Possible values: REG_EXP, EQ, GT, LT,EQ_IGNORE_CASE,(?) > > *Note*: With REG_EXP we can cover the rest of the values. > > > > In general In the L7rule one can express the following (Example): > > "check if in the value of header named 'Jack' starts with X" - if this is > true - this rule "returns" true > > > > > > Thanks > > > > Avishay > > ___ > OpenStack-dev mailing list > OpenStack-dev@lists.openstack.org > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev > > ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev