diff options
Diffstat (limited to 'kpov_judge/tasks/set_motd/task.py')
-rw-r--r-- | kpov_judge/tasks/set_motd/task.py | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/kpov_judge/tasks/set_motd/task.py b/kpov_judge/tasks/set_motd/task.py deleted file mode 100644 index 89b78f6..0000000 --- a/kpov_judge/tasks/set_motd/task.py +++ /dev/null @@ -1,86 +0,0 @@ -instructions = { - 'si': '''\ -<p> -Ustvari dva navidezna računalnika - imenujmo ju <em>arbiter</em> in <em>student</em>. -Na računalniku <em>student</em> ustvarite uporabnika z uporabniškim imenom <code>{{peer_user}}</code>. IP navideznega računalnika <em>student</em> ter geslo za uporabnika <code>{{peer_user}}</code> nastavite sami. - -<p> -Poskrbite, da se bo v sporočilu, ki se ob prijavi izpiše na računalniku <em>student</em>, pojavil niz - -<pre><code>{{niz}}</code></pre> - -<p> -Temu sporočilu v angleščini rečemo <em lang="en">message of the day</em> oziroma <em>MOTD</em>. Ocenjevalni program pričakuje, da se bo ob koncu prijave pojavila ukazna vrstica oblike - -<pre><code>username@hostname:~$ </code></pre> - -Pazite, da se bo takšna vrstica pojavila šele po nizu, ki ste ga dobili v teh navodilih. - ''', - 'en': '''\ -<p> -Create two virtual machines named <em>arbiter</em> and <em>student</em>. On <em>student</em>, create a user with the username <code>{{peer_user}}</code>. Set the IP of <em>student</em> and the password for <code>{{peer_user}}</code> yourself. - -<p> -Set the <em>message of the day</em> (MOTD) on <em>student</em> to - -<pre><code>{{niz}}</code></pre> - -<p> -This is the message which is displayed when you log in. The grading system expects that after login a prompt similar to - -<pre><code>username@hostname:~$ </code></pre> - -<p> -appears. Make sure that this line shows up only after the string you got in these instructions. -''' -} - -computers = { - 'arbiter': { - 'disks': [{'name': 'dhcp-gw'}], - 'flavor': 'm1.tiny', - 'network_interfaces': [{'network': 'net1'}, {'network': 'test-net'}], - 'config_drive': True, - 'userdata': {'string': "#!/bin/bash\nsed -i '/cloud/d' /etc/fstab\npoweroff &\n"} - }, - 'student': { - 'disks': [{ 'name': 'console'}], - 'flavor': 'm1.tiny', - 'network_interfaces': [{'network': 'net1'}], - 'config_drive': True, - 'userdata': {'string': "#!/bin/bash\nsed -i '/cloud/d' /etc/fstab\npoweroff &\n"} - } -} - -networks = { 'net1': {'public': False}, 'test-net': {'public': True} } - -params_meta = { - 'peer_ip': {'descriptions': {'si': 'IP računalnika', 'en':'IP'}, 'w': True, 'public': True, 'type': 'IP', 'generated': False}, - 'peer_user': {'descriptions': {'si': 'ime uporabnika', 'en':'Username'}, 'w': False, 'public': True, 'type': 'username', 'generated': True}, - 'peer_passwd': {'descriptions': {'si': 'geslo uporabnika', 'en': 'Password'}, 'w': True, 'public': True, 'type': 'alnumstr', 'generated': False}, - 'niz': {'descriptions':{'si': 'niz, ki naj se v motd pokaže', 'en': 'The string which should be displayed in the MOTD'}, 'w': False, 'public': True, 'type': 'short_text', 'generated': True}, -} - -def task(peer_ip, peer_user, peer_passwd, niz): - "Check whether ssh works and return the MOTD." - return kpov_util.ssh_test(peer_ip, peer_user, peer_passwd) - -def gen_params(user_id, params_meta): - return kpov_util.default_gen(user_id, params_meta) - -def task_check(results, params): - niz = params['niz'] - score = 0 - hints = [] - if results['ssh'] is True: - score += 4 - if niz in results['motd']: - score += 6 - else: - hints += ['wrong motd:\n' + results['motd'] + '\n'] - else: - hints += ['ssh failed: ' + results['ssh']] - return score, hints - -def prepare_disks(templates, task_params, global_params): - write_default_config(templates['dhcp-gw'], global_params) |