[all][tc] A web tool which helps administrators in managing openstack clusters
On Tue, Aug 20, 2019 at 6:21 AM Douglas Zhang <lychzhz at gmail.com> wrote:
> Hello everyone,
> To help users interact with openstack, weâ??re currently developing a client-side web tool which enables administrators to manage their openstack cluster in a more efficient and convenient way. (Since we have not named it officially yet, Iâ??m going to call it openstack-admin)
> # Introduction
> Some may ask, â??Why do we need an extra web-based user interface since we have horizon?â?? Well, although horizon is a mature and powerful dashboard, it is far not efficient enough on big clusters (a simple list operation could take seconds to complete). Whatâ??s more, its flexibility of searching could not match our requirements. To overcome obstacles above, a more efficient tool is urgently required, thatâ??s why we started to develop openstack-admin.
That's great. Thanks for working on something like this.
> # Highlights
> Comparing with the current user interface, openstack-admin has following advantages:
> Fast: openstack-admin gets data straightly from SQL databases instead of calling standard openstack API, which accelerates the querying period to a large extent (especially when weâ??re dealing with a large amount of data).
While I agree with you that querying database is much faster, this
introduces two issues that I imagine for users:
- Dashboards generally having direct access via SQL is a scary thing
from an operators perspective, also, it will make maintaining the
project quite hard because I don't think any projects expose a
*stable* database API.
> Flexible: openstack-admin supports the fuzzy search for any important field(e.g. display_name/uuid/ip_address/project_name of an instance), which enables users to locate a particular object in no time.
This is really useful to be honest, but we probably can work around it
by using the filtering that APIs provide.
> User-friendly: the backend of openstack-admin gets necessary messages from the message queue used by nova, and send them to the frontend using websocket. This way, not only more realistic progress bars could be implemented, but more detailed information could be provided to users as well.
> # Issues
> To make this tool more efficient and provide better support for concurrency, we chose Golang to implement openstack-admin. As Iâ??ve asked before (truly appreciate advises from Jeremy and Ghanshyam), a project written by an unofficial language may be accepted only if existing languages have been proven to not meet the technical requirements, so weâ??re considering re-implementing openstack-admin using python if we canâ??t come to an agreement on the language issue.
> So thatâ??s all. How do you guys think of this project?
I like the idea overall. However, I'm not for or against the whole
software that gets deeply integrated/engrained within the systems.
It's not something that we've ever done before, but I don't know why
we wouldn't do it either.
The only concern is if we want to make this really super integrated,
most of the OpenStack projects are written in Python so having
something that lives deep in the heart of the deployment (i.e.
connected to databases and message queues) would probably best be
using Python to make it easier to keep running together.
Having said that, do you think perhaps we can take some of the
finding/improvements that you've done in this and apply them into
Horizon, perhaps that might be the path to most success? I'm not
attached to any of those ideas but trying to throw things out to spark
some other ideas that anyone else has.
> Douglas Zhang
Mohammed Naser â?? vexxhost
D. 800-910-1726 ext. 200
E. mnaser at vexxhost.com