Skip to content

Commit dfa2f43

Browse files
committed
Update Blog “open-sourcing-workshops-on-demand-part4-managing-the-backend”
1 parent cbd99c1 commit dfa2f43

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

content/blog/open-sourcing-workshops-on-demand-part4-managing-the-backend.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,13 @@ author: Frederic Passeron
55
authorimage: /img/frederic-passeron-hpedev-192.jpg
66
disable: false
77
---
8+
In previous articles of this series dedicated to the [open sourcing of our Workshops-on-Demand project](https://developer.hpe.com/blog/willing-to-build-up-your-own-workshops-on-demand-infrastructure/), I covered the reasons why we open sourced the project, how we did it. I also explained in details how you could install your own Workshops-on-Demand backend server. I also took the time to detail the automation that was hosted on this backend server. Today, I plan to describe to you the management of this backend server. What is often refered to as day2 operations.
89

10+
Once up and running, the backend server main purpose is to deliver workshops-on-Demand. But to do so, it may require updates, upgrades, new kernels for the Jupyterhub server. If new workshops are created, this means new jinja templates for related workshops' scripts (create<WKSHP>.sh. cleanup<WKSHP>.sh, reset<WKSHP>.sh among others). This also means new variables files. And obviously, this templates and variables will need to be taken into account by scripts and notebooks. Some tasks handle all of this. And we will see now how.
911

1012
#### Backend server management:
1113

12-
I will detail how one needs to manage and work with this server on a daily basis. What we usually call day 2 operation. If you take a look at the file structure of the wod-backend directory, you will discover that we did our best to sort things properly depending on their relationship to system or workshops.
14+
If you take a look at the file structure of the wod-backend directory, you will discover that we did our best to sort things properly depending on their relationship to system or workshops.
1315

1416
##### Content of the backend server:
1517

@@ -165,6 +167,7 @@ Possible Use Cases:
165167
* Upgrade to a newer version of Jupyterhub
166168
* Add a new kernel to Jupyterhub
167169
* Add a new Ansible Galaxy collection
170+
* Add a new PowerShell library
168171
* Add a new package needed by a workshop. For e.g:
169172

170173
* Kubectl client
@@ -182,10 +185,9 @@ On a daily basis, some tasks are launched to check the integrity of the backe
182185

183186
It checks a quite long list of items like:
184187

185-
* Wod System compliancy: is this really a wod system? by calling out [check_system.yml](https://github.com/Workshops-on-Demand/wod-backend/blob/main/ansible/check_system.yml) playbook
186-
187-
\ This first check includes:
188+
* Wod System compliancy: is this really a wod system? by calling out [check_system.yml](https://github.com/Workshops-on-Demand/wod-backend/blob/main/ansible/check_system.yml) playbook.
188189

190+
This first check includes:
189191
* nproc hard and soft limits
190192
* nofile hard and soft limits
191193
* Setup sysctl params
@@ -216,7 +218,7 @@ It checks a quite long list of items like:
216218
* Setup weekly cleanup processes task
217219
* Enable WoD service
218220
* Test private tasks YAML file
219-
* Call private tasks if available.We perform private part before users management to allow interruption of the deliver script during normal operations - waiting till end of users management can take hours for 2000 users. Potential impact: private scripts are run before users creation, so may miss some part of setup.
221+
* Call private tasks if available. We perform private part before users management to allow interruption of the deliver script during normal operations - waiting till end of users management can take hours for 2000 users. Potential impact: private scripts are run before users creation, so may miss some part of setup.
220222
* User Management:
221223

222224
* Remove existing jupyterhub users

0 commit comments

Comments
 (0)