<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>