Kibana: [Meta] Prepare stack monitoring for new platform

Created on 21 Mar 2019  路  20Comments  路  Source: elastic/kibana

Stack Monitoring migration will be a little untraditional since it will still keep angularjs in the first phase. With configureAppAngularModule we are able to create an angular shim until we are ready to refactor to React.

Helpful links:
https://github.com/elastic/kibana/issues/31968
https://github.com/elastic/kibana/tree/master/rfcs/text

Legends:
:hourglass_flowing_sand: Currently in-progress by @igoristic

Client Side docs:

7.6

Phase 1: (Part of the NP progress and is required before 8.0)

  • [ ] :hourglass_flowing_sand: Create shim wrapper for legacy dependencies legacy.ts, CoreSetup plugin.ts, and start np_ready directory process.
  • [ ] :hourglass_flowing_sand: Change angular instance to configureAppAngularModule. Test original functionality still works: routing, breadcrumbs, globalState, timefilter, etc...
  • [ ] Isolate main legacy angular components:

    • ui/timefilter(or possible leverage: https://github.com/elastic/kibana/pull/44783)

    • ui/kbn_top_nav (using https://github.com/elastic/kibana/pull/48542)

  • [ ] Change any deprecated import aliases like: plugins/monitoring/* to their direct paths
  • [ ] Move app entry/injection to legacy.ts

7.7

Phase 2: (This phase will not be part of the NP 8.0 progress, but will follow shortly after Phase 1)

  • [ ] Start angularjs to React/Typescript refactor:

    • Create React alternatives to ui/timefilter and ui/kbn_top_nav

    • Replace ui/router with react BrowserRouter router

    • Create global context states (in lieu of globalState, timefilter)

    • Move rest of the app to the np_ready directory

Server Side docs:

7.5

Phase 1:

  • [ ] Phase 1 of server-side migration (create appropriate shims and migrate usage to shims, create new plugin definition file) -> https://github.com/elastic/kibana/pull/46507
  • [ ] Move all server.plugins.* calls to the backend Legacy shim

NOTE: Please note this list/ETAs is still work in progress and will be updated over time

NP Migration Monitoring

All 20 comments

Pinging @elastic/stack-monitoring

@chrisronline Nice! Thanks for putting this together!

Do you know when we want to have this done by? It might be good to find a home for this in the Stack Monitoring project board.

@cachedout Great question. It needs to be done by 8.0

K, I'll take care of finding a home for this on the board. Thanks!

I've opened the first PR for this work (https://github.com/elastic/kibana/pull/34566) that outlines some of the initial effort required to remove angular entirely. It's actually quite a bit of work, considering we need to provide custom solutions for routing and global state management. We have some time to get all of this ready, but this effort will be large and require a bit of time to pull off. We should try and pick away at pieces of this as we go.

My PR should probably be updated to accommodate a periodic roll out plan of attack where we can convert a few views here and there at a time instead of saving one huge PR for the end.

I'll work on that next.

@chrisronline What do you think about trying to break these up into some more discrete sets of tasks that we can put into the project board to monitor our progress?

Sure, I'll revisit this very soon and add some separate tasks, as I see them

As a reminder, @monicasarbu would also like us to please review the Logstash Pipeline Viewer in the management app as well. (We don't need to migrate it, but just see what the work would look like.) I don't think that's being tracked anywhere else so I'm mentioning it here.

@chrisronline Where does https://github.com/elastic/kibana/pull/34566 fit in with where we are today? Is your plan to come back to that?

I think the plan is for @igoristic to continue/restart that effort. @igoristic Feel free to reach out with any questions about the work I did there - we don't have to keep any of it, but it might show you some of the thoughts I had about how the client side might work without angular

@chrisronline Thanks, this is great stuff! I might be able to reuse some of it

@igoristic I am reviewing the items for 7.6 and noticed that there are two items under the Isolate main legacy angular components heading, both of which seem to be merged. Are completed items up-to-date?

The FF for 7.6 is Jan 14. As always, we need to provide enough time to go through a review process. Do you anticipate any difficulty in getting through the remaining items for 7.6 before the end of the year? As always, updates are very appreciated. Thanks!

@chrisronline Similar question for you in terms of whether or not we should check off the first item in 7.5 list since the referenced PR is merged.

@cachedout

They are not yet merged, but mostly completed here: https://github.com/elastic/kibana/pull/51823 I'll update the progress once I merge it to master

Could you switch to elasticsearch client & licensing plugin API exposed from start contract when you finish migrating the remainings to the Kibana Platform? We are deprecating elasticsearch API exposed from setup contract, so it's better to refactor the code right away not to get back to the problem later.

@restrry Yes that should be fine. What's the timeline around this?

We are going to provide a new elasticsearch client at the end of 7.9. Switching to it in 7.10 would be the ideal case.
Is removing the legacy plugin still on track in 7.9?

@joshdover I can't find the issue, but did we get the server status feature into NP yet? To replace this code

@joshdover I can't find the issue, but did we get the server status feature into NP yet? To replace this code

No this hasn't been completed yet, you can track this issue: #41983
This got put on the backburner while we worked on other priorities. I expect we'll get back to finishing the status service in 7.10, I'll ping you when what you need is available 馃槃

Outdated/completed task

Was this page helpful?
0 / 5 - 0 ratings

Related issues

stigdescamps picture stigdescamps  路  88Comments

rashidkpc picture rashidkpc  路  116Comments

Alex-Ikanow picture Alex-Ikanow  路  364Comments

bquartier picture bquartier  路  79Comments

stacey-gammon picture stacey-gammon  路  74Comments