-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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] Forwardport from 7.x #114966
Conversation
@elasticmachine merge upstream |
02911a9
to
9efd7a1
Compare
@elasticmachine merge upstream |
merge conflict between base and head |
Pinging @elastic/kibana-stack-management (Team:Stack Management) |
32946a8
to
08643be
Compare
💛 Build succeeded, but was flaky
Test FailuresKibana Pipeline / general / X-Pack Saved Object Tagging Functional Tests.x-pack/test/saved_object_tagging/functional/tests/dashboard_integration·ts.saved objects tagging - functional tests dashboard integration editing allows to select tags for an existing dashboardStandard Out
Stack Trace
Metrics [docs]Module Count
Async chunks
Page load bundle
Saved Objects .kibana field count
History
To update your PR or re-run it, just comment with: cc @sabarasaba |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you so much for bringing all those PRs together, @sabarasaba, that is a massive effort! I reviewed the files outside x-pack/plugins/upgrade_assistant
and changes LGTM. Then I compared the UA folder in this PR to the one in 7.16. I believe that the goal is that they are identical as much as possible, right?. Currently there are some changes that are just the same code in different places and then there are some differences, I couldn't quite explain. Do you know if these differences are due to breaking changes in 8.0?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This truly is a herculean effort! Great work getting it this far, @sabarasaba! I ran a diff between these files and those in 7.16 and found some discrepancies.
Process
I created a copy of the repo on master and a copy of the repo on 7.16 and ran this command to diff them:
diff -rq /kibana-7/x-pack/plugins/upgrade_assistant /kibana/x-pack/plugins/upgrade_assistant --exclude=.DS_Store
I then ran a verbose diff on all of the files that it identified as containing differences between the two directories. Some of them seemed like false positives which I guess we can ignore. Where there were true positives, I dug deeper into commit histories to figure out how they came to be.
Findings
Here are the files that contained differences, and my analysis of them. I think there are only 3 files that need to be fixed, and 1 that needs to be investigated. Note that a number of these were pretty confusing to track down. I'm 95% confident in the items I marked "Ignore", but I suggest double-checking the ones marked "Fix" and making sure you concur.
setup_environment.tsx
x-pack/plugins/upgrade_assistant/__jest__/client_integration/helpers/setup_environment.tsx
Ignore: Identical export const kibanaVersion = new SemVer(MAJOR_VERSION);
service.mock.ts
x-pack/plugins/upgrade_assistant/__jest__/client_integration/kibana_deprecations/service.mock.ts
Fix: see comment (#114966 (comment))
constants.ts
x-pack/plugins/upgrade_assistant/common/constants.ts
Ignore: MAJOR_VERSION
set to 7.16.0
vs 8.0.0
checklist_step.test.tsx
x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/checklist_step.test.tsx
Fix: See comment (#114966 (comment))
warning_step.test.tsx
x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/deprecation_types/reindex/flyout/warning_step.test.tsx
Fix: See comment (#114966 (comment))
warning_step.test.tsx
x-pack/plugins/upgrade_assistant/public/plugin.ts
Ignore: Diff is empty space
types.ts
x-pack/plugins/upgrade_assistant/public/types.ts
Ignore: Identical ClientConfigType
interfaces
config.ts
x-pack/plugins/upgrade_assistant/server/config.ts
Investigate: { defaultValue: undefined }
added to schemaLatest
and schema7x
in #115541. Not sure what this is for or why it was only added to 7.16.
reindex_actions.ts
x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_actions.ts
Ignore: See comment (#114966 (comment))
reindex_service.ts
x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_service.ts
Ignore: See comment (#114966 (comment))
worker.ts
x-pack/plugins/upgrade_assistant/server/lib/reindexing/worker.ts
Ignore: See comment (#114966 (comment))
...ck/plugins/upgrade_assistant/__jest__/client_integration/kibana_deprecations/service.mock.ts
Outdated
Show resolved
Hide resolved
...lication/components/es_deprecations/deprecation_types/reindex/flyout/checklist_step.test.tsx
Show resolved
Hide resolved
...pplication/components/es_deprecations/deprecation_types/reindex/flyout/warning_step.test.tsx
Show resolved
Hide resolved
@@ -266,76 +236,5 @@ export const reindexActionsFactory = ( | |||
|
|||
return flatSettings.body[indexName]; | |||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can ignore this. This was added in 7.x to support mapping types, which have been removed in 8.
On ln 210, 7.16 has a withTypeName
parameter:
kibana/x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_actions.ts
Lines 211 to 214 in 9231d80
async getFlatSettings(indexName: string, withTypeName?: boolean) { | |
let flatSettings; | |
if (versionService.getMajorVersion() === 7 && withTypeName) { |
@@ -476,23 +351,6 @@ export const reindexServiceFactory = ( | |||
}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can ignore this. This was added in 7.x to support mapping types, which have been removed in 8.
On ln406 7.16 passes true
as this parameter:
kibana/x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_service.ts
Line 406 in 9231d80
const flatSettings = await actions.getFlatSettings(indexName, true); |
Changed in cd9da66#diff-fc6ae8cf0aeabd326a5bbad51c14aab8c9340735a0a05f4ed3d3f2f272bf7c53R551
@@ -223,7 +232,7 @@ export class ReindexWorker { | |||
reindexOp = await swallowExceptions(service.processNextStep, this.log)(reindexOp); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can ignore this.
On ln231 7.16 creates fakeRequest
:
kibana/x-pack/plugins/upgrade_assistant/server/lib/reindexing/worker.ts
Lines 231 to 238 in 9231d80
// Setup a ReindexService specific to these credentials. | |
const fakeRequest: FakeRequest = { headers: credential }; | |
const scopedClusterClient = this.clusterClient.asScoped(fakeRequest); | |
const callAsCurrentUser = scopedClusterClient.asCurrentUser; | |
const actions = reindexActionsFactory(this.client, callAsCurrentUser); | |
const service = reindexServiceFactory(callAsCurrentUser, actions, this.log, this.licensing); |
Originally introduced in https://github.com/elastic/kibana/pull/61082/files#diff-67d0943ad643f8d8d99e9a04387e75e23d2596456fe34463a0acbfb7ada414bbR134
But looking more closely at this, it looks like this was refactored in https://github.com/elastic/kibana/pull/60770/files#diff-67d0943ad643f8d8d99e9a04387e75e23d2596456fe34463a0acbfb7ada414bb to use the getCredentialScopedReindexService
helper in master
, but it was left out of the backport to 7.x in https://github.com/elastic/kibana/pull/61082/files#diff-67d0943ad643f8d8d99e9a04387e75e23d2596456fe34463a0acbfb7ada414bb. This might have been a mistake. If so, I think this is a difference we can safely ignore.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't recall a specific reason for that not being backported, likely it was a mistake that snuck in due to the differences between 7.x and master causing merge conflicts when doing a backport 😅 . Specifically the differences around this.apmIndexPatterns
which probably triggered the conflict.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DocLinks, api docs and telemetry-related changes LGTM.
Just a note that it will be acceptable if this work spills over into 8.1, since UA is disabled in 8.0 anyway and there's a near-zero chance we'll need to fix anything for it in a 8.0.x patch release. The only aspect to consider is the status API which Cloud uses to determine whether a deployment can be upgraded. We should make sure we're fulfilling the contract they expect in 8.0. |
This was a fix for a regression when running in |
Thanks everyone for having a look! @cjcenizal I've address your comments with 31ced6f 🎸 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Didn't re-test locally, but I reviewed your changes and also re-ran diff
locally. Code LGTM! Great work, @sabarasaba!
UA functional API integration test to check cloud backup status creates a snapshot repo, which fails to be created with my changes to config.ts `'path.repo=/tmp/repo,/tmp/repo_1,/tmp/repo_2,'`. Adding `/tmp/cloud-snapshots/'` to the config fixes the test.
5076ff9
to
c873873
Compare
…c#116335) * Fix typos * Fix typo also in server tests * Make sure log collection remains enabled throughout the test Co-authored-by: Kibana Machine <[email protected]>
@elasticmachine update branch |
💛 Build succeeded, but was flaky
Test Failures
Metrics [docs]Module Count
Async chunks
Page load bundle
Saved Objects .kibana field count
History
To update your PR or re-run it, just comment with: cc @sabarasaba |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @sabarasaba, thank you so much for bringing this PR to completion! Amazing job 👍
The only thing I noticed is that Read.me file in UA plugin refers to master
branch in a couple of places. Other than that, I'm happy to see this PR getting merged.
* Fix link to Cloud deployment URL in upgrade step. (elastic#109528) * [Upgrade Assistant] Refactor CITs * Rename UA steps to fix_issues_step and fix_logs_step. (elastic#109526) * Rename tests accordingly. * [Upgrade Assistant] Cleanup scss (elastic#109524) * [Upgrade Assistant] Update readme (elastic#109502) * Add "Back up data" step to UA (elastic#109543) * Add backup step with static content and link to Snapshot and Restore. * Add snapshot_restore locator. * Remove unnecessary describe block from Upgrade Step tests. * Remove unused render_app.tsx. * Change copy references of 'deprecation issues' to 'deprecation warnings'. (elastic#109963) * [Upgrade Assistant] Address design feedback for ES deprecations page (elastic#109726) * [Upgrade Assistant] Add checkpoint feature to Overview page (elastic#109449) * Add on-Cloud state to Upgrade Assistant 'Back up data' step (elastic#109956) * [Upgrade Assistant] Refactor external links to use locators (elastic#110435) * [Upgrade Assistant] Use AppContext for services instead of KibanaContext (elastic#109801) * Remove kibana context dependency in favour of app context * Add missing type to ContextValue * Fix mock type * Refactor app mount flow and types * Refactor to use useServices hook * Fix linter issues * Keep mount_management_section and initialize breadcrumbs and api there * Remove useServices and usePlugins in favour of just useAppContext * Remove unnecessary mocks * [Upgrade Assistant] Enable functional and a11y tests (elastic#109909) * [Upgrade Assistant] Remove version from UA nav title (elastic#110739) * [Upgrade Assistant] New Kibana deprecations page (elastic#110101) * Use injected lib.handleEsError instead of importing it in Upgrade Assistant API route handlers. (elastic#111067) * Add tests for UA back up data step on Cloud (elastic#111066) * Update UA to consume snapshotsUrl as provided by the Cloud plugin. (elastic#111239) * Skip flaky UA Backup step polling test. * [Upgrade Assistant] Refactor kibana deprecation service mocks (elastic#111168) * [Upgrade Assistant] Remove unnecessary EuiScreenReaderOnly from stat panels (elastic#111518) * Remove EuiScreenReaderOnly implementations * Remove unused translations * Remove extra string after merge conflict * Use consistent 'issues' and 'critical' vs. 'warning' terminology in UA. (elastic#111221) * Refactor UA Overview to support step-completion (elastic#111243) * Refactor UA Overview to store step-completion state at the root and delegate step-completion logic to each step component. * Add completion status to logs and issues steps * [Upgrade Assistant] External links with checkpoint time-range applied (elastic#111252) * Bound query around last checkpoint date * Fix tests * Also test discover url contains search params * Small refactor * Keep state about lastCheckpoint in parent component * Remove space * Address CR changes Co-authored-by: Kibana Machine <[email protected]> * [Upgrade Assistant] Tests for updating step state accordingly if API poll receives count followed by error (elastic#111701) * Add test for logs count polling * Test when count api fails * [Upgrade Assistant] Add a11y tests for es deprecation flyouts (elastic#110843) * [Upgrade Assistant] Set fix_logs step as incomplete if log collection is not enabled (elastic#111827) * set step as incomplete if toggle is disabled * Fix test names * Remove unnecessary mocks * [Upgrade Assistant] Update copy to use "issues" instead of "warnings" (elastic#111817) * Create common deprecation issues panel component in UA (elastic#111231) * Refine success state behavior and add tests. * Refactor components into a components directory. * Refactor SCSS to colocate styles with their components. * Refactor tests to reduce boilerplate and clarify conditions under test. * [Upgrade Assistant] Fix Kibana deprecations warning message * [Upgrade Assistant] Add support for API keys when reindexing (elastic#111451) * [Upgrade Assistant] Update readme (elastic#112154) * [Upgrade Assistant] Make infra plugin optional (elastic#111960) * Make infra plugin optional * Fix CR requests * [Upgrade Assistant] Improve flyout information architecture (elastic#111713) * Make sure longstrings inside flyout body are text-wrap * Show resolved badge for reindex flyout and row * Finish off rest of ES deprecation flyouts * Refactor deprecation badge into its own component * Add tests for kibana deprecations * Add tests for es deprecations * Also check that we have status=error before rendering error callout * Check for non-complete states instead of just error * Small refactor * Default deprecation is not resolvable * Add a bit more spacing between title and badge * Address CR changes * Use EuiSpacer instead of flexitems * [Upgrade Assistant] Update readme (elastic#112195) * [Upgrade Assistant] Add integration tests for Overview page (elastic#111370) * Add a11y tests for when overview page has toggle enabled * Add functional and accessibility tests for overview page * Load test files * Fix linter error * Navigate before asserting * Steps have now completion state * Remove duped word * Run setup only once, not per test * Address CR changes * No need to renavigate to the page Co-authored-by: Kibana Machine <[email protected]> * [Upgrade Assistant] Add note about compatibility headers (elastic#110469) * Improve error states for Upgrade Assistant deprecation issues (elastic#112457) * Simplify error state for deprecation issues panels. Remove <EsStatsError />. * Rename components from stats -> panel. * Create common error-reporting component for use in both Kibana and ES deprecations pages. * Align order of loading, error, and success states between these pages. * Change references to 'deprecations' -> 'deprecation issues'. * Fix tests for panels. * Add API integration test for handling auth error. * Fix TS errors. Co-authored-by: Kibana Machine <[email protected]> * Change count poll time to 15s (elastic#112669) * [Upgrade Assistant] Add permissions check to logs step (elastic#112420) * [Upgrade Assistant] Refactor telemetry (elastic#112177) * [Upgrade Assistant] Check for ML upgrade mode before enabling flyout actions (elastic#112555) * Add missing error handlers for deprecation logging route (elastic#113109) * [Upgrade Assistant] Batch reindex docs (elastic#112960) * [UA] Added batch reindexing docs link to the ES deprecations page. Added a link from "batch reindexing" docs page to "start or resume reindex" docs page and from there to ES reindexing docs page. Also renamed "reindexing operation" to "reindexing task" for consistency. * [Upgrade Assistant] Added docs build files * Update x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/es_deprecations.tsx Co-authored-by: James Rodewig <[email protected]> * Update x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/es_deprecations.tsx Co-authored-by: James Rodewig <[email protected]> * [Upgrade Assistant] Added review suggestions and fixed eslint issues Co-authored-by: James Rodewig <[email protected]> Co-authored-by: Kibana Machine <[email protected]> * [Upgrade Assistant] Improve error messages for GET /api/upgrade_assistant/reindex/<index> (elastic#112961) * Add support for single manual steps to Upgrade Assistant. (elastic#113344) * Revert "[Upgrade Assistant] Refactor telemetry (elastic#112177)" (elastic#113665) This reverts commit 991d24b. * [Upgrade Assistant] Use skipFetchFields when creating the indexPattern in order to avoid errors if index doesn't exist (elastic#113821) * Use skipFetchFields when creating the indexPatter in order to avoid errors when index doesnt exist * Address CR feedback Co-authored-by: Kibana Machine <[email protected]> * [Upgrade Assistant] Hide system indices from es deprecations list (elastic#113627) * Refactor reindex routes into separate single and batch reindex files. Apply version precheck to batch routes. (elastic#113822) * [Upgrade Assistant] Remove ML/Watcher logic (elastic#113224) * Add show upgrade flag to url (elastic#114243) * [Upgrade Assistant] Delete deprecation log cache (elastic#114113) * [Upgrade Assistant] Add upgrade system indices section (elastic#110593) * [Upgrade Assistant] Reindexing progress (elastic#114275) * [Upgrade Assistant] Added reindexing progress in % to the reindex flyout and es deprecations table * [Upgrade Assistant] Renamed first argument in `getReindexProgressLabel` to `reindexTaskPercComplete` for consistency Co-authored-by: Kibana Machine <[email protected]> * [Upgrade Assistant] Remove Fix manually heading when there are no manual steps * Add rolling upgrade interstitials to UA (elastic#112907) * Refactor FixLogsStep to be explicit in which props are passed to DeprecationLoggingToggle. * Centralize error-handling logic in the api service, instead of handling it within each individual API request. Covers: - Cloud backup status - ES deprecations - Deprecation logging - Remove index settings - ML - Reindexing Also: - Handle 426 error state and surface in UI. - Move ResponseError type into common/types. * Add note about intended use case of status API route. * Add endpoint dedicated to surfacing the cluster upgrade state, and a client-side poll. * Merge App and AppWithRouter components. * [Upgrade Assistant] Added "accept changes" header to the warnings list in the reindex flyout (elastic#114798) * Refactor kibana deprecation tests (elastic#114763) Co-authored-by: Kibana Machine <[email protected]> * Fix linter issues * Remove unused translation * Prefer master changes over 7.x for ml docs * Prefer master changes over 7.x * Skip tests * Move everything to a single describe * Fix types * Add missing prop to mock * [Upgrade Assistant] Removed "closed index" warning from reindex flyout (elastic#114861) * [Upgrade Assistant] Removed "closed index" warning that reindexing might take longer than usual, which is not the case * [Upgrade Assistant] Also deleted i18n strings that are not needed anymore * Add LevelIconTips to be more explicit about the difference between critical and warning issues. (elastic#115121) * Extract common DeprecationFlyoutLearnMoreLink component and change wording to 'Learn more'. (elastic#115117) * [Upgrade Assistant] Reindexing cancellation (elastic#114636) * [Upgrade Assistant] Updated the reindexing cancellation to look less like an error * [Upgrade Assistant] Fixed an i18n issue and updated a jest snapshot * [Upgrade Assistant] Updated cancelled reindexing state with a unified label and cross icon * [Upgrade Assistant] Fixed snapshot test * [Upgrade Assistant] Updated spacing to the reindex cancel button Co-authored-by: Kibana Machine <[email protected]> * Fix test errors (elastic#115183) Co-authored-by: Kibana Machine <[email protected]> * [Upgrade Assistant] Overview page UI clean up (elastic#115258) - Scaling down deprecation issue panel title size to flow with typographic hierarchy. - Removing panel around deprecation logging switch to reduce visual elements. - Using success instead of green color for migration complete message. * Revert "Revert "[Upgrade Assistant] Refactor telemetry (elastic#112177)" (elastic#113665)" (elastic#114804) This reverts commit c385d49. * Add migration to remove obsolete attributes from telemetry saved object. * Refactor UA telemetry constants by extracting it from common/types. * [Upgrade Assistant] Rename upgrade_status to migration_status (elastic#114755) * [Upgrade Assistant] Swapped reindexing flyouts order (elastic#115046) * [Upgrade Assistant] Changed reindexing steps order, replaced a warning callout with a text element * [Upgrade Assistant] Fixed reindex flyout test and changed warning callout from danger color to warning color * [Upgrade Assistant] Fixed the correct status to show warnings * [Upgrade Assistant] Fixed i18n strings * [Upgrade Assistant] Moved reindex with warnings logic into a function * [Upgrade Assistant] Updated reindex flyout copy * [Upgrade Assistant] Also added a trailing period to the reindex step 3 * [Upgrade Assistant] Fixed i18n strings and step 3 wording * [Upgrade Assistant] Added docs changes Co-authored-by: Kibana Machine <[email protected]> * [Upgrade Assistant] Hide features that don't need to be migrated from flyout (elastic#115535) * Filter out system indices that dont require migration on server side * Rename to attrs to migration * Update flyout snapshot. * Refine Upgrade Assistant copy. (elastic#115472) * Remove unused file * Fix kibanaVersion dep * Updated config.ts to fix UA test UA functional API integration test to check cloud backup status creates a snapshot repo, which fails to be created with my changes to config.ts `'path.repo=/tmp/repo,/tmp/repo_1,/tmp/repo_2,'`. Adding `/tmp/cloud-snapshots/'` to the config fixes the test. * Address CR changes * Add missing error handler for system indices migration (elastic#116088) * Fix broken tests * Fix test * Skip tests * Fix linter errors and import * [Upgrade Assistant] Fix typo in retrieval of cluster settings (elastic#116335) * Fix typos * Fix typo also in server tests * Make sure log collection remains enabled throughout the test Co-authored-by: Kibana Machine <[email protected]> * Fix type errors * Fix integration test types * Fix accessibility test type errors * Fix linter errors in shared_imports * Fix functional test types Co-authored-by: CJ Cenizal <[email protected]> Co-authored-by: Alison Goryachev <[email protected]> Co-authored-by: Kibana Machine <[email protected]> Co-authored-by: Yulia Čech <[email protected]> Co-authored-by: James Rodewig <[email protected]> Co-authored-by: Dmitry Borodyansky <[email protected]>
* [Upgrade Assistant] Forwardport from 7.x (#114966) * Fix link to Cloud deployment URL in upgrade step. (#109528) * [Upgrade Assistant] Refactor CITs * Rename UA steps to fix_issues_step and fix_logs_step. (#109526) * Rename tests accordingly. * [Upgrade Assistant] Cleanup scss (#109524) * [Upgrade Assistant] Update readme (#109502) * Add "Back up data" step to UA (#109543) * Add backup step with static content and link to Snapshot and Restore. * Add snapshot_restore locator. * Remove unnecessary describe block from Upgrade Step tests. * Remove unused render_app.tsx. * Change copy references of 'deprecation issues' to 'deprecation warnings'. (#109963) * [Upgrade Assistant] Address design feedback for ES deprecations page (#109726) * [Upgrade Assistant] Add checkpoint feature to Overview page (#109449) * Add on-Cloud state to Upgrade Assistant 'Back up data' step (#109956) * [Upgrade Assistant] Refactor external links to use locators (#110435) * [Upgrade Assistant] Use AppContext for services instead of KibanaContext (#109801) * Remove kibana context dependency in favour of app context * Add missing type to ContextValue * Fix mock type * Refactor app mount flow and types * Refactor to use useServices hook * Fix linter issues * Keep mount_management_section and initialize breadcrumbs and api there * Remove useServices and usePlugins in favour of just useAppContext * Remove unnecessary mocks * [Upgrade Assistant] Enable functional and a11y tests (#109909) * [Upgrade Assistant] Remove version from UA nav title (#110739) * [Upgrade Assistant] New Kibana deprecations page (#110101) * Use injected lib.handleEsError instead of importing it in Upgrade Assistant API route handlers. (#111067) * Add tests for UA back up data step on Cloud (#111066) * Update UA to consume snapshotsUrl as provided by the Cloud plugin. (#111239) * Skip flaky UA Backup step polling test. * [Upgrade Assistant] Refactor kibana deprecation service mocks (#111168) * [Upgrade Assistant] Remove unnecessary EuiScreenReaderOnly from stat panels (#111518) * Remove EuiScreenReaderOnly implementations * Remove unused translations * Remove extra string after merge conflict * Use consistent 'issues' and 'critical' vs. 'warning' terminology in UA. (#111221) * Refactor UA Overview to support step-completion (#111243) * Refactor UA Overview to store step-completion state at the root and delegate step-completion logic to each step component. * Add completion status to logs and issues steps * [Upgrade Assistant] External links with checkpoint time-range applied (#111252) * Bound query around last checkpoint date * Fix tests * Also test discover url contains search params * Small refactor * Keep state about lastCheckpoint in parent component * Remove space * Address CR changes Co-authored-by: Kibana Machine <[email protected]> * [Upgrade Assistant] Tests for updating step state accordingly if API poll receives count followed by error (#111701) * Add test for logs count polling * Test when count api fails * [Upgrade Assistant] Add a11y tests for es deprecation flyouts (#110843) * [Upgrade Assistant] Set fix_logs step as incomplete if log collection is not enabled (#111827) * set step as incomplete if toggle is disabled * Fix test names * Remove unnecessary mocks * [Upgrade Assistant] Update copy to use "issues" instead of "warnings" (#111817) * Create common deprecation issues panel component in UA (#111231) * Refine success state behavior and add tests. * Refactor components into a components directory. * Refactor SCSS to colocate styles with their components. * Refactor tests to reduce boilerplate and clarify conditions under test. * [Upgrade Assistant] Fix Kibana deprecations warning message * [Upgrade Assistant] Add support for API keys when reindexing (#111451) * [Upgrade Assistant] Update readme (#112154) * [Upgrade Assistant] Make infra plugin optional (#111960) * Make infra plugin optional * Fix CR requests * [Upgrade Assistant] Improve flyout information architecture (#111713) * Make sure longstrings inside flyout body are text-wrap * Show resolved badge for reindex flyout and row * Finish off rest of ES deprecation flyouts * Refactor deprecation badge into its own component * Add tests for kibana deprecations * Add tests for es deprecations * Also check that we have status=error before rendering error callout * Check for non-complete states instead of just error * Small refactor * Default deprecation is not resolvable * Add a bit more spacing between title and badge * Address CR changes * Use EuiSpacer instead of flexitems * [Upgrade Assistant] Update readme (#112195) * [Upgrade Assistant] Add integration tests for Overview page (#111370) * Add a11y tests for when overview page has toggle enabled * Add functional and accessibility tests for overview page * Load test files * Fix linter error * Navigate before asserting * Steps have now completion state * Remove duped word * Run setup only once, not per test * Address CR changes * No need to renavigate to the page Co-authored-by: Kibana Machine <[email protected]> * [Upgrade Assistant] Add note about compatibility headers (#110469) * Improve error states for Upgrade Assistant deprecation issues (#112457) * Simplify error state for deprecation issues panels. Remove <EsStatsError />. * Rename components from stats -> panel. * Create common error-reporting component for use in both Kibana and ES deprecations pages. * Align order of loading, error, and success states between these pages. * Change references to 'deprecations' -> 'deprecation issues'. * Fix tests for panels. * Add API integration test for handling auth error. * Fix TS errors. Co-authored-by: Kibana Machine <[email protected]> * Change count poll time to 15s (#112669) * [Upgrade Assistant] Add permissions check to logs step (#112420) * [Upgrade Assistant] Refactor telemetry (#112177) * [Upgrade Assistant] Check for ML upgrade mode before enabling flyout actions (#112555) * Add missing error handlers for deprecation logging route (#113109) * [Upgrade Assistant] Batch reindex docs (#112960) * [UA] Added batch reindexing docs link to the ES deprecations page. Added a link from "batch reindexing" docs page to "start or resume reindex" docs page and from there to ES reindexing docs page. Also renamed "reindexing operation" to "reindexing task" for consistency. * [Upgrade Assistant] Added docs build files * Update x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/es_deprecations.tsx Co-authored-by: James Rodewig <[email protected]> * Update x-pack/plugins/upgrade_assistant/public/application/components/es_deprecations/es_deprecations.tsx Co-authored-by: James Rodewig <[email protected]> * [Upgrade Assistant] Added review suggestions and fixed eslint issues Co-authored-by: James Rodewig <[email protected]> Co-authored-by: Kibana Machine <[email protected]> * [Upgrade Assistant] Improve error messages for GET /api/upgrade_assistant/reindex/<index> (#112961) * Add support for single manual steps to Upgrade Assistant. (#113344) * Revert "[Upgrade Assistant] Refactor telemetry (#112177)" (#113665) This reverts commit 991d24b. * [Upgrade Assistant] Use skipFetchFields when creating the indexPattern in order to avoid errors if index doesn't exist (#113821) * Use skipFetchFields when creating the indexPatter in order to avoid errors when index doesnt exist * Address CR feedback Co-authored-by: Kibana Machine <[email protected]> * [Upgrade Assistant] Hide system indices from es deprecations list (#113627) * Refactor reindex routes into separate single and batch reindex files. Apply version precheck to batch routes. (#113822) * [Upgrade Assistant] Remove ML/Watcher logic (#113224) * Add show upgrade flag to url (#114243) * [Upgrade Assistant] Delete deprecation log cache (#114113) * [Upgrade Assistant] Add upgrade system indices section (#110593) * [Upgrade Assistant] Reindexing progress (#114275) * [Upgrade Assistant] Added reindexing progress in % to the reindex flyout and es deprecations table * [Upgrade Assistant] Renamed first argument in `getReindexProgressLabel` to `reindexTaskPercComplete` for consistency Co-authored-by: Kibana Machine <[email protected]> * [Upgrade Assistant] Remove Fix manually heading when there are no manual steps * Add rolling upgrade interstitials to UA (#112907) * Refactor FixLogsStep to be explicit in which props are passed to DeprecationLoggingToggle. * Centralize error-handling logic in the api service, instead of handling it within each individual API request. Covers: - Cloud backup status - ES deprecations - Deprecation logging - Remove index settings - ML - Reindexing Also: - Handle 426 error state and surface in UI. - Move ResponseError type into common/types. * Add note about intended use case of status API route. * Add endpoint dedicated to surfacing the cluster upgrade state, and a client-side poll. * Merge App and AppWithRouter components. * [Upgrade Assistant] Added "accept changes" header to the warnings list in the reindex flyout (#114798) * Refactor kibana deprecation tests (#114763) Co-authored-by: Kibana Machine <[email protected]> * Fix linter issues * Remove unused translation * Prefer master changes over 7.x for ml docs * Prefer master changes over 7.x * Skip tests * Move everything to a single describe * Fix types * Add missing prop to mock * [Upgrade Assistant] Removed "closed index" warning from reindex flyout (#114861) * [Upgrade Assistant] Removed "closed index" warning that reindexing might take longer than usual, which is not the case * [Upgrade Assistant] Also deleted i18n strings that are not needed anymore * Add LevelIconTips to be more explicit about the difference between critical and warning issues. (#115121) * Extract common DeprecationFlyoutLearnMoreLink component and change wording to 'Learn more'. (#115117) * [Upgrade Assistant] Reindexing cancellation (#114636) * [Upgrade Assistant] Updated the reindexing cancellation to look less like an error * [Upgrade Assistant] Fixed an i18n issue and updated a jest snapshot * [Upgrade Assistant] Updated cancelled reindexing state with a unified label and cross icon * [Upgrade Assistant] Fixed snapshot test * [Upgrade Assistant] Updated spacing to the reindex cancel button Co-authored-by: Kibana Machine <[email protected]> * Fix test errors (#115183) Co-authored-by: Kibana Machine <[email protected]> * [Upgrade Assistant] Overview page UI clean up (#115258) - Scaling down deprecation issue panel title size to flow with typographic hierarchy. - Removing panel around deprecation logging switch to reduce visual elements. - Using success instead of green color for migration complete message. * Revert "Revert "[Upgrade Assistant] Refactor telemetry (#112177)" (#113665)" (#114804) This reverts commit c385d49. * Add migration to remove obsolete attributes from telemetry saved object. * Refactor UA telemetry constants by extracting it from common/types. * [Upgrade Assistant] Rename upgrade_status to migration_status (#114755) * [Upgrade Assistant] Swapped reindexing flyouts order (#115046) * [Upgrade Assistant] Changed reindexing steps order, replaced a warning callout with a text element * [Upgrade Assistant] Fixed reindex flyout test and changed warning callout from danger color to warning color * [Upgrade Assistant] Fixed the correct status to show warnings * [Upgrade Assistant] Fixed i18n strings * [Upgrade Assistant] Moved reindex with warnings logic into a function * [Upgrade Assistant] Updated reindex flyout copy * [Upgrade Assistant] Also added a trailing period to the reindex step 3 * [Upgrade Assistant] Fixed i18n strings and step 3 wording * [Upgrade Assistant] Added docs changes Co-authored-by: Kibana Machine <[email protected]> * [Upgrade Assistant] Hide features that don't need to be migrated from flyout (#115535) * Filter out system indices that dont require migration on server side * Rename to attrs to migration * Update flyout snapshot. * Refine Upgrade Assistant copy. (#115472) * Remove unused file * Fix kibanaVersion dep * Updated config.ts to fix UA test UA functional API integration test to check cloud backup status creates a snapshot repo, which fails to be created with my changes to config.ts `'path.repo=/tmp/repo,/tmp/repo_1,/tmp/repo_2,'`. Adding `/tmp/cloud-snapshots/'` to the config fixes the test. * Address CR changes * Add missing error handler for system indices migration (#116088) * Fix broken tests * Fix test * Skip tests * Fix linter errors and import * [Upgrade Assistant] Fix typo in retrieval of cluster settings (#116335) * Fix typos * Fix typo also in server tests * Make sure log collection remains enabled throughout the test Co-authored-by: Kibana Machine <[email protected]> * Fix type errors * Fix integration test types * Fix accessibility test type errors * Fix linter errors in shared_imports * Fix functional test types Co-authored-by: CJ Cenizal <[email protected]> Co-authored-by: Alison Goryachev <[email protected]> Co-authored-by: Kibana Machine <[email protected]> Co-authored-by: Yulia Čech <[email protected]> Co-authored-by: James Rodewig <[email protected]> Co-authored-by: Dmitry Borodyansky <[email protected]> * commit with @elastic.co email Co-authored-by: Ignacio Rivas <[email protected]> Co-authored-by: CJ Cenizal <[email protected]> Co-authored-by: Alison Goryachev <[email protected]> Co-authored-by: Kibana Machine <[email protected]> Co-authored-by: Yulia Čech <[email protected]> Co-authored-by: James Rodewig <[email protected]> Co-authored-by: Dmitry Borodyansky <[email protected]>
This PR forwardports a bunch of PRs that were merged into
7.16
intomain
.The approach I took for this was to:
upgrade_assistant
folder that was in both master and 7.x. Which turn out to be 4df76f07.x
but not inmaster
, taking into account that there were some PR's inmaster
that were also backported to7.x
. You can see the list of commits down below.--strategy-option theirs
flag, because in case of any conflicts we always want to pick whatever was added in7.x
List of commits
Fix link to Cloud deployment URL in upgrade step.
ec3c28f#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Refactor CITs
af6b908#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Rename UA steps to fix_issues_step and fix_logs_step.
03e3baa#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Cleanup scss
4a14a94#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Update readme
77fe9ec#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Add "Back up data" step to UA
7947341#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Change copy references of 'deprecation issues' to 'deprecation warnin…
7c79a81#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Address design feedback for ES deprecations page
ec09a41#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Add checkpoint feature to Overview page
047fe77#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Add on-Cloud state to Upgrade Assistant 'Back up data' step
986ac3b#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Refactor external links to use locators
efdc7d5#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Use AppContext for services instead of KibanaContext
f558a79#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Enable functional and a11y tests
0f451a5#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Remove version from UA nav title
f15250e#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] New Kibana deprecations page
ee32afb#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Use injected lib.handleEsError instead of importing it in Upgrade Assistant
1a74022#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Add tests for UA back up data step on Cloud
de66029#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Update UA to consume snapshotsUrl as provided by the Cloud plugin
25de643#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Skip flaky UA Backup step polling test
d4dbce0#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Refactor kibana deprecation service mocks
48b25a6#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Remove unnecessary EuiScreenReaderOnly from stats panel
7779b38#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Use consistent 'issues' and 'critical' vs. 'warning' terminology in UA
7515700#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Refactor UA Overview to support step-completion
af9d3f5#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] External links with checkpoint time-range applied
67871d5#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Tests for updating step state accordingly if API
5250db8#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Add a11y tests for es deprecation flyouts
426bda8#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Set fix_logs step as incomplete if log collection is not enabled
2528898#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Update copy to use "issues" instead of "warnings"
5393b37#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Create common deprecation issues panel component in UA
e23c26f#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Fix Kibana deprecations warning message
8dd4122#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Add support for API keys when reindexing
c615246#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Update readme
ac94ed9#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Make infra plugin optional
d7ce247#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Improve flyout information architecture
70f2677#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Update readme
1ad9a72#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Add integration tests for Overview page
3c35cbf#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Add note about compatibility headers
c9292e5#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Improve error states for Upgrade Assistant deprecation issues
71bfe79#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Change count poll time to 15s
52723a5#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Add permissions check to logs step
dacf0c2#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Refactor telemetry
991d24b#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Check for ML upgrade mode before enabling flyout actions
b409e2e#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Add missing error handlers for deprecation logging route
231ab17#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Batch reindex docs
a85f7a5#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Improve error messages for GET /api/upgrade_assistant/reindex/
ade05d9#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Add support for single manual steps to Upgrade Assistant
16271f5#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Revert "[Upgrade Assistant] Refactor telemetry
c385d49#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Use skipFetchFields when creating the indexPatter…
…n in order to avoid errors if index doesn't exist
6674293#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Hide system indices from es deprecations list
6b3eb50#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Refactor reindex routes into separate single and batch reindex files.…
… Apply version precheck to batch routes.
3042c11#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Remove ML/Watcher logic
794366f#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Add show upgrade flag to url
0d614dc#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Delete deprecation log cache
f69facc#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Add upgrade system indices section
2763514#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Reindexing progress
7bdfcf1#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Remove Fix manually heading when there are no man…
…ual steps
1b62981#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Add rolling upgrade interstitials to UA
4732d4a#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Added "accept changes" header to the warnings lis…
…t in the reindex flyout
0e3853a#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Refactor kibana deprecation tests
21d7bc8#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Removed "closed index" warning from reindex flyout
a2b42d2#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Add LevelIconTips to be more explicit about the difference between cr……itical and warning issues.
b25dd4e#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Extract common DeprecationFlyoutLearnMoreLink component and change wo……rding to 'Learn more'.
ee57648#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Reindexing cancellation
8f28bf0#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Fix test errors
8df988e#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Overview page UI clean up
daaf60d#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Revert "Revert "[Upgrade Assistant] Refactor telemetry
19cad6d#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Rename upgrade_status to migration_status
9750b24#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Swapped reindexing flyouts order
1151c85#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
[Upgrade Assistant] Hide features that don't need to be migrated from flyout
128afbb#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a
Refine Upgrade Assistant copy.
4c86ad2#diff-9b2043598ef96a80bc51f79970c917270a1eff4e3e6625380325fb4da8925d5a