Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Upgrade Assistant] Redesign overview page #95346

Merged
merged 47 commits into from
Apr 14, 2021

Conversation

alisonelizabeth
Copy link
Contributor

@alisonelizabeth alisonelizabeth commented Mar 24, 2021

This PR implements the first phase of the Upgrade Assistant redesign: a new Overview page and the start to distinguish between Elasticsearch and other stack (i.e., Kibana) deprecations.

Other notable changes:

  • Client-side routing
  • Breadcrumbs
  • Changed the behavior of the "level" filter buttons for ES deprecations. Instead of filtering by "all" or "critical", we now display all deprecations by default and the user can toggle the filters on and off for "critical" and "warning".

What's next

  • After this PR is merged, I will open up a subsequent PR to incorporate Kibana deprecations (I felt the changes were too large to include here). The UX will be updated to look something like this:

Screen Shot 2021-04-11 at 7 59 54 PM

  • I have not changed the UX for the list of ES deprecations or reindexing flow. This will addressed in a separate PR.
  • We've discussed enhancing the overview page by including a "highlights" section that showcases new features in 8.0. This will come as I gain more information on the type of content we wish to show here.

How to test/review

Note for 7.13, users will still see the "coming soon" prompt. In order to test these changes, you will need to disable that functionality. In x-pack/plugins/upgrade_assistant/common/constants.ts, set UA_READONLY_MODE to false.

You can add some mock deprecation data by modifying the response returned from getUpgradeAssistantStatus() in x-pack/plugins/upgrade_assistant/server/lib/es_migration_apis.ts. I've created a gist with some mock data: https://gist.github.com/alisonelizabeth/f093c1464ffd90f9781c42399c758ab4.

  • General design feedback (with the understanding that this is the first iteration 😄)
  • Verify deprecation logging toggle
  • Verify routing/breadcrumbs
  • Verify "level" filter functionality on ES deprecations page
  • Verify no regressions in ES deprecations list (i.e., search still works, toggle accordions, etc.)

Screenshots

// Note: This warning callout was pre-existing. It may or may not be applicable anymore depending on which release we decide to re-enable UA. I decided to leave for now.

Screen Shot 2021-04-11 at 7 56 29 PM

Screen Shot 2021-04-08 at 10 46 08 AM

Screen Shot 2021-03-30 at 3 02 45 PM

Screen Shot 2021-03-30 at 3 05 13 PM

Screen Shot 2021-03-30 at 3 08 16 PM

Screen Shot 2021-03-30 at 3 08 50 PM

Screen Shot 2021-04-08 at 11 16 20 AM

Screen Shot 2021-04-08 at 11 16 26 AM

Screen Shot 2021-04-13 at 9 30 09 AM

@alisonelizabeth alisonelizabeth added v8.0.0 Team:Kibana Management Dev Tools, Index Management, Upgrade Assistant, ILM, Ingest Node Pipelines, and more Feature:Upgrade Assistant v7.13.0 labels Mar 24, 2021
@alisonelizabeth alisonelizabeth added the release_note:skip Skip the PR/issue when compiling release notes label Mar 24, 2021
onFilterChange={changeFilter}
onSearchChange={changeSearch}
onFilterChange={(filter: LevelFilterOption) => setCurrentFilter(filter)}
onSearchChange={(newSearch: string) => setSearch(newSearch)}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or directly onSearchChange={setSearch} 😊

@mdefazio
Copy link
Contributor

This was pre-existing behavior. I also considered changing it, but it gets a bit tricky if a user has some accordions opened and some closed - what should the toggle state be at that point? @mdefazio do you know if we have any existing patterns to follow for something like this?

@alisonelizabeth I'm not sure of a consistent pattern we have for accordions collapsing/expanding across Kibana (we should! and now have it on our "Needs guidelines" list). I'm inclined to say keep the existing behavior. While more clunky, 2 separate buttons is quite obvious. So we can absolutely streamline this, but I'd like to see if we can get some collective thoughts (hopefully quickly) around this that we can apply everywhere.

<p>
<FormattedMessage
id="xpack.upgradeAssistant.checkupTab.noIssues.nextStepsDetail"
defaultMessage="Check the {overviewTabButton} for next steps."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does the reference to "steps" here still make sense?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. I changed this to: Check the Overview page for other Stack deprecations. Happy to make any additional changes!

'xpack.upgradeAssistant.esDeprecationErrors.partiallyUpgradedWarningMessage',
{
defaultMessage:
'One or more Elasticsearch nodes have a newer version of Elasticsearch than Kibana.',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This reads like Kibana has a version of Elasticsearch.

Suggested change
'One or more Elasticsearch nodes have a newer version of Elasticsearch than Kibana.',
'Upgrade Kibana to the same version as your Elasticsearch cluster. One or more nodes in the cluster is running <version xyz> .',

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We currently don't have access to the version in this context. It's something we can support, but I think I'd prefer to do so in a separate PR. For now, I've updated this to:

Upgrade Kibana to the same version as your Elasticsearch cluster. One or more nodes in the cluster is running a different version than Kibana.

alisonelizabeth and others added 13 commits April 13, 2021 20:11
…/es_deprecations/es_deprecations.tsx

Co-authored-by: debadair <debadair@elastic.co>
…/es_deprecations/es_deprecations.tsx

Co-authored-by: debadair <debadair@elastic.co>
…/overview/deprecation_logging_toggle.tsx

Co-authored-by: debadair <debadair@elastic.co>
…/overview/deprecation_logging_toggle.tsx

Co-authored-by: debadair <debadair@elastic.co>
…/overview/overview.tsx

Co-authored-by: debadair <debadair@elastic.co>
…/es_deprecations/deprecation_tab_content.tsx

Co-authored-by: debadair <debadair@elastic.co>
…/overview/overview.tsx

Co-authored-by: debadair <debadair@elastic.co>
…recation_errors.ts

Co-authored-by: debadair <debadair@elastic.co>
…recation_errors.ts

Co-authored-by: debadair <debadair@elastic.co>
…/es_deprecations/deprecation_tab_content.tsx

Co-authored-by: debadair <debadair@elastic.co>
…/overview/es_stats.tsx

Co-authored-by: debadair <debadair@elastic.co>
…recation_errors.ts

Co-authored-by: debadair <debadair@elastic.co>
@alisonelizabeth
Copy link
Contributor Author

Thanks for the copy review @debadair! I applied your suggestions and responded to your comment about the message mentioning "steps" on the overview page.

@alisonelizabeth
Copy link
Contributor Author

@elasticmachine merge upstream

@kibanamachine
Copy link
Contributor

💚 Build Succeeded

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
upgradeAssistant 70 72 +2

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
upgradeAssistant 117.9KB 119.5KB +1.6KB

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
core 379.7KB 379.9KB +173.0B
upgradeAssistant 29.9KB 30.2KB +312.0B
total +485.0B

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@alisonelizabeth
Copy link
Contributor Author

I'm going to go ahead and merge this PR. I'm going to leave the deprecation toggle as-is for now, as the UX will likely change again once we support deprecation log indexing (#79208).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Upgrade Assistant release_note:skip Skip the PR/issue when compiling release notes Team:Kibana Management Dev Tools, Index Management, Upgrade Assistant, ILM, Ingest Node Pipelines, and more v7.13.0 v8.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants