[openstack-dev] [ironic] [horizon] ironic panels

Beth Elwell e.r.elwell at gmail.com
Wed Oct 21 17:02:54 UTC 2015

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
>    that.
> * 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-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

More information about the OpenStack-dev mailing list