RWTHjupyter issueshttps://git.rwth-aachen.de/groups/jupyter/-/issues2023-03-29T11:13:48+02:00https://git.rwth-aachen.de/jupyter/community/-/issues/22nbgrader Port from Jupyter Notebook to JupyterLab2023-03-29T11:13:48+02:00Marcus Meyernbgrader Port from Jupyter Notebook to JupyterLabAt the moment nbgrader is incompatible with the current used JupyterLab. For that reason we are currently searching for people that have interest in the grading of there courses via nbgrader and can help with the development of a port to...At the moment nbgrader is incompatible with the current used JupyterLab. For that reason we are currently searching for people that have interest in the grading of there courses via nbgrader and can help with the development of a port to JupyterLab.https://git.rwth-aachen.de/jupyter/community/-/issues/21Create video tutorial for profile creation2022-03-28T13:48:35+02:00Steffen Vogelstvogel@eonerc.rwth-aachen.deCreate video tutorial for profile creation/cc @mmeyer
/cc @rosendahl/cc @mmeyer
/cc @rosendahlhttps://git.rwth-aachen.de/jupyter/rwth-nb/-/issues/10Test shareable link feature2022-03-16T16:22:25+01:00Steffen Vogelstvogel@eonerc.rwth-aachen.deTest shareable link featureGregor Kobsik has reported that the sharable link feature currently throws an access denied error.
I've just made a little update to rwth-nb and [released version v0.1.8](https://pypi.org/project/rwth-nb/).
We need to figure out if the...Gregor Kobsik has reported that the sharable link feature currently throws an access denied error.
I've just made a little update to rwth-nb and [released version v0.1.8](https://pypi.org/project/rwth-nb/).
We need to figure out if the error still happens.
It might be that I dont encounter the error due to my admin-privileges in the cluster and it maybe only happens for standard users?https://git.rwth-aachen.de/jupyter/community/-/issues/20Dependency graph is broken2022-03-28T13:51:49+02:00Marcus MeyerDependency graph is brokenhttps://jupyter.rwth-aachen.de/services/profile/graph.svg
Was https://git-ce.rwth-aachen.de/jupyter/organization/-/issues/145https://jupyter.rwth-aachen.de/services/profile/graph.svg
Was https://git-ce.rwth-aachen.de/jupyter/organization/-/issues/145https://git.rwth-aachen.de/jupyter/community/-/issues/19Allow limiting displayed/spawn-able profiles based on Moodle course membership2022-02-17T12:39:29+01:00Marcus MeyerAllow limiting displayed/spawn-able profiles based on Moodle course membershiphttps://git.rwth-aachen.de/jupyter/community/-/issues/18Develop new service for proxying calls for Moodle mod_assign webservice funct...2022-02-17T12:39:29+01:00Marcus MeyerDevelop new service for proxying calls for Moodle mod_assign webservice functionsRequired endpoints:
- Get assignments of Moodle course `GET /services/moodle/api/assignments?course_id={course_id}`
- Create new assignment in Moodle course `POST /services/moodle/api/assignments?course_id={course_id}`
- Delete assignme...Required endpoints:
- Get assignments of Moodle course `GET /services/moodle/api/assignments?course_id={course_id}`
- Create new assignment in Moodle course `POST /services/moodle/api/assignments?course_id={course_id}`
- Delete assignment in Moodle course `POST /services/moodle/api/assignments/{assignment_id}`
- Submit new file to assignment in Moodle course `POST /services/moodle/api/assignments/{assignment_id}/submissions`
- Get all submissions for an assignment in Moodle course `GET /services/moodle/api/assignments/{assignment_id}/submissions`
- Grade submissions for an assignment in Moodle course `POST /services/moodle/api/assignments/{assignment_id}/grade`
These endpoints use the Moodle webservice functions of the mod_assign module:
https://docs.moodle.org/dev/Web_service_API_functionshttps://git.rwth-aachen.de/jupyter/community/-/issues/17Improve Sciebo-Share integration workflow by registering RWTHjupyter as OAuth...2022-02-17T12:39:29+01:00Marcus MeyerImprove Sciebo-Share integration workflow by registering RWTHjupyter as OAuth2 client in ScieboWaiting on Ingo Hengstebeck for contact to Sciebo adminsWaiting on Ingo Hengstebeck for contact to Sciebo adminshttps://git.rwth-aachen.de/jupyter/community/-/issues/16Notify about status of profile builds via Email2022-02-17T12:39:28+01:00Marcus MeyerNotify about status of profile builds via EmailRelevant contacts:
- Triggering RWTHjupyter user (via Email shibboleth attribute)
- Profile contacts (from Profile YAML)
- RWTHjupyter Admins (jupyter-admin@lists.rwth-aachen.de)Relevant contacts:
- Triggering RWTHjupyter user (via Email shibboleth attribute)
- Profile contacts (from Profile YAML)
- RWTHjupyter Admins (jupyter-admin@lists.rwth-aachen.de)https://git.rwth-aachen.de/jupyter/community/-/issues/15Add custom error pages2022-02-17T12:39:28+01:00Marcus MeyerAdd custom error pagesWe should put in some effort to provide nicer error pages which also include the recent announcments from RWTH GitLab and RWTHjupyter.
See:
- https://github.com/kubernetes/ingress-nginx/tree/master/images/custom-error-pages
- https://ku...We should put in some effort to provide nicer error pages which also include the recent announcments from RWTH GitLab and RWTHjupyter.
See:
- https://github.com/kubernetes/ingress-nginx/tree/master/images/custom-error-pages
- https://kubernetes.github.io/ingress-nginx/examples/customization/custom-errors/
The current error page just displays: "500 Service Unavailable"https://git.rwth-aachen.de/jupyter/community/-/issues/14Handle archiving of previous semesters2022-02-17T12:39:28+01:00Marcus MeyerHandle archiving of previous semesters
- Extend profile definition with new flag `archive: true/false`
- Run cron-job beginning of each semester which runs the followings tasks for all profiles with `archive: true`
1. Create/sync fork of Notebook Git repo into `git.rwth-aa...
- Extend profile definition with new flag `archive: true/false`
- Run cron-job beginning of each semester which runs the followings tasks for all profiles with `archive: true`
1. Create/sync fork of Notebook Git repo into `git.rwth-aachen.de/jupyter/archive/{{ slug }}` (via GitLab API)
2. Add Git tag to fork repo with previous semester id (`ws2021`)
3. Add Docker tag to profile image with previous semester id (`ws2021`)
4. Clone profile definition by copying the current definition
- Existing profile definition:
- Git/Docker tag references will be updated to use archived Git/Docker tag
- New profile definition:
- Update slug to `{{ slug }}-{{ new_semester }}`
- User flow for accessing previous semesters:
1. Profile selection page will be extended to group profiles according to their semester (and special group "Generic" for profiles which are not archived)
2. Pod pre-start hook script will be extended:
1. Check if current branch of local user repo has the same branch checked out as remote repo
2. If not, switch branches
- Do some conflict resolution for uncommited files
3. Run `nbgitpuller`
Inside the users home directory / PVC, there will be only one Git repo clone per profile.
This repo will contain multiple branches, one per semester.
Depending on which semester of the profile is spawned, the pod pre-start hook will switch between the branches.
(Or the Git-proficient users can switch between them on their own behalf.)
Points for Steuerungsrunde:
1. Legal aspect of archiving possibly copyrighted materials
2. Lifecycle management of profiles
3. Stichtage?
4. What do we do with current profiles?https://git.rwth-aachen.de/jupyter/community/-/issues/13Check form validation in all services2022-02-17T12:39:27+01:00Marcus MeyerCheck form validation in all serviceshttps://git.rwth-aachen.de/jupyter/community/-/issues/12Anpassung von JupyterHub templates an RWTH layout2022-04-07T11:36:27+02:00Marcus MeyerAnpassung von JupyterHub templates an RWTH layouthttps://git.rwth-aachen.de/itcenter-layout
* [ ] Schrift ist etwas klein
* [ ] Buttons sind erst beim Hover sichtbar
* [ ] Logo im Header ist nicht richtig ausgerichtet
* [ ] Kontrast des JupyterHub Logos vor schwarzem Hintegrund ist ni...https://git.rwth-aachen.de/itcenter-layout
* [ ] Schrift ist etwas klein
* [ ] Buttons sind erst beim Hover sichtbar
* [ ] Logo im Header ist nicht richtig ausgerichtet
* [ ] Kontrast des JupyterHub Logos vor schwarzem Hintegrund ist nicht gut
* [ ] Header-row hat einen kleinen Corner-radius der dazu führt, dass dort 1px weiße Ecken entstehen
* [ ] Abstände der Links in der Header-row sind etwas klein
* [ ] Ich würde den Dokumentations und Impressums link jetzt auch im Footer platzieren
* [ ] L2p und Moodle Icons im whoami Service sind zu groß
* [ ] Schriftgröße in Admin interface ist zu klein
* [ ] Gruppenliste in Coupon Service sollte keine Aufzählungszeichen haben
* [ ] Profile Liste ist ziemlich kaputt: https://jupyter.rwth-aachen.de/services/profile/list
* [ ] Alle Services haben keinen Footer
* [ ] Logout Button von Services geht nicht
* [ ] Container from Profil Listen Service ist zu breit
* [ ] Profil Beschreibungsseiten
* [ ] Versionslisten von sind kaputt
* [ ] "Last Build" Abschnitt ist etwas gequetscht
* [ ] Avatar Bild ist kaputt
/cc @mmeyer @rosendahl
Was https://git-ce.rwth-aachen.de/jupyter/organization/-/issues/145https://git.rwth-aachen.de/jupyter/community/-/issues/11Create Ansible Role for upgrading Kubernetes2022-02-17T12:39:27+01:00Marcus MeyerCreate Ansible Role for upgrading Kuberneteshttps://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/https://git.rwth-aachen.de/jupyter/community/-/issues/10Automatically adjust kubespawner config for profiles with GPU support2022-02-17T12:39:26+01:00Marcus MeyerAutomatically adjust kubespawner config for profiles with GPU supporthttps://git.rwth-aachen.de/jupyter/community/-/issues/9Priorisierung von Pods2022-03-28T13:57:22+02:00Marcus MeyerPriorisierung von PodsEs sollen Priorisierungs-Klassen für die Zuweisung an Pods realisiert werden. Die Auswahl der jetzigen Priorisierungs-Klassen ist:
- Nutzer
- Extern
- Intern
- Student (Shibboleth)
- Staff (Shibboleth)
- Manager (JupyterHub-Ro...Es sollen Priorisierungs-Klassen für die Zuweisung an Pods realisiert werden. Die Auswahl der jetzigen Priorisierungs-Klassen ist:
- Nutzer
- Extern
- Intern
- Student (Shibboleth)
- Staff (Shibboleth)
- Manager (JupyterHub-Roles)
- Admins (JupyterHub-Roles)
- Profil
- Presence (ACL)
- Mandatory
- Voluntary
- RWTH Course (Profile-Tree)
- RWTH Lab (Profile-Tree)
War https://git-ce.rwth-aachen.de/jupyter/organization/-/issues/108https://git.rwth-aachen.de/jupyter/community/-/issues/8Update profile ACL with event dates from RWTHmoodle or RWTHonline2022-02-17T12:39:26+01:00Marcus MeyerUpdate profile ACL with event dates from RWTHmoodle or RWTHonlineAs discussed in https://git-ce.rwth-aachen.de/jupyter/organization/-/issues/108As discussed in https://git-ce.rwth-aachen.de/jupyter/organization/-/issues/108https://git.rwth-aachen.de/jupyter/community/-/issues/7Create web calendar (iCal) showing all booked timeslots for profiles2022-02-17T12:39:25+01:00Marcus MeyerCreate web calendar (iCal) showing all booked timeslots for profilesAs discussed here: https://git-ce.rwth-aachen.de/jupyter/organization/-/issues/108As discussed here: https://git-ce.rwth-aachen.de/jupyter/organization/-/issues/108https://git.rwth-aachen.de/jupyter/community/-/issues/6Automatisierte Erfassung und Anpassung von Hardware-Ressourcen2022-02-17T12:39:25+01:00Marcus MeyerAutomatisierte Erfassung und Anpassung von Hardware-RessourcenUm die Festlegung der Hardware-Ressourcen zu automatisieren, soll ein automatisiertes System eingesetzt werden, um diese Daten zu erfassen und auf die Pods im Cluster anzupassen.
### Erste Vorschläge
[Vertical-Pod-Autoscaler](https://gi...Um die Festlegung der Hardware-Ressourcen zu automatisieren, soll ein automatisiertes System eingesetzt werden, um diese Daten zu erfassen und auf die Pods im Cluster anzupassen.
### Erste Vorschläge
[Vertical-Pod-Autoscaler](https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler)https://git.rwth-aachen.de/jupyter/community/-/issues/5Re-enable Named Servers2022-02-17T12:39:25+01:00Marcus MeyerRe-enable Named ServersToday, we encountered a small down-time of RWTHjupyter.
The service was down for approx 30min due to the following bug in JupyterHub:
https://github.com/jupyterhub/jupyterhub/issues/3144
As a work-around we had to disable "Named Server...Today, we encountered a small down-time of RWTHjupyter.
The service was down for approx 30min due to the following bug in JupyterHub:
https://github.com/jupyterhub/jupyterhub/issues/3144
As a work-around we had to disable "Named Servers" and manually remove the bogus server from the Postgres database before the hub could start again.
Relevant config option: https://git-ce.rwth-aachen.de/jupyter/provisioning/-/blob/master/ansible/roles/kubernetes/deployments/jupyterhub/templates/values.yaml.j2#L45
/cc @slankes @schramm @bueckenhttps://git.rwth-aachen.de/jupyter/community/-/issues/4Support per-profile priorities for GPU scheduling2022-02-17T12:39:24+01:00Marcus MeyerSupport per-profile priorities for GPU schedulinghttps://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclasshttps://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass