[openstack-dev] [Solum] Misc notes from Face 2 face Solum workshop

Krishna Raman kraman at gmail.com
Wed Nov 27 15:56:49 UTC 2013

Hi all,

Here is a summary of notes of the whiteboard discussions I took during the F2F workshop which may help future conversations.


1) Around Solum source/binary workflow:

We had discussed 3 workflows:
	a) A simple workflow triggered by a POST to the Solum REST API. 
		- Solum already knows the git repo URL to pull from.
		- Solum pulls a copy of the code and passes it onto the badger (lang-pack) build process
		** This is what will be available in milestone-1
	b) Solum managed git repository
		- Code is pushed to Solum git repo
		- A git hook will code to be archived or cloned to a temporary location and passed onto build flow.
	c) Externally managed git and CI flow
		- Code is managed by external git & CI
		- Binaries are directly provided to badger (lang-pack) build workflow

2) About a typical Solum workflow:
	Example below talks about a python-2.7 hello-world application at /
	1) user creates a application/plan, get [PLAN_ID]
		A: git://….helloworld.git
		R: glance://….python-2.7-badger (has a build.sh)
	2) Solum spins up a builder container based on [R]
	3) Solum git archives [A] into builder
	4) Solum executes build.sh in builder
	5) Build.sh does “pip install [3]”
		Badger defined runtime entry point
	6) Solum invokes “docker commit” if [5] completes succesfully, gets [DU_ID]

3) Solum build workflow (other possible cases):

	- We discussed possibility of having a CI system that is triggered when source/binaries are available from git-workflow
		- CI would take over from Solum and trigger build/test within build container
		- If tests pass, CI would trigger creation of DU
	- We also discussed possibility of skipping DU build process and have it build outside Solum.
		- User can directly provide DU for Solum to run

4) Possible concepts that need to be in a Application and Badger/DU manifest:
	Application manifest:
		- port <—> DU mapping
		- Scaling limits
		- Environment variables
		- Services
		- Badgers (0..n)
			- URL
			- Scaling limits
			- Flavor
			- Security flavor

	Badger (lang-pack) manifest (pre-build):
		- packaged software name/version (searchable)
		- dependencies on other badgers
		- shell environment
		- build command
	DU manifest (post-build)
		- runtime command
		- Environment
		- heat management snippet
		- scaling capabilities
		- ports and protocol endpoints
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20131127/63111ebb/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PastedGraphic-1.png
Type: image/png
Size: 34605 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20131127/63111ebb/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PastedGraphic-2.png
Type: image/png
Size: 24154 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20131127/63111ebb/attachment-0001.png>

More information about the OpenStack-dev mailing list