On Thu, Sep 21, 2017 at 11:53 AM, Jiří Stránský <ji...@redhat.com> wrote: > On 21.9.2017 18:04, Marios Andreou wrote: >> >> On Thu, Sep 21, 2017 at 3:53 PM, Jiří Stránský <ji...@redhat.com> wrote: >> >>> On 21.9.2017 12:31, Giulio Fidente wrote: >>> >>>> On 09/20/2017 07:36 PM, James Slagle wrote: >>>> >>>>> On Tue, Sep 19, 2017 at 8:37 AM, Giulio Fidente <gfide...@redhat.com> >>>>> wrote: >>>>> >>>>>> On 09/18/2017 05:37 PM, James Slagle wrote: >>>>>> >>>>>>> - The entire sequence and flow is driven via Mistral on the >>>>>>> Undercloud >>>>>>> by default. This preserves the API layer and provides a clean >>>>>>> reusable >>>>>>> interface for the CLI and GUI. >>>>>>> >>>>>> >>>>>> I think it's worth saying that we want to move the deployment steps >>>>>> out >>>>>> of heat and in ansible, not in mistral so that mistral will run the >>>>>> workflow only once and let ansible go through the steps >>>>>> >>>>>> I think having the steps in mistral would be a nice option to be able >>>>>> to >>>>>> rerun easily a particular deployment step from the GUI, versus having >>>>>> them in ansible which is instead a better option for CLI users ... but >>>>>> it looks like having them in ansible is the only option which permits >>>>>> us >>>>>> to reuse the same code to deploy an undercloud because having the >>>>>> steps >>>>>> in mistral would require the undercloud installation itself to depend >>>>>> on >>>>>> mistral which we don't want to >>>>>> >>>>>> James, Dan, please comment on the above if I am wrong >>>>>> >>>>> >>>>> That's correct. We don't want to require Mistral to install the >>>>> Undercloud. However, I don't think that necessarily means it has to be >>>>> a single call to ansible-playbook. We could have multiple invocations >>>>> of ansible-playbook. Both Mistral and CLI code for installing the >>>>> undercloud could handle that easily. >>>>> >>>>> You wouldn't be able to interleave an external playbook among the >>>>> deploy steps however. That would have to be done under a single call >>>>> to ansible-playbook (at least how that is written now). We could >>>>> however have hooks that could serve as integration points to call >>>>> external playbooks after each step. >>>>> >>>> >>>> the benefits of driving the steps from mistral are that then we could >>>> also interleave the deployment steps and we won't need the >>>> ansible-playbook hook for the "external" services: >>>> >>>> 1) collect the ansible tasks *and* the workflow_tasks (per step) from >>>> heat >>>> >>>> 2) launch the stepN deployment workflow (ansible-playbook) >>>> >>>> 3) execute any workflow_task defined for stepN (like ceph-ansible >>>> playbook) >>>> >>>> 4) repeat 2 and 3 for stepN+1 >>>> >>>> I think this would also provide a nice interface for the UI ... but then >>>> we'd need mistral to be able to deploy the undercloud >>>> >>>> >> >> Why not launch the _single_ deploy_steps playbook (so we have >> when/conditionals with step numbers), passing in the step you want to have >> executed (we can pass this in as a parameter to the mistral workflow and >> pass through to the ansible-playbook invocation?), otherwise execute all >> the steps. > > > +1 that's the sort of thing i meant by "it's not baked in by default but we > could make it so". We could even give it a list of steps like > `tripleo_run_steps: [4, 5, 6]`.
Agreed. We can parameterize as needed so that it could be driven via Mistral for finer grained control for the API/UI or by a single ansible-playbook directly. -- -- James Slagle -- __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev