From 3fd8b8d0fbd0b46d1cd90bc17ecfa2645c13255f Mon Sep 17 00:00:00 2001 From: Balaji Alwar Date: Tue, 19 Nov 2024 18:14:05 -0800 Subject: [PATCH 1/5] Add docs --- docs/_quarto.yml | 1 + docs/tasks/semester-start-end-tasks.qmd | 52 +++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 docs/tasks/semester-start-end-tasks.qmd diff --git a/docs/_quarto.yml b/docs/_quarto.yml index f7b946b1d..59e814dc9 100644 --- a/docs/_quarto.yml +++ b/docs/_quarto.yml @@ -57,6 +57,7 @@ website: - tasks/github-token.qmd - tasks/google-sheets.qmd - tasks/cheatsheet.qmd + - tasks/semester-start-end-tasks.qmd - section: "Policy" contents: - policy/create_policy.qmd diff --git a/docs/tasks/semester-start-end-tasks.qmd b/docs/tasks/semester-start-end-tasks.qmd new file mode 100644 index 000000000..79301e210 --- /dev/null +++ b/docs/tasks/semester-start-end-tasks.qmd @@ -0,0 +1,52 @@ +--- +title: "DataHub Semester Start and End Tasks" +--- + +This document outlines the tasks for preparing DataHub for the start of a semester and for concluding semester activities. + +## Semester Start Tasks + +### 1. Setup and Configuration +- [ ] **Update JupyterHub version**: Check for and apply updates to [Z2JH](https://z2jh.jupyter.org/en/latest/changelog.html) JupyterHub (if required) +- [ ] **Update JupyterLab/Notebook version**: Check for and apply updates to JupyterLab and Notebook (if required) +- [ ] **Bump Replica Values**: Bump replica values in values.yaml +- [ ] **Set Node Count**: Set the appropriate number of node count for each node pool in GKE console +- [ ] **Otter Grader Version Upgrade**: Check for and apply updates to Otter Grader across all hubs (if required) + +### 2. User Management +- [ ] **Identify Unused Hubs**: Identify hubs that will not be used during a particular semester +- [ ] **Send Onboarding Email**: Send onboarding instructions to all the instructors and GSIs added to `datahub-announce` listserv + +### 4. Operational Readiness + + +--- + +## Semester End Tasks + +### 1. Operational Tasks +- [ ] **Update Ubuntu**: Check for and apply updates to Ubuntu (if required) +- [ ] **Update Python**: Check for and apply updates to Python (if required) +- [ ] **Update Kubernetes**: Check for and apply updates to Kubernetes (if required) +- [ ] **Reduce Resources**: + - Scale down node placeholder pods to 0 + - Reduce the number of nodes allocated for each node pool +- [ ] **Clear SQLite Db**: Clear SQLite database that caches user info for hub pods +- [ ] **Delete Users**: Delete users from ORM database +- [ ] **Archive User Data**: Archive user home directories across hubs (if required) +- [ ] **Resize/Consolidate Filestores**: Resize/Consolidate filestore based on the storage snapshot (if required) +- [ ] **Remove Config**: Remove stanzas added to provide elevated privileges to instructors, increased RAM for courses, shared directories etc.. +- [ ] **Remove Calendar Events**: Remove calendar events added to support courses in `DataHub Scaling Events` +- [ ] **Resolve Alerts**: Resolve any dependabot alerts reported +- [ ] **Rotate Credentials**: Rotate cluster credentials (if required) +- [ ] **Version Packages**: Version any packages that are unversioned in environment.yml file +- [ ] **Update Postgres**: Check for and apply updates to Postgres server and client (if required) + +### 2. User Communication +- [ ] **Backup Data**: Notify users to back up their own files. +- [ ] **Maintenance Window**: Decide and communicate Maintenance Window (MW) dates with users + +### 3. Review +- [ ] **Audit Hubs**: Audit courses and identify the ones that doesn't need their own hub +- [ ] **Gather feedback**: If necessary, gather feedback about any features piloted during the semester +- [ ] **Update documentation**: Review documentation and keep it up to date From 18c1f3c1657de9e666cf3a96896391a1daac03e2 Mon Sep 17 00:00:00 2001 From: Balaji Alwar Date: Tue, 19 Nov 2024 18:15:14 -0800 Subject: [PATCH 2/5] more edits --- docs/tasks/semester-start-end-tasks.qmd | 3 --- 1 file changed, 3 deletions(-) diff --git a/docs/tasks/semester-start-end-tasks.qmd b/docs/tasks/semester-start-end-tasks.qmd index 79301e210..32de6745a 100644 --- a/docs/tasks/semester-start-end-tasks.qmd +++ b/docs/tasks/semester-start-end-tasks.qmd @@ -17,9 +17,6 @@ This document outlines the tasks for preparing DataHub for the start of a semest - [ ] **Identify Unused Hubs**: Identify hubs that will not be used during a particular semester - [ ] **Send Onboarding Email**: Send onboarding instructions to all the instructors and GSIs added to `datahub-announce` listserv -### 4. Operational Readiness - - --- ## Semester End Tasks From d8bb02fccc552fa63ba094ec9a572c895250a29c Mon Sep 17 00:00:00 2001 From: Balaji Alwar Date: Wed, 20 Nov 2024 14:05:18 -0800 Subject: [PATCH 3/5] Addressing comments --- docs/tasks/semester-start-end-tasks.qmd | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/tasks/semester-start-end-tasks.qmd b/docs/tasks/semester-start-end-tasks.qmd index 32de6745a..0c321a15f 100644 --- a/docs/tasks/semester-start-end-tasks.qmd +++ b/docs/tasks/semester-start-end-tasks.qmd @@ -7,11 +7,8 @@ This document outlines the tasks for preparing DataHub for the start of a semest ## Semester Start Tasks ### 1. Setup and Configuration -- [ ] **Update JupyterHub version**: Check for and apply updates to [Z2JH](https://z2jh.jupyter.org/en/latest/changelog.html) JupyterHub (if required) -- [ ] **Update JupyterLab/Notebook version**: Check for and apply updates to JupyterLab and Notebook (if required) - [ ] **Bump Replica Values**: Bump replica values in values.yaml - [ ] **Set Node Count**: Set the appropriate number of node count for each node pool in GKE console -- [ ] **Otter Grader Version Upgrade**: Check for and apply updates to Otter Grader across all hubs (if required) ### 2. User Management - [ ] **Identify Unused Hubs**: Identify hubs that will not be used during a particular semester @@ -24,20 +21,22 @@ This document outlines the tasks for preparing DataHub for the start of a semest ### 1. Operational Tasks - [ ] **Update Ubuntu**: Check for and apply updates to Ubuntu (if required) - [ ] **Update Python**: Check for and apply updates to Python (if required) -- [ ] **Update Kubernetes**: Check for and apply updates to Kubernetes (if required) +- [ ] **Update Kubernetes**: Check for and apply updates to Kubernetes +- [ ] **Update JupyterHub version**: Check for and apply updates to [Z2JH](https://z2jh.jupyter.org/en/latest/changelog.html) JupyterHub (if required) +- [ ] **Update JupyterLab/Notebook version**: Check for and apply updates to JupyterLab and Notebook (if required) +- [ ] **Otter Grader Version Upgrade**: Check for and apply updates to Otter Grader across all hubs (if required) - [ ] **Reduce Resources**: - Scale down node placeholder pods to 0 - Reduce the number of nodes allocated for each node pool - [ ] **Clear SQLite Db**: Clear SQLite database that caches user info for hub pods -- [ ] **Delete Users**: Delete users from ORM database - [ ] **Archive User Data**: Archive user home directories across hubs (if required) - [ ] **Resize/Consolidate Filestores**: Resize/Consolidate filestore based on the storage snapshot (if required) - [ ] **Remove Config**: Remove stanzas added to provide elevated privileges to instructors, increased RAM for courses, shared directories etc.. - [ ] **Remove Calendar Events**: Remove calendar events added to support courses in `DataHub Scaling Events` - [ ] **Resolve Alerts**: Resolve any dependabot alerts reported -- [ ] **Rotate Credentials**: Rotate cluster credentials (if required) - [ ] **Version Packages**: Version any packages that are unversioned in environment.yml file - [ ] **Update Postgres**: Check for and apply updates to Postgres server and client (if required) +- [ ] **Create Tokenss**: Create a new github [personal access token](https://docs.datahub.berkeley.edu/admins/cicd-github-actions.html#organization-secrets) for our CI/CD pipeline ### 2. User Communication - [ ] **Backup Data**: Notify users to back up their own files. From 5153f6cb93ec1bd844181cfbb1d37513da2114d5 Mon Sep 17 00:00:00 2001 From: Balaji Alwar Date: Wed, 20 Nov 2024 17:04:43 -0800 Subject: [PATCH 4/5] Address more comments --- docs/tasks/semester-start-end-tasks.qmd | 26 ++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/docs/tasks/semester-start-end-tasks.qmd b/docs/tasks/semester-start-end-tasks.qmd index 0c321a15f..a0cd1d5c1 100644 --- a/docs/tasks/semester-start-end-tasks.qmd +++ b/docs/tasks/semester-start-end-tasks.qmd @@ -19,24 +19,32 @@ This document outlines the tasks for preparing DataHub for the start of a semest ## Semester End Tasks ### 1. Operational Tasks -- [ ] **Update Ubuntu**: Check for and apply updates to Ubuntu (if required) -- [ ] **Update Python**: Check for and apply updates to Python (if required) - [ ] **Update Kubernetes**: Check for and apply updates to Kubernetes -- [ ] **Update JupyterHub version**: Check for and apply updates to [Z2JH](https://z2jh.jupyter.org/en/latest/changelog.html) JupyterHub (if required) -- [ ] **Update JupyterLab/Notebook version**: Check for and apply updates to JupyterLab and Notebook (if required) -- [ ] **Otter Grader Version Upgrade**: Check for and apply updates to Otter Grader across all hubs (if required) +- [ ] **Update Ubuntu Single User Images**: + - [ ] Ubuntu and rocker base image. + - [ ] Python + - [ ] R/RStudio (for non-rocker based images) + - [ ] JupyterHub: Check for and apply updates to Z2JH JupyterHub (if required). + - [ ] JupyterLab/Notebook: Check for and apply updates to JupyterLab and Notebook (if required) + - [ ] Otter Grader: Check for and apply updates to Otter Grader across all hubs (if required) + - [ ] Quarto +- [ ] **Update Hub Image**: + - [ ] JupyterHub: Check for and apply updates to Z2JH JupyterHub (if required). + - [ ] oauthenticator + - [ ] ltiauthenticator - [ ] **Reduce Resources**: - - Scale down node placeholder pods to 0 - - Reduce the number of nodes allocated for each node pool -- [ ] **Clear SQLite Db**: Clear SQLite database that caches user info for hub pods + - [ ] Scale down node placeholder pods to 0 + - [ ] Reduce the number of nodes allocated for each node pool +- [ ] **Clear SQLite DB**: Clear SQLite database that caches user info for hub pods - [ ] **Archive User Data**: Archive user home directories across hubs (if required) - [ ] **Resize/Consolidate Filestores**: Resize/Consolidate filestore based on the storage snapshot (if required) - [ ] **Remove Config**: Remove stanzas added to provide elevated privileges to instructors, increased RAM for courses, shared directories etc.. +- [ ] **Remove Packages**: Remove packages that were requested for the previous term or older. - [ ] **Remove Calendar Events**: Remove calendar events added to support courses in `DataHub Scaling Events` - [ ] **Resolve Alerts**: Resolve any dependabot alerts reported - [ ] **Version Packages**: Version any packages that are unversioned in environment.yml file - [ ] **Update Postgres**: Check for and apply updates to Postgres server and client (if required) -- [ ] **Create Tokenss**: Create a new github [personal access token](https://docs.datahub.berkeley.edu/admins/cicd-github-actions.html#organization-secrets) for our CI/CD pipeline +- [ ] **Create Tokens**: Create a new github [personal access token](https://docs.datahub.berkeley.edu/admins/cicd-github-actions.html#organization-secrets) for our CI/CD pipeline ### 2. User Communication - [ ] **Backup Data**: Notify users to back up their own files. From c4664c0789b11b0d85c40655d791b6f98e510d99 Mon Sep 17 00:00:00 2001 From: Balaji Alwar Date: Thu, 21 Nov 2024 09:57:58 -0800 Subject: [PATCH 5/5] Add conda forge distribution --- docs/tasks/semester-start-end-tasks.qmd | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/tasks/semester-start-end-tasks.qmd b/docs/tasks/semester-start-end-tasks.qmd index a0cd1d5c1..d770737c4 100644 --- a/docs/tasks/semester-start-end-tasks.qmd +++ b/docs/tasks/semester-start-end-tasks.qmd @@ -26,6 +26,7 @@ This document outlines the tasks for preparing DataHub for the start of a semest - [ ] R/RStudio (for non-rocker based images) - [ ] JupyterHub: Check for and apply updates to Z2JH JupyterHub (if required). - [ ] JupyterLab/Notebook: Check for and apply updates to JupyterLab and Notebook (if required) + - [ ] Conda-forge distribution - [ ] Otter Grader: Check for and apply updates to Otter Grader across all hubs (if required) - [ ] Quarto - [ ] **Update Hub Image**: