<font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif" size="2"><div><font color="#990099">-----Mike Spreitzer/Watson/IBM@IBMUS wrote: -----</font></div><br>>To: "OpenStack Development Mailing List \(not for usage questions\)"<br>><openstack-dev@lists.openstack.org><br>>From: Mike Spreitzer/Watson/IBM@IBMUS<br>>Date: 10/30/2013 03:56PM<br>>Subject: Re: [openstack-dev] [Heat] Comments on Steve Baker's<br>>Proposal on HOT Software Config<br>><br>>Lakshminaraya Renganarayana/Watson/IBM@IBMUS wrote on<br>>10/30/2013 03:35:32 PM:<br>><br>><br>><br>>> Zane Bitter <zbitter@redhat.com> wrote on 10/29/2013 08:46:21<br>>AM:<br>><br>>> ...<br>><br>>> In this method <br>><br>>> > (i.e. option (2) above) shouldn't we be building the dependency<br>>graph in <br>><br>>> > Heat rather than running through them sequentially as specified<br>>by the <br>><br>>> > user? In that case, we should use a dictionary not a list:<br>><br>>> > <br>><br>>> >    app_server:<br>><br>>> >      type: OS::Nova::Server<br>><br>>> >      properties:<br>><br>>> >        components:<br>><br>>> >          install_user_profile:<br>><br>>> >            definition: InstallWasProfile<br>><br>>> >            params:<br>><br>>> >              user_id<br>><br>>> >          install_admin_profile:<br>><br>>> >            definition: InstallWasProfile<br>><br>>> >            params:<br>><br>>> >              admin_id<br>><br>>> <br>><br>>> I missed this implication of using a list! You are right, it should<br>>be <br>><br>>> a dictionary and Heat would be building the dependence graph. <br>><br>><br>><br>>Using a dictionary instead of a list can work, but<br>>I think we might be going overboard here.  Do we expect the component<br>>invocations on a given VM instance to run concurrently?  I think that<br>>has been dissed before.  Chef users are happy to let a role be a list<br>>of recipes, not a DAG.  A list is simple; is there an actual problem<br>>with it?<br><br><div>Yes, there was some agreement on component invocations on a given VM instance </div><div>being run sequentially. However, the issue here is slightly different. If, as a </div><div>design principle, Heat analyzes dependences between component invocations,</div><div>then it should do that irrespective of whether the component invocations are </div><div>on the same VM or from different VMs. Given this, a list of component invocations</div><div>would imply an ordering which is in addition to the ordering induced by dependences.</div><div>Whereas a dictionary would not impose any additional ordering.</div><div><br></div><div>Thanks,</div><div>LN</div><div><br></div><div></div></font>