<div dir="ltr"><br><div>Hey folks!</div><div><br></div><div>So I've been working on some patches to speed up plan operations in TripleO.  This was originally driven by the UI needing to be able to perform a 'plan upload' in something less than several minutes. :)</div><div><br></div><div><a href="https://review.openstack.org/#/c/581153/">https://review.openstack.org/#/c/581153/</a><br></div><div><a href="https://review.openstack.org/#/c/581141/">https://review.openstack.org/#/c/581141/</a><br></div><div><br></div><div>I have a functioning set of patches, and it actually cuts over 2 minutes off the overcloud deployment time.</div><div><br></div><div>Without patch:</div><div>+ openstack overcloud plan create --templates /home/stack/tripleo-heat-templates/ overcloud<br></div><div><div>Creating Swift container to store the plan</div><div>Creating plan from template files in: /home/stack/tripleo-heat-templates/</div><div>Plan created.</div><div>real    3m3.415s</div></div><div><br></div><div>With patch:</div><div><div>+ openstack overcloud plan create --templates /home/stack/tripleo-heat-templates/ overcloud</div><div>Creating Swift container to store the plan</div><div>Creating plan from template files in: /home/stack/tripleo-heat-templates/</div><div>Plan created.</div><div>real    0m44.694s</div></div><div><br></div><div>This is on VMs.  On real hardware it now takes something like 15-20 seconds to do the plan upload which is much more manageable from the UI standpoint.</div><div><br></div><div>Some things about what this patch does:</div><div><br></div><div>- It makes use of process-templates.py (written for the undercloud) to process the jinjafied templates.  This reduces replication with the existing version in the code base and is very fast as it's all done on local disk.</div><div>- It stores the bulk of the templates as a tarball in swift.  Any individual files in swift take precedence over the contents of the tarball so it should be backwards compatible.  This is a great speed up as we're not accessing a lot of individual files in swift.</div><div><br></div><div>There's still some work to do; cleaning up and fixing the unit tests, testing upgrades etc.  I just wanted to get some feedback on the general idea and hopefully some reviews and/or help - especially with the unit test stuff.</div><div><br></div><div>Thanks everyone!</div><div><br></div><div>    Ian</div><div><br></div></div>