Hackathon: Difference between revisions

From
Jump to navigation Jump to search
 
(27 intermediate revisions by 6 users not shown)
Line 2: Line 2:


Beim HWL/BRN Hackathon setzen sich interessierte Studenten und Doktoranden zusammen, um innerhalb einer Nacht konkrete Verbesserungen am Testbed, der eingesetzten Software und Infrastruktur umzusetzen.
Beim HWL/BRN Hackathon setzen sich interessierte Studenten und Doktoranden zusammen, um innerhalb einer Nacht konkrete Verbesserungen am Testbed, der eingesetzten Software und Infrastruktur umzusetzen.

== Next Hackathon ==

* Packet::clone() kopiert nicht (!!!) den Inhalt. Die Kopie erhält eine Referenz auf den Inhalt des Original. Das muss in BRN gecheckt werden. uniqueify() kopiert auch den inhalt. Deshalb: Packet::clone() -> Packet::clone()->uniqueify()

== Dritter Hackathon ==

Der 3. Hackathon findet am 01.11. ab 18 Uhr statt.
Doodle: http://doodle.com/wvnrtwisxnkcbw3t

=== Themenvorschläge ===

'''Jeder einzelne Vorschlag sollte schaffbar sein oder ist entsprechen vorzubereiten!! Es sollte zudem ein Verantwortlicher genannt sein. Wenn möglich auch ein Co-Pilot!'''

* Seismo-olsrnodes: check md5 of Click (during nodeinfo); pack click only if click new and if reboot
* TMPLOG: LOGDIR auf /tmp setzen (bei bedarf oder Schalter) und dateien zurückkopieren
* Alles was vom ersten und zweiten Hackathon noch übrig ist
* test.sh für testbed ausbauen (Beispielmessung) (Robert,Chris)
* Device-Macros ausbauen (Controlfile, Testbedmessung, Auswertung,...) (Robert)
* Verringerung der Kopplung der einzelnen brn Elemente untereinander durch Entwicklung und Umsetzung eines strikteren Schichtenmodells (Chris); [[erste Visualisierungsversuche]]
* Konzept entwerfen für zuverlässigeres HWL (z. B. Absicherung der Knoten gegen Kernel-Panic bei Server-Ausfall, um händisches Neustarten von über 100 Knoten zu vermeiden – this really sucks) (Alle, kurzes Brainstorming!)
* BRN-Testbed-Basis-Script: läuft immer, wenn keine Messungen stattfinden und soll anderen Internet zur Verfügung stellen. Ein solches Script kann zum Testen vieler Elemente und zum Messen verwendet werden. (Robert)
* Fix Hawk (Robert)
* Change right (execution) of scripts during params measurement
* Skripte für git pull/push und neubauen der Quellen nach Update (Robert, Frank, Chris)
* Maintenance KnotenDB: Welche Knoten sind ausgefallen? Welche aus Haus 4 müssen überarbeitet werden wegen Umzug? Und hübsche Koordinaten für alle!
* (maybe) Software-Updates: (leider sehr problematisch für wgts, trotzdem Björns Wunschliste):
** ath5k / ath9k für alle
** OpenWRT Versionen aktueller Kernel
** Kernel: Segmentation Fault -> Syslog und Core Dumps enablen (try "ulimit -c unlimited" for core dumps)
** ntpclient fehlt auf wndrs
** libnl-3 (OpenWRTs libnl-tiny segfaults!)

=== Zeitplan ===

* 17:30 Uhr Einkaufstour zum Kaufland
* 18:15 Uhr Essen bestellen
* 18:30 Uhr Planung der Arbeitsaufteilung, evtl. Gruppenbildung
* 18:35 Uhr Hackathon
* ...

=== Erledigte Aufgaben ===

* Infrastruktur: Backup für gitsar einrichten: Es werden tägliche und wöchentliche Backups von /home/git und /var/lib/jenkins nach /mnt/backup/rsnapshot mittles rsnapshot angefertigt (Dominik)
* Dokumentation zusammenführen: Infrastruktur Doku verschoben nach https://sarwiki.informatik.hu-berlin.de/Services und dort obsolete Dienste gelöscht (Dominik)
* run_sim.sh depends on bc: abhängigkeit wird jetzt in brn-tools.sh geprüft (Dominik)
* test.sh: valgrind shouldn't be used if not inststalled (Robert)
* package config check auf libX11, libXt, libXmu (Dominik, Robert, Frank)
* Beliebige Quellen (git, svn, urls (tar,..),...) für Click und ns3 beim Bauen (Robert)


== Zweiter Hackathon ==
== Zweiter Hackathon ==
Line 10: Line 59:


* Alles was vom ersten Hackathon noch übrig ist:
* Alles was vom ersten Hackathon noch übrig ist:
** Verringerung der Kopplung der einzelnen brn2 Elemente untereinander durch Entwicklung und Umsetzung eines strikteren Schichtenmodells (Chris); [[erste Visualisierungsversuche]]
** Verringerung der Kopplung der einzelnen brn Elemente untereinander durch Entwicklung und Umsetzung eines strikteren Schichtenmodells (Chris); [[erste Visualisierungsversuche]]
** Simulation: Verbesserung der run_sim; wenn bestehendes Verzeichnis angegeben wird, dann Simulationsskript noch einmal ausführen mit einem Info-Disclaimer (Chris, Robert)
** Konzept entwerfen für zuverlässigeres HWL (z. B. Absicherung der Knoten gegen Kernel-Panic bei Server-Ausfall, um händisches Neustarten von über 100 Knoten zu vermeiden – this really sucks)
** Konzept entwerfen für zuverlässigeres HWL (z. B. Absicherung der Knoten gegen Kernel-Panic bei Server-Ausfall, um händisches Neustarten von über 100 Knoten zu vermeiden – this really sucks)
** BRN-Testbed-Basis-Script: läuft immer, wenn keine Messungen stattfinden und soll anderen Internet zur Verfügung stellen. Ein solches Script kann zum Testen vieler Elemente und zum Messen verwendet werden.
** BRN-Testbed-Basis-Script: läuft immer, wenn keine Messungen stattfinden und soll anderen Internet zur Verfügung stellen. Ein solches Script kann zum Testen vieler Elemente und zum Messen verwendet werden.
Line 39: Line 87:
* Tests für Treiber in jenkins (Robert, Dominik):
* Tests für Treiber in jenkins (Robert, Dominik):
** Madwifi Treiber wird bei commits automatisch gebaut
** Madwifi Treiber wird bei commits automatisch gebaut
* * brn-tools.sh: test ob alle für das Übersetzen unserer tools benötigten Programme vorhanden sind (Michael)
* brn-tools.sh: test ob alle für das Übersetzen unserer tools benötigten Programme vorhanden sind (Michael)
* Simulation: Verbesserung der run_sim; wenn bestehendes Verzeichnis angegeben wird und flag gesetzt wird (FORCE_DIR=1), dann Simulationsskript noch einmal ausführen (Chris, Robert)


== Erster Hackathon ==
== Erster Hackathon ==
Line 53: Line 102:
* Ausbau des automatisierten Testings (Skripte + Auswertungen für verschiedene Elemente) (Dominik)
* Ausbau des automatisierten Testings (Skripte + Auswertungen für verschiedene Elemente) (Dominik)
* Ausbau der Dokumentation (siehe ''Dokumentation mit Sphinx'' weiter unten; Dominik, Chris)
* Ausbau der Dokumentation (siehe ''Dokumentation mit Sphinx'' weiter unten; Dominik, Chris)
* Simulation: Verbesserung der run_sim; wenn bestehendes Verzeichnis angegeben wird, dann Simulationsskript noch einmal ausführen mit einem Info-Disclaimer (Chris, Robert)
* Konzept entwerfen für zuverlässigeres HWL (z. B. Absicherung der Knoten gegen Kernel-Panic bei Server-Ausfall, um händisches Neustarten von über 100 Knoten zu vermeiden – this really sucks)
* Konzept entwerfen für zuverlässigeres HWL (z. B. Absicherung der Knoten gegen Kernel-Panic bei Server-Ausfall, um händisches Neustarten von über 100 Knoten zu vermeiden – this really sucks)
* Web-Gui wieder an den Start bringen
* Web-Gui wieder an den Start bringen
* BRN-Testbed-Basis-Script: läuft immer, wenn keine Messungen stattfinden und soll anderen Internet zur Verfügung stellen. Ein solchen Script kann zum Testen vieler Elemente und zum Messen verwendet werden.
* BRN-Testbed-Basis-Script: läuft immer, wenn keine Messungen stattfinden und soll anderen Internet zur Verfügung stellen. Ein solchen Script kann zum Testen vieler Elemente und zum Messen verwendet werden.
* Fix Hawk (Robert)
* Fix Hawk (Robert)



=== Zeitplan ===
=== Zeitplan ===
Line 85: Line 132:
* NS3 Integration inkl. NS3 Simulation via run_sim.sh (Robert)
* NS3 Integration inkl. NS3 Simulation via run_sim.sh (Robert)
* Bessere Abstraktion der verschiedenen Knotentypen bei Experimenten im Testbed (Robert)
* Bessere Abstraktion der verschiedenen Knotentypen bei Experimenten im Testbed (Robert)
* Simulation: Verbesserung der run_sim; wenn bestehendes Verzeichnis angegeben wird, dann Simulationsskript noch einmal ausführen mit einem Info-Disclaimer (Chris, Robert)

Latest revision as of 16:41, 30 October 2013

HWL/BRN Hackathon

Beim HWL/BRN Hackathon setzen sich interessierte Studenten und Doktoranden zusammen, um innerhalb einer Nacht konkrete Verbesserungen am Testbed, der eingesetzten Software und Infrastruktur umzusetzen.

Next Hackathon

  • Packet::clone() kopiert nicht (!!!) den Inhalt. Die Kopie erhält eine Referenz auf den Inhalt des Original. Das muss in BRN gecheckt werden. uniqueify() kopiert auch den inhalt. Deshalb: Packet::clone() -> Packet::clone()->uniqueify()

Dritter Hackathon

Der 3. Hackathon findet am 01.11. ab 18 Uhr statt. Doodle: http://doodle.com/wvnrtwisxnkcbw3t

Themenvorschläge

Jeder einzelne Vorschlag sollte schaffbar sein oder ist entsprechen vorzubereiten!! Es sollte zudem ein Verantwortlicher genannt sein. Wenn möglich auch ein Co-Pilot!

  • Seismo-olsrnodes: check md5 of Click (during nodeinfo); pack click only if click new and if reboot
  • TMPLOG: LOGDIR auf /tmp setzen (bei bedarf oder Schalter) und dateien zurückkopieren
  • Alles was vom ersten und zweiten Hackathon noch übrig ist
  • test.sh für testbed ausbauen (Beispielmessung) (Robert,Chris)
  • Device-Macros ausbauen (Controlfile, Testbedmessung, Auswertung,...) (Robert)
  • Verringerung der Kopplung der einzelnen brn Elemente untereinander durch Entwicklung und Umsetzung eines strikteren Schichtenmodells (Chris); erste Visualisierungsversuche
  • Konzept entwerfen für zuverlässigeres HWL (z. B. Absicherung der Knoten gegen Kernel-Panic bei Server-Ausfall, um händisches Neustarten von über 100 Knoten zu vermeiden – this really sucks) (Alle, kurzes Brainstorming!)
  • BRN-Testbed-Basis-Script: läuft immer, wenn keine Messungen stattfinden und soll anderen Internet zur Verfügung stellen. Ein solches Script kann zum Testen vieler Elemente und zum Messen verwendet werden. (Robert)
  • Fix Hawk (Robert)
  • Change right (execution) of scripts during params measurement
  • Skripte für git pull/push und neubauen der Quellen nach Update (Robert, Frank, Chris)
  • Maintenance KnotenDB: Welche Knoten sind ausgefallen? Welche aus Haus 4 müssen überarbeitet werden wegen Umzug? Und hübsche Koordinaten für alle!
  • (maybe) Software-Updates: (leider sehr problematisch für wgts, trotzdem Björns Wunschliste):
    • ath5k / ath9k für alle
    • OpenWRT Versionen aktueller Kernel
    • Kernel: Segmentation Fault -> Syslog und Core Dumps enablen (try "ulimit -c unlimited" for core dumps)
    • ntpclient fehlt auf wndrs
    • libnl-3 (OpenWRTs libnl-tiny segfaults!)

Zeitplan

  • 17:30 Uhr Einkaufstour zum Kaufland
  • 18:15 Uhr Essen bestellen
  • 18:30 Uhr Planung der Arbeitsaufteilung, evtl. Gruppenbildung
  • 18:35 Uhr Hackathon
  • ...

Erledigte Aufgaben

  • Infrastruktur: Backup für gitsar einrichten: Es werden tägliche und wöchentliche Backups von /home/git und /var/lib/jenkins nach /mnt/backup/rsnapshot mittles rsnapshot angefertigt (Dominik)
  • Dokumentation zusammenführen: Infrastruktur Doku verschoben nach https://sarwiki.informatik.hu-berlin.de/Services und dort obsolete Dienste gelöscht (Dominik)
  • run_sim.sh depends on bc: abhängigkeit wird jetzt in brn-tools.sh geprüft (Dominik)
  • test.sh: valgrind shouldn't be used if not inststalled (Robert)
  • package config check auf libX11, libXt, libXmu (Dominik, Robert, Frank)
  • Beliebige Quellen (git, svn, urls (tar,..),...) für Click und ns3 beim Bauen (Robert)

Zweiter Hackathon

Der 2. Hackathon findet am 16.10. ab 18 Uhr statt.

Themenvorschläge

  • Alles was vom ersten Hackathon noch übrig ist:
    • Verringerung der Kopplung der einzelnen brn Elemente untereinander durch Entwicklung und Umsetzung eines strikteren Schichtenmodells (Chris); erste Visualisierungsversuche
    • Konzept entwerfen für zuverlässigeres HWL (z. B. Absicherung der Knoten gegen Kernel-Panic bei Server-Ausfall, um händisches Neustarten von über 100 Knoten zu vermeiden – this really sucks)
    • BRN-Testbed-Basis-Script: läuft immer, wenn keine Messungen stattfinden und soll anderen Internet zur Verfügung stellen. Ein solches Script kann zum Testen vieler Elemente und zum Messen verwendet werden.
    • Fix Hawk (Robert)
  • Maintenance KnotenDB: Welche Knoten sind ausgefallen? Welche aus Haus 4 müssen überarbeitet werden wegen Umzug? Und hübsche Koordinaten für alle!
  • Infrastruktur: Backup für gitsar einrichten, insbesondere für jenkins
  • (maybe) Software-Updates: (leider sehr problematisch für wgts, trotzdem Björns Wunschliste):
    • ath5k / ath9k für alle
    • OpenWRT Versionen aktueller Kernel
    • Kernel: Segmentation Fault -> Syslog und Core Dumps enablen (try "ulimit -c unlimited" for core dumps)
    • ntpclient fehlt auf wndrs
    • libnl-3 (OpenWRTs libnl-tiny segfaults!)

Zeitplan

  • 17:30 Uhr Einkaufstour zum Kaufland
  • 18:15 Uhr Essen bestellen
  • 18:30 Uhr Planung der Arbeitsaufteilung, evtl. Gruppenbildung
  • 18:35 Uhr Hackathon
  • ...

Erledigte Aufgaben

  • Alten brn-Code entfernen (elements/brn)
  • Ausbau des automatisierten Testings (test.sh aus brn-scripts automatisch laufen lassen und auswerten, evtl. in brn-tools) (Dominik)
  • Revisions-String in Click-Binaries: ist jetzt über elements/brn/version.h gelöst
  • Tests für Treiber in jenkins (Robert, Dominik):
    • Madwifi Treiber wird bei commits automatisch gebaut
  • brn-tools.sh: test ob alle für das Übersetzen unserer tools benötigten Programme vorhanden sind (Michael)
  • Simulation: Verbesserung der run_sim; wenn bestehendes Verzeichnis angegeben wird und flag gesetzt wird (FORCE_DIR=1), dann Simulationsskript noch einmal ausführen (Chris, Robert)

Erster Hackathon

Der Hackathon findet zum ersten Mal am 30 Juli 2012 ab 19 Uhr im SAR Poolraum statt.

Themenvorschläge

Folgende Themenvorschlägefür Projekte existieren zur Zeit:

  • Verringerung der Kopplung der einzelnen brn2 Elemente untereinander durch Entwicklung und Umsetzung eines strikteren Schichtenmodells (Chris); erste Visualisierungsversuche
  • Tests für Treiber in jenkins (Robert, Dominik)
  • Ausbau des automatisierten Testings (Skripte + Auswertungen für verschiedene Elemente) (Dominik)
  • Ausbau der Dokumentation (siehe Dokumentation mit Sphinx weiter unten; Dominik, Chris)
  • Konzept entwerfen für zuverlässigeres HWL (z. B. Absicherung der Knoten gegen Kernel-Panic bei Server-Ausfall, um händisches Neustarten von über 100 Knoten zu vermeiden – this really sucks)
  • Web-Gui wieder an den Start bringen
  • BRN-Testbed-Basis-Script: läuft immer, wenn keine Messungen stattfinden und soll anderen Internet zur Verfügung stellen. Ein solchen Script kann zum Testen vieler Elemente und zum Messen verwendet werden.
  • Fix Hawk (Robert)

Zeitplan

  • vor 19.00 Kurzer Besuch beim Kaufland (Getränke)
  • 19:00 Kurze Einführung in die neue Infrastruktur (gitolite und Jenkins, evtl. sphinx) (Dominik)
  • 19:20 Besprechung der Themen, Planung (Dominik, Robert, Chris)
  • 19:45 Essen
  • 20:30 Hackathon
  • ...

Dokumentation mit Sphinx

  1. Unter Ubuntu Sphinx installieren: apt-get install python-sphinx
  2. In "helper/docs/sphinx/" befindet sich zum Generieren der Dokumentation ein Makefile ("make help" liefert alle Varianten)
    1. Die HTML-Dokumentation ("make html") befindet sich nach der Generierung in "helper/docs/sphinx/_build/html/index.html"
    2. Die PDF-Dokumentation ("make latexpdf") befindet sich nach der Generierung in "helper/docs/sphinx/_build/latex/HWL.pdf"
  3. Die Dokumentation selber wird in reStructured Text geschrieben

Erledigte Aufgabe

  • click-brn bug squashing: Zur Zeit gibts 230 Warnings in Jenkins, nach dem Hackaton gibt es keine mehr (Alle)
  • E-Mail Notification in Jenkins (Dominik)
  • Treiber ins git bringen (Robert, Dominik)
  • JIST Integration (Robert)
  • Jist: Scheduler-Bug (Click) fixen (Robert)
  • NS3 Integration inkl. NS3 Simulation via run_sim.sh (Robert)
  • Bessere Abstraktion der verschiedenen Knotentypen bei Experimenten im Testbed (Robert)
  • Simulation: Verbesserung der run_sim; wenn bestehendes Verzeichnis angegeben wird, dann Simulationsskript noch einmal ausführen mit einem Info-Disclaimer (Chris, Robert)