Obsolete:Horizon planning
Background
Horizon (aka 'openstack-dashboard' ) is the official OpenStack web interface. It didn't exist back when Ryan first built labs, so we've been using our own homemade interface, OpenStackManager, which is a mediawiki extension. OSM has a lot of good features -- it integrates well with wikitech, and supports a bunch of Labs-specific features.
OSM is also accumulating a pretty long list of bugs, though. At this point it's probably better to stop spending development time on the WMF-only OpenStackManager extension and start spending that time on the upstream project, Horizon.
Horizon uses a modular design that supports the easy addition of custom panels. A lot of our work will be in the form of WMF-only custom panels, but ideally some of our work can be included in the upstream project as well.
Adoption plan
For the foreseeable future, we'll run OSM and Horizon in parallel. Users will have their choice of interface (except when it comes to features missing from Horizon, in which case they'll need to use OSM). As we add features to Horizon we can gradually nudge users away from OSM until we're ready to abandon it.
Open questions
- Done By default Horizon will support authorization using the same username/password required for wikitech. It does not support 2fa. Do we need to implement 2fa before exposing Horizon to the public?
- Should horizon integrate with wikitech?
- Same URL or different?
- Shall we continue to maintain SMW instance stats on wikitech?
- Single sign-on or separate?
- Procurement: https://rt.wikimedia.org/Ticket/Display.html?id=8851
- How will we handle changes we make to upstream Horizon?
- Currently we're running Openstack Havana. Can the development tip of Horizon interact with our OpenStack install?
Horizon bugs that we care about
- Horizon handles large sets of projects and instances poorly. Paging logic needs to be added, and the search and filter features need to search the database rather than just the currently viewable info.
Missing features
- DNS
- If we adopt designate then perhaps this will all be handled by upstream code
- Done Dynamic proxy
- We'll definitely have to make our own panel for this.
- Service groups
- This will almost certainly be a new WMF-specific panel
- Doing... Puppet, Heira, LDAP
- Our solution for this might be of interest to other OpenStack users.