<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">El 11/07/12 19:23, Jorge Williams
      escribió:<br>
    </div>
    <blockquote
      cite="mid:3216DB1F-48BF-4433-8D99-86DD0413C0EF@rackspace.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=ISO-8859-1">
      <div>More info on the Repose rate limiter here:</div>
      <div><br>
      </div>
      <div><a moz-do-not-send="true"
          href="http://wiki.openrepose.org/display/REPOSE/Rate+Limiting+Filter">http://wiki.openrepose.org/display/REPOSE/Rate+Limiting+Filter</a></div>
      <div><br>
      </div>
      <div>The rate limiter has the concept of limit groups -- you can
        specify rate limits for a particular group -- then introspect
        the request to see which group applies.  Typically a user can be
        placed in a particular group etc.  When rate limiting keystone,
        you might want to rate limit authentication attempts.  The issue
        there is that the user has not gone through an auth process so
        you can't necessarily ID the user. We use the concept of
        quality, where different middle ware components take a guess
        about what limit group to use.  This allows the rate limiter to
        rate limit by say IP address, data in the URI, or the content of
        the message etc.</div>
      <div><br>
      </div>
      <div>See:  <a moz-do-not-send="true"
          href="http://wiki.openrepose.org/display/REPOSE/Header+Value+Quality">http://wiki.openrepose.org/display/REPOSE/Header+Value+Quality</a></div>
      <div>And:   <a moz-do-not-send="true"
          href="http://wiki.openrepose.org/display/REPOSE/Identity+Filters">
          http://wiki.openrepose.org/display/REPOSE/Identity+Filters</a></div>
      <div><br>
      </div>
      <div>Sorry, our docs are a little sparse.</div>
      <div><br>
      </div>
      <div>-jOrGe W.</div>
      <div><br>
      </div>
      <br>
      <div>
        <div>On Jul 11, 2012, at 10:56 AM, Dolph Mathews wrote:</div>
        <br class="Apple-interchange-newline">
        <blockquote type="cite">REPOSE would be worth taking a look at,
          as well (includes rate limiting):
          <div><br>
          </div>
          <div>  <a moz-do-not-send="true"
              href="https://github.com/rackspace/repose">https://github.com/rackspace/repose</a></div>
          <div>  <a moz-do-not-send="true"
              href="http://openrepose.org/documentation.html">http://openrepose.org/documentation.html</a><br>
            <div>
              <div><br>
              </div>
              <div>-Dolph<br>
              </div>
            </div>
          </div>
          <br>
          <div class="gmail_quote">On Wed, Jul 11, 2012 at 9:19 AM,
            Kevin L. Mitchell <span dir="ltr">
              <<a moz-do-not-send="true"
                href="mailto:kevin.mitchell@rackspace.com"
                target="_blank">kevin.mitchell@rackspace.com</a>></span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div class="im">On Wed, 2012-07-11 at 01:50 +0200, Rafael
                Durán Castañeda wrote:<br>
                > I'm working on a blueprint [1] and implementation
                [2] doing rate limit<br>
                > middleware for Keystone; after discussing it at
                keystone's meeting<br>
                > today I was suggested to ask for some feedback from
                the community.<br>
                <br>
              </div>
              Have you taken a look at Turnstile and the related
              integration package,<br>
              nova_limits?  Unfortunately, trunk Turnstile doesn't
              support<br>
              multiprocess, but I intend to address that as soon as job<br>
              responsibilities permit.<br>
              <br>
              URLs:<br>
              <br>
                    * <a moz-do-not-send="true"
                href="http://pypi.python.org/pypi/turnstile"
                target="_blank">http://pypi.python.org/pypi/turnstile</a><br>
                    * <a moz-do-not-send="true"
                href="http://pypi.python.org/pypi/nova_limits"
                target="_blank">http://pypi.python.org/pypi/nova_limits</a><br>
                    * <a moz-do-not-send="true"
                href="https://github.com/klmitch/turnstile"
                target="_blank">https://github.com/klmitch/turnstile</a><br>
                    * <a moz-do-not-send="true"
                href="https://github.com/klmitch/nova_limits"
                target="_blank">https://github.com/klmitch/nova_limits</a><br>
              <span class="HOEnZb"><font color="#888888">--<br>
                  Kevin L. Mitchell <<a moz-do-not-send="true"
                    href="mailto:kevin.mitchell@rackspace.com">kevin.mitchell@rackspace.com</a>><br>
                </font></span>
              <div class="HOEnZb">
                <div class="h5"><br>
                  <br>
                  _______________________________________________<br>
                  Mailing list: <a moz-do-not-send="true"
                    href="https://launchpad.net/%7Eopenstack"
                    target="_blank">https://launchpad.net/~openstack</a><br>
                  Post to     : <a moz-do-not-send="true"
                    href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
                  Unsubscribe : <a moz-do-not-send="true"
                    href="https://launchpad.net/%7Eopenstack"
                    target="_blank">https://launchpad.net/~openstack</a><br>
                  More help   : <a moz-do-not-send="true"
                    href="https://help.launchpad.net/ListHelp"
                    target="_blank">https://help.launchpad.net/ListHelp</a><br>
                </div>
              </div>
            </blockquote>
          </div>
          <br>
          _______________________________________________<br>
          Mailing list: <a moz-do-not-send="true"
            href="https://launchpad.net/%7Eopenstack">https://launchpad.net/~openstack</a><br>
          Post to     : <a moz-do-not-send="true"
            href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
          Unsubscribe : <a moz-do-not-send="true"
            href="https://launchpad.net/%7Eopenstack">https://launchpad.net/~openstack</a><br>
          More help   : <a moz-do-not-send="true"
            href="https://help.launchpad.net/ListHelp">https://help.launchpad.net/ListHelp</a><br>
        </blockquote>
      </div>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Mailing list: <a class="moz-txt-link-freetext" href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a>
Post to     : <a class="moz-txt-link-abbreviated" href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a>
Unsubscribe : <a class="moz-txt-link-freetext" href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a>
More help   : <a class="moz-txt-link-freetext" href="https://help.launchpad.net/ListHelp">https://help.launchpad.net/ListHelp</a>
</pre>
    </blockquote>
    Thank you guys for the info, I didn't know about some of the
    projects. However writing my "on-house" own stuff is not what I was
    considering but adding a middleware into Keystone, nothing fancy but
    extensible so it covers at least most basic use cases, pretty much
    like nova middleware. So , would you like to see something like that
    into keystone or you don't?<br>
    <br>
  </body>
</html>