diff --git a/content/blog/open-sourcing-workshops-on-demand-part-5-create-a-workshop.md b/content/blog/open-sourcing-workshops-on-demand-part-5-create-a-workshop.md index d4625488b1..8dad760bf3 100644 --- a/content/blog/open-sourcing-workshops-on-demand-part-5-create-a-workshop.md +++ b/content/blog/open-sourcing-workshops-on-demand-part-5-create-a-workshop.md @@ -33,72 +33,20 @@ As an admin of the Workshops-on-demand infrastructure, I had to perform sever ##### On the backend server: -1. ###### Test and validate installation of the new kernel on the staging backend server by: +1. ##### Test and validate installation of the new kernel on the staging backend server by: * Creating a new branch for this test * 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. -``` - - name: Ensure all required RPM packages are installed - become: yes - become_user: root - package: - pkg: - - python3-devel - - openldap-clients - - glibc-devel - - java - - nfs-utils - - zeromq-devel - - perl-Crypt-PasswdMD5 - - openmpi-devel - - fail2ban-all - - perl-Proc-ProcessTable - - perl-Data-Dumper - - psacct - - golang - state: present - - - name: Ensure Go kernel is installed - 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 - - - name: Ensure required directories under /usr/local are owned by "{{ WODUSER }}" - become: yes - become_user: root - file: - path: "{{ item }}" - state: directory - owner: "{{ WODUSER }}" - group: "{{ WODUSER }}" - mode: 0755 - with_items: - - /usr/local/bin - - /usr/local/share - - - name: Make gophernotes available under /usr/local/bin - become: yes - become_user: root - copy: - src: "{{ ansible_env.HOME }}/go/bin/gophernotes" - dest: /usr/local/bin/gophernotes - owner: "{{ WODUSER }}" - group: "{{ WODUSER }}" - mode: 0755 - - - name: Cleanup intermediate go directory - become: yes - become_user: root - file: - path: '{{ ansible_env.HOME }}/go' - state: absent -``` + ![](/img/wod-go-yml1.png) + ![](/img/wod-go-yaml2.png) * Validating the changes by testing a new backend install process. * Pushing the changes to the github repo. -2. ###### Creating a user for the workshop developer on the test/dev and staging backend servers. -3. ###### Providing -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. +2. ##### Creating a user for the workshop developer on the test/dev and staging backend servers. +3. ##### Providing to the developer the necessary information to connect to the test/dev and staging backend servers. +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. ##### On the database server: @@ -147,28 +95,23 @@ A new entry will need the following: * **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. * **Avatar:** This defines whethere a workshop require some password variable to be leveraged or not. - * **Description:** Same description as the one available in the workshop's table entry - * **Presenter:** Name of the presenter - * **Role:** Roe of the presenter (the workshop developer in fact: Solution Architect, Fullstack Developer, etc...) - * **VideoLink:** Youtube link of the recorded video to be used as a replay. - * **WorkshopId:** Id of the workshop linked to the video. - * **Active:** Tag to set to enable visibility of the replay in registration portal. - - As the developer of the Workshops-on-demand content, Matt had to perform several tasks: ##### On the backend server: -1. ###### Log on to the backend server and clone the notebook repo in his home folder. -2. ###### Create a new branch for his workshop following the naming convention defined with the admin. -* Modifying the [backend server installation yaml file ] +1. ##### Log on to the backend server and clone the notebook repo in his home folder. +2. ##### Create a new branch for his workshop following the naming convention defined with the admin. +3. Leverage the template provided by me to build up the content of his workshop. +4. Test the workshop leveraging the `test-action.sh` script + +* Modifying the \[backend server installation yaml file ] 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. diff --git a/static/img/wod-go-yaml2.png b/static/img/wod-go-yaml2.png new file mode 100644 index 0000000000..e6698cd289 Binary files /dev/null and b/static/img/wod-go-yaml2.png differ diff --git a/static/img/wod-go-yml1.png b/static/img/wod-go-yml1.png new file mode 100644 index 0000000000..108d4e4809 Binary files /dev/null and b/static/img/wod-go-yml1.png differ