[openstack-dev] [Solum] Update on current status

Devdatta Kulkarni devdatta.kulkarni at RACKSPACE.COM
Wed Jun 17 18:32:33 UTC 2015

Hi team,

With the recent application from our team to  be included in the big tent

(https://review.openstack.org/190949), I wanted to give a quick update on the state of our project.

Before I do that, here is a quick overview of the current capabilities of Solum and a very high-level

view of its inner workings.

All along, one of our goals has been to make it possible for application developers to easily deploy their

applications to OpenStack. Essentially, provide the ability to go from source code to running instance(s)

of an application on OpenStack without having to be greatly familiar with OpenStack services that

may be involved in deploying their applications.

In last two cycles we have made considerable progress towards that goal.

>From application developer point of view, it is now possible to deploy their applications,

starting from the source code, to OpenStack clouds using Solum.

At a high-level, this is achieved in three steps:

1) Build a languagepack (LP)

2) Register the application by providing information about the source repository, languagepack to use, and so on

3) Deploy the application

A screencast demonstrating these steps is available on the following link:


Application deployment in Solum happens as follows.

Solum needs a languagepack to build an application.

A languagepack is essentially a Docker container with the specified libraries installed on it.

Starting from the specified languagepack, Solum builds an application-specific Docker container

(called DU) by adding application's source code to it (DU = LP + application source code).

Solum then persists this DU to configured storage backend. We currently support Swift, Glance,

and Docker registry. Solum then calls Heat to deploy the DU. Depending on the configured storage

backend, the deployment steps differ slightly. For instance, if the configured storage is Swift, we use

tempURLs with Heat user-data to run the DU on a VM, whereas if the backend is Glance we

use the DU's Glance imageId directly within the Heat template.

Languagepacks can be pre-installed by the operator in their Solum installation, or application

developers can create and register new languagepacks per their applications' needs.

Apart from building and deploying an application, Solum supports running of application-specific tests.

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.

So that is where we currently stand.

Several other features are still remaining:

- Non-destructive application updates (application updates without changing the application URL).

- Scale up/scale down of application DUs.

- Service add/on framework

- Support for environments (Dev, Test, Staging)

Here is a roadmap with these and other suggested features for Liberty:


Please feel free to add to that list, or reply here with features that you are interested in seeing in Solum.

As a reminder, our weekly IRC meeting is on Tuesdays at 2100 UTC in openstack-meeting-alt.

Hope to see you there.



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150617/045ef4ef/attachment.html>

More information about the OpenStack-dev mailing list