<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Thanks for the explanation. But I am still a little confused about
    the point of the templates. Having two implementations, one simple
    and one less simple, is not simpler than having only one. You still
    need to user the CLI for user, roles, etc.  so having a different
    mechanism for endpoints does not seem simple. With regard to
    performance, won't these endpoint values be changing infrequently
    and so any reasonable caching strategy would give good performance?
    Or am I missing something?<br>
    <br>
     -David<br>
    <br>
    On 3/26/2012 1:39 PM, Dolph Mathews wrote:
    <blockquote
cite="mid:CACgyLQbe3a4-uPM3w50iS-NjZ8s-iixqioMYoVv0RcFQBoi6Dg@mail.gmail.com"
      type="cite">I think I'm to blame (apologies!) for suggesting that
      one driver was preferred over the other (that was my understanding
      a few weeks ago, based on test coverage). However, test coverage
      has since improved and I think people are having good experience
      with the SQL driver.
      <div>
        <br>
      </div>
      <div>The two methods are *not* functionally identical. The
        file-based driver is simple and high-performance, and the
        sql-based driver provides flexibility and API/CLI
        administration.</div>
      <div><br>
      </div>
      <div>I've just proposed a review to clarify each option in the <a
          moz-do-not-send="true"
          href="http://keystone.openstack.org/configuration.html">http://keystone.openstack.org/configuration.html</a>
        docs:</div>
      <div><a moz-do-not-send="true"
          href="https://review.openstack.org/#change,5820">https://review.openstack.org/#change,5820</a></div>
      <div><br>
      </div>
      <div>As well as a separate review to change the default backend to
        SQL, since most users are looking for the CLI management
        commands out of the box:</div>
      <div><a moz-do-not-send="true"
          href="https://review.openstack.org/#change,5821">https://review.openstack.org/#change,5821</a><br>
        <br>
        -Dolph<br>
        <br>
        <div class="gmail_quote">On Mon, Mar 26, 2012 at 8:29 AM, David
          Kranz <span dir="ltr"><<a moz-do-not-send="true"
              href="mailto:david.kranz@qrclab.com">david.kranz@qrclab.com</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0
            .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor="#FFFFFF" text="#000000"> There seems to be an
              unfortunate difference in opinion out there about whether
              the keystone endpoints should be defined using templates
              (devstack) or keystone calls (ubuntu).  I don't know why
              keystone is offering two very different, but seemingly
              functionally identical, ways to do this. Is there a good
              reason? Can this be sorted out so there is only one
              documented way to do this?<span class="HOEnZb"><font
                  color="#888888"><br>
                  <br>
                   -David</font></span>
              <div>
                <div class="h5"><br>
                  <br>
                  On 3/26/2012 7:25 AM, Andiabes wrote:
                  <blockquote type="cite">
                    <div>Can you include your config?</div>
                    <div>The behavior you're describing seems to be
                      consistent with a missing backers configuration
                      ...</div>
                    <div><br>
                    </div>
                    <div>Something like:</div>
                    <div>
                      <pre style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;font:normal normal normal 12px/normal 'Bitstream Vera Sans Mono',Courier,monospace"><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:1em;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;font:inherit;background-color:transparent">
<font face="Helvetica"><span style="font-size:17px;white-space:normal">[identity]</span></font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:1em;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;font:inherit;background-color:transparent">
<font face="Helvetica"><span style="font-size:17px;white-space:normal">driver = keystone.identity.backends.sql.Identity</span></font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:1em;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;font:inherit;background-color:transparent">
<font face="Helvetica"><span>
</span></font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:1em;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;font:inherit;background-color:transparent">
<font face="Helvetica"><span style="font-size:17px;white-space:normal">[catalog]</span></font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:1em;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;font:inherit;background-color:transparent">
<font face="Helvetica"><span style="font-size:17px;white-space:normal">driver = keystone.catalog.backends.sql.Catalog</span></font></div><div>
</div><div>
</div><div>Also, where/how are you installing?</div></pre>
                      <br>
                      On Mar 26, 2012, at 6:56 AM, Mandar Vaze <<a
                        moz-do-not-send="true"
                        href="mailto:mandar.vaze@vertex.co.in"
                        target="_blank">mandar.vaze@vertex.co.in</a>>
                      wrote:<br>
                      <br>
                    </div>
                    <blockquote type="cite">
                      <div>
                        <div>
                          <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">I’m

                              also getting the same error on latest
                              master branch (updated today)</span></p>
                          <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Using

                              setup created by devstack</span></p>
                          <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span></p>
                          <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">-Mandar</span></p>
                          <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span></p>
                          <p class="MsoNormal"><b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span
style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">
                              <a moz-do-not-send="true"
href="mailto:openstack-bounces+mandar.vaze=vertex.co.in@lists.launchpad.net"
                                target="_blank">openstack-bounces+mandar.vaze=vertex.co.in@lists.launchpad.net</a>
                              [<a moz-do-not-send="true"
                                href="mailto:openstack-bounces+mandar.vaze="
                                target="_blank">mailto:openstack-bounces+mandar.vaze=</a><a
                                moz-do-not-send="true"
                                href="mailto:vertex.co.in@lists.launchpad.net"
                                target="_blank">vertex.co.in@lists.launchpad.net</a>]
                              <b>On Behalf Of </b>.?o 0 O??<br>
                              <b>Sent:</b> Monday, March 26, 2012 12:45
                              PM<br>
                              <b>To:</b> Pierre Amadio<br>
                              <b>Cc:</b> openstack<br>
                              <b>Subject:</b> Re: [Openstack] is this a
                              bug in milestone-proposed keystone ?
                              (cannotget endpoint-list, nor create
                              endpoint)</span></p>
                          <p class="MsoNormal"> </p>
                          <p class="MsoNormal">hi,<br>
                            <br>
                            I don't know if it is a bug but I come
                            across the same problem and wondering how to
                            solve it.</p>
                          <div>
                            <div>
                              <p class="MsoNormal"> </p>
                            </div>
                            <div>
                              <p class="MsoNormal"> </p>
                            </div>
                            <div>
                              <div>
                                <p class="MsoNormal"><span>------------------ Original ------------------</span></p>
                              </div>
                              <div>
                                <div>
                                  <p class="MsoNormal"
                                    style="background:#efefef"><b><span
                                        style="font-size:9.0pt">From: </span></b><span
                                      style="font-size:9.0pt"> "Pierre
                                      Amadio"<<a
                                        moz-do-not-send="true"
                                        href="mailto:pierre.amadio@canonical.com"
                                        target="_blank">pierre.amadio@canonical.com</a>>;</span></p>
                                </div>
                                <div>
                                  <p class="MsoNormal"
                                    style="background:#efefef"><b><span
                                        style="font-size:9.0pt">Date: </span></b><span
                                      style="font-size:9.0pt"> Sun, Mar
                                      25, 2012 04:35 AM</span></p>
                                </div>
                                <div>
                                  <p class="MsoNormal"
                                    style="background:#efefef"><b><span
                                        style="font-size:9.0pt">To: </span></b><span
                                      style="font-size:9.0pt"> "openstack"<<a
                                        moz-do-not-send="true"
                                        href="mailto:openstack@lists.launchpad.net"
                                        target="_blank">openstack@lists.launchpad.net</a>>;

                                    </span></p>
                                </div>
                                <div>
                                  <p class="MsoNormal"
                                    style="background:#efefef"><b><span
                                        style="font-size:9.0pt">Subject:
                                      </span></b><span
                                      style="font-size:9.0pt"> [Openstack]

                                      is this a bug in
                                      milestone-proposed keystone ?
                                      (cannotget endpoint-list, nor
                                      create endpoint)</span></p>
                                </div>
                              </div>
                              <div>
                                <p class="MsoNormal"><span style=""> </span></p>
                              </div>
                              <p class="MsoNormal"><span style="">Hi
                                  there !<br>
                                  <br>
                                  I wanted to give a try to the
                                  milestone-proposed branch of keystone
                                  and<br>
                                  got stuck quite fast.<br>
                                  <br>
                                  I am not sure if i hit a bug and
                                  should report it, or if i'm doing<br>
                                  something wrong.<br>
                                  <br>
                                  With previous version of keystone
                                  (read packaged on ubuntu precise), i<br>
                                  was able to create endpoint the
                                  following way once keystone has been<br>
                                  installed:<br>
                                  <br>
                                  1) setting some env variables:<br>
                                  export KEYSTONE_IP=192.168.122.102 #
                                  IP of your keystone API server<br>
                                  export SERVICE_ENDPOINT=<a
                                    moz-do-not-send="true"
                                    href="http://$KEYSTONE_IP:35357/v2.0/"
                                    target="_blank">http://$KEYSTONE_IP:35357/v2.0/</a><br>
                                  export SERVICE_TOKEN=999888777666<br>
                                  export NOVA_PUBLIC_URL="<a
                                    moz-do-not-send="true"
                                    href="http://$NOVA_IP:8774/v1.1/%%28tenant_id%29s"
                                    target="_blank">http://$NOVA_IP:8774/v1.1/%(tenant_id)s</a>"<br>
                                  export NOVA_ADMIN_URL=$NOVA_PUBLIC_URL<br>
                                  export
                                  NOVA_INTERNAL_URL=$NOVA_PUBLIC_URL<br>
                                  <br>
                                  2) creating services:<br>
                                  keystone service-create --name nova
                                  --type compute --description<br>
                                  'OpenStack Compute Service'<br>
                                  <br>
                                  keystone service-create --name swift
                                  --type object-store --description<br>
                                  'OpenStack Storage Service'<br>
                                  <br>
                                  keystone service-create --name glance
                                  --type image --description<br>
                                  'OpenStack Image Service'<br>
                                  <br>
                                  keystone service-create --name
                                  keystone --type identity --description<br>
                                  'OpenStack Identity Service'<br>
                                  <br>
                                  3) creating an endpoint for those
                                  services, starting with the compute<br>
                                  service:<br>
                                  <br>
                                  ID=$(keystone service-list | grep -i
                                  compute | awk '{print $2}')<br>
                                  <br>
                                  <br>
                                  keystone endpoint-create --region
                                  RegionOne --service_id $ID --publicurl<br>
                                  $NOVA_PUBLIC_URL --adminurl
                                  $NOVA_ADMIN_URL --internalurl
                                  $NOVA_INTERNAL_URL<br>
                                  <br>
                                  When i run this command with
                                  milestone-proposed, i experience the
                                  following:<br>
                                  <br>
                                  No handlers could be found for logger
                                  "keystoneclient.client"<br>
                                  The action you have requested has not
                                  been implemented. (HTTP 501)<br>
                                  <br>
                                  <br>
                                  Strangely enough, i experience a
                                  similar error message when running a<br>
                                  simple "keystone endpoint-list"
                                  whereas command such as "keystone<br>
                                  user-list" works all right.<br>
                                  <br>
                                  <br>
                                  here is what i have in the keystone
                                  logs when trying "endpoint-list":<br>
                                  <br>
                                  2012-03-24 20:30:09    DEBUG
                                  [routes.middleware] Matched GET
                                  /endpoints<br>
                                  2012-03-24 20:30:09    DEBUG
                                  [routes.middleware] Route path:<br>
                                  '{path_info:.*}', defaults:
                                  {'controller':<br>
                                  <keystone.contrib.admin_crud.core.CrudExtension

                                  object at 0x2b215d0>}<br>
                                  2012-03-24 20:30:09    DEBUG
                                  [routes.middleware] Match dict:<br>
                                  {'controller':
                                  <keystone.contrib.admin_crud.core.CrudExtension
                                  object at<br>
                                  0x2b215d0>, 'path_info':
                                  '/endpoints'}<br>
                                  2012-03-24 20:30:09    DEBUG
                                  [routes.middleware] Matched GET
                                  /endpoints<br>
                                  2012-03-24 20:30:09    DEBUG
                                  [routes.middleware] Route path:<br>
                                  '/endpoints', defaults: {'action':
                                  u'get_endpoints', 'controller':<br>
                                  <keystone.catalog.core.EndpointController
                                  object at 0x2b21210>}<br>
                                  2012-03-24 20:30:09    DEBUG
                                  [routes.middleware] Match dict:
                                  {'action':<br>
                                  u'get_endpoints', 'controller':<br>
                                  <keystone.catalog.core.EndpointController
                                  object at 0x2b21210>}<br>
                                  2012-03-24 20:30:09    DEBUG
                                  [keystone.common.wsgi] arg_dict: {}<br>
                                  2012-03-24 20:30:09  WARNING
                                  [keystone.common.wsgi] The action you
                                  have<br>
                                  requested has not been implemented.<br>
                                  2012-03-24 20:30:09    DEBUG
                                  [keystone.common.wsgi]
                                  ********************<br>
                                  RESPONSE HEADERS ********************<br>
                                  2012-03-24 20:30:09    DEBUG
                                  [keystone.common.wsgi] Content-Type =<br>
                                  application/json<br>
                                  2012-03-24 20:30:09    DEBUG
                                  [keystone.common.wsgi] Vary =
                                  X-Auth-Token<br>
                                  2012-03-24 20:30:09    DEBUG
                                  [keystone.common.wsgi] Content-Length
                                  = 109<br>
                                  2012-03-24 20:30:09    DEBUG
                                  [keystone.common.wsgi]<br>
                                  2012-03-24 20:30:09    DEBUG
                                  [keystone.common.wsgi]
                                  ********************<br>
                                  RESPONSE BODY ********************<br>
                                  <br>
                                  <br>
                                  I try to add some debug in<br>
                                  keystone.catalog.core.EndpointController.get_endpoints()

                                  method:<br>
                                  <br>
                                      def get_endpoints(self, context):<br>
                                          LOG.debug("PLOP
                                  get_endpoints")<br>
                                          self.assert_admin(context)<br>
                                          LOG.debug("PLOP STILL
                                  HERE")      # <= LAST DEBUG LINE<br>
                                          endpoint_list =
                                  self.catalog_api.list_endpoints(context)<br>
                                          LOG.debug("SO, how does
                                  endpoint_list looks like ?")<br>
                                          for i in endpoint_list:<br>
                                              LOG.debug("PLOP: '%s'",s)<br>
                                          endpoint_refs =
                                  [self.catalog_api.get_endpoint(context,
                                  e)<br>
                                                           for e in
                                  endpoint_list]<br>
                                          LOG.debug("PLOP THIS IS THE
                                  END")<br>
                                          return {'endpoints':
                                  endpoint_refs}<br>
                                  <br>
                                  So, as i do not see anything after
                                  "PLOP STILL HERE", i am assuming<br>
                                  something is wrong in the
                                  catalog_api.list_endpoints() method.<br>
                                  <br>
                                  However, i do not understand exactly
                                  where it is implemented.<br>
                                  catalog_api is a Manager instance,
                                  wich seems to be a subclass of<br>
                                  Manager() defined in
                                  keystone/keystone/common/manager.py
                                  but i am lost<br>
                                  with the wrapping magic that occurs
                                  there.<br>
                                  <br>
                                  So, is this a bug that i should file ?<br>
                                  <br>
                                  <br>
                                  <br>
                                  <br>
                                  <br>
                                  <br>
_______________________________________________<br>
                                  Mailing list: <a
                                    moz-do-not-send="true"
                                    href="https://launchpad.net/"
                                    target="_blank">https://launchpad.net/</a>‾openstack<br>
                                  Post to     : <a
                                    moz-do-not-send="true"
                                    href="mailto:openstack@lists.launchpad.net"
                                    target="_blank">openstack@lists.launchpad.net</a><br>
                                  Unsubscribe : <a
                                    moz-do-not-send="true"
                                    href="https://launchpad.net/"
                                    target="_blank">https://launchpad.net/</a>‾openstack<br>
                                  More help   : <a
                                    moz-do-not-send="true"
                                    href="https://help.launchpad.net/ListHelp"
                                    target="_blank">https://help.launchpad.net/ListHelp</a></span></p>
                            </div>
                          </div>
                        </div>
                      </div>
                    </blockquote>
                    <blockquote type="cite">
                      <div><span>_______________________________________________</span><br>
                        <span>Mailing list: <a moz-do-not-send="true"
                            href="https://launchpad.net/%7Eopenstack"
                            target="_blank">https://launchpad.net/~openstack</a></span><br>
                        <span>Post to     : <a moz-do-not-send="true"
                            href="mailto:openstack@lists.launchpad.net"
                            target="_blank">openstack@lists.launchpad.net</a></span><br>
                        <span>Unsubscribe : <a moz-do-not-send="true"
                            href="https://launchpad.net/%7Eopenstack"
                            target="_blank">https://launchpad.net/~openstack</a></span><br>
                        <span>More help   : <a moz-do-not-send="true"
                            href="https://help.launchpad.net/ListHelp"
                            target="_blank">https://help.launchpad.net/ListHelp</a></span><br>
                      </div>
                    </blockquote>
                    <br>
                    <fieldset></fieldset>
                    <br>
                    <pre>_______________________________________________
Mailing list: <a moz-do-not-send="true" href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a>
Post to     : <a moz-do-not-send="true" href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a>
Unsubscribe : <a moz-do-not-send="true" href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a>
More help   : <a moz-do-not-send="true" href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a>
</pre>
                  </blockquote>
                  <br>
                </div>
              </div>
            </div>
            <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>
            <br>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </body>
</html>