[openstack-dev] [Horizon][searchlight] Sharing resource type implementations

Richard Jones r1chardj0n3s at gmail.com
Mon Mar 13 22:43:56 UTC 2017


I'll definitely be looking at getting a searchlight-ui patch up for
the mirror side of my Horizon patch.

Double registration largely depends on which particular aspect of the
resource type is being looked at. Most of the resource type
registration will just be replaced (with identical information) but
the kicker will be table columns and actions which are added by append
(via extensible service), so they'll all be duplicated if both
registrations run. So ideally both searchlight-ui and Horizon would be
updated at the same time.


     Richard

On 11 March 2017 at 04:34, Tripp, Travis S <travis.tripp at hpe.com> wrote:
> Hi Richard,
>
> I’m headed out for vacation so won’t be able to look through it until I get back.  However, can you also please get an install of searchlight-ui running so that you can see if anything breaks?  I know you don’t typically use devstack, but the searchlight devstack plugin installs searchlight UI. [0]
>
> The one thing I’m not sure about is how the resource registry handles potential double registrations.  So, if the resource is registered both code bases, I don’t know what would get loaded.
>
> https://review.openstack.org/#/c/444095/2/openstack_dashboard/static/app/core/instances/instances.module.js
> https://github.com/openstack/searchlight-ui/blob/master/searchlight_ui/static/resources/os-nova-servers/os-nova-servers.module.js#L57
>
> [0] https://github.com/openstack/searchlight/tree/master/devstack
>
> Thanks,
> Travis
>
> On 3/9/17, 10:58 PM, "Richard Jones" <r1chardj0n3s at gmail.com> wrote:
>
>     Thanks, Steve!
>
>     I've put together an initial patch
>     https://review.openstack.org/#/c/444095/ which pulls in the
>     os-nova-servers module and a little extra to make it work in Horizon's
>     codebase. I've tried to make minimal edits to the actual code -
>     predominantly just editing module names. I've tested it and it mostly
>     works on Horizon's side \o/
>
>
>          Richard
>
>     On 10 March 2017 at 14:40, McLellan, Steven <steve.mclellan at hpe.com> wrote:
>     > My expertise in this area is deeply suspect but as long as we maintain the
>     > mapping from the resource type names that searchlight uses (os-nova-servers)
>     > to the modules we'll be OK. If you or Rob put a patch up against horizon I
>     > (or a willing victim/volunteer) can test a searchlight-ui patch against it.
>     >
>     >
>     > -------- Original message --------
>     > From: Richard Jones <r1chardj0n3s at gmail.com>
>     > Date: 3/9/17 21:13 (GMT-06:00)
>     > To: "OpenStack Development Mailing List (not for usage questions)"
>     > <openstack-dev at lists.openstack.org>
>     > Subject: Re: [openstack-dev] [Horizon][searchlight] Sharing resource type
>     > implementations
>     >
>     > Hey folks,
>     >
>     > Another potential issue is that the searchlight module structure and
>     > Horizon's module structure are different in a couple of respects. I
>     > could just retain the module structure from searchlight
>     > ('resources.os-nova-servers') or, preferably, I could rename those
>     > modules to match the Horizon structure more closely
>     > ('horizon.app.resources.os-nova-servers') or more strictly
>     > ('horizon.app.core.instances').
>     >
>     > As far as I can tell none of the module names are referenced directly
>     > outside of the module (apart from resources.module.js of course) so
>     > moving the modules shouldn't affect any existing usage in searchlight
>     > ui.
>     >
>     > We could bikeshed this for ages, so if I could just get Rob and Steve
>     > to wrestle over it or something, that'd be good. Rob's pretty scrappy.
>     >
>     >
>     >       Richard
>     >
>     >
>     > On 10 March 2017 at 09:56, Richard Jones <r1chardj0n3s at gmail.com> wrote:
>     >> OK, I will work on a plan that migrates the code into Horizon, thanks
>     >> everyone!
>     >>
>     >> Travis, can the searchlight details page stuff be done through
>     >> extending the base resource type in Horizon? If not, is that perhaps a
>     >> limitation of the extensible service?
>     >>
>     >>
>     >>      Richard
>     >>
>     >>
>     >> On 10 March 2017 at 02:20, McLellan, Steven <steve.mclellan at hpe.com>
>     >> wrote:
>     >>> I concur; option 4 is the only one makes sense to me and was what was
>     >>> intended originally. As long as we can do it in one fell swoop in one cyclle
>     >>> (preferably sooner than later) there should be no issues.
>     >>>
>     >>>
>     >>>
>     >>>
>     >>> On 3/9/17, 8:35 AM, "Tripp, Travis S" <travis.tripp at hpe.com> wrote:
>     >>>
>     >>>>Let me get Matt B in on this discussion, but basically, option 4 is my
>     >>>> initial feeling as Rob stated.
>     >>>>
>     >>>>One downside we saw with this approach is that we weren’t going to be
>     >>>> able to take advantage of searchlight capabilities in details pages if
>     >>>> everything was in native horizon.  Although, I suppose that could be done by
>     >>>> using the hz-if-services directive [0] if horizon will allow searchlight
>     >>>> optimized code to be in the horizon repo.
>     >>>>
>     >>>>[0]
>     >>>> https://github.com/openstack/horizon/blob/master/openstack_dashboard/static/app/core/cloud-services/hz-if-services.directive.js
>     >>>>
>     >>>>-Travis
>     >>>>
>     >>>>On 3/9/17, 5:09 AM, "Rob Cresswell (rcresswe)" <rcresswe at cisco.com>
>     >>>> wrote:
>     >>>>
>     >>>>    I tried searching the meeting logs but couldn’t find where we
>     >>>> discussed this in the Searchlight meeting. The conclusion at the time was
>     >>>> option 4 IIRC. The main thing is to make sure we get it done within one
>     >>>> cycle, even if it isn’t default. this means searchlight-ui doesn’t have to
>     >>>> carry some horrible workarounds and can just remove the code from their
>     >>>> repo.
>     >>>>
>     >>>>    Basically; start putting the code in the Horizon repo, and when its
>     >>>> done, Searchlight-UI can remove it from their repo.
>     >>>>
>     >>>>    Rob
>     >>>>
>     >>>>
>     >>>>    > On 9 Mar 2017, at 04:22, Richard Jones <r1chardj0n3s at gmail.com>
>     >>>> wrote:
>     >>>>    >
>     >>>>    > Hi Searchlight and Horizon folks,
>     >>>>    >
>     >>>>    > I'd like to re-use the wonderful resource type code from
>     >>>>    > searchlight-ui (in particular os-nova-servers right now but
>     >>>>    > potentially others down the track) and was wondering whether you'd
>     >>>> had
>     >>>>    > any thoughts about how we might share that code? Off the top of my
>     >>>>    > head I see a few options:
>     >>>>    >
>     >>>>    > 1. We depend on the searchlight-ui as a Horizon requirement; this
>     >>>> is
>     >>>>    > pretty unlikely to happen (depending on any optional panel means
>     >>>> it's
>     >>>>    > not really optional any longer ;-)
>     >>>>    > 2. We copy the code from searchlight-ui into Horizon; this is
>     >>>> pretty terrible.
>     >>>>    > 3. We move the code from searchlight-ui into a separate project
>     >>>> that
>     >>>>    > both Horizon and searchlight-ui depend upon; this could be made to
>     >>>>    > work, though it's Yet Another Project.
>     >>>>    > 4. We move the code from searchlight-ui into Horizon. I think this
>     >>>> is
>     >>>>    > most likely to work.
>     >>>>    >
>     >>>>    > What are your thoughts? Have I missed an option in this list that
>     >>>> you
>     >>>>    > think is a better one? Have I missed the mark in my analysis of the
>     >>>>    > options I've presented?
>     >>>>    >
>     >>>>    >
>     >>>>    >      Richard
>     >>>>    >
>     >>>>    >
>     >>>> __________________________________________________________________________
>     >>>>    > 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
>     >>>
>     >>> __________________________________________________________________________
>     >>> 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
>     >
>
>     __________________________________________________________________________
>     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



More information about the OpenStack-dev mailing list