You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
8
9
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.
9
11
10
12
#### Backend server management:
11
13
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.
13
15
14
16
##### Content of the backend server:
15
17
@@ -165,6 +167,7 @@ Possible Use Cases:
165
167
* Upgrade to a newer version of Jupyterhub
166
168
* Add a new kernel to Jupyterhub
167
169
* Add a new Ansible Galaxy collection
170
+
* Add a new PowerShell library
168
171
* Add a new package needed by a workshop. For e.g:
169
172
170
173
* Kubectl client
@@ -182,10 +185,9 @@ On a daily basis, some tasks are launched to check the integrity of the backe
182
185
183
186
It checks a quite long list of items like:
184
187
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.
188
189
190
+
This first check includes:
189
191
* nproc hard and soft limits
190
192
* nofile hard and soft limits
191
193
* Setup sysctl params
@@ -216,7 +218,7 @@ It checks a quite long list of items like:
216
218
* Setup weekly cleanup processes task
217
219
* Enable WoD service
218
220
* 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.
0 commit comments