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
Copy file name to clipboardExpand all lines: content/blog/open-sourcing-workshops-on-demand-part-5-create-a-workshop.md
+12-69Lines changed: 12 additions & 69 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,72 +33,20 @@ As an admin of the Workshops-on-demand infrastructure, I had to perform sever
33
33
34
34
##### On the backend server:
35
35
36
-
1.######Test and validate installation of the new kernel on the staging backend server by:
36
+
1.##### Test and validate installation of the new kernel on the staging backend server by:
37
37
38
38
* Creating a new branch for this test
39
39
* Modifying the [backend server installation yaml file ](https://github.com/Workshops-on-Demand/wod-backend/blob/main/ansible/install_backend.yml#L326)to include the new kernel.
40
40
41
-
```
42
-
- name: Ensure all required RPM packages are installed
43
-
become: yes
44
-
become_user: root
45
-
package:
46
-
pkg:
47
-
- python3-devel
48
-
- openldap-clients
49
-
- glibc-devel
50
-
- java
51
-
- nfs-utils
52
-
- zeromq-devel
53
-
- perl-Crypt-PasswdMD5
54
-
- openmpi-devel
55
-
- fail2ban-all
56
-
- perl-Proc-ProcessTable
57
-
- perl-Data-Dumper
58
-
- psacct
59
-
- golang
60
-
state: present
61
-
62
-
- name: Ensure Go kernel is installed
63
-
shell: env GO111MODULE=off go get -d -u github.com/gopherdata/gophernotes && cd "{{ ansible_env.HOME }}/go/src/github.com/gopherdata/gophernotes" && env GO111MODULE=off go install && mkdir -p {{ JPHUB }}/share/jupyter/kernels/gophernotes && cp kernel/* {{ JPHUB }}/share/jupyter/kernels/gophernotes
64
-
65
-
- name: Ensure required directories under /usr/local are owned by "{{ WODUSER }}"
66
-
become: yes
67
-
become_user: root
68
-
file:
69
-
path: "{{ item }}"
70
-
state: directory
71
-
owner: "{{ WODUSER }}"
72
-
group: "{{ WODUSER }}"
73
-
mode: 0755
74
-
with_items:
75
-
- /usr/local/bin
76
-
- /usr/local/share
77
-
78
-
- name: Make gophernotes available under /usr/local/bin
79
-
become: yes
80
-
become_user: root
81
-
copy:
82
-
src: "{{ ansible_env.HOME }}/go/bin/gophernotes"
83
-
dest: /usr/local/bin/gophernotes
84
-
owner: "{{ WODUSER }}"
85
-
group: "{{ WODUSER }}"
86
-
mode: 0755
87
-
88
-
- name: Cleanup intermediate go directory
89
-
become: yes
90
-
become_user: root
91
-
file:
92
-
path: '{{ ansible_env.HOME }}/go'
93
-
state: absent
94
-
```
41
+

95
42
43
+

96
44
* Validating the changes by testing a new backend install process.
97
45
* Pushing the changes to the github repo.
98
46
99
-
2.######Creating a user for the workshop developer on the test/dev and staging backend servers.
100
-
3. ###### Providing
101
-
4.######Copy over the workshop developer's home folder a workshop template containing examples of introduction, conclusion and lab notebooks, allowing him to start his work.
47
+
2.##### Creating a user for the workshop developer on the test/dev and staging backend servers.
48
+
3.##### Providing to the developer the necessary information to connect to the test/dev and staging backend servers.
49
+
4.##### Copy over the workshop developer's home folder a workshop template containing examples of introduction, conclusion and lab notebooks, allowing him to start his work.
102
50
103
51
##### On the database server:
104
52
@@ -147,28 +95,23 @@ A new entry will need the following:
147
95
148
96
***Id:** This entry will be filled with the name of a script to be compiled at deployment time. This feature allows for instance the admin to hide login scripts and credentials in non-editable executable files.
149
97
***Avatar:** This defines whethere a workshop require some password variable to be leveraged or not.
150
-
151
98
***Description:** Same description as the one available in the workshop's table entry
152
-
153
99
***Presenter:** Name of the presenter
154
-
155
100
***Role:** Roe of the presenter (the workshop developer in fact: Solution Architect, Fullstack Developer, etc...)
156
-
157
101
***VideoLink:** Youtube link of the recorded video to be used as a replay.
158
-
159
102
***WorkshopId:** Id of the workshop linked to the video.
160
-
161
103
***Active:** Tag to set to enable visibility of the replay in registration portal.
162
104
163
-
164
-
165
105
As the developer of the Workshops-on-demand content, Matt had to perform several tasks:
166
106
167
107
##### On the backend server:
168
108
169
-
1.###### Log on to the backend server and clone the notebook repo in his home folder.
170
-
2.###### Create a new branch for his workshop following the naming convention defined with the admin.
171
-
* Modifying the [backend server installation yaml file ]
109
+
1.##### Log on to the backend server and clone the notebook repo in his home folder.
110
+
2.##### Create a new branch for his workshop following the naming convention defined with the admin.
111
+
3. Leverage the template provided by me to build up the content of his workshop.
112
+
4. Test the workshop leveraging the `test-action.sh` script
113
+
114
+
* Modifying the \[backend server installation yaml file ]
172
115
173
116
A set of notebooks that will be used by the student to follow instructions cells in markdown and run code cells leveraging the relevant kernel. If you are not familiar with Jupyter notebooks, a simple [101 workshop](https://developer.hpe.com/hackshack/workshop/25) is available in our Workshops-on-Demand 's catalog.
0 commit comments