[openstack-dev] [Ironic][Horizon][Tuskar-ui] Making a dashboard for Ironic

Michael Krotscheck krotscheck at gmail.com
Fri Jun 19 15:48:45 UTC 2015


Hrm, well, this is a discussion I was hoping to have in Vancouver, but we
never got around to it.

I feel we actually want three projects. One, which permits a standalone
Ironic Dashboard. One, which integrates Ironic with Horizon. One, which
contains as much common code as possible. And, potentially, one that
contains as much common code between, say, an ironic shared library and a
glance shared library. Because Ironic isn't the only project out there that
may.... and I know this is CRAZY... but there are other projects that MAY
not want to be dependent on other projects.

So while I do not have a problem with an ironic dashboard inside horizon's
angular dashboard, and I do not have a problem working on that, I'm rather
concerned about the feasibility of that right now. And the reason's really,
really simple: The plumbing's not there yet.

What I mean by that is that the dependency mechanism by which all these
projects could chain off of each other isn't there. And the mechanism by
which these projects are published from infra isn't there. And we haven't
quite agreed on even common style rules yet. And a long list of other
necessary things that come from having to catch up with
K-#-of-releases-in-years of Infra having a full team of engineers working
on building up a testing infrastructure.

And, while I understand that "Hey why don't we just start one project and
split it apart when need arises" is a valid approach, or "What's wrong with
horizon" is a likely question, I personally feel that they're all hacks,
and as engineers of enterprise software we have to be more meticulous than
that.

But: Do I want to stand in the way of an ironic-dashboard because all of
these plumbing requirements? No. But please understand that until that
plumbing is in place, and until we reach consensus on how we do javascript
in openstack, any decisions you make on technology choice, architecture,
project structure, and implementation is about 75% likely to have to be
redone, and I will very happily -1 every patch of yours and tell you so.

And I'm working on that plumbing. So if you want to help, here's my current
list of TODO Items that I have to complete before I become a new dad in
early september.

- Land CORS support in our API's.
- Fix all the linting errors in Horizon. This will permit horizon to gate
on javascript style guidelines, and finally use the javascript-jobs
template in the gate.
- This will permit merlin to adopt the javascript style guidelines, and run
them in the gate.
- This will also permit angular-ironic-dashboard-rainbows-and-unicorns to
adopt those guidelines, and run them in the gate.
- We need to figure out how to gate a javascript API library integration
test against devstack. And then we need to standardize that build across
all projects that use the javascript builds.
- We need to figure out how we make sure library dependencies are shared
between projects, so our versions don't get out of sync (i.e. I can import
things from the ironic shared lib into both horizon and ironic-webclient).
- We need to talk to the infra team about publishing released javascript
library tarballs to an authoritative, stable "Repository". The reason for
this is that Infra doesn't like skynet, and therefore doesn't let zuul or
any of our other tools push code back to our git repositories in an
automated fashion. So the javascript-world's use of
Git-As-The-Authoritative-Source-Of-Everything is unlikely to work for us,
so we have to publish tarballs (alternative solutions to this are
appreciated).
- We need to teach both bower and npm to consume our tarballs. This isn't
strictly a need, as we can just express our dependencies as absolute URI's
_to_ those tarballs, but if the world at large is interested in starting to
build their own Apps On OpenStack using the javascript API's, that's
something we want to do.
- We need to have a serious discussion about ACL's in gerrit, as well as
what it means to be a core on Horizon, vs a core on an oslo-like library
that is consumed by horizon and other projects.

Michael

On Thu, Jun 18, 2015 at 5:48 PM niuzhenguo <niuzhenguo at huawei.com> wrote:

>  Hi Thai Q Tran,
>
>
>
> Thanks for the links about the Angular Dashboard, I agree with starting
> with the new angular horizon, will begin to draft a init repo of the new
> ironic-dashboard.
>
> And maybe can work with Krotscheck together.
>
>
>
> And as Andreas Jaeger comments here [1], he suggested to push
> ironic-dashboard in the openstack namespace instead of stackforge, and have
> a separate core team,
>
> needs Ironicers chime in here.
>
>
>
> [1] https://review.openstack.org/#/c/191131/
>
>
>
> Regards
>
> -zhenguo
>
>
>
> *From:* Thai Q Tran [mailto:tqtran at us.ibm.com]
> *Sent:* Friday, June 19, 2015 6:36 AM
>
>
> *To:* OpenStack Development Mailing List (not for usage questions)
> *Subject:* Re: [openstack-dev] [Ironic][Horizon][Tuskar-ui] Making a
> dashboard for Ironic
>
>
>
> Hi Zhengou,
>
>
>
> I think it make sense to start with the angular version. It's true that we
> don't have an angular dashboard yet,
>
> but we have a pretty good idea of what needs to go into it. I'll link a
> few patches that will give you an idea
>
> of where we are headed. I think this will also save you some work in the
> long run.
>
>
>
> For creating a new dashboard: https://review.openstack.org/#/c/190852/
>
> For creating a new panel: https://review.openstack.org/#/c/190865/
>
> For demo patch: https://review.openstack.org/#/c/181253/
>
>
>
> The file and code structure I would say is pretty stable.
>
> There are still some infra stuff that needs to happen to make this easier
> to do.
>
> Things like translation in static HTML, auto discovery of static files,
> start dash for angular, etc...
>
>
> -----niuzhenguo <niuzhenguo at huawei.com> wrote: -----
>
> To: "OpenStack Development Mailing List (not for usage questions)" <
> openstack-dev at lists.openstack.org>
> From: niuzhenguo <niuzhenguo at huawei.com>
> Date: 06/17/2015 06:38PM
> Subject: Re: [openstack-dev] [Ironic][Horizon][Tuskar-ui] Making a
> dashboard for Ironic
>
> Hi Krotscheck,
>
>
>
> Sorry for not attending the last meeting due to TZ.
>
>
>
> Yes, Horizon is moving towards an Angular application, but for now there’s
> no any Angular Dashboard landed. I think it’s high time that we should make
> a standard for other projects which want to horizon compatible on whether
> they should based on Angular Dashboard or the current Horizon framework.
> This is important for the new Magnum and Ironic UI, personally, I’d prefer
> to use the current framework and  move to Angular Dashboard when it’s
> mature.
>
>
>
> And after a quick look at your JS project, I think it’s totally a
> standalone UI not based on Horizon Angular Dashboard (correct me if I
> missed something), and seems there’s no any update over a month, are you
> planning to push you repo to stackforge or openstack?
>
>
>
> Anyway, it’s clear that we should make an Ironic dashboard, it’s a good
> start.
>
>
>
>
>
> Regards
>
> -zhenguo
>
>
>
> *From:* Michael Krotscheck [mailto:krotscheck at gmail.com
> <krotscheck at gmail.com>]
> *Sent:* Wednesday, June 17, 2015 11:56 PM
> *To:* OpenStack Development Mailing List (not for usage questions)
> *Subject:* Re: [openstack-dev] [Ironic][Horizon][Tuskar-ui] Making a
> dashboard for Ironic
>
>
>
> Hey there!
>
> Yes, we are duplicating effort. I've spent quite a bit of effort over the
> past few months landing features inside openstack that will make it
> possible for a JavaScript client to be imported to horizon as a dependency.
> This includes CORS, configuration, caching, infra tooling, etc, with the
> end goal being a maximum amount of code reusability between the standalone
> UI and Horizon. While it may not appear that way, I _am_ actively working
> on this project, though I'm currently focused on javascript infrastructure
> tooling and oslo middleware than the ironic webclient itself.
>
>
>
> With Horizon also moving towards an angular application, I feel it makes
> far more sense to build components for the "new" Horizon than the old one.
>
>
>
> Michael
>
>
>
> On Tue, Jun 16, 2015 at 9:02 PM NiuZhenguo <niuzhenguoing at hotmail.com>
> wrote:
>
>  hi folks,
>
>
>
> I'm planning to propose a new horizon plugin ironic-dashboard to fill the
> gap that ironic doesn't have horizon support. I know there's a nodes panel
> on "infrastructure" dashboard handled by tuskar-ui, but it's specifically
> geared towards TripleO. Ironic needs a separate dashboard to present an
> interface for querying and managing ironic's resources (Drivers, Nodes, and
> Ports).
>
>
>
> After discussion with the ironic community, I pushed an ironic-dashboard
> project to stackforge [1].
>
>
>
> Also there's an existing JS UI for ironic in developing now [2], we may
> try to resolve the same goals, but as an integrated openstack project,
> there's clear needs to have horizon support.
>
>
>
> I'd like to get what's your suggestion, thanks in advance.
>
>
>
>
>
> [1] https://review.openstack.org/#/c/191131/
>
> [2] https://github.com/krotscheck/ironic-webclient
>
>
>
>
>
> Regards
>
> -zhenguo
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150619/889fd07b/attachment.html>


More information about the OpenStack-dev mailing list