Skip to content

AP group disaster recovery script#127

Open
lucasvoronhpe wants to merge 2 commits into
v2(pre-release)from
ap-group-disaster-recovery
Open

AP group disaster recovery script#127
lucasvoronhpe wants to merge 2 commits into
v2(pre-release)from
ap-group-disaster-recovery

Conversation

@lucasvoronhpe
Copy link
Copy Markdown
Collaborator

Classic Central workflow that creates backup of UI Group configs with AP CLI and AP CLI settings. Provides ability to restore UI groups and AP settings from said saved backups. For scaling the script efficiently, multithreading is used to set up a number of workers based on the volume of APs for both the backup and restoration process. The workflow has been validated and tested on both DXP and Jacob Owen's internal Central instances. Note* adding the restore flag is a potentially destructive action on Classic Central as it will overwrite any changes since the last saved backup or backup the restore is pointed to.

Creates backup of UI Group configs with AP CLI and AP CLI settings.  Provides ability to restore UI groups and AP settings from saved backups.
Comment thread Classic-Central/ap_group_disaster_recovery/disaster_recovery.py Fixed
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
@Collin-Koss
Copy link
Copy Markdown
Collaborator

Overall looks pretty solid! I have a few questions and comments:

  1. For skipped groups, I see that this was added in a summary section and after a bit of inspection i saw the additional* tag with the note, but I recommend adding it to the specific line during execution instead of "could not retrieve config for group". That's the first thing someone will look at when seeing a group get skipped and they will need to look around to connect the dots.
  2. What is an unused group? Could be confusing for a user.
  3. Have you considered adding a retry option if rate limit had been hit on a 429 code?
  4. For restoring, you could optionally add validation for .json files, might be a bit tricky to do outside of just checking the general expected structure for the API is correct.

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.

2 participants