Difference between revisions of "Domjudge"

From A-Eskwiki
Jump to: navigation, search
Line 8: Line 8:
 
Op de judgeserver moeten de mysql en apache services draaien.
 
Op de judgeserver moeten de mysql en apache services draaien.
  
===Judgeserver maken===
+
== Judgehost ==
 +
Op de judgehost worden inzendingen gestuurd vanaf de judgeserver. De judgehost kijkt deze dan na. Op de judgehost moet dan wel ''judgedeamon'' actief draaien.
  
  
De makkelijkste manier om een judgeserver te maken is door de live image van domjudge te converteren naar qcow2, en vervolgens aan de hypervisor te hangen.
+
==Judgeserver & Judgehost instaleren==
 +
 
 +
 
 +
De makkelijkste manier om een judgeserver & judgehost te maken is door de live image van domjudge te converteren naar qcow2, en vervolgens aan de hypervisor te hangen.
  
 
Download de image van:
 
Download de image van:
Line 19: Line 23:
 
Voor gemak maak je er dan een snapshot layer omheen, zodat je makkelijk kunt reverten naar de originele image:
 
Voor gemak maak je er dan een snapshot layer omheen, zodat je makkelijk kunt reverten naar de originele image:
 
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">qemu-img create -o backing_file={output file} -f qcow2 judgeserver.qcow2<br/></div>
 
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">qemu-img create -o backing_file={output file} -f qcow2 judgeserver.qcow2<br/></div>
 
  
 
Om de live image te updaten dient de configuratie voor apt aangepast te worden. Hierbij moet de ingestelde proxy uitgezet worden in:
 
Om de live image te updaten dient de configuratie voor apt aangepast te worden. Hierbij moet de ingestelde proxy uitgezet worden in:
 
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">/etc/apt/apt.conf</div>[[Category:Escapade]]
 
<div style="background:#eee;border:1px solid #ccc;padding:5px 10px;">/etc/apt/apt.conf</div>[[Category:Escapade]]
  
== Judgehost ==
 
Op de judgehost worden inzendingen gestuurd vanaf de judgeserver. De judgehost kijkt deze dan na. (Op de judgehost moet dan wel ''judgedeamon'' draaien.
 
  
 +
Meer info is [https://github.com/DOMjudge/domjudge-packaging/blob/master/live-image/files/README#L64|hier] te vinden.
  
 
==Stappen bij een programeerwedstrijd==
 
==Stappen bij een programeerwedstrijd==

Revision as of 19:35, 23 January 2017

Domjudge wordt gebruikt voor programmeerwedstrijden, dus het UKP en BAPC. De ESCapade organiseert de wedstrijden, de sysop zorgt ervoor dat domjudge correct draait. Domdjudge heeft een webinterface waar de score van de teams wordt bijgehouden. Ook worden de oplossingen van problemen via de webinterface aan domjudjge doorgegeven. Bij A-Eskwadraat gebruiken we URL http://judge.a-eskwadraat.nl/ voor domjudge. We draaien een judgeserver en judgehost. Deze draaien op haskell, namelijk de VM's Judgehost en Judgeserver.


Judgeserver

De judgeserver verzorgt de front-end, oftewel de webinterface. Deze moet draaien, zodat iedereen bij de webpagina kan en daar dingen kan doen. Inzendingen kunnen ingestuurd worden, maar er moet ook een judgehost draaien om deze na te kunnen kijken.

Op de judgeserver moeten de mysql en apache services draaien.

Judgehost

Op de judgehost worden inzendingen gestuurd vanaf de judgeserver. De judgehost kijkt deze dan na. Op de judgehost moet dan wel judgedeamon actief draaien.


Judgeserver & Judgehost instaleren

De makkelijkste manier om een judgeserver & judgehost te maken is door de live image van domjudge te converteren naar qcow2, en vervolgens aan de hypervisor te hangen.

Download de image van:

https://www.domjudge.org/live/

Pak deze uit en converteer deze vervolgens naar qcow2 formaat:

qemu-img convert {input file} -c -O qcow2 {output file}

Voor gemak maak je er dan een snapshot layer omheen, zodat je makkelijk kunt reverten naar de originele image:

qemu-img create -o backing_file={output file} -f qcow2 judgeserver.qcow2

Om de live image te updaten dient de configuratie voor apt aangepast te worden. Hierbij moet de ingestelde proxy uitgezet worden in:

/etc/apt/apt.conf


Meer info is [1] te vinden.

Stappen bij een programeerwedstrijd

  • Zorg voor een nieuwe domjudge installatie of gebruik een oude
    • Als je een oude gebruikt, ruim de oude judgings op, op de judgehost. Ga naar de judgehost en gebruik het "$du / -aS | sort -nr | head -25" commando om te zien waar de grote files zich bevinden. het "$df" commando laat zien hoeveel ruimte je nog hebt
    • In /var/lib/domjudge/judgings bevinden zich de judgings. Deze kunnen verwijderd worden om ruimte vrij te maken op de judgehost
  • Zorg dat de judgehost en de judgeserver allebei aanstaan. (login is standaard)
  • Op de judgehost, start de judgedeamon met $judgedeamon
  • De site werkt nu op judge.a-eskwadraat.nl
  • De ESCapade moet nu de teams en opdrachten in de website instellen
  • Op de wedstrijddag zelf, blijf beschikbaar voor het geval er dingen mis gaan. (Met voorkeur bij A-Eskwadraat zelf, zodat je direct bij de server kan)

Installeer een verse domjudge

Nog te doen

Links

[2]