On 21/10/2015 01:48, Jim Rollenhagen wrote:
On Tue, Oct 20, 2015 at 04:50:04PM +0100, Beth Elwell wrote:
Hi Jim,

I have replied inline to your comments below:

On 19/10/2015 19:38, Jim Rollenhagen wrote:
On Mon, Oct 19, 2015 at 07:05:04PM +0100, Beth Elwell wrote:
Hi all,

I am currently in the process of writing an Ironic panel in Horizon
upstream. It was originally intended for this panel to be written in
Angular JS, however, as I understand, no horizon angular work will
merge for several months, and 2-3 panels (of which ironic is not one)
are being moved to the feature branch to iterate on the design pattern
that they want to use to implement the angular.

With regard to the ironic panel, this means that in order to implement
it in angular, it will take weeks or perhaps months to merge and even
when it does, it may well need to be rewritten to follow design patterns
being set at the moment.

Therefore I propose that I continue to develop this as a Horizon python
panel as a short term solution to allow a UI to exist for our users of
Ironic ASAP and longer term make use of the ironic webclient and the
work that krotscheck is currently doing on that.

I would appreciate feedback with regard to whether the ironic community
are happy for me to continue on with developing a horizon panel or would
like me to work on an angular panel.
In general, I like the idea of "get a web interface to users quickly",
and in that spirit I think building a horizon panel is the right thing
to do.

I do love the webclient work; I think it's great. However, considering
that (as far as I know) there's only two people working on Ironic web
interfaces, is it valuable to be working on two different web interfaces
right now? In the worst case:
I have had contact from another party interested in helping get a horizon
panel up and running quickly and so it is definitely doable to have that
being worked on as well as the work on the webclient.
* horizon panel will be built
* webclient will also be built
* horizon will figure out angular stuff
* webclient will be re-written to work with horizon
* webclient will likely take significant time to merge into horizon
* old horizon panel will be deprecated
* (in time) old horizon panel will be removed

And in the best case, only the rewrite step is skipped, and maybe the
merge into horizon won't take long. There's also a question about how
much different the two are, and how large of a leap that is for users.

That seems like a lot of extra effort and maintenance for an entire
team; let alone two people. So I question if it's worth working on the
webclient, or punting on that until horizon is ready, and then
refactoring the horizon panel into angular.

Is there a clear benefit to having both worked on in parallel?
As I see it they ultimately fulfill different purposes and therefore
developing both is not a waste of resources or time. The panel is a short
term solution to fulfill a user requirement for a user interface within
Horizon. The webclient is a long term mission to create independent API
libraries in javascript in order to make openstack more composable.
Okay, after reading this and talking with krotscheck in IRC:

* The horizon panel is clearly valuable, as many users use Horizon. We
   should support that.

* The ironic-webclient work is clearly valuable, as we support running
   Ironic standalone, and a standalone web UI would be great to have for

* I'm not opinionated whether "independent API libraries in Javascript
   in order to make OpenStack more composable" is valuable. It seems like
   it is, assuming there's a use case for that. The clear use case to me
   is to allow Horizon competitors to be built, which seems useful for
   folks that don't want to or care to use Horizon.

At any rate, I agree the horizon panel should be worked on - let's get
our users a UI.

Following the original email I have spoken further with the Horizon teams. In assessing the state of my existing work and theirs on the angular panel have got to, it seems pointless to remake a Django horizon panel, and in so doing go backwards, when one in angular already virtually exists in full now.

After discussion with David Lyle from horizon I will be converting the angular panel to a plugin that will be a significantly faster effort than starting another panel from scratch in Django. As I understand, this will have much the same effect as a panel within horizon - our users will have an ironic UI allowing them to access ironic from within horizon and we will be able to reuse most of the existing code that has already been written to do so to avoid replication of the same thing in just a different language.

// jim

OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe

OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe

Reply via email to