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

Add rolling upgrade interstitials to UA #111808

Closed
cjcenizal opened this issue Sep 9, 2021 · 2 comments
Closed

Add rolling upgrade interstitials to UA #111808

cjcenizal opened this issue Sep 9, 2021 · 2 comments
Assignees
Labels
enhancement New value added to drive a business result Feature:Upgrade Assistant Team:Kibana Management Dev Tools, Index Management, Upgrade Assistant, ILM, Ingest Node Pipelines, and more

Comments

@cjcenizal
Copy link
Contributor

cjcenizal commented Sep 9, 2021

Background

Per the Stack upgrade instructions, users will first upgrade ES and then Kibana, which means at some point Kibana will be on 7.16 and ES will be on 8. Originally, Upgrade Assistant handled this case by implementing interstitial states that would replace the standard UI (#31309, #34762). They looked like this:

image

image

The original code implemented this by checking the /status API endpoint and setting some local state appropriately.

Goal

Similar to the original implementation, we want to detect when the cluster is in the middle of a rolling upgrade or has completed a rolling upgrade, block access to the standard UI, and reflect this state in the UI instead.

To do this we should:

  • Poll the server with the status check, using the /status endpoint
  • Wrap every action API endpoint in the status check, using versionCheckHandlerWrapper
  • Trigger the UI change if either status check indicates the cluster is in the middle of a rolling upgrade or has completed a rolling upgrade
  • Once this state has changed, we'll want to prevent navigation to any routes other than the interstitial. We should also end any polling requests which might result in errors, since the user won't be able to act on those errors and they'll likely be irrelevant by this point.
    [DOCS] Adds the 7.15.0 release notes #110851

Other considerations

Note that there's currently client-side logic for surfacing rolling upgrade state in the UI but only for the ES deprecation issues panel and ES deprecation issues table (grep for partially_upgraded_error and upgraded_error). As part of this work we can remove this logic.

As part of this work we should also either add API integration tests to verify we're getting back the ES responses we expect when the cluster is in the middle of a rolling upgrade or add steps to the README for manual testing.

@cjcenizal cjcenizal added enhancement New value added to drive a business result Team:Kibana Management Dev Tools, Index Management, Upgrade Assistant, ILM, Ingest Node Pipelines, and more Feature:Upgrade Assistant labels Sep 9, 2021
@elasticmachine
Copy link
Contributor

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

@cjcenizal
Copy link
Contributor Author

Closed by #112907

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New value added to drive a business result Feature:Upgrade Assistant Team:Kibana Management Dev Tools, Index Management, Upgrade Assistant, ILM, Ingest Node Pipelines, and more
Projects
None yet
Development

No branches or pull requests

2 participants