<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        mso-fareast-language:EN-US;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";
        mso-fareast-language:EN-US;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="FR-CA" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US">Hi guys,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">                It appears that in Icehouse (well in my setup and probably the setup of some other guys too) the catalog won’t be returned when the keystone v3 api is being used….<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">What am I missing?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[root@labctrl ~]# keystone catalog<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">'NoneType' object has no attribute 'has_service_catalog'<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal">Catalog:<o:p></o:p></p>
<p class="MsoNormal">catalog.RegionOne.identity.publicURL = http://IP:$(public_port)s/v3<o:p></o:p></p>
<p class="MsoNormal">catalog.RegionOne.identity.adminURL = http://IP:$(admin_port)s/v3<o:p></o:p></p>
<p class="MsoNormal">catalog.RegionOne.identity.internalURL = http://IP:$(public_port)s/v3<o:p></o:p></p>
<p class="MsoNormal">catalog.RegionOne.identity.name = Identity Service<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Keystone-paste.ini<o:p></o:p></p>
<p class="MsoNormal">[pipeline:api_v3]<o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">pipeline = sizelimit url_normalize build_auth_context token_auth admin_token_auth xml_body_v3 json_body ec2_extension_v3 s3_extension simple_cert_extension service_v3<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Dave<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-language:FR-CA">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-language:FR-CA"> David
 Hill <br>
<b>Sent:</b> 25-Aug-14 4:11 PM<br>
<b>To:</b> openstack<br>
<b>Subject:</b> Re: [Openstack] Heat: 2014.1.2-0 vs Keystone<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Hi guys,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">This is what heat-engine gets back :<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">RESP BODY: {"token": {"methods": ["token"], "roles": [{"id": "59bd5c58fe344eeab3bc3443b82155a0", "name": "Member"}, {"id": "9fe2ff9ee4384b1894a90878d3e92bab", "name": "_member_"}, {"id": "c119300b61bb4bfeafdf9ccc8ea3efae",
 "name": "Admin"}, {"id": "e80ca12406714be799fc9066d5978dbb", "name": "Owner"}], "expires_at": "2014-08-26T20:07:11.000000Z", "project": {"domain": {"id": "default", "name": "Default"}, "id": "85bcc32e66b54c8bb52f28cb58319758", "name": "monitoring"}, "catalog":
 {}, "extras": {}, "user": {"domain": {"id": "default", "name": "Default"}, "id": "ccba454033204a7ba96b67ddaaacf00a", "name": "monitoring"}, "issued_at": "2014-08-25T20:07:12.589937Z"}}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">_send_request /usr/lib/python2.6/site-packages/keystoneclient/session.py:297<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Notice the catalog”: {} ?  I’m not sure but… shouldn’t contain the actual catalog?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Dave<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-language:FR-CA">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-language:FR-CA"> David
 Hill <br>
<b>Sent:</b> 25-Aug-14 4:41 AM<br>
<b>To:</b> 'openstack'<br>
<b>Subject:</b> Heat: 2014.1.2-0 vs Keystone<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US">Hi guys,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">      I’m trying to get Heat to work … but everytime I try to create a stack, the engine will fail at getting the catalog.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Since everything is working fine (ceilometer,nova,cinder,glance), am I forgetting something?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">StackValidationFailed_Remote: Property error : WikiDatabase: ImageId The service catalog is empty.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Here is the catalog:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.identity.publicURL = <a href="http://IP:$(public_port)s/v2.0">
http://IP:$(public_port)s/v2.0</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.identity.adminURL = <a href="http://IP:$(admin_port)s/v2.0">
http://IP:$(admin_port)s/v2.0</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.identity.internalURL = <a href="http://IP:$(public_port)s/v2.0">
http://IP:$(public_port)s/v2.0</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.identity.name = Identity Service<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.compute.publicURL = <a href="http://IP:8774/v2/$(tenant_id)s">
http://IP:8774/v2/$(tenant_id)s</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.compute.adminURL = <a href="http://IP:8774/v2/$(tenant_id)s">
http://IP:8774/v2/$(tenant_id)s</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.compute.internalURL = <a href="http://IP:8774/v2/$(tenant_id)s">
http://IP:8774/v2/$(tenant_id)s</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.compute.name = Compute Service<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.volume.publicURL = <a href="http://IP:8776/v1/$(tenant_id)s">
http://IP:8776/v1/$(tenant_id)s</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.volume.adminURL = <a href="http://IP:8776/v1/$(tenant_id)s">
http://IP:8776/v1/$(tenant_id)s</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.volume.internalURL = <a href="http://IP:8776/v1/$(tenant_id)s">
http://IP:8776/v1/$(tenant_id)s</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.volume.name = Volume Service<o:p></o:p></span></p>
<p class="MsoNormal">catalog.RegionOne.ec2.publicURL = <a href="http://IP:8773/services/Cloud">
http://IP:8773/services/Cloud</a><o:p></o:p></p>
<p class="MsoNormal">catalog.RegionOne.ec2.adminURL = <a href="http://IP:8773/services/Admin">
http://IP:8773/services/Admin</a><o:p></o:p></p>
<p class="MsoNormal">catalog.RegionOne.ec2.internalURL = <a href="http://IP:8773/services/Cloud">
http://IP:8773/services/Cloud</a><o:p></o:p></p>
<p class="MsoNormal">catalog.RegionOne.ec2.name = EC2 Service<o:p></o:p></p>
<p class="MsoNormal">catalog.RegionOne.image.publicURL = <a href="http://IP:9292/">
http://IP:9292/</a><o:p></o:p></p>
<p class="MsoNormal">catalog.RegionOne.image.adminURL = <a href="http://IP:9292/">
http://IP:9292/</a><o:p></o:p></p>
<p class="MsoNormal">catalog.RegionOne.image.internalURL = <a href="http://IP:9292/">
http://IP:9292/</a><o:p></o:p></p>
<p class="MsoNormal">catalog.RegionOne.image.name = Image Service<o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.object_store.publicURL =
<a href="http://IP:8080/v1/AUTH_$(tenant_id)s">http://IP:8080/v1/AUTH_$(tenant_id)s</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.object_store.adminURL =
<a href="http://IP:8080/">http://IP:8080/</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.object_store.internalURL =
<a href="http://IP:8080/v1/AUTH_$(tenant_id)s">http://IP:8080/v1/AUTH_$(tenant_id)s</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.object_store.name = Swift Service<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.cloudformation.publicURL =
<a href="http://IP:8000/v1">http://IP:8000/v1</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.cloudformation.adminURL =
<a href="http://IP:8000/v1">http://IP:8000/v1</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.cloudformation.internalURL =
<a href="http://IP:8000/v1">http://IP:8000/v1</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.cloudformation.name = Heat CloudFormation API<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.heat.publicURL = <a href="http://IP:8004/v1/$(tenant_id)s">
http://IP:8004/v1/$(tenant_id)s</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.heat.adminURL = <a href="http://IP:8004/v1/$(tenant_id)s">
http://IP:8004/v1/$(tenant_id)s</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.heat.internalURL = <a href="http://IP:8004/v1/$(tenant_id)s">
http://IP:8004/v1/$(tenant_id)s</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.heat.name = Heat API<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.orchestration.publicURL =
<a href="http://IP:8004/v1/$(tenant_id)s">http://IP:8004/v1/$(tenant_id)s</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.orchestration.adminURL =
<a href="http://IP:8004/v1/$(tenant_id)s">http://IP:8004/v1/$(tenant_id)s</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.orchestration.internalURL =
<a href="http://IP:8004/v1/$(tenant_id)s">http://IP:8004/v1/$(tenant_id)s</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.orchestration.name = Heat API<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.ceilometer.publicURL = <a href="http://IP:8777/">
http://IP:8777/</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.ceilometer.adminURL = <a href="http://IP:8777/">
http://IP:8777/</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.ceilometer.internalURL =
<a href="http://IP:8777/">http://IP:8777/</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.ceilometer.name = Ceilometer Metering<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.metering.publicURL = <a href="http://IP:8777/">
http://IP:8777/</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.metering.adminURL = <a href="http://IP:8777/">
http://IP:8777/</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.metering.internalURL = <a href="http://IP:8777/">
http://IP:8777/</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">catalog.RegionOne.metering.name = Ceilometer Metering<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">/etc/heat/heat.conf<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[DEFAULT]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">verbose = True<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">debug = True<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">use_stderr = False<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">log_file = /var/log/heat/engine.log<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">use_syslog = False<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">heat_stack_user_role = heat_stack_user<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">instance_connection_is_secure = 0<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">instance_connection_https_validate_certificates = 1<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">bind_host = 0.0.0.0<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">bind_port = 8001<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">heat_metadata_server_url = <a href="http://IP:8000">
http://IP:8000</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">heat_waitcondition_server_url = <a href="http://IP:8000/v1/waitcondition">
http://IP:8000/v1/waitcondition</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">heat_watch_server_url = <a href="http://IP:8003">
http://IP:8003</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">sql_connection = mysql://USER:PASSWORD@IP/heat<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">db_backend=heat.db.sqlalchemy.api<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">rpc_backend=heat.openstack.common.rpc.impl_kombu<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">auth_encryption_key=AUTH_KEY<o:p></o:p></span></p>
<p class="MsoNormal">rabbit_host=localhost<o:p></o:p></p>
<p class="MsoNormal">rabbit_port=5672<o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[keystone_authtoken]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">admin_tenant_name = TENANT<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">admin_user = USER<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">admin_password = PASSWORD<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">auth_host = IP<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">auth_port = 35357<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">auth_protocol = http<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">auth_uri = <a href="http://IP:5000/v2.0">
http://IP:5000/v2.0</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">admin_token = TOKEN<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[ec2authtoken]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">auth_uri <a href="http://IP:5000/v2.0">http://IP:5000/v2.0</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[paste_deploy]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">api_paste_config=api-paste.ini<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">flavor = keystone<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">api-paste.ini<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[pipeline:heat-api]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">pipeline = versionnegotiation authurl authtoken context apiv1app<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[pipeline:heat-api-keystone]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">pipeline = versionnegotiation authurl authtoken context apiv1app<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[pipeline:heat-api-cfn]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">pipeline = cfnversionnegotiation ec2authtoken authtoken context apicfnv1app<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[pipeline:heat-api-cfn-standalone]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">pipeline = cfnversionnegotiation ec2authtoken context apicfnv1app<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[app:apicwapp]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">paste.app_factory = heat.common.wsgi:app_factory<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">heat.app_factory = heat.api.cloudwatch:API<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[app:apicfnv1app]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">paste.app_factory = heat.common.wsgi:app_factory<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">heat.app_factory = heat.api.cfn.v1:API<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[filter:cfnversionnegotiation]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">paste.filter_factory = heat.common.wsgi:filter_factory<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">heat.filter_factory = heat.api.cfn:version_negotiation_filter<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[filter:ec2authtoken]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">paste.filter_factory = heat.api.aws.ec2token:EC2Token_filter_factory<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[pipeline:heat-api-cloudwatch]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">pipeline = versionnegotiation ec2authtoken authtoken context apicwapp<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[pipeline:heat-api-cloudwatch-standalone]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">pipeline = versionnegotiation ec2authtoken context apicwapp<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[pipeline:heat-api-cfn-keystone]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">pipeline = versionnegotiation authurl authtoken context apiv1app<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[pipeline:heat-api-cloudwatch-keystone]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">pipeline = versionnegotiation authurl authtoken context apiv1app<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[pipeline:heat-api-custombackend]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">pipeline = versionnegotiation context custombackendauth apiv1app<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[pipeline:heat-api-caching]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">pipeline = versionnegotiation authurl authtoken context cache apiv1app<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[pipeline:heat-api-keystone+caching]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">pipeline = versionnegotiation authurl authtoken context cache apiv1app<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[pipeline:heat-api-cachemanagement]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">pipeline = versionnegotiation authurl authtoken context cache cachemanage apiv1app<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[pipeline:heat-api-keystone+cachemanagement]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">pipeline = versionnegotiation auth-context cache cachemanage apiv1app<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[app:apiv1app]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">paste.app_factory = heat.common.wsgi:app_factory<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">heat.app_factory = heat.api.openstack.v1:API<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[filter:versionnegotiation]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">paste.filter_factory = heat.common.wsgi:filter_factory<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">heat.filter_factory = heat.api.openstack:version_negotiation_filter<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[filter:cache]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">paste.filter_factory = heat.common.wsgi:filter_factory<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">heat.filter_factory = heat.api.middleware.cache:CacheFilter<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[filter:cachemanage]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">paste.filter_factory = heat.common.wsgi:filter_factory<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">heat.filter_factory = heat.api.middleware.cache_manage:CacheManageFilter<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[filter:context]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">paste.filter_factory = heat.common.context:ContextMiddleware_filter_factory<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[filter:authurl]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">paste.filter_factory = heat.common.auth_url:filter_factory<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[filter:authtoken]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[filter:auth-context]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">paste.filter_factory = heat.common.wsgi:filter_factory<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">heat.filter_factory = keystone.middleware.heat_auth_token:KeystoneContextMiddleware<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[filter:custombackendauth]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">paste.filter_factory = heat.common.custom_backend_auth:filter_factory<o:p></o:p></span></p>
</div>
</body>
</html>