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

[Backport 2.4] Complete snapshot restore, mvp for 2.4 #332

Merged
merged 1 commit into from
Nov 2, 2022

Conversation

opensearch-trigger-bot[bot]
Copy link
Contributor

Backport 58b88b5 from #315

* Change alignment of Snapshot Management panels in pages/Main/Main.tsx

Signed-off-by: Chris Hesterman <[email protected]>

* Unify vertical button alignment across panels, ContentPanel.tsx

Signed-off-by: Chris Hesterman <[email protected]>

* Update jest snapshots, add ROUTE_STYLE variable

Signed-off-by: Chris Hesterman <[email protected]>

* Add placeholder restore button to Snapshots panel

Signed-off-by: Chris Hesterman <[email protected]>

* Comment out line 20 rollups_spec.js in cypress/integration/

Signed-off-by: Chris Hesterman <[email protected]>

* Remove unused code and comment cypress/integration/rollups_spec.js

Signed-off-by: Chris Hesterman <[email protected]>

* Starting adaptation/use of existing code for Restore functionality

Signed-off-by: Chris Hesterman <[email protected]>

* Adapt Snapshots.tsx to include RestoreSnapshotFlyout

Signed-off-by: Chris Hesterman <[email protected]>

* Add restoreSnapshot method to SMservice,RestoreSnapshotResponse int

Signed-off-by: Chris Hesterman <[email protected]>

* Implement RestoreSnapshotFlyout open/close

Signed-off-by: Chris Hesterman <[email protected]>

* Make Snapshot name appear on RestoreSnapshotFlyout

Signed-off-by: Chris Hesterman <[email protected]>

* Add/adapt restoreSnapshot to server/SnapshotManagementService

Signed-off-by: Chris Hesterman <[email protected]>

* Add route for restoreSnapshot in server/routes.ts

Signed-off-by: Chris Hesterman <[email protected]>

* Rudimentary restore from snapshot functionality reached, buggy

Signed-off-by: Chris Hesterman <[email protected]>

* Fix index list-snapshot restore, restrict restore to single selection

Signed-off-by: Chris Hesterman <[email protected]>

* Remove console.logs, commented out code

Signed-off-by: Chris Hesterman <[email protected]>

* Create Advanced options accordion for Snapshot restore.

Signed-off-by: Chris Hesterman <[email protected]>

Currently only visually functional. TODO - make it apply the options

Signed-off-by: Chris Hesterman <[email protected]>

* Add initial restore/rename options to ui. Only visual functionality

Signed-off-by: Chris Hesterman <[email protected]>

* Resolve radio button events not firing

Signed-off-by: Chris Hesterman <[email protected]>

Split radio buttons into SnapshotRestoreOption and SnapshotRenameOptions

Signed-off-by: Chris Hesterman <[email protected]>

Move 'restore' button between 'delete' and 'take snapshot'

Signed-off-by: Chris Hesterman <[email protected]>

Set default rename option to 'add prefix'

Signed-off-by: Chris Hesterman <[email protected]>

* Add AddPrefixInput, remove unused component RestoreSnapshotInitialOptions

Signed-off-by: Chris Hesterman <[email protected]>

* Fix issues with restore specific indices

Signed-off-by: Chris Hesterman <[email protected]>

Implement first 4 Advanced restore options functionality

Signed-off-by: Chris Hesterman <[email protected]>

* Begin cypress testing for snapshots

Signed-off-by: Chris Hesterman <[email protected]>

Passing tests for create repo and create snapshot

Signed-off-by: Chris Hesterman <[email protected]>

* Begin cypress testing Snapshots. Create repo and Create snapshot done

Signed-off-by: Chris Hesterman <[email protected]>

* Implement add_prefix functionality for snapshot restore

Signed-off-by: Chris Hesterman <[email protected]>

* Implement rename indices option for restore snapshot

Signed-off-by: Chris Hesterman <[email protected]>

* Remove console.logs, unusted variables in SnapshotFlyout, SMservice

Signed-off-by: Chris Hesterman <[email protected]>

* Add full stop to help text/errors, add RESTORE_OPTIONS enum

Signed-off-by: Chris Hesterman <[email protected]>

* Add placeholder examples to rename options, add line breaks to help text

Signed-off-by: Chris Hesterman <[email protected]>

* Progress on custom index settings, ignore index settings

Signed-off-by: Chris Hesterman <[email protected]>

* Implement custom index settings functionality

Signed-off-by: Chris Hesterman <[email protected]>

* Successfully implement/debug custom index settings/ignore index settings.

Signed-off-by: Chris Hesterman <[email protected]>

* Progress on IndexList component, using cat.index.

Signed-off-by: Chris Hesterman <[email protected]>

* IndexList with pagination fully functional, todo: styling

Signed-off-by: Chris Hesterman <[email protected]>

* Add RestoreActivitiesPanel component folder, files (starter)

Signed-off-by: Chris Hesterman <[email protected]>

* Complete IndexList with pagination, sorting.

Signed-off-by: Chris Hesterman <[email protected]>

* Add maxWidth to RestoreSnapshotFlyout

Signed-off-by: Chris Hesterman <[email protected]

* Implement tabs on Snapshots page: Snapshots, Restore activities...

Signed-off-by: Chris Hesterman <[email protected]>

Implement skeleton Restore activities panel, panel switching in Snapshots

Signed-off-by: Chris Hesterman <[email protected]>

* Progress on catIndexRecovery, TODO - debug

Signed-off-by: Chris Hesterman <[email protected]>

* Fix syntax bug - server/services/SnapshotManagementService.ts

Signed-off-by: Chris Hesterman <[email protected]>

* Resolved some errors, getting a response but not correct response.

Signed-off-by: Chris Hesterman <[email protected]>

* Add back line 20 in rollups_spec, required by changes in 2.3 release.

Signed-off-by: Chris Hesterman <[email protected]>

* Implement code to use Index Recovery api. successful.

Signed-off-by: Chris Hesterman <[email protected]>

* Current progress extracting data and displaying in Restore activities

Signed-off-by: Chris Hesterman <[email protected]>

* Implement Restore Activities with self updating until restore done

Signed-off-by: Chris Hesterman <[email protected]>

* Add clickable indexes link and hello world click handler

Signed-off-by: Chris Hesterman <[email protected]>

* Add toast if no snapshot selected upon restore activities click

Signed-off-by: Chris Hesterman <[email protected]>

Add empty flyout where restoring indices will be listed

Signed-off-by: Chris Hesterman <[email protected]>

* Change danger toast to warning when no snapshot selected

Signed-off-by: Chris Hesterman <[email protected]>

* Fix bug when both custom settings and ignore settings chosen

Signed-off-by: Chris Hesterman <[email protected]>

* Add refresh button to restore activities page, remove auto refreshing

Signed-off-by: Chris Hesterman <[email protected]>

* Remove unused getRepos func, add repo prop, trim state in RestoreFlyout

Signed-off-by: Chris Hesterman <[email protected]>

* Add increment to 2.3.0

Signed-off-by: Chris Hesterman <[email protected]>

* Remove index settings from options if none entered, RestoreFlyout

Signed-off-by: Chris Hesterman <[email protected]>

* Add rel="noopener noreferrer" to links in help text, use url from constants.

Signed-off-by: Chris Hesterman <[email protected]>

* Create CatSnapshotIndex in server/models/interfaces, apply in IndexList

Signed-off-by: Chris Hesterman <[email protected]>

* Add rel="noopener noreferrer" to links in IndexList, add CatSnapshotIndex interface

Signed-off-by: Chris Hesterman <[email protected]>

* Changes to RestoreActivitesPanel to prep for listing indice

Signed-off-by: Chris Hesterman <[email protected]>

* Re do merge commit - forgot to save file.

Signed-off-by: Chris Hesterman <[email protected]>

* Snapshots testing in progress

Signed-off-by: Chris Hesterman <[email protected]>

* Current progress, cypress testing

Signed-off-by: Chris Hesterman <[email protected]>

* Add unit testing for AddPrefixInput, RenameInput components

Signed-off-by: Chris Hesterman <[email protected]>

* Add unit tests for SnapshotRenameOptions component

Signed-off-by: Chris Hesterman <[email protected]>

* Add unit tests for SnapshotRestoreOption component

Signed-off-by: Chris Hesterman <[email protected]>

* Add unit tests for SnapshotIndicesInput component

Signed-off-by: Chris Hesterman <[email protected]>

* Change 'Indices' to 'Index' if only 1 index.

Signed-off-by: Chris Hesterman <[email protected]>

* Replace anchor tags with EuiLinks set to external, rename options

Signed-off-by: Chris Hesterman <[email protected]>

* Change anchor tags to EuiLinks, IndexSettings

Signed-off-by: Chris Hesterman <[email protected]>

* Add rel attribute to EuiLink, IndexSettingsInput

Signed-off-by: Chris Hesterman <[email protected]>

* Auto populate prefix field initially with "restored_"

Signed-off-by: Chris Hesterman <[email protected]>

* Change Restore button to color="primary" (blue)

Signed-off-by: Chris Hesterman <[email protected]>

* Make flyout close on restore, direct user to activities tab

Signed-off-by: Chris Hesterman <[email protected]>

* Title case flyout 'status', use EuiHealth for status color dot

Signed-off-by: Chris Hesterman <[email protected]>

* Add auto status check until 'DONE', RestoreActivities

Signed-off-by: Chris Hesterman <[email protected]>

* Add auto status update until 'SUCCESS', Snapshots panel

Signed-off-by: Chris Hesterman <[email protected]>

* Change tab implementation to be consistent with other plugins

Signed-off-by: Chris Hesterman <[email protected]>

* Minor text and styling fixes, Snapshots panel

Signed-off-by: Chris Hesterman <[email protected]>

* Fix styling to match main Snapshot page, RestoreFlyout

Signed-off-by: Chris Hesterman <[email protected]>

* Update text to match mocks in Snapshots, RestoreSnapshotFlyout

Signed-off-by: Chris Hesterman <[email protected]>

* Pre fill rename inputs, prefix input with default values from mock

Signed-off-by: Chris Hesterman <[email protected]>

* Change to title case for status in Restore activities panel

Signed-off-by: Chris Hesterman <[email protected]>

* Add warning banner if snapshot is partial, with checkbox to allow

Signed-off-by: Chris Hesterman <[email protected]>

* Fix behavior of IndexList, include size when active, else unknown

Signed-off-by: Chris Hesterman <[email protected]>

* Functioning start/stop times in RestoreActivities

Signed-off-by: Chris Hesterman <[email protected]>

Accurate listing of indices being restored from snapshot

Signed-off-by: Chris Hesterman <[email protected]>

* Restore start/stop working. Auto updating working.

Signed-off-by: Chris Hesterman <[email protected]>

* Add EuiHealth to RestoreSnapshotFlyout

Signed-off-by: Chris Hesterman <[email protected]>

* Progress with restore monitoring, finally error free

Signed-off-by: Chris Hesterman <[email protected]>

* Progress on restore/delete buttons correctly disabled edge cases

Signed-off-by: Chris Hesterman <[email protected]>

* Add EuiOverlayMask when RestoreSnapshotFlyout active

Signed-off-by: Chris Hesterman <[email protected]>

* Create user friendly error toasts with button to full error

Signed-off-by: Chris Hesterman <[email protected]>

* Direct user to browser console for full error from error toasts

Signed-off-by: Chris Hesterman <[email protected]>

* Progress with restore success toast with button. Close

Signed-off-by: Chris Hesterman <[email protected]>

* Custom restore success toast with button to activities panel done

Signed-off-by: Chris Hesterman <[email protected]>

* Created custom error toast. Need to debug.

Signed-off-by: Chris Hesterman <[email protected]>

* Custom error and success toasts fully functional and error free.

Signed-off-by: Chris Hesterman <[email protected]>

* Add and debug Index Settings portion of Advanced Options. Successful.

Signed-off-by: Chris Hesterman <[email protected]>

* Remove stray console logs

Signed-off-by: Chris Hesterman <[email protected]>

* Add, update jest and cypress testing for snapshots & restore snapshots

Signed-off-by: Chris Hesterman <[email protected]>

* Save small change snapshots_spec, forgot before prev commit

Signed-off-by: Chris Hesterman <[email protected]>

* Version bump 2.3.0 to 2.3 1

Signed-off-by: Chris Hesterman <[email protected]>

* Add version bump 2.3.1 for OS in cypress-workflow.yml

Signed-off-by: Chris Hesterman <[email protected]>

* Remove 2.3.1 bump

Signed-off-by: Chris Hesterman <[email protected]>

* Change 2.3 to 2.3.0 cypress-workflow.yml

Signed-off-by: Chris Hesterman <[email protected]>

* Change OSDB version to 2.3.1, opensearch_dashboards.json

Signed-off-by: Chris Hesterman <[email protected]>

* Change 2.4 to 2.4.0 opensearch_dashboards.json

Signed-off-by: Chris Hesterman <[email protected]>

* Update for 2.4

Signed-off-by: Chris Hesterman <[email protected]>

* Update help text, Snapshots.jsx

Signed-off-by: Chris Hesterman <[email protected]>

* Remove Total size column from IndexList

Signed-off-by: Chris Hesterman <[email protected]>

* Disable restore if partial snapshot but not checked in banner

Signed-off-by: Chris Hesterman <[email protected]>

Remove total size column in indexList

Signed-off-by: Chris Hesterman <[email protected]>

* Add status code and code meaning to toasts, error modal

Signed-off-by: Chris Hesterman <[email protected]>

* Progress making Restore activities panel independent

Signed-off-by: Chris Hesterman <[email protected]>

* RestoreActivitiesPanel no longer needs selected snapshot to access

Signed-off-by: Chris Hesterman <[email protected]>

* Clean up unused code,console logs

Signed-off-by: Chris Hesterman <[email protected]>

* Modify error toasts to be more user friendly

Signed-off-by: Chris Hesterman <[email protected]>

* Handle bad regex input, handle bad JSON input, RestoreSnapshotFlyout

Signed-off-by: Chris Hesterman <[email protected]>

* Add check and toast for no indices selected, RestoreSnapshotFlyout

Signed-off-by: Chris Hesterman <[email protected]>

* Remove unused interface, server/models/interfaces

Signed-off-by: Chris Hesterman <[email protected]>

* Remove unused interface, console log.

Signed-off-by: Chris Hesterman <[email protected]>

* Small style changes, RestoreSnapshotFlyout

Signed-off-by: Chris Hesterman <[email protected]>

* Resolve one missed conflict from previous merge

Signed-off-by: Chris Hesterman <[email protected]>

* Update snapshots_spec.js

Signed-off-by: Chris Hesterman <[email protected]>

* Remove unneeded cy.wait, snapshots_spec

Signed-off-by: Chris Hesterman <[email protected]>

* Fix small bug with refresh button, Restore activities panel

Signed-off-by: Chris Hesterman <[email protected]>

* Remove conflicts in server/models/interfaces

Signed-off-by: Chris Hesterman <[email protected]>

* Remove unused prop"ignore", change ternary to if() in toast helper

Signed-off-by: Chris Hesterman <[email protected]>

* Change label text styling for radios and checkboxes in flyout

Signed-off-by: Chris Hesterman <[email protected]>

* Create checkBoxLabel component in helper.jsx

Signed-off-by: Chris Hesterman <[email protected]>

* Update jest snapshots for unit tests.

Signed-off-by: Chris Hesterman <[email protected]>

* Remove default close button from Restore activities/indiceslist

Signed-off-by: Chris Hesterman <[email protected]>

Signed-off-by: Chris Hesterman <[email protected]>
Signed-off-by: Chris Hesterman <[email protected]
(cherry picked from commit 58b88b5)
@opensearch-trigger-bot opensearch-trigger-bot bot requested a review from a team November 2, 2022 16:57
@codecov-commenter
Copy link

Codecov Report

Merging #332 (2f7e775) into 2.4 (3614a6f) will decrease coverage by 0.49%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##              2.4     #332      +/-   ##
==========================================
- Coverage   50.41%   49.91%   -0.50%     
==========================================
  Files         191      192       +1     
  Lines        6064     6140      +76     
  Branches      942      960      +18     
==========================================
+ Hits         3057     3065       +8     
- Misses       2785     2853      +68     
  Partials      222      222              
Impacted Files Coverage Δ
.../RestoreActivitiesPanel/RestoreActivitiesPanel.tsx 15.78% <0.00%> (-5.75%) ⬇️
...ashboards-plugin/public/pages/Snapshots/helper.tsx 23.80% <0.00%> (-4.77%) ⬇️
...lugin/public/services/SnapshotManagementService.ts 0.00% <0.00%> (ø)
...pages/Snapshots/components/IndexList/IndexList.tsx 0.00% <0.00%> (ø)
...s/Snapshots/components/RenameInput/RenameInput.tsx 100.00% <0.00%> (ø)
...AdvancedOptions/SnapshotRestoreAdvancedOptions.tsx 0.00% <0.00%> (ø)
...ges/Snapshots/components/ErrorModal/ErrorModal.tsx 0.00% <0.00%> (ø)
...ts/RestoreSnapshotFlyout/RestoreSnapshotFlyout.tsx 15.49% <0.00%> (+0.49%) ⬆️
...pages/Snapshots/containers/Snapshots/Snapshots.tsx 9.75% <0.00%> (+2.66%) ⬆️

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@phestecAMZN phestecAMZN merged commit a50d512 into 2.4 Nov 2, 2022
@github-actions github-actions bot deleted the backport/backport-315-to-2.4 branch November 2, 2022 17:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants