<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none"><!--P{margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>Hi team,</p>
<p><br>
</p>
<p>With the recent application from our team to  be included in the big tent</p>
<p>(<a href="https://review.openstack.org/190949">https://review.openstack.org/190949</a>), I wanted to give a quick update on the state of our project.</p>
<p><br>
</p>
<p>Before I do that, here is a quick overview of the current capabilities of Solum and a very high-level</p>
<p>view of its inner workings.</p>
<p><br>
</p>
<p>All along, one of our goals has been to make it possible for application developers to easily deploy their</p>
<p>applications to OpenStack. Essentially, provide the ability to go from source code to running instance(s)</p>
<p>of an application on OpenStack without having to be greatly familiar with OpenStack services that</p>
<p>may be involved in deploying their applications.<br>
</p>
<p><br>
</p>
<p>In last two cycles we have made considerable progress towards that goal.</p>
<p>From application developer point of view, it is now possible to deploy their applications,<br>
</p>
<p>starting from the source code, to OpenStack clouds using Solum.</p>
<p>At a high-level, this is achieved in three steps:</p>
<p><br>
</p>
<p>1) Build a languagepack (LP) </p>
<p>2) Register the application by providing information about the source repository, languagepack to use, and so on</p>
<p>3) Deploy the application<br>
</p>
<p><br>
</p>
<p>A screencast demonstrating these steps is available on the following link:<br>
</p>
<p><a href="https://wiki.openstack.org/wiki/Solum/solum_kilo_demo">https://wiki.openstack.org/wiki/Solum/solum_kilo_demo</a></p>
<p><br>
</p>
<p>Application deployment in Solum happens as follows.</p>
<p><br>
</p>
<p>Solum needs a languagepack to build an application.<br>
</p>
<p>A languagepack is essentially a Docker container with the specified libraries installed on it.</p>
<p>Starting from the specified languagepack, Solum builds an application-specific Docker container</p>
<p>(called DU) by adding application's source code to it (DU = LP + application source code).</p>
<p>Solum then persists this DU to configured storage backend. We currently support Swift, Glance,</p>
<p>and Docker registry. Solum then calls Heat to deploy the DU. Depending on the configured storage</p>
<p>backend, the deployment steps differ slightly. For instance, if the configured storage is Swift, we use
</p>
<p>tempURLs with Heat user-data to run the DU on a VM, whereas if the backend is Glance we</p>
<p>use the DU's Glance imageId directly within the Heat template.</p>
<p>Languagepacks can be pre-installed by the operator in their Solum installation, or application</p>
<p>developers can create and register new languagepacks per their applications' needs.</p>
<p>Apart from building and deploying an application, Solum supports running of application-specific tests.</p>
<p>Solum also integrates with external services (currently github) and supports webhooks to trigger application deployments. It is also possible to consume services, such as databases, via the parameter injection feature.<br>
</p>
<p><br>
</p>
<p>So that is where we currently stand.</p>
<p><br>
</p>
<p>Several other features are still remaining:</p>
<p>- Non-destructive application updates (application updates without changing the application URL).</p>
<p>- Scale up/scale down of application DUs.</p>
<p>- Service add/on framework</p>
<p>- Support for environments (Dev, Test, Staging) <br>
</p>
<p><br>
</p>
<p>Here is a roadmap with these and other suggested features for Liberty:<br>
</p>
<p><a href="https://wiki.openstack.org/wiki/Solum/HighLevelRoadmap">https://wiki.openstack.org/wiki/Solum/HighLevelRoadmap</a></p>
<p><br>
</p>
<p>Please feel free to add to that list, or reply here with features that you are interested in seeing in Solum.</p>
<p>As a reminder, our weekly IRC meeting is on Tuesdays at 2100 UTC in openstack-meeting-alt.</p>
<p>Hope to see you there.<br>
</p>
<p><br>
</p>
<p>Regards,</p>
<p>Devdatta<br>
</p>
<p><br>
</p>
<p><br>
</p>
<p><br>
</p>
</body>
</html>