<div>( This is significant gap in the current keystone docs, so I'll be ensuring this makes it into the docs ASAP; feedback here is very much appreciated! )</div><div><br></div>There are two driver options for your service catalog - one based on a flat file, and one backed by SQL. The flat file does not support administration commands from the client (e.g. keystone endpoint-create, keystone service-create), hence the HTTP 501 Not Implemented messages.<div>
<br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><div>[catalog]</div></div><div><div>driver = keystone.catalog.backends.templated.TemplatedCatalog</div></div><div><div>template_file = /opt/stack/keystone/etc/default_catalog.templates</div>
</div><div><div><br></div></div><div><div>[catalog]</div></div><div><div>driver = keystone.catalog.backends.sql.Catalog</div></div></blockquote><div><br></div><div>The `template_file` does not need to be defined for the sql.Catalog driver.</div>
<div><br></div><div>If you're installing from source, the templated.TemplatedCatalog is currently the default option (I could see this switching to SQL in the future, however). I believe Ubuntu and Debian packages default to the sql.Catalog.</div>
<div><br></div><div>To build a flat-file service catalog based on an existing diablo deployment: <a href="http://keystone.openstack.org/configuration.html#migrating-your-service-catalog-from-legacy-versions-of-keystone">http://keystone.openstack.org/configuration.html#migrating-your-service-catalog-from-legacy-versions-of-keystone</a></div>
<div><br></div><div>To build a flat-file service catalog from scratch, refer to examples in keystone and devstack:</div><div><a href="https://github.com/openstack/keystone/blob/master/etc/default_catalog.templates">https://github.com/openstack/keystone/blob/master/etc/default_catalog.templates</a></div>
<div><a href="https://github.com/openstack-dev/devstack/blob/master/files/default_catalog.templates">https://github.com/openstack-dev/devstack/blob/master/files/default_catalog.templates</a></div><div><br></div><div>To build your service catalog using SQL, see the built-in help:</div>
<div><br></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div>$ keystone</div><div>$ keystone | grep service</div><div>$ keystone help service-create</div><div>$ keystone help endpoint-create</div></blockquote>
<br>-Dolph<br><div><br></div><div><div class="gmail_quote">2012/3/26 Mandar Vaze <span dir="ltr"><<a href="mailto:mandar.vaze@vertex.co.in">mandar.vaze@vertex.co.in</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">From</span></b><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> and <b>To</b> look identical.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">What should the [catalog] value be changed to ?<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">-Mandar<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></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""> openstack-bounces+mandar.vaze=<a href="mailto:vertex.co.in@lists.launchpad.net" target="_blank">vertex.co.in@lists.launchpad.net</a> [mailto:<a href="mailto:openstack-bounces%2Bmandar.vaze" target="_blank">openstack-bounces+mandar.vaze</a>=<a 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 6:02 PM<br><b>To:</b> Andiabes<br><b>Cc:</b> openstack<br><b>Subject:</b> [Openstack] </span><span lang="ZH-CN" style="font-size:10.0pt">回复:</span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> is this a bug in milestone-proposed keystone ? (cannotget endpoint-list, nor create endpoint)<u></u><u></u></span></p>
<div><div class="h5"><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><b><span style="font-size:9.0pt;color:#7f7f7f">found the solution:</span></b><u></u><u></u></p><p class="MsoNormal"><b><span style="font-size:9.0pt;color:#7f7f7f">in keystone.conf </span></b><u></u><u></u></p>
<p class="MsoNormal"><b><span style="font-size:9.0pt;color:#7f7f7f">you need to change :</span></b><u></u><u></u></p><div><p class="MsoNormal"> [catalog]<br>driver = keystone.catalog.backends.templated.TemplatedCatalog<u></u><u></u></p>
</div><div><p class="MsoNormal">to<span lang="ZH-CN">:</span><u></u><u></u></p></div><div><p class="MsoNormal"> [catalog]<u></u><u></u></p></div><div><p class="MsoNormal">driver = keystone.catalog.backends.templated.TemplatedCatalog<u></u><u></u></p>
</div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><div><div><div><p class="MsoNormal">
<span style="font-size:9.0pt;font-family:"Arial Narrow","sans-serif"">------------------ </span><span lang="ZH-CN" style="font-size:9.0pt">原始邮件</span><span style="font-size:9.0pt;font-family:"Arial Narrow","sans-serif""> ------------------<u></u><u></u></span></p>
</div><div><div><p class="MsoNormal" style="background:#efefef"><b><span lang="ZH-CN" style="font-size:9.0pt">发件人</span></b><b><span style="font-size:9.0pt">:</span></b><span style="font-size:9.0pt"> "Andiabes"<<a href="mailto:andi.abes@gmail.com" target="_blank">andi.abes@gmail.com</a>>;<u></u><u></u></span></p>
</div><div><p class="MsoNormal" style="background:#efefef"><b><span lang="ZH-CN" style="font-size:9.0pt">发送时间</span></b><b><span style="font-size:9.0pt">:</span></b><span style="font-size:9.0pt"> 2012<span lang="ZH-CN">年</span>3<span lang="ZH-CN">月</span>26<span lang="ZH-CN">日</span>(<span lang="ZH-CN">星期一</span>) <span lang="ZH-CN">晚上</span>7:25<u></u><u></u></span></p>
</div><div><p class="MsoNormal" style="background:#efefef"><b><span lang="ZH-CN" style="font-size:9.0pt">收件人</span></b><b><span style="font-size:9.0pt">:</span></b><span style="font-size:9.0pt"> "Mandar Vaze"<<a href="mailto:mandar.vaze@vertex.co.in" target="_blank">mandar.vaze@vertex.co.in</a>>; <u></u><u></u></span></p>
</div><div><p class="MsoNormal" style="background:#efefef"><b><span lang="ZH-CN" style="font-size:9.0pt">抄送</span></b><b><span style="font-size:9.0pt">:</span></b><span style="font-size:9.0pt"> " .<span lang="ZH-CN">。</span>o 0 O<span lang="ZH-CN">泡泡</span> "<<a href="mailto:501640144@qq.com" target="_blank">501640144@qq.com</a>>; "Pierre Amadio"<<a href="mailto:pierre.amadio@canonical.com" target="_blank">pierre.amadio@canonical.com</a>>; "openstack"<<a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a>>; <u></u><u></u></span></p>
</div><div><p class="MsoNormal" style="background:#efefef"><b><span lang="ZH-CN" style="font-size:9.0pt">主题</span></b><b><span style="font-size:9.0pt">:</span></b><span style="font-size:9.0pt"> Re: [Openstack] is this a bug in milestone-proposed keystone ? (cannotget endpoint-list, nor create endpoint)<u></u><u></u></span></p>
</div></div><div><p class="MsoNormal"><span style> <u></u><u></u></span></p></div><div><p class="MsoNormal"><span style>Can you include your config?<u></u><u></u></span></p></div><div><p class="MsoNormal"><span style>The behavior you're describing seems to be consistent with a missing backers configuration ...<u></u><u></u></span></p>
</div><div><p class="MsoNormal"><span style><u></u> <u></u></span></p></div><div><p class="MsoNormal"><span style>Something like:<u></u><u></u></span></p></div><div><div style="border:none;border-left:none windowtext 1.0pt;padding:0in 0in 0in 12.0pt;border-style:initial;border-color:initial">
<pre><span><span style="font-size:13.0pt;font-family:"Helvetica","sans-serif"">[identity]</span></span><span style="font-size:9.0pt;font-family:Courier"><u></u><u></u></span></pre></div><div style="border:none;border-left:none windowtext 1.0pt;padding:0in 0in 0in 12.0pt;border-style:initial;border-color:initial">
<pre><span><span style="font-size:13.0pt;font-family:"Helvetica","sans-serif"">driver = keystone.identity.backends.sql.Identity</span></span><span style="font-size:9.0pt;font-family:Courier"><u></u><u></u></span></pre>
</div><div style="border:none;border-left:none windowtext 1.0pt;padding:0in 0in 0in 12.0pt;border-style:initial;border-color:initial"><pre><span style="font-size:9.0pt;font-family:Courier"><u></u> <u></u></span></pre></div>
<div style="border:none;border-left:none windowtext 1.0pt;padding:0in 0in 0in 12.0pt;border-style:initial;border-color:initial"><pre><span><span style="font-size:13.0pt;font-family:"Helvetica","sans-serif"">[catalog]</span></span><span style="font-size:9.0pt;font-family:Courier"><u></u><u></u></span></pre>
</div><div style="border:none;border-left:none windowtext 1.0pt;padding:0in 0in 0in 12.0pt;border-style:initial;border-color:initial"><pre><span><span style="font-size:13.0pt;font-family:"Helvetica","sans-serif"">driver = keystone.catalog.backends.sql.Catalog</span></span><span style="font-size:9.0pt;font-family:Courier"><u></u><u></u></span></pre>
</div><div><pre><span style="font-size:9.0pt;font-family:Courier;color:#333333"><u></u> <u></u></span></pre></div><div><pre><span style="font-size:9.0pt;font-family:Courier;color:#333333"><u></u> <u></u></span></pre></div>
<div><pre><span style="font-size:9.0pt;font-family:Courier;color:#333333">Also, where/how are you installing?<u></u><u></u></span></pre></div><p class="MsoNormal" style="margin-bottom:12.0pt"><span style><br>On Mar 26, 2012, at 6:56 AM, Mandar Vaze <<a href="mailto:mandar.vaze@vertex.co.in" target="_blank">mandar.vaze@vertex.co.in</a>> wrote:<u></u><u></u></span></p>
</div><blockquote style="margin-top:5.0pt;margin-bottom:5.0pt"><div><p class="MsoNormal"><span style="font-size:11.0pt;color:#1f497d">I<span lang="ZH-CN">’</span>m also getting the same error on latest master branch (updated today)</span><span style><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1f497d">Using setup created by devstack</span><span style><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;color:#1f497d"> </span><span style><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;color:#1f497d">-Mandar</span><span style><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;color:#1f497d"> </span><span style><u></u><u></u></span></p>
<p class="MsoNormal"><b><span style>From:</span></b><span style> <a 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> [mailto:<a href="mailto:openstack-bounces%2Bmandar.vaze" target="_blank">openstack-bounces+mandar.vaze</a>=<a 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)<u></u><u></u></span></p>
<p class="MsoNormal"><span style> <u></u><u></u></span></p><p class="MsoNormal"><span style>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.<u></u><u></u></span></p>
<div><div><p class="MsoNormal"><span style> <u></u><u></u></span></p></div><div><p class="MsoNormal"><span style> <u></u><u></u></span></p></div><div><div><p class="MsoNormal"><span style="font-size:9.0pt">------------------ Original ------------------</span><span style><u></u><u></u></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 href="mailto:pierre.amadio@canonical.com" target="_blank">pierre.amadio@canonical.com</a>>;</span><span style><u></u><u></u></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><span style><u></u><u></u></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 href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a>>; </span><span style><u></u><u></u></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><span style><u></u><u></u></span></p>
</div></div><div><p class="MsoNormal"><span style> <u></u><u></u></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 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 href="http://$NOVA_IP:8774/v1.1/%25(tenant_id)s" 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 href="https://launchpad.net/" target="_blank">https://launchpad.net/</a>?openstack<br>
Post to : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>Unsubscribe : <a href="https://launchpad.net/" target="_blank">https://launchpad.net/</a>?openstack<br>More help : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><u></u><u></u></span></p>
</div></div></div></blockquote><blockquote style="margin-top:5.0pt;margin-bottom:5.0pt"><div><p class="MsoNormal"><span style>_______________________________________________<br>Mailing list: <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to : <a href="mailto:openstack@lists.launchpad.net" target="_blank">openstack@lists.launchpad.net</a><br>Unsubscribe : <a href="https://launchpad.net/%7Eopenstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><u></u><u></u></span></p></div></blockquote></div></div></div></div></div></div><br>_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
<br></blockquote></div><br></div>