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

Upgrade path from Nebari 2023.1.1 to latest 2023.11.1 #2145

Closed
kalpanachinnappan opened this issue Dec 6, 2023 · 4 comments
Closed

Upgrade path from Nebari 2023.1.1 to latest 2023.11.1 #2145

kalpanachinnappan opened this issue Dec 6, 2023 · 4 comments
Labels
type: question 🤔 Further information is requested

Comments

@kalpanachinnappan
Copy link
Contributor

Context

Our prod Nebari cluster is running on 2023.1.1, and we would like to upgrade it to the latest stable version, 2023.11.1.
What would be the safest upgrade path to take without data loss?

Thank you!

Value and/or benefit

Upgrade minor versions without affecting the cluster data.

Anything else?

No response

@kalpanachinnappan kalpanachinnappan added the needs: triage 🚦 Someone needs to have a look at this issue and triage label Dec 6, 2023
@rsignell
Copy link

rsignell commented Dec 7, 2023

We just recently went through this with the ESIP Nebari deployment on AWS, going from 2023.1.1 to 2023.10.1.

  • We backed up all the user data using the Manual Backup Process.
  • Saved each conda-store environment to conda environment yaml file so we can create it later.
  • We upgraded our nebari conda environment to the latest version.
  • We ran nebari upgrade -c nebari-config.yaml multiple times, answering all the questions each time.
  • We did basically a new deployment with nebari deploy (got a new IP and needed to change the CNAME assignment)
  • We restored all the user data.
  • We generated a CSV file of usernames from the user data folder and used that to regenerate user accounts for everyone using keycloak import (we use github auth so we just needed the usernames)
  • Modified the environment.yaml files to upgrade nebari-dask to latest version
  • Rebuilt the conda-store environments using the updated conda environment files (manual process, one by one)
    Not sure if there was a way to do this without needing to redo the user accounts. Also exporting the user accounts would have been better as we lost people's email addresses, but we couldn't figure out how to do that.

@aktech ?

@dharhas
Copy link
Member

dharhas commented Dec 7, 2023

Longer term, the approach I want to implement involves having a proper backup and restore. This is on the roadmap to build in January

  • Backup everything in Nebari that has state
    • user folder data
    • keycloak data
    • conda-store data
    • anything else?
  • deploy a clean install of the latest version of Nebari
  • restore state from backups
  • destroy previous nebari install

I think this will be a more robust solution than incremental update scripts, especially when jumping a large number of versions.

@rsignell
Copy link

rsignell commented Dec 7, 2023

@dharhas oh my, yes that would be an amazing improvement!

@marcelovilla marcelovilla added type: question 🤔 Further information is requested and removed needs: triage 🚦 Someone needs to have a look at this issue and triage labels May 9, 2024
@marcelovilla
Copy link
Member

Most likely you have already migrated upgraded your Nebari version. For posterity, I think @rsignell outlined a good approach for upgrading, taking into account the backup of existing data. This is specially necessary for AWS as version 2023.7.1 triggered Terraform to replace the VPC due to some changes on the AWS side of things.

As @dharhas mentioned, we're working on a backup and restore mechanism that will facilitate this process for users in the future. More information can be found on this RFD.

I'm closing this issue but feel free to reopen if necessary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: question 🤔 Further information is requested
Projects
Development

No branches or pull requests

4 participants