From ad47aa938d53f4277e27f4ad70a15765c84418e6 Mon Sep 17 00:00:00 2001 From: Blake Rosenthal Date: Thu, 19 Sep 2024 12:54:06 -0700 Subject: [PATCH 01/17] add instances func to google_cloud --- src/_nebari/provider/cloud/google_cloud.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/_nebari/provider/cloud/google_cloud.py b/src/_nebari/provider/cloud/google_cloud.py index 6b54e40e9d..9644445f9f 100644 --- a/src/_nebari/provider/cloud/google_cloud.py +++ b/src/_nebari/provider/cloud/google_cloud.py @@ -51,6 +51,22 @@ def regions() -> Set[str]: return {region.name for region in response} +@functools.lru_cache() +def instances(region: str) -> Set[str]: + """Return a set of available compute instances in a region.""" + credentials, project_id = load_credentials() + zones_client = compute_v1.services.region_zones.RegionZonesClient( + credentials=credentials + ) + instances_client = compute_v1.InstancesClient(credentials=credentials) + + return { + instance.machine_type.split("/")[-1] + for zone in zones_client.list(project=project_id, region=region) + for instance in instances_client.list(project=project_id, zone=zone.name) + } + + @functools.lru_cache() def kubernetes_versions(region: str) -> List[str]: """Return list of available kubernetes supported by cloud provider. Sorted from oldest to latest.""" From bcca5163f93f6a4ed1ba3d00b4f60d57d216bc66 Mon Sep 17 00:00:00 2001 From: Blake Rosenthal Date: Thu, 19 Sep 2024 13:06:31 -0700 Subject: [PATCH 02/17] validate instance types --- src/_nebari/stages/infrastructure/__init__.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/_nebari/stages/infrastructure/__init__.py b/src/_nebari/stages/infrastructure/__init__.py index 682e9d50b6..69f953d655 100644 --- a/src/_nebari/stages/infrastructure/__init__.py +++ b/src/_nebari/stages/infrastructure/__init__.py @@ -401,6 +401,21 @@ def _check_input(cls, data: Any) -> Any: raise ValueError( f"\nInvalid `kubernetes-version` provided: {data['kubernetes_version']}.\nPlease select from one of the following supported Kubernetes versions: {available_kubernetes_versions} or omit flag to use latest Kubernetes version available." ) + + # check if instances are valid + available_instances = google_cloud.instances(data["region"]) + if "node_groups" in data: + for _, node_group in data["node_groups"].items(): + instance = ( + node_group["instance"] + if hasattr(node_group, "__getitem__") + else node_group.instance + ) + if instance not in available_instances: + raise ValueError( + f"Google Cloud Platform instance {node_group.instance} not one of available instance types={available_instances}" + ) + return data From 6266a23750ee78e0e73dec60c975548d2f2011c1 Mon Sep 17 00:00:00 2001 From: Blake Rosenthal Date: Thu, 19 Sep 2024 14:31:55 -0700 Subject: [PATCH 03/17] fix error string formatting --- src/_nebari/stages/infrastructure/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_nebari/stages/infrastructure/__init__.py b/src/_nebari/stages/infrastructure/__init__.py index 69f953d655..605a93d515 100644 --- a/src/_nebari/stages/infrastructure/__init__.py +++ b/src/_nebari/stages/infrastructure/__init__.py @@ -413,7 +413,7 @@ def _check_input(cls, data: Any) -> Any: ) if instance not in available_instances: raise ValueError( - f"Google Cloud Platform instance {node_group.instance} not one of available instance types={available_instances}" + f"Google Cloud Platform instance {instance} not one of available instance types={available_instances}" ) return data From d1572ebf44aa504e9fa833ef868b5653a984f123 Mon Sep 17 00:00:00 2001 From: krassowski <5832902+krassowski@users.noreply.github.com> Date: Tue, 29 Oct 2024 10:43:29 +0000 Subject: [PATCH 04/17] Disable `jupyterlab-jhub-apps` extension when jhub-apps is disabled (if installed) --- .../services/jupyterhub/configmaps.tf | 28 +++++++++++++++++++ .../kubernetes/services/jupyterhub/main.tf | 5 ++++ 2 files changed, 33 insertions(+) diff --git a/src/_nebari/stages/kubernetes_services/template/modules/kubernetes/services/jupyterhub/configmaps.tf b/src/_nebari/stages/kubernetes_services/template/modules/kubernetes/services/jupyterhub/configmaps.tf index bfee219e9e..9581af48ac 100644 --- a/src/_nebari/stages/kubernetes_services/template/modules/kubernetes/services/jupyterhub/configmaps.tf +++ b/src/_nebari/stages/kubernetes_services/template/modules/kubernetes/services/jupyterhub/configmaps.tf @@ -60,6 +60,17 @@ resource "local_file" "overrides_json" { filename = "${path.module}/files/jupyterlab/overrides.json" } +resource "local_file" "page_config_json" { + content = jsonencode({ + "disabledExtensions" : { + "jupyterlab-jhub-apps:" : !var.jhub-apps-enabled + }, + # `lockedExtensions` is an empty dict to signify that `jupyterlab-jhub-apps` is not being disabled and locked (but only disabled) + # which means users are still allowed to disable the jupyterlab-jhub-apps extension (if they have write access to page_config). + "lockedExtensions" : {} + }) + filename = "${path.module}/files/jupyterlab/page_config.json" +} resource "kubernetes_config_map" "etc-ipython" { metadata { @@ -92,6 +103,9 @@ locals { etc-jupyterlab-settings = { "overrides.json" = local_file.overrides_json.content } + etc-jupyterlab-page-config = { + "page_config.json" = local_file.page_config_json.content + } } resource "kubernetes_config_map" "etc-jupyter" { @@ -136,6 +150,20 @@ resource "kubernetes_config_map" "jupyterlab-settings" { data = local.etc-jupyterlab-settings } + +resource "kubernetes_config_map" "jupyterlab-page-config" { + depends_on = [ + local_file.page_config_json + ] + + metadata { + name = "jupyterlab-page-config" + namespace = var.namespace + } + + data = local.etc-jupyterlab-page-config +} + resource "kubernetes_config_map" "git_clone_update" { metadata { name = "git-clone-update" diff --git a/src/_nebari/stages/kubernetes_services/template/modules/kubernetes/services/jupyterhub/main.tf b/src/_nebari/stages/kubernetes_services/template/modules/kubernetes/services/jupyterhub/main.tf index a36090f41c..4de73c75d3 100644 --- a/src/_nebari/stages/kubernetes_services/template/modules/kubernetes/services/jupyterhub/main.tf +++ b/src/_nebari/stages/kubernetes_services/template/modules/kubernetes/services/jupyterhub/main.tf @@ -104,6 +104,11 @@ resource "helm_release" "jupyterhub" { kind = "configmap" } + "/opt/conda/envs/default/etc/jupyter/labconfig/page_config.json" = { + name = kubernetes_config_map.jupyterlab-page-config.metadata.0.name + namespace = kubernetes_config_map.jupyterlab-page-config.metadata.0.namespace + kind = "configmap" + } } ) environments = var.conda-store-environments From b8530d6de8a7fbee7950a412ca1f013a06186d8f Mon Sep 17 00:00:00 2001 From: krassowski <5832902+krassowski@users.noreply.github.com> Date: Tue, 29 Oct 2024 13:56:56 +0000 Subject: [PATCH 05/17] Mount `page_config.json` in top-level so that it applies across potential JupyterLab startup environments also the previous spec was incorrectly pointing to a file (not a dir) --- .../template/modules/kubernetes/services/jupyterhub/main.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_nebari/stages/kubernetes_services/template/modules/kubernetes/services/jupyterhub/main.tf b/src/_nebari/stages/kubernetes_services/template/modules/kubernetes/services/jupyterhub/main.tf index 4de73c75d3..9a0675fc85 100644 --- a/src/_nebari/stages/kubernetes_services/template/modules/kubernetes/services/jupyterhub/main.tf +++ b/src/_nebari/stages/kubernetes_services/template/modules/kubernetes/services/jupyterhub/main.tf @@ -104,7 +104,7 @@ resource "helm_release" "jupyterhub" { kind = "configmap" } - "/opt/conda/envs/default/etc/jupyter/labconfig/page_config.json" = { + "/etc/jupyter/labconfig" = { name = kubernetes_config_map.jupyterlab-page-config.metadata.0.name namespace = kubernetes_config_map.jupyterlab-page-config.metadata.0.namespace kind = "configmap" From a0bceeac6b73dcd32d97ed63c3fc05f78108e6f1 Mon Sep 17 00:00:00 2001 From: krassowski <5832902+krassowski@users.noreply.github.com> Date: Thu, 31 Oct 2024 12:56:20 +0000 Subject: [PATCH 06/17] Fix typo --- .../modules/kubernetes/services/jupyterhub/configmaps.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_nebari/stages/kubernetes_services/template/modules/kubernetes/services/jupyterhub/configmaps.tf b/src/_nebari/stages/kubernetes_services/template/modules/kubernetes/services/jupyterhub/configmaps.tf index 9581af48ac..23f2ac9334 100644 --- a/src/_nebari/stages/kubernetes_services/template/modules/kubernetes/services/jupyterhub/configmaps.tf +++ b/src/_nebari/stages/kubernetes_services/template/modules/kubernetes/services/jupyterhub/configmaps.tf @@ -63,7 +63,7 @@ resource "local_file" "overrides_json" { resource "local_file" "page_config_json" { content = jsonencode({ "disabledExtensions" : { - "jupyterlab-jhub-apps:" : !var.jhub-apps-enabled + "jupyterlab-jhub-apps" : !var.jhub-apps-enabled }, # `lockedExtensions` is an empty dict to signify that `jupyterlab-jhub-apps` is not being disabled and locked (but only disabled) # which means users are still allowed to disable the jupyterlab-jhub-apps extension (if they have write access to page_config). From 87c2bc716b94b19dd1984a4601574c17d15e91e5 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 21:57:51 +0000 Subject: [PATCH 07/17] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/crate-ci/typos: v1.27.0 → typos-dict-v0.11.37](https://github.com/crate-ci/typos/compare/v1.27.0...typos-dict-v0.11.37) - [github.com/astral-sh/ruff-pre-commit: v0.7.2 → v0.8.1](https://github.com/astral-sh/ruff-pre-commit/compare/v0.7.2...v0.8.1) --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d1074a1862..dd7cbc6edc 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -37,7 +37,7 @@ repos: exclude: "^src/_nebari/template/" - repo: https://github.com/crate-ci/typos - rev: v1.27.0 + rev: typos-dict-v0.11.37 hooks: - id: typos @@ -61,7 +61,7 @@ repos: args: ["--line-length=88", "--exclude=/src/_nebari/template/"] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.7.2 + rev: v0.8.1 hooks: - id: ruff args: ["--fix"] From fa02f394265c0a4e305f8314482b409877b74b1e Mon Sep 17 00:00:00 2001 From: Chuck McAndrew <6248903+dcmcand@users.noreply.github.com> Date: Mon, 9 Dec 2024 09:13:54 +0100 Subject: [PATCH 08/17] adds a google_cloud.instances mock to conftest --- tests/tests_unit/conftest.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/tests_unit/conftest.py b/tests/tests_unit/conftest.py index 19ab7702a5..a15f962273 100644 --- a/tests/tests_unit/conftest.py +++ b/tests/tests_unit/conftest.py @@ -85,6 +85,10 @@ def _mock_return_value(return_value): "us-central1", "us-east1", ], + "_nebari.provider.cloud.google_cloud.instances": [ + "e2-standard-4", + "e2-highmem-4", + ], } for attribute_path, return_value in MOCK_VALUES.items(): From 8dad7d085514058b0088715969f482267db28874 Mon Sep 17 00:00:00 2001 From: Chuck McAndrew <6248903+dcmcand@users.noreply.github.com> Date: Mon, 9 Dec 2024 09:32:28 +0100 Subject: [PATCH 09/17] add e2-standard-8 --- tests/tests_unit/conftest.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/tests_unit/conftest.py b/tests/tests_unit/conftest.py index a15f962273..54528cbd23 100644 --- a/tests/tests_unit/conftest.py +++ b/tests/tests_unit/conftest.py @@ -87,6 +87,7 @@ def _mock_return_value(return_value): ], "_nebari.provider.cloud.google_cloud.instances": [ "e2-standard-4", + "e2-standard-8", "e2-highmem-4", ], } From 68f50d09957fd353cb56e89a3a9c94a666e0c9a3 Mon Sep 17 00:00:00 2001 From: Chuck McAndrew <6248903+dcmcand@users.noreply.github.com> Date: Mon, 9 Dec 2024 20:10:10 +0100 Subject: [PATCH 10/17] update gcp instance validation --- src/_nebari/provider/cloud/google_cloud.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/_nebari/provider/cloud/google_cloud.py b/src/_nebari/provider/cloud/google_cloud.py index 7c87fed70e..5317cb1528 100644 --- a/src/_nebari/provider/cloud/google_cloud.py +++ b/src/_nebari/provider/cloud/google_cloud.py @@ -52,19 +52,21 @@ def regions() -> Set[str]: @functools.lru_cache() -def instances(region: str) -> Set[str]: +def instances(region: str) -> set[str]: """Return a set of available compute instances in a region.""" credentials, project_id = load_credentials() zones_client = compute_v1.services.region_zones.RegionZonesClient( credentials=credentials ) - instances_client = compute_v1.InstancesClient(credentials=credentials) - - return { - instance.machine_type.split("/")[-1] - for zone in zones_client.list(project=project_id, region=region) - for instance in instances_client.list(project=project_id, zone=zone.name) - } + instances_client = compute_v1.MachineTypesClient(credentials=credentials) + zone_list = zones_client.list(project=project_id, region=region) + zones = [zone for zone in zone_list] + instance_set: set[str] = set() + for zone in zones: + instance_list = instances_client.list(project=project_id, zone=zone.name) + for instance in instance_list: + instance_set.add(instance.name) + return instance_set @functools.lru_cache() From b9ea7429e627c81a6b8aaed9c3670a2f60f2dafd Mon Sep 17 00:00:00 2001 From: Marcelo Villa Date: Tue, 10 Dec 2024 14:02:57 -0500 Subject: [PATCH 11/17] Add release notes --- RELEASE.md | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/RELEASE.md b/RELEASE.md index 38b44f372a..7933df8a3c 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -9,6 +9,55 @@ This file is copied to nebari-dev/nebari-docs using a GitHub Action. --> --- +## Release 2024.12.1 - December 10, 2024 + +> NOTE: Support for DigitalOcean has been removed in this release. If you plan to deploy Nebari on DigitalOcean, you first need to independently create a Kubernetes cluster and then use the `existing` deployment option. + +### What's Changed +- Precommit typos by @blakerosenthal in https://github.com/nebari-dev/nebari/pull/2731 +- fix typo in KubernetesCredentials by @blakerosenthal in https://github.com/nebari-dev/nebari/pull/2729 +- handle branch rename from develop to main in github actions by @Adam-D-Lewis in https://github.com/nebari-dev/nebari/pull/2748 +- remove do integration test by @Adam-D-Lewis in https://github.com/nebari-dev/nebari/pull/2765 +- Remove old develop branch references after default branch renaming by @marcelovilla in https://github.com/nebari-dev/nebari/pull/2769 +- fix CICD issue with pre-commit action by @Adam-D-Lewis in https://github.com/nebari-dev/nebari/pull/2775 +- fix CHECK_URL in kuberhealthy checks to respect namespaces by @dcmcand in https://github.com/nebari-dev/nebari/pull/2779 +- remove duplicate GCPPrivateClusterConfig class by @dcmcand in https://github.com/nebari-dev/nebari/pull/2786 +- Fix hub variable for jupyterhub_dashboard by @kenafoster in https://github.com/nebari-dev/nebari/pull/2721 +- Fix Pytest Tests failing on PRs updating src by @joneszc in https://github.com/nebari-dev/nebari/pull/2790 +- Add ability to add overrides to jhub-apps config by @aktech in https://github.com/nebari-dev/nebari/pull/2754 +- Remove leftover develop reference by @marcelovilla in https://github.com/nebari-dev/nebari/pull/2792 +- fix bug where check_immutable_fields throws error with old version of Nebari by @Adam-D-Lewis in https://github.com/nebari-dev/nebari/pull/2796 +- Fix immutable field validation error when a sub-schema is not Pydantic by @kenafoster in https://github.com/nebari-dev/nebari/pull/2797 +- Address issue with AWS instance type schema by @viniciusdc in https://github.com/nebari-dev/nebari/pull/2787 +- add broken note by @Adam-D-Lewis in https://github.com/nebari-dev/nebari/pull/2802 +- Fix release notes formatting to restore docs syncing functionality by @marcelovilla in https://github.com/nebari-dev/nebari/pull/2809 +- Refactor role creation for upgrade command path by @viniciusdc in https://github.com/nebari-dev/nebari/pull/2795 +- add test workflow for upgrade by @pmeier in https://github.com/nebari-dev/nebari/pull/2780 +- Add config option to enable the encryption of AWS EKS secrets by @joneszc in https://github.com/nebari-dev/nebari/pull/2788 +- remove digital ocean tests by @dcmcand in https://github.com/nebari-dev/nebari/pull/2813 +- Python3 13 upgrade dependencies by @dcmcand in https://github.com/nebari-dev/nebari/pull/2823 +- Test support for Python 3.13 in CI by @aktech in https://github.com/nebari-dev/nebari/pull/2774 +- remove unmaintained nix files by @Adam-D-Lewis in https://github.com/nebari-dev/nebari/pull/2831 +- allow passing X.XX or X.XX.XX as k8s versions by @dcmcand in https://github.com/nebari-dev/nebari/pull/2840 +- Remove explicit branch inputs from cloud integration test workflows in GHA by @marcelovilla in https://github.com/nebari-dev/nebari/pull/2837 +- Allow overriding of keycloak root credentials for `2024.11.1` upgrade path by @viniciusdc in https://github.com/nebari-dev/nebari/pull/2843 +- Added security group rule descriptions by @jcbolling in https://github.com/nebari-dev/nebari/pull/2850 +- Set `launch_template.ami_id` attrs to private by @viniciusdc in https://github.com/nebari-dev/nebari/pull/2842 +- attempt to address paramiko connection errors by @viniciusdc in https://github.com/nebari-dev/nebari/pull/2811 +- specify terraform registry for providers not in opentofu registry by @dcmcand in https://github.com/nebari-dev/nebari/pull/2852 +- Disable AWS `launch_template` from nebari-config schema by @viniciusdc in https://github.com/nebari-dev/nebari/pull/2856 +- Remove Digital Ocean references by @marcelovilla in https://github.com/nebari-dev/nebari/pull/2838 +- Use tofu binary instead of terraform one by @marcelovilla in https://github.com/nebari-dev/nebari/pull/2773 +- Add 2024.11.1 release notes and bump version by @viniciusdc in https://github.com/nebari-dev/nebari/pull/2859 +- Disable `jupyterlab-jhub-apps` extension when jhub-apps is disabled by @krassowski in https://github.com/nebari-dev/nebari/pull/2804 +- Validate instance types for GCP by @blakerosenthal in https://github.com/nebari-dev/nebari/pull/2730 +- update gcp instance validation by @dcmcand in https://github.com/nebari-dev/nebari/pull/2875 + +### New Contributors +- @jcbolling made their first contribution in https://github.com/nebari-dev/nebari/pull/2850 + +**Full Changelog**: https://github.com/nebari-dev/nebari/compare/2024.11.1...2024.12.1 + ## Release 2024.11.1 - November 21, 2024 (Hotfix Release) > NOTE: This hotfix addresses several major bugs identified in the 2024.9.1 release. For a detailed overview, please refer to the related discussion at #2798. Users should upgrade directly from 2024.7.1 to 2024.11.1. From 9b4e48fb977cce5f1762df930232d6cf499c271a Mon Sep 17 00:00:00 2001 From: Marcelo Villa Date: Tue, 10 Dec 2024 14:03:25 -0500 Subject: [PATCH 12/17] Upgrade current version --- src/_nebari/constants.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_nebari/constants.py b/src/_nebari/constants.py index 2753fe7927..725a1d91b4 100644 --- a/src/_nebari/constants.py +++ b/src/_nebari/constants.py @@ -1,4 +1,4 @@ -CURRENT_RELEASE = "2024.11.1" +CURRENT_RELEASE = "2024.12.1" HELM_VERSION = "v3.15.3" KUSTOMIZE_VERSION = "5.4.3" From ec2bd6bcd10da7282aaf04e6d416d3c6a9c49f7f Mon Sep 17 00:00:00 2001 From: Marcelo Villa Date: Tue, 10 Dec 2024 14:03:45 -0500 Subject: [PATCH 13/17] Add upgrade step for 2024.12.1 --- src/_nebari/upgrade.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/_nebari/upgrade.py b/src/_nebari/upgrade.py index b29bec03c8..4e3abe0a34 100644 --- a/src/_nebari/upgrade.py +++ b/src/_nebari/upgrade.py @@ -1390,6 +1390,31 @@ def _version_specific_upgrade( return config +class Upgrade_2024_12_1(UpgradeStep): + """ + Upgrade step for Nebari version 2024.12.1 + """ + + version = "2024.12.1" + + @override + def _version_specific_upgrade( + self, config, start_version, config_filename: Path, *args, **kwargs + ): + if config.get("provider", "") == "do": + rich.print( + "\n[red bold]Error: DigitalOcean is no longer supported as a provider[/red bold].", + ) + rich.print( + "You can still deploy Nebari to a Kubernetes cluster on DigitalOcean by using 'existing' as the provider in the config file." + ) + exit() + + rich.print("Ready to upgrade to Nebari version [green]2024.12.1[/green].") + + return config + + __rounded_version__ = str(rounded_ver_parse(__version__)) # Manually-added upgrade steps must go above this line From 5246f91074776addf1c8ce54f45dafca6145b931 Mon Sep 17 00:00:00 2001 From: "Vinicius D. Cerutti" <51954708+viniciusdc@users.noreply.github.com> Date: Wed, 11 Dec 2024 10:49:37 -0300 Subject: [PATCH 14/17] Update test_upgrade.py to skip upgrade prompt while testing (#2879) --- tests/tests_unit/test_upgrade.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/tests_unit/test_upgrade.py b/tests/tests_unit/test_upgrade.py index fd70f367f7..f681668261 100644 --- a/tests/tests_unit/test_upgrade.py +++ b/tests/tests_unit/test_upgrade.py @@ -69,7 +69,7 @@ def mock_input(prompt, **kwargs): return "y" elif ( prompt - == "[bold]Would you like Nebari to assign the corresponding role to all of your current groups automatically?[/bold]" + == "[bold]Would you like Nebari to assign the corresponding role/scopes to all of your current groups automatically?[/bold]" ): return "N" # All other prompts will be answered with "y" From 025e3021b2ebeee01552462eaec4e892b0f172b7 Mon Sep 17 00:00:00 2001 From: Marcelo Villa Date: Thu, 12 Dec 2024 09:49:54 -0500 Subject: [PATCH 15/17] Update release date --- RELEASE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASE.md b/RELEASE.md index 7933df8a3c..c60763d67a 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -9,7 +9,7 @@ This file is copied to nebari-dev/nebari-docs using a GitHub Action. --> --- -## Release 2024.12.1 - December 10, 2024 +## Release 2024.12.1 - December 12, 2024 > NOTE: Support for DigitalOcean has been removed in this release. If you plan to deploy Nebari on DigitalOcean, you first need to independently create a Kubernetes cluster and then use the `existing` deployment option. From d4b83f1f84599c401bac0d4dadbcd2cf333fd174 Mon Sep 17 00:00:00 2001 From: Marcelo Villa Date: Thu, 12 Dec 2024 11:42:28 -0500 Subject: [PATCH 16/17] Bump timeout and max restarts for the await workloads action --- .github/workflows/test_local_integration.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test_local_integration.yaml b/.github/workflows/test_local_integration.yaml index 042d7edeea..7d79efc428 100644 --- a/.github/workflows/test_local_integration.yaml +++ b/.github/workflows/test_local_integration.yaml @@ -107,8 +107,8 @@ jobs: with: workloads: "" # all namespace: "dev" - timeout: 60 - max-restarts: 0 + timeout: 300 + max-restarts: 3 ### DEPLOYMENT TESTS - name: Deployment Pytests From e2c75291377077edec2bcf43efd2a1c59f530cae Mon Sep 17 00:00:00 2001 From: Marcelo Villa Date: Fri, 13 Dec 2024 12:05:09 -0500 Subject: [PATCH 17/17] Update release date --- RELEASE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASE.md b/RELEASE.md index c60763d67a..54fcd1d26f 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -9,7 +9,7 @@ This file is copied to nebari-dev/nebari-docs using a GitHub Action. --> --- -## Release 2024.12.1 - December 12, 2024 +## Release 2024.12.1 - December 13, 2024 > NOTE: Support for DigitalOcean has been removed in this release. If you plan to deploy Nebari on DigitalOcean, you first need to independently create a Kubernetes cluster and then use the `existing` deployment option.