Skip to content

Commit

Permalink
Update upgrade command, add RELEASE notes (#1789)
Browse files Browse the repository at this point in the history
  • Loading branch information
iameskild authored May 5, 2023
1 parent 6de26fa commit 1f62863
Show file tree
Hide file tree
Showing 3 changed files with 72 additions and 5 deletions.
58 changes: 58 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,64 @@ This file is copied to nebari-dev/nebari-docs using a GitHub Action. -->

## Upcoming Release

### Release 2023.5.1 - May 5, 2023

### Feature changes and enhancements

* Upgrade Argo-Workflows to version 3.4.4

### Breaking Changes

* The Argo-Workflows version upgrade will result in a breaking change if the existing Kubernetes CRDs are not deleted (see the NOTE below for more details).
* There is a minor breaking change for the Nebari CLI version shorthand, previously it `nebari -v` and now to align with Python convention, it will be `nebari -V`.

> NOTE: After installing the Nebari version `2023.5.1`, please run `nebari upgrade -c nebari-config.yaml` to upgrade
> the `nebari-config.yaml`. This command will also prompt you to delete a few Kubernetes resources (specifically
> the Argo-Workflows CRDS and service accounts) before you can upgrade.
### What's Changed
* Use --quiet flag for conda install in CI by @pmeier in /~https://github.com/nebari-dev/nebari/pull/1699
* improve CLI tests by @pmeier in /~https://github.com/nebari-dev/nebari/pull/1710
* Fix Existing dashboards by @Adam-D-Lewis in /~https://github.com/nebari-dev/nebari/pull/1723
* Fix dashboards by @Adam-D-Lewis in /~https://github.com/nebari-dev/nebari/pull/1727
* Typo in the conda-store <-> conda_store key by @costrouc in /~https://github.com/nebari-dev/nebari/pull/1740
* use -V (upper case) for --version short form by @pmeier in /~https://github.com/nebari-dev/nebari/pull/1720
* [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in /~https://github.com/nebari-dev/nebari/pull/1692
* improve pytest configuration by @pmeier in /~https://github.com/nebari-dev/nebari/pull/1700
* fix upgrade command to look for nebari_version instead of qhub_version by @Adam-D-Lewis in /~https://github.com/nebari-dev/nebari/pull/1693
* remove lazy import by @pmeier in /~https://github.com/nebari-dev/nebari/pull/1721
* fix nebari invocation through python by @pmeier in /~https://github.com/nebari-dev/nebari/pull/1711
* Update Argo Workflows to latest version by @Adam-D-Lewis in /~https://github.com/nebari-dev/nebari/pull/1639
* Update secret token in release-notes-sync action by @pavithraes in /~https://github.com/nebari-dev/nebari/pull/1753
* Typo fix in release-notes-sync action by @pavithraes in /~https://github.com/nebari-dev/nebari/pull/1756
* 🔄 Synced file(s) with nebari-dev/.github by @nebari-sensei in /~https://github.com/nebari-dev/nebari/pull/1758
* Update path in release-notes-sync action by @pavithraes in /~https://github.com/nebari-dev/nebari/pull/1757
* Updating heading format in release notes by @pavithraes in /~https://github.com/nebari-dev/nebari/pull/1761
* Update vault url by @costrouc in /~https://github.com/nebari-dev/nebari/pull/1752
* Fix? contributor test trigger by @pmeier in /~https://github.com/nebari-dev/nebari/pull/1734
* Consistent user Experience with y/N. by @AM-O7 in /~https://github.com/nebari-dev/nebari/pull/1747
* Fix contributor trigger by @pmeier in /~https://github.com/nebari-dev/nebari/pull/1765
* add more debug output to contributor test trigger by @pmeier in /~https://github.com/nebari-dev/nebari/pull/1766
* fix copy-paste error by @pmeier in /~https://github.com/nebari-dev/nebari/pull/1767
* add instructions insufficient permissions of contributor trigger by @pmeier in /~https://github.com/nebari-dev/nebari/pull/1772
* fix invalid escape sequence by @pmeier in /~https://github.com/nebari-dev/nebari/pull/1770
* Update AMI in `.cirun.yml` for nebari-dev-ci AWS account by @aktech in /~https://github.com/nebari-dev/nebari/pull/1776
* [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in /~https://github.com/nebari-dev/nebari/pull/1768
* turn warnings into errors with pytest by @pmeier in /~https://github.com/nebari-dev/nebari/pull/1774
* purge setup.cfg by @pmeier in /~https://github.com/nebari-dev/nebari/pull/1781
* improve pre-commit run on GHA by @pmeier in /~https://github.com/nebari-dev/nebari/pull/1782
* Upgrade to k8s 1.24 by @iameskild in /~https://github.com/nebari-dev/nebari/pull/1760
* Overloaded dask gateway fix by @Adam-D-Lewis in /~https://github.com/nebari-dev/nebari/pull/1777
* Add option to specify GKE release channel by @iameskild in /~https://github.com/nebari-dev/nebari/pull/1648
* Update upgrade command, add RELEASE notes by @iameskild in /~https://github.com/nebari-dev/nebari/pull/1789

### New Contributors
* @pmeier made their first contribution in /~https://github.com/nebari-dev/nebari/pull/1699
* @AM-O7 made their first contribution in /~https://github.com/nebari-dev/nebari/pull/1747

**Full Changelog**: /~https://github.com/nebari-dev/nebari/compare/2023.4.1...2023.5.1


## Release 2023.4.1 - April 12, 2023

> NOTE: Nebari requires Kubernetes version 1.23 and Digital Ocean now requires new clusters to run Kubernetes version 1.24. This means that if you are currently running on Digital Ocean, you should be fine but deploying on a new cluster on Digital Ocean is not possible until we upgrade Kubernetes version (see [issue 1622](/~https://github.com/nebari-dev/nebari/issues/1622) for more details).
Expand Down
4 changes: 2 additions & 2 deletions nebari/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
HIGHEST_SUPPORTED_K8S_VERSION = "1.24.13"
DEFAULT_GKE_RELEASE_CHANNEL = "UNSPECIFIED"

DEFAULT_NEBARI_DASK_VERSION = "2023.4.1"
DEFAULT_NEBARI_IMAGE_TAG = "2023.4.1"
DEFAULT_NEBARI_DASK_VERSION = "2023.5.1"
DEFAULT_NEBARI_IMAGE_TAG = "2023.5.1"

DEFAULT_CONDA_STORE_IMAGE_TAG = "v0.4.14"

Expand Down
15 changes: 12 additions & 3 deletions nebari/upgrade.py
Original file line number Diff line number Diff line change
Expand Up @@ -398,14 +398,23 @@ def _version_specific_upgrade(

kubectl_delete_argo_crds_cmd = "kubectl delete crds clusterworkflowtemplates.argoproj.io cronworkflows.argoproj.io workfloweventbindings.argoproj.io workflows.argoproj.io workflowtasksets.argoproj.io workflowtemplates.argoproj.io"

kubectl_delete_argo_sa_cmd = (
f"kubectl delete sa -n {config['namespace']} argo-admin argo-dev argo-view"
)

rich.print(
f"\n\n[bold cyan]Note:[/] Upgrading requires a one-time manual deletion of the Argo Workflows Custom Resource Definitions (CRDs). \n\n[red bold]Warning: [link=https://{config['domain']}/argo/workflows]Workflows[/link] and [link=https://{config['domain']}/argo/workflows]CronWorkflows[/link] created before deleting the CRDs will be erased when the CRDs are deleted and will not be restored.[/red bold] \n\nThe updated CRDs will be installed during the next [cyan bold]nebari deploy[/cyan bold] step. Argo Workflows will not function after deleting the CRDs until the updated CRDs are installed in the next nebari deploy. You must delete the Argo CRDs before upgrading to {self.version} or deploy step will fail. Please delete them before proceeding by generating a kubeconfig (see [link=https://www.nebari.dev/docs/how-tos/debug-nebari/#generating-the-kubeconfig]docs[/link]), installing kubectl (see [link=https://www.nebari.dev/docs/how-tos/debug-nebari#installing-kubectl]docs[/link]), and running the following command:\n\n\t[cyan bold]{kubectl_delete_argo_crds_cmd} [/cyan bold]\n"
f"\n\n[bold cyan]Note:[/] Upgrading requires a one-time manual deletion of the Argo Workflows Custom Resource Definitions (CRDs) and service accounts. \n\n[red bold]Warning: [link=https://{config['domain']}/argo/workflows]Workflows[/link] and [link=https://{config['domain']}/argo/workflows]CronWorkflows[/link] created before deleting the CRDs will be erased when the CRDs are deleted and will not be restored.[/red bold] \n\nThe updated CRDs will be installed during the next [cyan bold]nebari deploy[/cyan bold] step. Argo Workflows will not function after deleting the CRDs until the updated CRDs and service accounts are installed in the next nebari deploy. You must delete the Argo Workflows CRDs and service accounts before upgrading to {self.version} (or later) or the deploy step will fail. Please delete them before proceeding by generating a kubeconfig (see [link=https://www.nebari.dev/docs/how-tos/debug-nebari/#generating-the-kubeconfig]docs[/link]), installing kubectl (see [link=https://www.nebari.dev/docs/how-tos/debug-nebari#installing-kubectl]docs[/link]), and running the following two commands:\n\n\t[cyan bold]{kubectl_delete_argo_crds_cmd} [/cyan bold]\n\n\t[cyan bold]{kubectl_delete_argo_sa_cmd} [/cyan bold]"
""
)

continue_ = Prompt.ask("Have you deleted the Argo CRDs? [y/N]", default="N")
continue_ = Prompt.ask(
"Have you deleted the Argo Workflows CRDs and service accounts? [y/N]",
default="N",
)
if not continue_ == "y":
print(f"You must delete the Argo CRDs before upgrading to {self.version}")
print(
f"You must delete the Argo Workflows CRDs and service accounts before upgrading to {self.version} (or later)."
)
exit()

return config
Expand Down

0 comments on commit 1f62863

Please sign in to comment.