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
Cloud Migration FE #42542
Cloud Migration FE #42542
Conversation
frontend/src/metabase/admin/settings/components/CloudPanel/CloudPanel.tsx
Show resolved
Hide resolved
frontend/src/metabase/admin/settings/components/CloudPanel/CloudPanel.tsx
Show resolved
Hide resolved
6e0b2a2
to
57cdac1
Compare
abcb597
to
9f7b5d7
Compare
Codenotify: Notifying subscribers in CODENOTIFY files for diff 419856b...13b651c.
|
|
…te in fetchMock if more requests than expected happen at the end of a test, remove white spacing change in clj file
frontend/src/metabase/admin/settings/components/CloudPanel/MigrationError.tsx
Outdated
Show resolved
Hide resolved
…rationError.tsx Co-authored-by: Raphael Krut-Landau <raphael.kl@gmail.com>
frontend/src/metabase/admin/settings/components/CloudPanel/MigrationInProgress.tsx
Show resolved
Hide resolved
frontend/src/metabase/admin/settings/components/CloudPanel/MigrationInProgress.tsx
Outdated
Show resolved
Hide resolved
…rationInProgress.tsx Co-authored-by: Raphael Krut-Landau <raphael.kl@gmail.com>
frontend/src/metabase/admin/settings/components/CloudPanel/MigrationInProgress.tsx
Outdated
Show resolved
Hide resolved
frontend/src/metabase/admin/settings/components/CloudPanel/MigrationInProgress.tsx
Outdated
Show resolved
Hide resolved
frontend/src/metabase/admin/settings/components/CloudPanel/MigrationInProgress.tsx
Outdated
Show resolved
Hide resolved
frontend/src/metabase/admin/settings/components/CloudPanel/MigrationInProgress.tsx
Outdated
Show resolved
Hide resolved
frontend/src/metabase/admin/settings/components/CloudPanel/MigrationStart.tsx
Outdated
Show resolved
Hide resolved
frontend/src/metabase/admin/settings/components/CloudPanel/MigrationStart.tsx
Outdated
Show resolved
Hide resolved
frontend/src/metabase/admin/settings/components/CloudPanel/MigrationSuccess.tsx
Outdated
Show resolved
Hide resolved
frontend/src/metabase/admin/settings/components/CloudPanel/CloudPanel.unit.spec.tsx
Show resolved
Hide resolved
frontend/src/metabase/admin/settings/components/CloudPanel/MigrationError.tsx
Show resolved
Hide resolved
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.
frontend/src/metabase/admin/settings/components/CloudPanel/MigrationStart.tsx
Outdated
Show resolved
Hide resolved
frontend/src/metabase/admin/settings/components/CloudPanel/MigrationStart.tsx
Show resolved
Hide resolved
frontend/src/metabase/admin/settings/components/CloudPanel/MigrationStart.tsx
Show resolved
Hide resolved
<Icon size="1.5rem" name="warning" /> | ||
</LargeIconContainer> | ||
<Box> | ||
<Text fw="bold">{t`Migration to cloud failed`}</Text> |
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.
<Text fw="bold">{t`Migration to cloud failed`}</Text> | |
<Text fw="bold">{t`Migration to Metabase Cloud failed`}</Text> |
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.
Maybe something a little lighter like Could not migrate to Metabase Cloud
?
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.
All my notes are nonblockers and could go into a follow-up PR
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.
Approving so this can be merged once copy updates are done 👍
* it's a start * ui wip * wip * dynamic polling intervals, and custom modal for migrate confirmation modal * cleans out most of the remainig UI TODOs * adding progress component * impls team feedback * makes component more testable, starts some a unit test for the CloudPanel * finish unit testing * reverts api changes * update progress styling * fix type issues * fix e2e failure, fix feature unit tests by holding last migration state in fetchMock if more requests than expected happen at the end of a test, remove white spacing change in clj file * second pass at fixing tests * fix copy from ready-only to read-only * copy fix * Update frontend/src/metabase/admin/settings/components/CloudPanel/MigrationError.tsx Co-authored-by: Raphael Krut-Landau <raphael.kl@gmail.com> * Update frontend/src/metabase/admin/settings/components/CloudPanel/MigrationInProgress.tsx Co-authored-by: Raphael Krut-Landau <raphael.kl@gmail.com> * adding e2e test * pr feedback --------- Co-authored-by: Nick Fitzpatrick <nickfitz.582@gmail.com> Co-authored-by: Raphael Krut-Landau <raphael.kl@gmail.com>
* feat: cloud migration endpoints * fix: don't leave open conn behind when checking migrations `unrun-migrations` would open a new connection but not close it. Since `with-liquibase` is happy enough using a data-source the fix is straightforward. You can verify this by running the following code: ``` (comment (require '[metabase.cmd.dump-to-h2 :as dump-to-h2] '[metabase.analytics.prometheus :as prometheus]) (defn dump [] (-> (str "cloud_migration_dump_" (random-uuid) ".mv.db") io/file .getAbsolutePath dump-to-h2/dump-to-h2!)) (defn busy-conns [] (-> (prometheus/connection-pool-info) first second :numBusyConnections)) ;; each dump leaves behind 1 busy conn (busy-conns) ;; => 0 (dump) (busy-conns) ;; => 1 (dump) (busy-conns) ;; => 2 (dump) (busy-conns) ;; => 3 ) ``` * fix: flush h2 before returning from dump * rfct: move code to models.cloud-migration * test: add login while on read-only test * fix: assorted cloud_migration fixes from review * test: allow overriding uploaded dump * fix: add UserParameterValue to read-only exceptions Also make the list a little bit nicer. * fix: only block dumped tables on read-only * fix: recover on startup if read-only was left on * feat: block migration when hosted already * test: test settings for migration * feat: cloud migration supports retries and multipart * test: sane dev defaults for migration * fix: upload 100% shouldn't be migration 100% * chore: make up a new migration id after merge * Cloud Migration FE (#42542) * it's a start * ui wip * wip * dynamic polling intervals, and custom modal for migrate confirmation modal * cleans out most of the remainig UI TODOs * adding progress component * impls team feedback * makes component more testable, starts some a unit test for the CloudPanel * finish unit testing * reverts api changes * update progress styling * fix type issues * fix e2e failure, fix feature unit tests by holding last migration state in fetchMock if more requests than expected happen at the end of a test, remove white spacing change in clj file * second pass at fixing tests * fix copy from ready-only to read-only * copy fix * Update frontend/src/metabase/admin/settings/components/CloudPanel/MigrationError.tsx Co-authored-by: Raphael Krut-Landau <raphael.kl@gmail.com> * Update frontend/src/metabase/admin/settings/components/CloudPanel/MigrationInProgress.tsx Co-authored-by: Raphael Krut-Landau <raphael.kl@gmail.com> * adding e2e test * pr feedback --------- Co-authored-by: Nick Fitzpatrick <nickfitz.582@gmail.com> Co-authored-by: Raphael Krut-Landau <raphael.kl@gmail.com> --------- Co-authored-by: Sloan Sparger <sloansparger@users.noreply.github.com> Co-authored-by: Nick Fitzpatrick <nickfitz.582@gmail.com> Co-authored-by: Raphael Krut-Landau <raphael.kl@gmail.com>
Closes #41474
Description
Implements the UI portion of allowing users to migrate their self-hosted instances to the cloud.
How to verify
Demo
https://www.loom.com/share/f007a374634e45fcb409f8b5f2e4af4f?sid=56e52b1d-11bf-48a0-87f4-517392883641
Checklist