<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>Dmitri,</div><div><br></div><div>Right now <a href="https://etherpad.openstack.org/p/mistral-poc">https://etherpad.openstack.org/p/mistral-poc</a> is the only place where we described it. It shouldn’t be considered a specification, it was rather a playground where we tried to shape up our ideas. We’ll fix it using our latest ideas and changes captured in the code and create another etherpad for further long-term discussions.</div><div><br></div><div apple-content-edited="true">
<div>Renat Akhmerov</div><div>@ Mirantis Inc.</div>

</div>
<br><div><div>On 15 Feb 2014, at 06:26, Dmitri Zimine <<a href="mailto:dz@stackstorm.com">dz@stackstorm.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=windows-1252"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Ok, I see.  <div><br></div><div>Do we have a spec that describes this?</div><div>Lets spell it out and describe the whole picture of input, output, parameters, and result. </div><div><br></div><div>DZ> </div><div><br></div><div><br><div><div>On Feb 14, 2014, at 1:01 PM, Nikolay Makhotkin <<a href="mailto:nmakhotkin@mirantis.com">nmakhotkin@mirantis.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">Dmitri, in our concerns under word 'input' we assume a block contains the info about how the input data will be taken for corresponding task from initial context. So, it will be a kind of expression (e.g. YAQL). <br>
<br>Renat, am I right?</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Feb 14, 2014 at 9:51 PM, Dmitri Zimine <span dir="ltr"><<a href="mailto:dz@stackstorm.com" target="_blank">dz@stackstorm.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>I like output, too. But it should go with 'input'</div><div>In summary, there are two alternatives. </div>
<div>Note that I moved task-parameters under parameters. Ok with this?</div><div><br></div><div>actions:</div><div>   my-action</div><div>          input:</div><div>             foo: bar</div><div><div>             task-parameters: </div>
<div>                flavor_id:</div><div>                image_id:</div></div><div>          output: </div><div>              select: '$.server_id'  </div><div>              store_as: v1</div><div><br></div><div>
this maps to action(input, *output)</div><div><br></div><div><div class=""><div>actions:</div><div>   my-action</div><div>          parameters:</div><div>             foo: bar</div></div><div><div>             task-parameters: </div>
<div>                flavor_id:</div><div>                image_id:</div></div><div>          result: </div><div>              select: '$.server_id'  </div><div>              store_as: v1</div></div><div><br></div>
<div>this maps to result=action(parameters)</div><div><div class="h5"><div><br></div><div><br></div><div><div>On Feb 14, 2014, at 8:40 AM, Renat Akhmerov <<a href="mailto:rakhmerov@mirantis.com" target="_blank">rakhmerov@mirantis.com</a>> wrote:</div>
<br><blockquote type="cite"><div style="word-wrap:break-word"><div>“output” looks nice!</div><div><br></div><br><div>
<div>Renat Akhmerov</div><div>@ Mirantis Inc.</div>

</div>
<br><div><div>On 14 Feb 2014, at 20:26, Nikolay Makhotkin <<a href="mailto:nmakhotkin@mirantis.com" target="_blank">nmakhotkin@mirantis.com</a>> wrote:</div><br><blockquote type="cite"><div dir="ltr"><div style="font-family:arial,sans-serif;font-size:13px">
Current DSL snippet: </div><div style="font-family:arial,sans-serif;font-size:13px">actions:</div><div style="font-family:arial,sans-serif;font-size:13px">
   my-action</div><div style="font-family:arial,sans-serif;font-size:13px">      parameters:</div><div style="font-family:arial,sans-serif;font-size:13px">          foo: bar</div><div style="font-family:arial,sans-serif;font-size:13px">

          response: # just agreed to change to 'results' </div><div style="font-family:arial,sans-serif;font-size:13px">              select: '$.server_id'  </div><div style="font-family:arial,sans-serif;font-size:13px">

              store_as: v1</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">'result' sounds better than 'response' and, I think, more fit to action description.</div>

<div style="font-family:arial,sans-serif;font-size:13px">And I suggest for a new word - 'output'; actually, this block describe how the output will be taken and stored.</div><div style="font-family:arial,sans-serif;font-size:13px">

<br></div><div style="font-family:arial,sans-serif;font-size:13px">However, I agree that this block should be at action-property level:</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">

<div>actions:</div><div>   my-action</div><div>      result: </div><div>         select: '$.server_id'  </div><div>         store_as: vm_id</div><div>      parameters:</div><div>         foo: bar</div><div>          </div>

</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Feb 14, 2014 at 12:36 PM, Renat Akhmerov <span dir="ltr"><<a href="mailto:rakhmerov@mirantis.com" target="_blank">rakhmerov@mirantis.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><div><div>On 14 Feb 2014, at 15:02, Dmitri Zimine <<a href="mailto:dz@stackstorm.com" target="_blank">dz@stackstorm.com</a>> wrote:</div>

<div><br></div></div><blockquote type="cite"><div style="word-wrap:break-word"><div>Current DSL snippet: </div><div><div><div>actions:</div><div>   my-action</div><div>      parameters:</div><div>          foo: bar</div>

</div><div>          response: # just agreed to change to 'results’ </div></div></div></blockquote><div><br></div><div>Just a note: “response” indentation here is not correct, it’s not a parameter called “response” but rather a property of “my-action”.</div>

<div><br><blockquote type="cite"><div style="word-wrap:break-word"><div><div>              select: '$.server_id'  </div><div>              store_as: v1</div></div><div><br></div><div>In the code, we refer to action.result_helper</div>

<div><br></div><div>1) Note that <b>response</b> is not exactly a parameter. It doesn't doesn't refer to data. It's  (query, variable) pairs, that are used to parse the results and post data to global context [1]. The terms response, or result, do not reflect what is actually happening here. Suggestions? Save? Publish? Result Handler? </div>

</div></blockquote><div><br></div></div><div>For explicitness we can use something like “result-handler” and initially I thought about this option. But I personally love conciseness and I think name “result” would be ok for this section meaning it defines the structure of the action result. “handler” is not 100% precise too because we don’t actually handle a result here, we define the rules how to get this result.</div>

<div><br></div><div>I would appreciate to see other suggestions though.</div><div><br><blockquote type="cite"><div style="word-wrap:break-word"><div>2) Whichever name we use for this output transformer, shall it be under parameters?</div>

</div></blockquote><div><br></div></div><div>No, what we have in this section is like a return value type for a regular method. Parameters define action input.</div><div><br><blockquote type="cite"><div style="word-wrap:break-word">

<div><div>3) how do we call action/task parameters? Think 'model' (which reflects in yaml,  code, docs, talk, etc.)</div><div>   input and output? (+1)</div><div>   in and out? (-1)  </div><div>   request and response? (-1) good for WebServices but not generic enough</div>

<div>   parameters and results? (ok)</div></div></div></blockquote><div><br></div></div><div>Could you please clarify your questions here? Not sure I’m following...</div><div><br><blockquote type="cite"><div style="word-wrap:break-word">

<div>4) Syntax simplification: can we drop 'parameters' keyword? Anything under action is action parameters, unless it's a reserved keyword, which the implementation can parse out. </div><div><br></div><div><div>

actions:</div><div>   my-action</div><div>          foo: bar</div><div><div>          task-parameters: # not a keyword, specific to REST_API</div><div>              flavor_id:</div><div>              image_id:</div></div>

<div>          publish:  # keyword</div><div>              select: '$.server_id'  </div><div>              store_as: v1</div></div></div></blockquote><br></div></div><div>It will create problems like name ambiguity in case we need to have a parameter with the same names as keywords (“task-parameters” and “publish” in your example). My preference would be to leave it explicit.</div>

<span><font color="#888888"><div><br></div><div>Renat</div><br></font></span></div><br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><div><font>Best Regards,</font></div><div><font>Nikolay</font></div></div>
</div>
_______________________________________________<br>OpenStack-dev mailing list<br><a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote></div><br></div>_______________________________________________<br>OpenStack-dev mailing list<br><a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.org</a><br><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote></div><br></div></div></div><br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><div><font>Best Regards,</font></div><div><font>Nikolay</font></div></div>
</div>
_______________________________________________<br>OpenStack-dev mailing list<br><a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br><a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br></blockquote></div><br></div></div>_______________________________________________<br>OpenStack-dev mailing list<br><a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev<br></blockquote></div><br></body></html>