Hello all,
I'd like to take this opportunity to formally announce the OpenStack Dashboard. It's been available on Launchpad for a little while now so I could gather a bit of initial feedback about it. Enough people have played with it and found it useful that it makes sense to unveil it to a larger audience.
The OpenStack Dashboard is based primarily on code that was developed for the NASA Nebula Dashboard. We received the green light to release the code under the Apache licenese and have done so. The project is based on Django and Python and consists of two primary pieces:
django-nova
This is a Django module that contains all of the interesting bits. It's designed to be reusable and modular so it can be used in a variety of projects. The NASA Nebula Dashboard uses this module, as does the OpenStack Dashboard.
The repo is available at:
https://launchpad.net/django-nova
As of Ubuntu Natty, it will be available in the apt repo:
http://www.ubuntuupdates.org/packages/show/302171
openstack-dashboard
This is a Django site that provides a bare minimum reference implementation around django-nova. This is essentially just CSS, django-registration for creating accounts, and the settings required to make django-nova function properly. The goal of this site is to provide something demoable with some OpenStack branding on it. Other organizations wanting to deploy a dashboard will want to roll their own, but using this as a reference.
The repo is available at:
https://launchpad.net/openstack-dashboard
------
Future
------
Migrate to OpenStack API
Currently django-nova is based on the EC2 API for several reasons:
* OpenStack API lacks support for Volumes (this is being remedied very soon)
* OpenStack API has some conflicts with how project and user groups are handled.
* OpenStack API lacks admin API functions such as creating users and projects, starting VPNs.
We have cobbled together the admin functions in the EC2 based admin endpoint for now.
The goal is to transition to the OpenStack API as soon as it is possible. There's no harm in starting this effort in a separate branch now so we can begin figuring out exactly where the pain points will be.
Combine django-nova and openstack-dashboard repos
Since these are complementary projects, I originally created them as separate Launchpad repos, but this created a lot of extra overhead when applying fixes that related to both projects. The code won't be combined anymore than it already is, but I will be restructuring the openstack-dashboard repo to include django-nova in a separate folder. This will make it much easier to deal with.
Improve user experience
We followed an agile development process and created the minimum of what was needed as we proceeded, but for the most part the functionality has stabilized. There is room for improvement in the general usability of the sight, such as adding more client side scripting, improving layouts, etc.
There is much more to be done, but this is a good starting point for discussion!
Best,
Devin Carlen