<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><font class="Apple-style-span" face="'Courier New'">Hello all,</font><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'">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.</font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'">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:</font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'"><b>django-nova</b></font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'">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.</font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'">The repo is available at: </font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'">  </font><a href="https://launchpad.net/django-nova"><font class="Apple-style-span" face="'Courier New'">https://launchpad.net/django-nova</font></a></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'">As of Ubuntu Natty, it will be available in the apt repo:</font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'">  </font><a href="http://www.ubuntuupdates.org/packages/show/302171"><font class="Apple-style-span" face="'Courier New'">http://www.ubuntuupdates.org/packages/show/302171</font></a></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'"><b>openstack-dashboard</b></font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'">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.</font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><span class="Apple-style-span" style="font-family: 'Courier New'; ">The repo is available at:</span></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'">  </font><a href="https://launchpad.net/openstack-dashboard"><font class="Apple-style-span" face="'Courier New'">https://launchpad.net/openstack-dashboard</font></a></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'"><b>------</b></font></div><div><span class="Apple-style-span" style="font-family: 'Courier New'; "><b>Future</b></span></div><div><span class="Apple-style-span" style="font-family: 'Courier New'; "><b>------</b></span></div><div><span class="Apple-style-span" style="font-family: 'Courier New'; "><b><br></b></span></div><div><font class="Apple-style-span" face="'Courier New'"><b>Migrate to OpenStack API</b></font></div><div><font class="Apple-style-span" face="'Courier New'"><b><br></b></font></div><div><font class="Apple-style-span" face="'Courier New'">Currently django-nova is based on the EC2 API for several reasons:</font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'">* OpenStack API lacks support for Volumes (this is being remedied very soon)</font></div><div><font class="Apple-style-span" face="'Courier New'">* OpenStack API has some conflicts with how project and user groups are handled.</font></div><div><font class="Apple-style-span" face="'Courier New'">* OpenStack API lacks admin API functions such as creating users and projects, starting VPNs.</font></div><div><font class="Apple-style-span" face="'Courier New'">  We have cobbled together the admin functions in the EC2 based admin endpoint for now.</font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'">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.</font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'"><b>Combine django-nova and openstack-dashboard repos</b></font></div><div><font class="Apple-style-span" face="'Courier New'"><b><br></b></font></div><div><font class="Apple-style-span" face="'Courier New'">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.</font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'"><b>Improve user experience</b></font></div><div><font class="Apple-style-span" face="'Courier New'"><b><br></b></font></div><div><font class="Apple-style-span" face="'Courier New'">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.</font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'">There is much more to be done, but this is a good starting point for discussion!</font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'">Best,</font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'">Devin Carlen</font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><font class="Apple-style-span" face="'Courier New'"><br></font></div><div><br></div></body></html>