Mirantis OpenStack

  • Download

    Mirantis OpenStack is the zero lock-in distro that makes deploying your cloud easier, and more flexible, and more reliable.

  • On-Demand

    Mirantis OpenStack Express is on demand Private-Cloud-as-a-Service. Fire up your own cloud and deploy your workloads immediately.

Solutions Engineering

Services offerings for all phases of the OpenStack lifecycle, from green-field to migration to scale-out optimization, including Migration, Self-service IT as a Service (ITaaS), CI/CD. Learn More

Deployment and Operations

The deep bench of OpenStack infrrastructure experts has the proven experience across scores of deployments and uses cases, to ensure you get OpenStack running fast and delivering continuous ROI.

Driver Testing and Certification

Mirantis provides coding, testing and maintenance for OpenStack drivers to help infrastructure companies integrate with OpenStack and deliver innovation to cloud customers and operators. Learn More

Certification Exam

Know OpenStack? Prove it. An IT professional who has earned the Mirantis® Certificate of Expertise in OpenStack has demonstrated the skills, knowledge, and abilities needed to create, configure, and manage OpenStack environments.

OpenStack Bootcamp

New to OpenStack and need the skills to run an OpenStack cluster yourself? Our bestselling 3 day course gives you the hands-on knowledge you need.

OpenStack: Now

Your one stop for the latest news and technical updates from across OpenStack ecosystem and marketplace, for all the information you need stay on top of rapid the pace innovation.

Read the Latest

The #1 Pure Play OpenStack Company

Some vendors choose to “improve” OpenStack by salting it with their own exclusive technology. At Mirantis, we’re totally committed to keeping production open source clouds free of proprietary hooks or opaque packaging. When you choose to work with us, you stay in full control of your infrastructure roadmap.

Learn about Our Philosophy

Tracking multiple OpenStack projects using StoryBoard

on June 17, 2014

StoryBoard is a new task tracking system which is aimed at the systems where projects are closely related, and OpenStack is definitely a good example of that. In inter-related systems like OpenStack, a feature or a bug usually affects more than one project, so it should be tracked simultaneously across those projects. The proof-of-concept was presented in the Havana release cycle by OpenStack release manager Thierry Carrez, and active development started during the Icehouse development cycle. The project is now driven by three major contributor companies: the OpenStack Foundation, Mirantis, and HP.

As you would expect, StoryBoard manipulates Projects and Users in a way similar to other task trackers. (The Project Groups API is partially implemented, but it will allow a better tracking experience.)

In this article, we’ll look at the basic components of StoryBoard, how it’s structured, and where it’s going.

The Structure of StoryBoard

StoryBoard introduces two basic models designed for task tracking in an inter-related projects system: stories, and tasks.

Stories

Stories are the objects that represent feature requests or bug reports. A Story does not belong to a single Project. It describes, in general terms, what should be done overall. The Story is a place for a discussion, so all Users can to post comments under the Story. When it’s clear what should be done to complete a Story, the Tasks can be created.

story.png

Whenever a change to a Story happens, such as a status change or he assignment of a related Task to a User, that change is displayed in the Event TimeLine under the Story.

Tasks

A Task is an atomic change that should be made to a single project to progress a Story. A project can have as many tasks as necessary to implement a single Story. Each Task has its own independent status, and can be assigned to a different User working on one Story. The Story also has a status, which is calculated automatically depending on the status of each of the tasks inside it.

task.png

Those are the concepts that are already implemented. The Web-UI is available at https://storyboard.openstack.org.

There are a few OpenStack Infra projects which are tracking their tasks using StoryBoard: Nodepool,  Zuul and more joining right now. Also, StoryBoard has it’s own tasks tracked inside StoryBoard.

The StoryBoard project itself

If we dive a bit deeper inside StoryBoard as a project, we find that there are actually two projects: the REST API server, and the web client.

StoryBoard REST API server

Like most OpenStack projects, StoryBoard provides a REST API server that other projects and applications can call.

Also like most other OpenStack projects, the packaging and installation processes are managed with tox and pbr, and the dependencies are in sync with the rest of OpenStack. Structurally, the main pieces of the StoryBoard server are:

  • SQLAlchemy, responsible for ORM and database communications.

  • Alembic, to handle migrations

  • The API itself, based on Pecan/WSME bindings

  • Oslo.config and other Oslo libraries

The REST API is used by the Web client.

StoryBoard Web client

The client is a pure web app that lives in a user’s browser. No backend for templates rendering is involved. The StoryBoard Web client is an AngularJS Web application, with the layout implemented using Bootstrap. The JavaScript files and HTML templates are assembled with Grunt, with configurations are managed through tox.

Moving forward

Even with all of this functionality in place, there a number of tasks that remain before  StoryBoard will be a full featured task tracker, and design discussions are ongoing.

For example, StoryBoard needs a RBAC mechanism to allow project managers control their own projects, and anyone making use of StoryBoard, such as a developer or manager, needs the ability to prioritize tasks and stories. Obviously those priorities are going different when considered from different perspectives.

Also, being a Task tracker, StoryBoard can’t live without a fast and reliable search mechanism. The Elasticsearch framework has been proposed to handle that, but details are still under discussion.

Lastly, but still important, StoryBoard needs subscription/notification functionality to enable Users to subscribe to changes that interest them.

Getting started

If you’re interested in seeing it in action, along with Zuul and Nodepool, StoryBoard has a special sandbox Project where Users can create tasks to see how it all works.

Both the API and the Web client are tested on the OpenStack CI infrastructure. If the tests pass, the commits are automatically continuously deployed to storyboard.openstack.org. So you are always going to see the latest StoryBoard there.

You can also get a feel for the project by viewing this demo:

Some HTML is OK


or, reply to this post via trackback.