)]}'
{"doc/src/docbkx/openstack-identity-service-starter/gettingstartedkeystone.xml":[{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"ad512baf5eee15af08afc08e634b066af358b8cc","unresolved":false,"context_lines":[{"line_number":128,"context_line":"          again this time specifying the tenant they want to authenticate against"},{"line_number":129,"context_line":"          and they get a token that is scoped to that tenant. That token gives them the necessary"},{"line_number":130,"context_line":"          rights to perform operations on that tenant (like create a VM under that tenant in Nova)."},{"line_number":131,"context_line":"          Authenticating against the tenant also returns a service catalog"},{"line_number":132,"context_line":"          which has a list of all the endpoints the client can go to to manage resources"},{"line_number":133,"context_line":"          under that tenant. The client then picks an endpoint (in the diagram, they choose the nova endpoint)"},{"line_number":134,"context_line":"          and perform operations (like create instance to create a VM)."}],"source_content_type":"application/xml","patch_set":2,"id":"AAAACn%2F%2F9JI%3D","line":131,"updated":"2011-11-21 15:49:53.000000000","message":"For this audience especially, it is important to use Keystone to refer to the project and Identity Service to refer to the service. Same for Nova and Compute. See http://docs.openstack.org/diablo/openstack-identity/admin/content/quick-guide-to-getting-started-with-keystone.html#comment-360121712.","commit_id":"eb4fbcc2135630d091d22f2c30630d1c335194a9"},{"author":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"change_message_id":"fe99f9f8e8c857b48808bcf9e5fde8ddd98bf25f","unresolved":false,"context_lines":[{"line_number":128,"context_line":"          again this time specifying the tenant they want to authenticate against"},{"line_number":129,"context_line":"          and they get a token that is scoped to that tenant. That token gives them the necessary"},{"line_number":130,"context_line":"          rights to perform operations on that tenant (like create a VM under that tenant in Nova)."},{"line_number":131,"context_line":"          Authenticating against the tenant also returns a service catalog"},{"line_number":132,"context_line":"          which has a list of all the endpoints the client can go to to manage resources"},{"line_number":133,"context_line":"          under that tenant. The client then picks an endpoint (in the diagram, they choose the nova endpoint)"},{"line_number":134,"context_line":"          and perform operations (like create instance to create a VM)."}],"source_content_type":"application/xml","patch_set":2,"id":"AAAACn%2F%2F8x0%3D","line":131,"in_reply_to":"AAAACn%2F%2F9JI%3D","updated":"2011-11-22 23:53:20.000000000","message":"Tried to fix this, but it doesn\u0027t work in all cases. I might have to try to review again and set the terms from the beginning...","commit_id":"eb4fbcc2135630d091d22f2c30630d1c335194a9"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"ad512baf5eee15af08afc08e634b066af358b8cc","unresolved":false,"context_lines":[{"line_number":146,"context_line":"          \u003cpara\u003eThis shows a similar flow to the one above but with a shortcut. In this"},{"line_number":147,"context_line":"          case the client knows their tenant and goes ahead and gets a scoped token"},{"line_number":148,"context_line":"          in the first step and then calls nova right after to perform their operations."},{"line_number":149,"context_line":"          This is a common use case since many clients may already know their tenent Id or Name.\u003c/para\u003e"},{"line_number":150,"context_line":"          \u003cfigure\u003e\u003cmediaobject\u003e\u003cimageobject\u003e"},{"line_number":151,"context_line":"            \u003cimagedata fileref\u003d\"figures/use_case_2.png\" /\u003e"},{"line_number":152,"context_line":"            \u003c/imageobject\u003e\u003c/mediaobject\u003e"}],"source_content_type":"application/xml","patch_set":2,"id":"AAAACn%2F%2F9JE%3D","line":149,"updated":"2011-11-21 15:49:53.000000000","message":"tenent \u003e tenant","commit_id":"eb4fbcc2135630d091d22f2c30630d1c335194a9"},{"author":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"change_message_id":"fe99f9f8e8c857b48808bcf9e5fde8ddd98bf25f","unresolved":false,"context_lines":[{"line_number":146,"context_line":"          \u003cpara\u003eThis shows a similar flow to the one above but with a shortcut. In this"},{"line_number":147,"context_line":"          case the client knows their tenant and goes ahead and gets a scoped token"},{"line_number":148,"context_line":"          in the first step and then calls nova right after to perform their operations."},{"line_number":149,"context_line":"          This is a common use case since many clients may already know their tenent Id or Name.\u003c/para\u003e"},{"line_number":150,"context_line":"          \u003cfigure\u003e\u003cmediaobject\u003e\u003cimageobject\u003e"},{"line_number":151,"context_line":"            \u003cimagedata fileref\u003d\"figures/use_case_2.png\" /\u003e"},{"line_number":152,"context_line":"            \u003c/imageobject\u003e\u003c/mediaobject\u003e"}],"source_content_type":"application/xml","patch_set":2,"id":"AAAACn%2F%2F8x4%3D","line":149,"in_reply_to":"AAAACn%2F%2F9JE%3D","updated":"2011-11-22 23:53:20.000000000","message":"Done","commit_id":"eb4fbcc2135630d091d22f2c30630d1c335194a9"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"ad512baf5eee15af08afc08e634b066af358b8cc","unresolved":false,"context_lines":[{"line_number":204,"context_line":"          \u003clistitem\u003e\u003cpara\u003eA real life example, for illustration only, would be you showing up"},{"line_number":205,"context_line":"          and presenting a driver\u0027s license with a picture of you. The person"},{"line_number":206,"context_line":"          behind the desk can then \u0027authenticate\u0027 you and verify you are who you"},{"line_number":207,"context_line":"          say you are. Keystone performs effectively the same operation\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":208,"context_line":"        \u003c/itemizedlist\u003e"},{"line_number":209,"context_line":"      \u003c/para\u003e\u003c/listitem\u003e"},{"line_number":210,"context_line":"    \u003c/varlistentry\u003e"}],"source_content_type":"application/xml","patch_set":2,"id":"AAAACn%2F%2F9JA%3D","line":207,"updated":"2011-11-21 15:49:53.000000000","message":"missing period","commit_id":"eb4fbcc2135630d091d22f2c30630d1c335194a9"},{"author":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"change_message_id":"fe99f9f8e8c857b48808bcf9e5fde8ddd98bf25f","unresolved":false,"context_lines":[{"line_number":204,"context_line":"          \u003clistitem\u003e\u003cpara\u003eA real life example, for illustration only, would be you showing up"},{"line_number":205,"context_line":"          and presenting a driver\u0027s license with a picture of you. The person"},{"line_number":206,"context_line":"          behind the desk can then \u0027authenticate\u0027 you and verify you are who you"},{"line_number":207,"context_line":"          say you are. Keystone performs effectively the same operation\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":208,"context_line":"        \u003c/itemizedlist\u003e"},{"line_number":209,"context_line":"      \u003c/para\u003e\u003c/listitem\u003e"},{"line_number":210,"context_line":"    \u003c/varlistentry\u003e"}],"source_content_type":"application/xml","patch_set":2,"id":"AAAACn%2F%2F8xw%3D","line":207,"in_reply_to":"AAAACn%2F%2F9JA%3D","updated":"2011-11-22 23:53:20.000000000","message":"Done","commit_id":"eb4fbcc2135630d091d22f2c30630d1c335194a9"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"ad512baf5eee15af08afc08e634b066af358b8cc","unresolved":false,"context_lines":[{"line_number":521,"context_line":" \u003cpara\u003eRetrieves version, full API url, pdf doc link, and wadl link:\u003c/para\u003e"},{"line_number":522,"context_line":" "},{"line_number":523,"context_line":" \u003cscreen\u003e$\u003e curl http://0.0.0.0:35357\u003c/screen\u003e"},{"line_number":524,"context_line":" "},{"line_number":525,"context_line":" \u003cpara\u003eto get details on a specific version:\u003c/para\u003e"},{"line_number":526,"context_line":" "},{"line_number":527,"context_line":" \u003cscreen\u003e$\u003e curl http://0.0.0.0:35357/v2.0/\u003c/screen\u003e"}],"source_content_type":"application/xml","patch_set":2,"id":"AAAACn%2F%2F9I8%3D","line":524,"updated":"2011-11-21 15:49:53.000000000","message":"This command doesn\u0027t work with my OpenStack installation, an RCB Vagrant all-in-one for diablo5 on VirtualBox. I get \"message\": \"Unhandled error\", \"code\": \"500\", \"details\": \"Template u\u0027/usr/keystone/content/service/version.json.tpl\u0027 not found at line 0 column 0\"}\n\nWhen does this change happen?","commit_id":"eb4fbcc2135630d091d22f2c30630d1c335194a9"},{"author":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"change_message_id":"fe99f9f8e8c857b48808bcf9e5fde8ddd98bf25f","unresolved":false,"context_lines":[{"line_number":521,"context_line":" \u003cpara\u003eRetrieves version, full API url, pdf doc link, and wadl link:\u003c/para\u003e"},{"line_number":522,"context_line":" "},{"line_number":523,"context_line":" \u003cscreen\u003e$\u003e curl http://0.0.0.0:35357\u003c/screen\u003e"},{"line_number":524,"context_line":" "},{"line_number":525,"context_line":" \u003cpara\u003eto get details on a specific version:\u003c/para\u003e"},{"line_number":526,"context_line":" "},{"line_number":527,"context_line":" \u003cscreen\u003e$\u003e curl http://0.0.0.0:35357/v2.0/\u003c/screen\u003e"}],"source_content_type":"application/xml","patch_set":2,"id":"AAAACn%2F%2F8xs%3D","line":524,"in_reply_to":"AAAACn%2F%2F9I8%3D","updated":"2011-11-22 23:53:20.000000000","message":"It works in trunk and diablo/stable. Is there a reason you are testing against the RCB build? I\u0027m not aware of that being a publicly available build or that we need to be testing against it.","commit_id":"eb4fbcc2135630d091d22f2c30630d1c335194a9"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"ad512baf5eee15af08afc08e634b066af358b8cc","unresolved":false,"context_lines":[{"line_number":531,"context_line":" \u003cpara\u003eTo retrieve the token and expiration date for a user:\u003c/para\u003e"},{"line_number":532,"context_line":" "},{"line_number":533,"context_line":" \u003cscreen\u003e$\u003e curl -d \u0027{\"auth\":{\"passwordCredentials\":{\"username\": \"MyAdmin\", \"password\": \"P@ssw0rd\"}}}\u0027 -H \"Content-type: application/json\" http://localhost:5000/v2.0/tokens\u003c/screen\u003e"},{"line_number":534,"context_line":" "},{"line_number":535,"context_line":" \u003cpara\u003eThis will return something like:\u003c/para\u003e"},{"line_number":536,"context_line":" "},{"line_number":537,"context_line":" \u003cscreen\u003e$\u003e {\"access\": {\"token\": {\"expires\": \"2011-08-10T17:45:22.838440\", \"id\": \"0eed0ced-4667-4221-a0b2-24c91f242b0b\"}}}\u003c/screen\u003e"}],"source_content_type":"application/xml","patch_set":2,"id":"AAAACn%2F%2F9I0%3D","line":534,"updated":"2011-11-21 15:49:53.000000000","message":"Also in my OpenStack installation, I have to drop the \"auth\": portion. When does this change occur (at which release/date/etc.)?","commit_id":"eb4fbcc2135630d091d22f2c30630d1c335194a9"},{"author":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"change_message_id":"fe99f9f8e8c857b48808bcf9e5fde8ddd98bf25f","unresolved":false,"context_lines":[{"line_number":531,"context_line":" \u003cpara\u003eTo retrieve the token and expiration date for a user:\u003c/para\u003e"},{"line_number":532,"context_line":" "},{"line_number":533,"context_line":" \u003cscreen\u003e$\u003e curl -d \u0027{\"auth\":{\"passwordCredentials\":{\"username\": \"MyAdmin\", \"password\": \"P@ssw0rd\"}}}\u0027 -H \"Content-type: application/json\" http://localhost:5000/v2.0/tokens\u003c/screen\u003e"},{"line_number":534,"context_line":" "},{"line_number":535,"context_line":" \u003cpara\u003eThis will return something like:\u003c/para\u003e"},{"line_number":536,"context_line":" "},{"line_number":537,"context_line":" \u003cscreen\u003e$\u003e {\"access\": {\"token\": {\"expires\": \"2011-08-10T17:45:22.838440\", \"id\": \"0eed0ced-4667-4221-a0b2-24c91f242b0b\"}}}\u003c/screen\u003e"}],"source_content_type":"application/xml","patch_set":2,"id":"AAAACn%2F%2F8xo%3D","line":534,"in_reply_to":"AAAACn%2F%2F9I0%3D","updated":"2011-11-22 23:53:20.000000000","message":"Sounds like you have an old Keystone build. Where did you get it from?","commit_id":"eb4fbcc2135630d091d22f2c30630d1c335194a9"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"a89ee4f3a3c10abac4e399b9f1094689e2b29bb0","unresolved":false,"context_lines":[{"line_number":122,"context_line":"      \u003corderedlist\u003e"},{"line_number":123,"context_line":"        \u003clistitem\u003e"},{"line_number":124,"context_line":"          \u003cpara\u003eHere is an example of the default authentication sequence. The flow starts with the"},{"line_number":125,"context_line":"          client knowing only their credentials and the URL to Keystone. The client"},{"line_number":126,"context_line":"          sends their credentials to Keystone and get back a default token. That default token"},{"line_number":127,"context_line":"          is then used to get a list of tenants the user has access to. The use then authenticates"},{"line_number":128,"context_line":"          again this time specifying the tenant they want to authenticate against"}],"source_content_type":"application/xml","patch_set":3,"id":"AAAACn%2F%2F8xI%3D","line":125,"updated":"2011-11-23 01:25:50.000000000","message":"I meant for you to search and replace Keystone with Identity Service when you mean the service and not the project name. When you mean the service named keystone you could use the lower case but in these cases I think you want to say \"the Identity Service.\" Not crucial and I\u0027ll still push it through but we need to avoid confusion.","commit_id":"7686400ddb70d352bf0babe6e91a727841d4c4d8"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"a89ee4f3a3c10abac4e399b9f1094689e2b29bb0","unresolved":false,"context_lines":[{"line_number":154,"context_line":"        \u003c/listitem\u003e"},{"line_number":155,"context_line":"        \u003clistitem\u003e"},{"line_number":156,"context_line":"          \u003cpara\u003eThis third sequence is slightly different. In this situation, the client knows the URL"},{"line_number":157,"context_line":"          for Nova, but not necessarily what authentication protocols are supported or the Keystone URL."},{"line_number":158,"context_line":"          The flow is a lot like how browsers negotiate with web servers. They client sends an"},{"line_number":159,"context_line":"          unauthenticated call to Nova and Nova responds with a 401 listing the supported protocols in a list of"},{"line_number":160,"context_line":"          WWW-Authenticate headers. If Basic Auth is supported, this would be returned:\u003c/para\u003e"}],"source_content_type":"application/xml","patch_set":3,"id":"AAAACn%2F%2F8xE%3D","line":157,"updated":"2011-11-23 01:25:50.000000000","message":"Same comment for Nova, use it only when you mean the project named Nova, otherwise use OpenStack Compute.","commit_id":"7686400ddb70d352bf0babe6e91a727841d4c4d8"},{"author":{"_account_id":964,"name":"Anne Gentle","email":"annegentle@justwriteclick.com","username":"annegentle"},"change_message_id":"a89ee4f3a3c10abac4e399b9f1094689e2b29bb0","unresolved":false,"context_lines":[{"line_number":203,"context_line":"          \u003clistitem\u003e\u003cpara\u003eA real life example, for illustration only, would be you showing up"},{"line_number":204,"context_line":"          and presenting a driver\u0027s license with a picture of you. The person"},{"line_number":205,"context_line":"          behind the desk can then \u0027authenticate\u0027 you and verify you are who you"},{"line_number":206,"context_line":"          say you are. Keystone performs effectively the same operation.\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":207,"context_line":"        \u003c/itemizedlist\u003e"},{"line_number":208,"context_line":"      \u003c/para\u003e\u003c/listitem\u003e"},{"line_number":209,"context_line":"    \u003c/varlistentry\u003e"}],"source_content_type":"application/xml","patch_set":3,"id":"AAAACn%2F%2F8xA%3D","line":206,"updated":"2011-11-23 01:25:50.000000000","message":"The OpenStack Identity Service rather than Keystone.","commit_id":"7686400ddb70d352bf0babe6e91a727841d4c4d8"}]}
