Skip to content

Conversation

@sabarasaba
Copy link
Member

@sabarasaba sabarasaba commented Jul 22, 2021

Fixes: #79208

Summary

Improve Upgrade Assistant overview page with more comprehensive instructions, documentation links and add links to observability and discovery to allow users to better understand their deprecation logs.

Screenshot 2021-08-11 at 15 32 58

Upper limit for review logs step

Screenshot 2021-08-17 at 13 39 12

Error for review logs step stats panel

Screenshot 2021-08-17 at 13 50 34

Just one stat shown for review logs step stats panel

Screenshot 2021-08-17 at 14 06 50

How to test

  1. To enable UA, set xpack.upgrade_assistant.readonly: false in your kibana.yml
  2. Start elasticsearch with yarn es snapshot --license=trial
  3. Start kibana with yarn start
  4. Navigate to UA and enable the toggle to start collecting logs
  5. In order to see logs, navigate around kibana for a bit and then come back to UA and you should be able to see a few logs in the Discovery or Observability apps.
How to test cloud related changes

When running Kibana locally add following values to kibana.yml file to simulate Cloud environment

xpack.cloud.id: 'remote-deployment:dXMtY2VudHJhbDEuZ2NwLm'
xpack.cloud.base_url: 'https://staging.found.no/deployments/d74e0a97f269463ca2ec05dcbe703662'
How to test toggle error messages
  • Initial load error: If you edit this line locally and replace deprecation_logging with fake_deprecation_logging it should return a 404 error.
  • Update load error: If you edit this line locally and replace deprecation_logging with fake_deprecation_logging it should return a 404 error.

@sabarasaba sabarasaba added release_note:enhancement v8.0.0 Team:Kibana Management Dev Tools, Index Management, Upgrade Assistant, ILM, Ingest Node Pipelines, and more t// Feature:Upgrade Assistant v7.15.0 labels Jul 22, 2021
@sabarasaba sabarasaba self-assigned this Jul 22, 2021
@sabarasaba
Copy link
Member Author

@elasticmachine merge upstream

Copy link
Contributor

@cjcenizal cjcenizal left a comment

Choose a reason for hiding this comment

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

Great work @sabarasaba! I'd like to get this merged ASAP to unblock other work on the Overview page, e.g. the step for reminding the users to back up their data. I left a number of comments, but I'd be happy to see them addressed after merging. I think it's OK to expedite this merge since this work is behind a feature flag.

@cjcenizal cjcenizal added release_note:skip Skip the PR/issue when compiling release notes and removed release_note:enhancement labels Aug 13, 2021
@cjcenizal
Copy link
Contributor

@sabarasaba Since this feature is behind a flag I think we can skip release notes for it.

@sabarasaba sabarasaba marked this pull request as ready for review August 16, 2021 09:37
@sabarasaba sabarasaba requested review from a team as code owners August 16, 2021 09:37
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-stack-management (Team:Stack Management)

Copy link
Member

@afharo afharo left a comment

Choose a reason for hiding this comment

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

Codeowner review: Core changes LGTM! Only adding new doclinks

@sabarasaba
Copy link
Member Author

@elasticmachine merge upstream

Copy link
Contributor

@alisonelizabeth alisonelizabeth left a comment

Choose a reason for hiding this comment

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

Awesome work @sabarasaba! This is looking really great.

Most of my review comments are fairly minor. However, I did find one bug that I'd like to see addressed before approving. It looks like the label for the stats box was updated to show "warning" deprecations, but the actual code that determined this number was not. In other words, the count is still showing total deprecations even though the UI label makes it appear as though it's representative of warning. I believe this affects both ES and Kibana deprecations.

A few other comments:

  • The Discover and Observability links aren't working for me 🤔. I'm going to bootstrap again and see if it's a problem on my end. Will report back if I can reproduce consistently.
  • Can you remind me the name of the config to "fake" being on cloud so I can test step 3 when cloud is enabled?
  • [nit] It was a little hard to tell that part of the error was clickable (only knew to click it after looking through the code). /cc @dborodyansky

ua_overview

@alisonelizabeth
Copy link
Contributor

@dborodyansky / @debadair I'd like to get your feedback on something.

I'm a little concerned on how and where we use the term "warning".

  • On the overview page, the stats boxes are broken up by "Critical" and "Warning" deprecations

Screen Shot 2021-08-16 at 3 00 01 PM

  • When there are no deprecations (includes both critical and warning), we say "No warnings. Good to go!"

Screen Shot 2021-08-16 at 3 18 14 PM

  • On the drilldown page, we only call out "Critical" deprecations with a badge. The page title is also "Elasticsearch deprecation warnings"

Screen Shot 2021-08-16 at 3 17 40 PM

I may be overthinking this 😄 , but do either of you think this may cause confusion to a user?

@alisonelizabeth
Copy link
Contributor

Also - @sabarasaba I believe the merge conflicts are due to #105998 being merged. Let me know if you need help addressing this!

@dborodyansky
Copy link
Contributor

I'm a little concerned on how and where we use the term "warning".

@alisonelizabeth, In my opinion, this doesn't flag much potential user confusion but eager to learn from other perspectives. We consistently label as "warnings", and "critical (warning)" is an additional signifier to promote attention. We don't explicitly label "critical warnings" instead of just "critical" on the cards for brevity, but I believe this comes across as implied. Open to input as always.

@alisonelizabeth
Copy link
Contributor

The Discover and Observability links aren't working for me 🤔. I'm going to bootstrap again and see if it's a problem on my end. Will report back if I can reproduce consistently.

Looks like there might be an issue here. Took a quick look, and it seems the problem is http is undefined in external_links.ts

  const { http } = useKibana().services;
  const logStreamUrl = http?.basePath?.prepend(
    `/app/logs/stream?sourceId=${DEPRECATION_LOGS_SOURCE_ID}`
  );

It doesn't look like http is included in the kibana context.

const services: AppServicesContext = { discover, data, cloud };
export interface AppServicesContext {
  cloud?: CloudSetup;
  discover: DiscoverStart;
  data: DataPublicPluginStart;
}

Copy link
Contributor

@dborodyansky dborodyansky left a comment

Choose a reason for hiding this comment

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

@sabarasaba Layout looks great! Nice responsive adjustments for narrower viewports as well 👍 . Small suggestion on narrow view would be to wrap the Documentation button lower than the header content.

image

That said, if the general "Documentation" link is still warranted, we may want to consider stacking docs links together as such:

image

Discover and Observability links do not work for me. Also unsure how to test conditional states such as:

  • Cloud version of step 3
  • Error state for deprecation logging switch.

Please let me know if I am missing something to test above scenarios. Great work!

@sabarasaba
Copy link
Member Author

Thanks for reviewing @alisonelizabeth! I've addressed most of the comments, left a few more screenshots and provided steps for testing cloud related stuff.

@sabarasaba
Copy link
Member Author

Thanks for reviewing @dborodyansky! I agree with the cloud link being a bit too spaced out when the viewport is less than 770px, and since I don't think any of our apps is much usable below the 1000px mark I think we can defer this for later if you are ok with that?

I've added steps for testing the cloud related step and for being able to see an error message for the toggle.

Copy link
Contributor

@alisonelizabeth alisonelizabeth left a comment

Choose a reason for hiding this comment

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

Latest LGTM! Confirmed Discover/Observability links are now working correctly and the deprecation stats now reflect the correct numbers.

Found a small typo when retesting and left a nit about how to add a class to EuiTooltip.

Copy link
Contributor

@dborodyansky dborodyansky left a comment

Choose a reason for hiding this comment

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

Thank you for the additional steps @sabarasaba. Agree we could defer additional responsive enhancements. I added a small spacing suggestion for the deprecation logging switch and error. Great work!

@kibanamachine
Copy link
Contributor

💚 Build Succeeded

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
upgradeAssistant 91 103 +12

Async chunks

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

id before after diff
upgradeAssistant 159.8KB 170.1KB +10.3KB

Page load bundle

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

id before after diff
core 424.7KB 424.8KB +116.0B
upgradeAssistant 29.3KB 29.8KB +481.0B
total +597.0B

History

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

cc @sabarasaba

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 t// v7.16.0 v8.0.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Surface deprecation logs in Upgrade Assistant

8 participants