<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi Mathieu,<div><br></div><div>Thanks for bringing up the topic. There are several efforts currently in progress which should lead to solving the problems you're describing. We are working on introducing CLI commands which would perform the deployment configuration operations on deployment plan in Swift. This is a main step to finally reach CLI and GUI compatibility/interoperability. CLI will perform actions to configure deployment (roles, networks, environments selection, parameters setting etc.) by calling Mistral workflows which store the information in deployment plan in Swift. The result is that all the information which define the deployment are stored in central place - deployment plan in Swift and the deploy command is turned into simple 'openstack overcloud <planName> deploy'. Deployment plan then has plan-environment.yaml which has the list of environments used and customized parameter values, roles-data.yaml which carry roles definition and network-data.yaml which carry networks definition. The information stored in these files (and deployment plan in general) can then be treated as source of information about deployment. The deployment can then be easily exported and reliably replicated.</div><div><br></div><div>Here is the document which we put together to identify missing pieces between GUI,CLI and Mistral TripleO API. We'll use this to discuss the topic at PTG this week and define work needed to be done to achieve the complete interoperability. [1]</div><div><br></div><div>Also there is a pending patch from Steven Hardy which aims to remove CLI specific environments merging which should fix the problem with tracking of the environments used with CLI deployment. [2]</div><div><br></div><div>[1] <a href="https://gist.github.com/jtomasek/8c2ae6118be0823784cdafebd9c0edac">https://gist.github.com/jtomasek/8c2ae6118be0823784cdafebd9c0edac</a> (Apologies for inconvenient format, I'll try to update this to better/editable format. Original doc: <a href="https://docs.google.com/spreadsheets/d/1ERfx2rnPq6VjkJ62JlA_E6jFuHt9vVl3j95dg6-mZBM/edit?usp=sharing">https://docs.google.com/spreadsheets/d/1ERfx2rnPq6VjkJ62JlA_E6jFuHt9vVl3j95dg6-mZBM/edit?usp=sharing</a>)<br></div><div>[2] <a href="https://review.openstack.org/#/c/448209/" target="_blank">https://review.openstack.org/#/c/448209/</a></div><div><br></div><div>-- Jirka</div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Sep 10, 2018 at 8:05 AM mathieu bultel <<a href="mailto:mbultel@redhat.com" target="_blank">mbultel@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<p>Hi folks,</p>
<p>Last week I wrote a BluePrint and a spec [1] to propose to change
the way we used and managed the Plan in TripleO for the Deployment
and the Life cycle (update/upgrade and scale).<br>
</p>
<p>While I was working on trying to simplified the implementation of
the Update and Upgrade for a end user usage, I found very hard to
follow all the calls that the TripleO Client was doing to the
HeatClient and SwiftClient.</p>
<p>I traced the calls and found that we can safely and easily
decrease the number of calls and simplified the way that we are
computing & rendering the TripleO Heat Templates files.</p>
<p>I did a PoC to see what would be the problematic behind that and
what we could do without breaking the "standard" usage and all the
particular things that the current code handle (specific
deployments and configurations & so on).</p>
<p>By this refactoring I'm seeing another gain for the life cycle
part of TripleO, where we used to try to make thing simpler &
safer but we constantly failed due to this complexity and all the
"special cases" that we faced during the testing.</p>
<p>The result is that, when a user need to perform an update/upgrade
of his deployment, he really have to be careful, to pay a lot of
attention of all the options, -e environments files that he
previously used with the risk to make a simple mistake, and
totally mess up the deployment.<br>
</p>
<p>So my goals with this PoC and this BP is to try to addressed
those points by: <br>
</p>
<blockquote>
<p>simplify and reduce the number of calls between the clients,</p>
<p>have a simple way for creating and updating the Plan, even by
amending the plan with only a particular files / config or
Playbooks, <br>
</p>
<p>store all the in formations provided by the user by uploading
all the files outsides of the plan,</p>
<p>keep the track of the environment files passed to the CLI,<br>
</p>
<p>trace the life cycle story of the deployment.</p>
</blockquote>
<p>So feel free to comment, add your concerns or feedback around
this.</p>
<p>Cheer,<br>
</p>
<p>Mathieu<br>
</p>
<p>[1]</p>
<p><a class="m_4832188261295599510m_-23026014874570654moz-txt-link-freetext" href="https://blueprints.launchpad.net/tripleo/+spec/tripleo-plan-management" target="_blank">https://blueprints.launchpad.net/tripleo/+spec/tripleo-plan-management</a></p>
<pre><a class="m_4832188261295599510m_-23026014874570654moz-txt-link-freetext" href="https://review.openstack.org/599396" target="_blank">https://review.openstack.org/599396</a> </pre>
<p>[2]</p>
<pre> <a class="m_4832188261295599510m_-23026014874570654moz-txt-link-freetext" href="https://review.openstack.org/583145" target="_blank">https://review.openstack.org/583145</a>
</pre>
</div>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote></div>