)]}'
{"doc/admin-guide-cloud/orchestration/section_orchestration-stack-domain-users.xml":[{"author":{"_account_id":14947,"name":"Maria Zlatkova","email":"mzlatkova@mirantis.com","username":"mzlatkova"},"change_message_id":"8322a083d3ed2f615cd6bd10c1245720fae49afc","unresolved":false,"context_lines":[{"line_number":22,"context_line":"      \u003c/listitem\u003e"},{"line_number":23,"context_line":"      \u003clistitem\u003e"},{"line_number":24,"context_line":"        \u003cpara\u003eProvide application level status or metrics from inside the"},{"line_number":25,"context_line":"            instance, e.g to allow AutoScaling actions to be performed in"},{"line_number":26,"context_line":"            response to some measure of performance or quality of service."},{"line_number":27,"context_line":"        \u003c/para\u003e"},{"line_number":28,"context_line":"      \u003c/listitem\u003e"}],"source_content_type":"application/xml","patch_set":2,"id":"1a6ced46_4f829353","line":25,"updated":"2015-03-23 09:59:08.000000000","message":"Please don\u0027t use \"e.g.\", see https://wiki.openstack.org/wiki/Documentation/Conventions#Avoid_obscure_non-English_words_and_abbreviations","commit_id":"cd9a7abc18796c2123eafee1fccb4d8851be5ae3"},{"author":{"_account_id":14947,"name":"Maria Zlatkova","email":"mzlatkova@mirantis.com","username":"mzlatkova"},"change_message_id":"8322a083d3ed2f615cd6bd10c1245720fae49afc","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    \u003c/itemizedlist\u003e"},{"line_number":30,"context_line":"   \u003c/para\u003e"},{"line_number":31,"context_line":"   \u003cpara\u003eHeat Orchestration provides API\u0027s which enable all of these things,"},{"line_number":32,"context_line":"       but all of those API\u0027s require some sort of authentication, e.g"},{"line_number":33,"context_line":"       credentials so whatever agent is running on the instance is able to"},{"line_number":34,"context_line":"       access it. The heat-cfntools agents use signed requests, which requires"},{"line_number":35,"context_line":"       an ec2 keypair created via Identity, which is then used to sign requests"}],"source_content_type":"application/xml","patch_set":2,"id":"1a6ced46_042fa2a2","line":32,"updated":"2015-03-23 09:59:08.000000000","message":"same with \"e.g.\"","commit_id":"cd9a7abc18796c2123eafee1fccb4d8851be5ae3"},{"author":{"_account_id":14947,"name":"Maria Zlatkova","email":"mzlatkova@mirantis.com","username":"mzlatkova"},"change_message_id":"8322a083d3ed2f615cd6bd10c1245720fae49afc","unresolved":false,"context_lines":[{"line_number":36,"context_line":"       to the heat cloudformation and cloudwatch compatible API\u0027s, which are"},{"line_number":37,"context_line":"       authenticated by orchestration via signature validation (which uses the"},{"line_number":38,"context_line":"       Identity Keystone ec2tokens extension). Stack domain users allow to"},{"line_number":39,"context_line":"       encapuslate all stack-defined users (i.e. users created as a result of"},{"line_number":40,"context_line":"       things contained in a orchestration template) in a separate domain,"},{"line_number":41,"context_line":"       which is created specifically to contain things related only to"},{"line_number":42,"context_line":"       Heat Orchestration stacks. A user is created which is"}],"source_content_type":"application/xml","patch_set":2,"id":"1a6ced46_646856f6","line":39,"updated":"2015-03-23 09:59:08.000000000","message":"Please don\u0027t use \"i.e.\", see https://wiki.openstack.org/wiki/Documentation/Conventions#Avoid_obscure_non-English_words_and_abbreviations","commit_id":"cd9a7abc18796c2123eafee1fccb4d8851be5ae3"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"4b2830589e5bb072d35863c54a9201feb15d51fc","unresolved":false,"context_lines":[{"line_number":52,"context_line":"     \u003cpara\u003e"},{"line_number":53,"context_line":"       \u003corderedlist\u003e"},{"line_number":54,"context_line":"         \u003clistitem\u003e"},{"line_number":55,"context_line":"           \u003cpara\u003eA special Identity service domain is created, e.g one called"},{"line_number":56,"context_line":"               \u003cliteral\u003eheat\u003c/literal\u003e and the ID is set in the"},{"line_number":57,"context_line":"               \u003cliteral\u003estack_user_domain\u003c/literal\u003e option in"},{"line_number":58,"context_line":"               \u003cfilename\u003eheat.conf\u003c/filename\u003e.\u003c/para\u003e"}],"source_content_type":"application/xml","patch_set":2,"id":"9a80dd14_3f688987","line":55,"updated":"2015-03-19 19:27:30.000000000","message":"don\u0027t use \"e.g.\", see https://wiki.openstack.org/wiki/Documentation/Conventions#Remove_.22e.g..22","commit_id":"cd9a7abc18796c2123eafee1fccb4d8851be5ae3"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"4b2830589e5bb072d35863c54a9201feb15d51fc","unresolved":false,"context_lines":[{"line_number":58,"context_line":"               \u003cfilename\u003eheat.conf\u003c/filename\u003e.\u003c/para\u003e"},{"line_number":59,"context_line":"         \u003c/listitem\u003e"},{"line_number":60,"context_line":"         \u003clistitem\u003e"},{"line_number":61,"context_line":"           \u003cpara\u003eA user with sufficient permissions to create/delete projects"},{"line_number":62,"context_line":"               and users in the \u003cliteral\u003eheat\u003c/literal\u003e domain is created."},{"line_number":63,"context_line":"           \u003c/para\u003e"},{"line_number":64,"context_line":"         \u003c/listitem\u003e"}],"source_content_type":"application/xml","patch_set":2,"id":"9a80dd14_fff8b1c5","line":61,"updated":"2015-03-19 19:27:30.000000000","message":"create and delete","commit_id":"cd9a7abc18796c2123eafee1fccb4d8851be5ae3"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"4b2830589e5bb072d35863c54a9201feb15d51fc","unresolved":false,"context_lines":[{"line_number":63,"context_line":"           \u003c/para\u003e"},{"line_number":64,"context_line":"         \u003c/listitem\u003e"},{"line_number":65,"context_line":"         \u003clistitem\u003e"},{"line_number":66,"context_line":"           \u003cpara\u003eThe username/password for the domain admin user is set in"},{"line_number":67,"context_line":"               \u003cfilename\u003eheat.conf\u003c/filename\u003e"},{"line_number":68,"context_line":"               (\u003cliteral\u003estack_domain_admin\u003c/literal\u003e and"},{"line_number":69,"context_line":"               \u003cliteral\u003estack_domain_admin_password\u003c/literal\u003e). This user"}],"source_content_type":"application/xml","patch_set":2,"id":"9a80dd14_df276d61","line":66,"updated":"2015-03-19 19:27:30.000000000","message":"username and password","commit_id":"cd9a7abc18796c2123eafee1fccb4d8851be5ae3"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"4b2830589e5bb072d35863c54a9201feb15d51fc","unresolved":false,"context_lines":[{"line_number":79,"context_line":"       \u003corderedlist\u003e"},{"line_number":80,"context_line":"           \u003clistitem\u003e"},{"line_number":81,"context_line":"               \u003cpara\u003eCreate the domain.\u003c/para\u003e"},{"line_number":82,"context_line":"               \u003cpara\u003e\u003cliteral\u003e$OS_TOKEN\u003c/literal\u003e refers to a token, e.g the"},{"line_number":83,"context_line":"                   service admin token or some other valid token for a user"},{"line_number":84,"context_line":"                   with sufficient roles to create users and domains."},{"line_number":85,"context_line":"                   \u003cliteral\u003e$KS_ENDPOINT_V3\u003c/literal\u003e refers to the v3 keystone"}],"source_content_type":"application/xml","patch_set":2,"id":"9a80dd14_9fd89554","line":82,"updated":"2015-03-19 19:27:30.000000000","message":"don\u0027t use e.g.","commit_id":"cd9a7abc18796c2123eafee1fccb4d8851be5ae3"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"4b2830589e5bb072d35863c54a9201feb15d51fc","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                   service admin token or some other valid token for a user"},{"line_number":84,"context_line":"                   with sufficient roles to create users and domains."},{"line_number":85,"context_line":"                   \u003cliteral\u003e$KS_ENDPOINT_V3\u003c/literal\u003e refers to the v3 keystone"},{"line_number":86,"context_line":"                   endpoint, e.g"},{"line_number":87,"context_line":"                   \u003cliteral\u003ehttp://\u0026lt;keystone\u0026gt;:5000/v3\u003c/literal\u003e where"},{"line_number":88,"context_line":"                   \u003cemphasis\u003e\u0026lt;keystone\u0026gt;\u003c/emphasis\u003e is the IP address or"},{"line_number":89,"context_line":"                   resolvable name for the keystone service.\u003c/para\u003e"}],"source_content_type":"application/xml","patch_set":2,"id":"9a80dd14_3fede9f0","line":86,"updated":"2015-03-19 19:27:30.000000000","message":"again, no e.g. change it everywhere","commit_id":"cd9a7abc18796c2123eafee1fccb4d8851be5ae3"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"4b2830589e5bb072d35863c54a9201feb15d51fc","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                   with sufficient roles to create users and domains."},{"line_number":85,"context_line":"                   \u003cliteral\u003e$KS_ENDPOINT_V3\u003c/literal\u003e refers to the v3 keystone"},{"line_number":86,"context_line":"                   endpoint, e.g"},{"line_number":87,"context_line":"                   \u003cliteral\u003ehttp://\u0026lt;keystone\u0026gt;:5000/v3\u003c/literal\u003e where"},{"line_number":88,"context_line":"                   \u003cemphasis\u003e\u0026lt;keystone\u0026gt;\u003c/emphasis\u003e is the IP address or"},{"line_number":89,"context_line":"                   resolvable name for the keystone service.\u003c/para\u003e"},{"line_number":90,"context_line":"               \u003cprogramlisting language\u003d\"ini\"\u003eopenstack --os-token $OS_TOKEN --os-url\u003d$KS_ENDPOINT_V3 --os-identity-api-version\u003d3 domain create heat --description \"Owns users and projects created by heat\"\u003c/programlisting\u003e"}],"source_content_type":"application/xml","patch_set":2,"id":"9a80dd14_3fc4095f","line":87,"updated":"2015-03-19 19:27:30.000000000","message":"use replaceable - see https://wiki.openstack.org/wiki/Documentation/Markup_conventions#Commands.2C_parameters.2C_and_variables","commit_id":"cd9a7abc18796c2123eafee1fccb4d8851be5ae3"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"4b2830589e5bb072d35863c54a9201feb15d51fc","unresolved":false,"context_lines":[{"line_number":86,"context_line":"                   endpoint, e.g"},{"line_number":87,"context_line":"                   \u003cliteral\u003ehttp://\u0026lt;keystone\u0026gt;:5000/v3\u003c/literal\u003e where"},{"line_number":88,"context_line":"                   \u003cemphasis\u003e\u0026lt;keystone\u0026gt;\u003c/emphasis\u003e is the IP address or"},{"line_number":89,"context_line":"                   resolvable name for the keystone service.\u003c/para\u003e"},{"line_number":90,"context_line":"               \u003cprogramlisting language\u003d\"ini\"\u003eopenstack --os-token $OS_TOKEN --os-url\u003d$KS_ENDPOINT_V3 --os-identity-api-version\u003d3 domain create heat --description \"Owns users and projects created by heat\"\u003c/programlisting\u003e"},{"line_number":91,"context_line":"               \u003cpara\u003eThe domain ID is returned by this command, and is referred"},{"line_number":92,"context_line":"                   to as $HEAT_DOMAIN_ID below.\u003c/para\u003e"}],"source_content_type":"application/xml","patch_set":2,"id":"9a80dd14_ff943145","line":89,"updated":"2015-03-19 19:27:30.000000000","message":"Identity service","commit_id":"cd9a7abc18796c2123eafee1fccb4d8851be5ae3"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"4b2830589e5bb072d35863c54a9201feb15d51fc","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                   \u003cliteral\u003ehttp://\u0026lt;keystone\u0026gt;:5000/v3\u003c/literal\u003e where"},{"line_number":88,"context_line":"                   \u003cemphasis\u003e\u0026lt;keystone\u0026gt;\u003c/emphasis\u003e is the IP address or"},{"line_number":89,"context_line":"                   resolvable name for the keystone service.\u003c/para\u003e"},{"line_number":90,"context_line":"               \u003cprogramlisting language\u003d\"ini\"\u003eopenstack --os-token $OS_TOKEN --os-url\u003d$KS_ENDPOINT_V3 --os-identity-api-version\u003d3 domain create heat --description \"Owns users and projects created by heat\"\u003c/programlisting\u003e"},{"line_number":91,"context_line":"               \u003cpara\u003eThe domain ID is returned by this command, and is referred"},{"line_number":92,"context_line":"                   to as $HEAT_DOMAIN_ID below.\u003c/para\u003e"},{"line_number":93,"context_line":"               \u003cpara\u003eThe domain ID is returned by this command, and is referred"}],"source_content_type":"application/xml","patch_set":2,"id":"9a80dd14_5f98dd74","line":90,"updated":"2015-03-19 19:27:30.000000000","message":"Use a screen for these everywhere, see https://wiki.openstack.org/wiki/Documentation/Markup_conventions#Command_line_prompt","commit_id":"cd9a7abc18796c2123eafee1fccb4d8851be5ae3"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"4b2830589e5bb072d35863c54a9201feb15d51fc","unresolved":false,"context_lines":[{"line_number":89,"context_line":"                   resolvable name for the keystone service.\u003c/para\u003e"},{"line_number":90,"context_line":"               \u003cprogramlisting language\u003d\"ini\"\u003eopenstack --os-token $OS_TOKEN --os-url\u003d$KS_ENDPOINT_V3 --os-identity-api-version\u003d3 domain create heat --description \"Owns users and projects created by heat\"\u003c/programlisting\u003e"},{"line_number":91,"context_line":"               \u003cpara\u003eThe domain ID is returned by this command, and is referred"},{"line_number":92,"context_line":"                   to as $HEAT_DOMAIN_ID below.\u003c/para\u003e"},{"line_number":93,"context_line":"               \u003cpara\u003eThe domain ID is returned by this command, and is referred"},{"line_number":94,"context_line":"                   to as \u003cliteral\u003e$HEAT_DOMAIN_ID\u003c/literal\u003e below.\u003c/para\u003e"},{"line_number":95,"context_line":"           \u003c/listitem\u003e"}],"source_content_type":"application/xml","patch_set":2,"id":"9a80dd14_bf7e3919","line":92,"updated":"2015-03-19 19:27:30.000000000","message":"\u003cliteral\u003e$...","commit_id":"cd9a7abc18796c2123eafee1fccb4d8851be5ae3"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"4b2830589e5bb072d35863c54a9201feb15d51fc","unresolved":false,"context_lines":[{"line_number":94,"context_line":"                   to as \u003cliteral\u003e$HEAT_DOMAIN_ID\u003c/literal\u003e below.\u003c/para\u003e"},{"line_number":95,"context_line":"           \u003c/listitem\u003e"},{"line_number":96,"context_line":"           \u003clistitem\u003e"},{"line_number":97,"context_line":"               \u003cpara\u003eCreate the user.\u003c/para\u003e"},{"line_number":98,"context_line":"               \u003cprogramlisting language\u003d\"ini\"\u003eopenstack --os-token $OS_TOKEN --os-url\u003d$KS_ENDPOINT_V3 --os-identity-api-version\u003d3 user create --password $PASSWORD --domain $HEAT_DOMAIN_ID heat_domain_admin --description \"Manages users and projects created by heat\" \u003c/programlisting\u003e"},{"line_number":99,"context_line":"               \u003cpara\u003eThe user ID is returned by this command and is referred"},{"line_number":100,"context_line":"                   to as \u003cliteral\u003e$DOMAIN_ADMIN_ID\u003c/literal\u003e below.\u003c/para\u003e"}],"source_content_type":"application/xml","patch_set":2,"id":"9a80dd14_ffa27198","line":97,"updated":"2015-03-19 19:27:30.000000000","message":"Create the user: - please change everywhere","commit_id":"cd9a7abc18796c2123eafee1fccb4d8851be5ae3"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"4b2830589e5bb072d35863c54a9201feb15d51fc","unresolved":false,"context_lines":[{"line_number":104,"context_line":"               \u003cprogramlisting language\u003d\"ini\"\u003eopenstack --os-token $OS_TOKEN --os-url\u003d$KS_ENDPOINT_V3 --os-identity-api-version\u003d3 role add --user $DOMAIN_ADMIN_ID --domain $HEAT_DOMAIN_ID admin\u003c/programlisting\u003e"},{"line_number":105,"context_line":"               \u003cpara\u003eThen you need to add the domain ID, username and password"},{"line_number":106,"context_line":"                   from these steps to \u003cfilename\u003eheat.conf\u003c/filename\u003e:"},{"line_number":107,"context_line":"                 \u003cprogramlisting language\u003d\"ini\"\u003estack_domain_admin_password \u003d \u0026lt;password\u0026gt;"},{"line_number":108,"context_line":"stack_domain_admin \u003d heat_domain_admin"},{"line_number":109,"context_line":"stack_user_domain \u003d \u0026lt;domain id returned from domain create above\u0026gt;\u003c/programlisting\u003e"},{"line_number":110,"context_line":"               \u003c/para\u003e"}],"source_content_type":"application/xml","patch_set":2,"id":"9a80dd14_7fb681dd","line":107,"updated":"2015-03-19 19:27:30.000000000","message":"use replaceable, see the above reference to variables","commit_id":"cd9a7abc18796c2123eafee1fccb4d8851be5ae3"},{"author":{"_account_id":14947,"name":"Maria Zlatkova","email":"mzlatkova@mirantis.com","username":"mzlatkova"},"change_message_id":"44c1f72635a290846f4b0101114065dd55d69b91","unresolved":false,"context_lines":[{"line_number":16,"context_line":"      \u003c/listitem\u003e"},{"line_number":17,"context_line":"      \u003clistitem\u003e"},{"line_number":18,"context_line":"        \u003cpara\u003eDetect signal completion of some action, typically configuration"},{"line_number":19,"context_line":"            of software on a VM after it is booted (because OpenStack Compute "},{"line_number":20,"context_line":"            moves the state of a VM to \"Active\" as soon as it spawns it, not"},{"line_number":21,"context_line":"            when orchestration has fully configured it).\u003c/para\u003e"},{"line_number":22,"context_line":"      \u003c/listitem\u003e"}],"source_content_type":"application/xml","patch_set":3,"id":"1a6ced46_f581374b","line":19,"updated":"2015-03-23 18:17:20.000000000","message":"Please remove whitespaces in lines 19, 34, 35, 37, 44, 55, 57, 83, 86, 88","commit_id":"3fedd9126ff05bbbd76bf37d1305f3c4c02f2545"},{"author":{"_account_id":14947,"name":"Maria Zlatkova","email":"mzlatkova@mirantis.com","username":"mzlatkova"},"change_message_id":"44c1f72635a290846f4b0101114065dd55d69b91","unresolved":false,"context_lines":[{"line_number":145,"context_line":"        \u003c/para\u003e"},{"line_number":146,"context_line":"        \u003cpara\u003eTo clarify that last point, that means there are now two paths"},{"line_number":147,"context_line":"            which can result in retrieval of the same data via the"},{"line_number":148,"context_line":"            Orchestration API, e.g for resource-metadata:\u003c/para\u003e"},{"line_number":149,"context_line":"        \u003cprogramlisting language\u003d\"ini\"\u003eGET v1/​{stack_owner_project_id}​/stacks/​{stack_name}​/​{stack_id}​/resources/​{resource_name}​/metadata\u003c/programlisting\u003e"},{"line_number":150,"context_line":"        \u003cpara\u003eor:\u003c/para\u003e"},{"line_number":151,"context_line":"        \u003cprogramlisting language\u003d\"ini\"\u003eGET v1/​{stack_domain_project_id}​/stacks/​{stack_name}​/​{stack_id}​/resources/​{resource_name}​/metadata\u003c/programlisting\u003e"}],"source_content_type":"application/xml","patch_set":3,"id":"1a6ced46_5555abc4","line":148,"updated":"2015-03-23 18:17:20.000000000","message":"Please don\u0027t use \"e.g.\"","commit_id":"3fedd9126ff05bbbd76bf37d1305f3c4c02f2545"},{"author":{"_account_id":14947,"name":"Maria Zlatkova","email":"mzlatkova@mirantis.com","username":"mzlatkova"},"change_message_id":"44c1f72635a290846f4b0101114065dd55d69b91","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        \u003cpara\u003eor:\u003c/para\u003e"},{"line_number":151,"context_line":"        \u003cprogramlisting language\u003d\"ini\"\u003eGET v1/​{stack_domain_project_id}​/stacks/​{stack_name}​/​{stack_id}​/resources/​{resource_name}​/metadata\u003c/programlisting\u003e"},{"line_number":152,"context_line":"        \u003cpara\u003eThe stack owner would use the former"},{"line_number":153,"context_line":"            (e.g via \u003cliteral\u003eheat resource-metadata {stack_name}"},{"line_number":154,"context_line":"                {resource_name}\u003c/literal\u003e), and any agents in the instance will"},{"line_number":155,"context_line":"            use the latter.\u003c/para\u003e"},{"line_number":156,"context_line":"    \u003c/section\u003e"}],"source_content_type":"application/xml","patch_set":3,"id":"1a6ced46_356f4f94","line":153,"updated":"2015-03-23 18:17:20.000000000","message":"Please don\u0027t use \"e.g.\"","commit_id":"3fedd9126ff05bbbd76bf37d1305f3c4c02f2545"}]}
