<html 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=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style>
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt">Would be great if someone has an example template where CFN SIGNAL works so we can see whats going on<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="color:black">From: </span></b><span style="color:black">"Ajay Kalambur (akalambu)" <akalambu@cisco.com><br>
<b>Date: </b>Saturday, October 5, 2019 at 10:34 AM<br>
<b>To: </b>"openstack-discuss@lists.openstack.org" <openstack-discuss@lists.openstack.org><br>
<b>Subject: </b>[openstack][heat-cfn] CFN Signaling with heat<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt">Hi</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">I was trying the Software Deployment/Structured deployment of heat.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">I somehow can never get the signaling to work I see that authentication is happening but I don’t see a POST from the VM as a result stack is stuck in CREATE_IN_PROGRESS</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">I see this message in my heat api cfn log which seems to suggest authentication is successful but it does not seem to POST. Have included debug output from VM and also the sample heat template I used. Don’t
 know if the template is correct as I referred some online examples to build it</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">2019-10-05 10:30:00.908 7 INFO heat.api.aws.ec2token [-] Checking AWS credentials..</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">2019-10-05 10:30:00.909 7 INFO heat.api.aws.ec2token [-] AWS credentials found, checking against keystone.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">2019-10-05 10:30:00.910 7 INFO heat.api.aws.ec2token [-] Authenticating with http://10.10.173.9:5000/v3/ec2tokens</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">2019-10-05 10:30:01.315 7 INFO heat.api.aws.ec2token [-] AWS authentication successful.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">2019-10-05 10:30:02.326 7 INFO eventlet.wsgi.server [req-506f22c6-4062-4a84-8e85-40317a4099ed - adccd09df89e4b71b0a42f462679e75a-b1c6eb69-3877-466b-b00d-03dc051 - 0ecadd4762a34de1ac08508db4d3caa9 0ecadd4762a34de1ac08508db4d3caa9]
 10.11.59.36,10.10.173.9 - - [05/Oct/2019 10:30:02] "GET /v1/?SignatureVersion=2&AWSAccessKeyId=f7874ac9898248edaae53511230534a4&StackName=test_stack&SignatureMethod=HmacSHA256&Signature=c03Q7Hb35q9tPPuYOv6YByn5YekF96p2s5zx36sX7x4%3D&Action=DescribeStackResource&LogicalResourceId=sig-vm-1
 HTTP/1.1" 200 4669 1.418045</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">Some debugging output from my VM:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">[root@sig-vm-1 fedora]# sudo os-collect-config --force --one-time --debug</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">/var/lib/os-collect-config/local-data not found. Skipping</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">[2019-10-05 17:32:47,058] (os-refresh-config) [INFO] Starting phase pre-configure</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 ----------------------- PROFILING -----------------------</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 Target: pre-configure.d</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 Script                                     Seconds</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 ---------------------------------------  ----------</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 --------------------- END PROFILING ---------------------</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">[2019-10-05 17:32:47,091] (os-refresh-config) [INFO] Completed phase pre-configure</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">[2019-10-05 17:32:47,092] (os-refresh-config) [INFO] Starting phase configure</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 Running /usr/libexec/os-refresh-config/configure.d/20-os-apply-config</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">[2019/10/05 05:32:47 PM] [INFO] writing /var/run/heat-config/heat-config</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">[2019/10/05 05:32:47 PM] [INFO] writing /etc/os-collect-config.conf</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">[2019/10/05 05:32:47 PM] [INFO] success</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 20-os-apply-config completed</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 Running /usr/libexec/os-refresh-config/configure.d/50-heat-config-docker-compose</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 50-heat-config-docker-compose completed</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 Running /usr/libexec/os-refresh-config/configure.d/50-heat-config-kubelet</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 50-heat-config-kubelet completed</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 Running /usr/libexec/os-refresh-config/configure.d/55-heat-config</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">[2019-10-05 17:32:47,724] (heat-config) [ERROR] Skipping group Heat::Ungrouped with no hook script None</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">[2019-10-05 17:32:47,724] (heat-config) [ERROR] Skipping group Heat::Ungrouped with no hook script None</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 55-heat-config completed</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 ----------------------- PROFILING -----------------------</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 Target: configure.d</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 Script                                     Seconds</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 ---------------------------------------  ----------</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 20-os-apply-config                            0.345</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 50-heat-config-docker-compose                 0.064</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 50-heat-config-kubelet                        0.134</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 55-heat-config                                0.065</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 --------------------- END PROFILING ---------------------</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">[2019-10-05 17:32:47,787] (os-refresh-config) [INFO] Completed phase configure</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">[2019-10-05 17:32:47,787] (os-refresh-config) [INFO] Starting phase post-configure</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:47 UTC 2019 Running /usr/libexec/os-refresh-config/post-configure.d/99-refresh-completed</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">++ os-apply-config --key completion-handle --type raw --key-default ''</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">+ HANDLE=</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">++ os-apply-config --key completion-signal --type raw --key-default ''</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">+ SIGNAL=</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">++ os-apply-config --key instance-id --type raw --key-default ''</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">+ ID=i-0000000d</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">+ '[' -n i-0000000d ']'</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">+ '[' -n '' ']'</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">+ '[' -n '' ']'</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">++ os-apply-config --key deployments --type raw --key-default ''</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">++ jq -r 'map(select(.group == "os-apply-config") |</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">              select(.inputs[].name == "deploy_signal_id") |</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">              .id + (.inputs | map(select(.name == "deploy_signal_id")) | .[].value)) |</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">              .[]'</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">+ DEPLOYMENTS=</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">+ DEPLOYED_DIR=/var/lib/os-apply-config-deployments/deployed</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">+ '[' '!' -d /var/lib/os-apply-config-deployments/deployed ']'</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:49 UTC 2019 99-refresh-completed completed</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:49 UTC 2019 ----------------------- PROFILING -----------------------</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:49 UTC 2019
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:49 UTC 2019 Target: post-configure.d</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:49 UTC 2019
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:49 UTC 2019 Script                                     Seconds</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:49 UTC 2019 ---------------------------------------  ----------</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:49 UTC 2019
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:49 UTC 2019 99-refresh-completed                          1.206</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:49 UTC 2019
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:49 UTC 2019 --------------------- END PROFILING ---------------------</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">[2019-10-05 17:32:49,041] (os-refresh-config) [INFO] Completed phase post-configure</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">[2019-10-05 17:32:49,042] (os-refresh-config) [INFO] Starting phase migration</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:49 UTC 2019 ----------------------- PROFILING -----------------------</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:49 UTC 2019
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:49 UTC 2019 Target: migration.d</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:49 UTC 2019
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:49 UTC 2019 Script                                     Seconds</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:49 UTC 2019 ---------------------------------------  ----------</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:49 UTC 2019
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:49 UTC 2019
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">dib-run-parts Sat Oct  5 17:32:49 UTC 2019 --------------------- END PROFILING ---------------------</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">[2019-10-05 17:32:49,073] (os-refresh-config) [INFO] Completed phase migration</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">onfig]# cat /var/run/heat-config/heat-config</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">[{"inputs": [{"type": "String", "name": "foo", "value": "fu"}, {"type": "String", "name": "bar", "value": "barmy"}, {"type": "String", "name": "deploy_server_id", "value": "226ed96d-2335-436e-9707-95af73041e5f",
 "description": "ID of the server being deployed to"}, {"type": "String", "name": "deploy_action", "value": "CREATE", "description": "Name of the current action being deployed"}, {"type": "String", "name": "deploy_stack_id", "value": "test_stack/b1c6eb69-3877-466b-b00d-03dc051d1893",
 "description": "ID of the stack this deployment belongs to"}, {"type": "String", "name": "deploy_resource_name", "value": "other_deployment", "description": "Name of this deployment resource in the stack"}, {"type": "String", "name": "deploy_signal_transport",
 "value": "CFN_SIGNAL", "description": "How the server should signal to heat with the deployment output values."}, {"type": "String", "name": "deploy_signal_id", "value": "http://172.29.85.87:8000/v1/signal/arn%3Aopenstack%3Aheat%3A%3Aadccd09df89e4b71b0a42f462679e75a%3Astacks/test_stack/b1c6eb69-3877-466b-b00d-03dc051d1893/resources/other_deployment?Timestamp=2019-10-05T01%3A11%3A46Z&SignatureMethod=HmacSHA256&AWSAccessKeyId=28a09f5d996240b8b4a117ecb0e0142b&SignatureVersion=2&Signature=IqXbRf9MzJ%2FnzqM7CLNAsR3BiwmaaHyWQspegxYc3D8%3D",
 "description": "ID of signal to use for signaling output values"}, {"type": "String", "name": "deploy_signal_verb", "value": "POST", "description": "HTTP verb to use for signaling outputvalues"}], "group": "Heat::Ungrouped", "name": "test_stack-config-bmekpj67pq6p",
 "outputs": [], "creation_time": "2019-10-05T01:14:31Z", "options": {}, "config": {"config_value_foo": "fu", "config_value_bar": "barmy"}, "id": "5c404619-ce79-48cd-b001-00ac6ff4f4e8"}, {"inputs": [{"type": "String", "name": "foo", "value": "fooooo"}, {"type":
 "String", "name": "bar", "value": "baaaaa"}, {"type": "String", "name": "deploy_server_id", "value": "226ed96d-2335-436e-9707-95af73041e5f", "description": "ID of the server being deployed to"}, {"type": "String", "name": "deploy_action", "value": "CREATE",
 "description": "Name of the current action being deployed"}, {"type": "String", "name": "deploy_stack_id", "value": "test_stack/b1c6eb69-3877-466b-b00d-03dc051d1893", "description": "ID of the stack this deployment belongs to"}, {"type": "String", "name":
 "deploy_resource_name", "value": "deployment", "description": "Name of this deployment resource in the stack"}, {"type": "String", "name": "deploy_signal_transport", "value": "CFN_SIGNAL", "description": "How the server should signal to heat with the deployment
 output values."}, {"type": "String", "name": "deploy_signal_id", "value": "http://172.29.85.87:8000/v1/signal/arn%3Aopenstack%3Aheat%3A%3Aadccd09df89e4b71b0a42f462679e75a%3Astacks/test_stack/b1c6eb69-3877-466b-b00d-03dc051d1893/resources/deployment?Timestamp=2019-10-05T01%3A11%3A46Z&SignatureMethod=HmacSHA256&AWSAccessKeyId=4c3d718796e0452ea94f2ce8dc6973ef&SignatureVersion=2&Signature=rxtSBNUSF%2FEXn9wvVK4XMU%2F1RzXVDGILtZr1hmkl7gg%3D",
 "description": "ID of signal to use for signaling output values"}, {"type": "String", "name": "deploy_signal_verb", "value": "POST", "description": "HTTP verb to use for signaling outputvalues"}], "group": "Heat::Ungrouped", "name": "test_stack-config-bmekpj67pq6p",
 "outputs": [], "creation_time": "2019-10-05T01:14:31Z", "options": {}, "config": {"config_value_foo": "fooooo", "config_value_bar": "baaaaa"}, "id": "f4dea0c1-73c9-4ce4-aa04-c76ef9b08859"}][root@sig-vm-1 heat-config]#</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">[root@sig-vm-1 heat-config]# cat /etc/os-collect-config.conf</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">[DEFAULT]</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">command = os-refresh-config</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">collectors = ec2</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">collectors = cfn</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">collectors = local</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">[cfn]</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">metadata_url = http://172.29.85.87:8000/v1/</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">stack_name = test_stack</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">secret_access_key = npa^GWsPtbRL7D*MYObOI*kV0i1yqKOG</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">access_key_id = f7874ac9898248edaae53511230534a4</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">path = sig-vm-1.Metadata</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt">Here is my basic sample temple</span></b><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">heat_template_version: 2013-05-23</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">description: ></span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  This template demonstrates how to use OS::Heat::StructuredDeployment</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  to override substitute get_input placeholders defined in</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  OS::Heat::StructuredConfig config.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  As there is no hook on the server to act on the configuration data,</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  these deployment resource will perform no actual configuration.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">parameters:  </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  flavor:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    type: string</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    default: 'a061cb6c-99e7-4bdb-93e4-f0037ee3e947'</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  image:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    type: string</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    default: 3be29d9f-2ce6-4b95-b80c-0dbca7acfdfe</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  public_net_id:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    type: string</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    default: 67ae0e17-6258-4fb6-8b9b-0f29f6adb9db</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  private_net_id:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    type: string</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    description: Private network id</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    default: 995fc046-1c58-468a-b81c-e42c06fc8966
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  private_subnet_id:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    type: string</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    description: Private subnet id</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    default: 7598c805-3a9b-4c27-be5b-dca4d89f058c</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  password:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    type: string</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    description: SSH password</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    default: lab123  </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">resources:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  the_sg:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    type: OS::Neutron::SecurityGroup</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    properties:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      name: the_sg</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      description: Ping and SSH</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      rules:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      - protocol: icmp</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      - protocol: tcp</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">        port_range_min: 22</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">        port_range_max: 22</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  config:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    type: OS::Heat::StructuredConfig</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    properties:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      config:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">       config_value_foo: {get_input: foo}</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">       config_value_bar: {get_input: bar}</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  deployment:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    type: OS::Heat::StructuredDeployment</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    properties:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      signal_transport: CFN_SIGNAL       
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      config:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">        get_resource: config</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      server:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">        get_resource: sig-vm-1</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      input_values:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">        foo: fooooo</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">        bar: baaaaa</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  other_deployment:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    type: OS::Heat::StructuredDeployment</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    properties:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      signal_transport: CFN_SIGNAL</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      config:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">        get_resource: config</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      server:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">        get_resource: sig-vm-1</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      input_values:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">        foo: fu</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">        bar: barmy</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  server1_port0:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    type: OS::Neutron::Port</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    properties:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      network_id: { get_param: private_net_id }</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      security_groups:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">        - default</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      fixed_ips:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">        - subnet_id: { get_param: private_subnet_id }</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  server1_public:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    type: OS::Neutron::FloatingIP</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    properties:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      floating_network_id: { get_param: public_net_id }</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      port_id: { get_resource: server1_port0 }</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  sig-vm-1:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    type: OS::Nova::Server</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    properties:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      name: sig-vm-1</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      image: { get_param: image }</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      flavor: { get_param: flavor }     
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      networks:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">        - port: { get_resource: server1_port0 }</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      user_data_format: SOFTWARE_CONFIG
</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      user_data: </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">        get_resource: cloud_config</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">  cloud_config:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    type: OS::Heat::CloudConfig</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">    properties:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">      cloud_config:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">        password: { get_param: password }</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">        chpasswd: { expire: False }</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt">        ssh_pwauth: True  </span>
<o:p></o:p></p>
</div>
</body>
</html>