From 9c51bbe5016495c714789f5df01806a6d366e11a Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Sat, 6 Oct 2018 23:56:03 +0200 Subject: Rename kpov_random_helpers to kpov_util --- kpov_judge/tasks/dhcp_dns_predefined_ip/task.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'kpov_judge/tasks/dhcp_dns_predefined_ip/task.py') diff --git a/kpov_judge/tasks/dhcp_dns_predefined_ip/task.py b/kpov_judge/tasks/dhcp_dns_predefined_ip/task.py index 40507d5..2559507 100644 --- a/kpov_judge/tasks/dhcp_dns_predefined_ip/task.py +++ b/kpov_judge/tasks/dhcp_dns_predefined_ip/task.py @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# kpov_random_helpers should be imported by add_assignment.py +# kpov_util should be imported by add_assignment.py instructions = { 'si':""" @@ -100,8 +100,8 @@ def task(IP_server, IP_client, MAC_client, HOSTNAME_X): def gen_params(user_id, params_meta): params = dict() r = random.Random(user_id+"bla") - net = kpov_random_helpers.IPv4_subnet_gen(r, '172.23.128.0/18', 24) - params['IP_server'], params['IP_client'], params['IP_X'] = kpov_random_helpers.IPv4_addr_gen(r, net, 3) + net = kpov_util.IPv4_subnet_gen(r, '172.23.128.0/18', 24) + params['IP_server'], params['IP_client'], params['IP_X'] = kpov_util.IPv4_addr_gen(r, net, 3) params['HOSTNAME_X'] = "".join([r.choice('ABCDEFGHIJKLMNPRSTUVZ') for i in range(5)]) return params -- cgit v1.2.1 From b5b35faea7f4205f353f57178ddc795b7dce5043 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Sun, 7 Oct 2018 19:02:26 +0200 Subject: Refactor SSH testing code out of individual tasks Catch SSH errors and report failures as hints. Also some cleanups and 2to3 fixes. --- kpov_judge/tasks/dhcp_dns_predefined_ip/task.py | 43 +++++++------------------ 1 file changed, 12 insertions(+), 31 deletions(-) (limited to 'kpov_judge/tasks/dhcp_dns_predefined_ip/task.py') diff --git a/kpov_judge/tasks/dhcp_dns_predefined_ip/task.py b/kpov_judge/tasks/dhcp_dns_predefined_ip/task.py index 2559507..9d98ea4 100644 --- a/kpov_judge/tasks/dhcp_dns_predefined_ip/task.py +++ b/kpov_judge/tasks/dhcp_dns_predefined_ip/task.py @@ -65,37 +65,19 @@ params_meta = { } def task(IP_server, IP_client, MAC_client, HOSTNAME_X): - from pexpect import pxssh - #import pexpect - results = dict() - peer_user = 'student' - peer_passwd = 'vaje' - sA = pxssh.pxssh() - sB = pxssh.pxssh() - #prijavimo se na streznik (IP_NM je IP nalov streznika) - sA.login(IP_server, peer_user, peer_passwd) - #prijavimo se na klienta (IP_static je IP naslov klienta) - sB.login(IP_client, peer_user, peer_passwd) - sA.sendline('sudo ps -A') - sA.sendline(peer_passwd) - sA.prompt() - results['dhcp_proces'] = sA.before - # tukaj dobimo podatke, ce je na IP_NM naslovu res postavljen DHCP streznik - sB.sendline('sudo dhcping -s {} -h {} -c {}'.format(IP_server, MAC_client, IP_client)) - sB.sendline(peer_passwd) - sB.prompt() - results['dhcp'] = sB.before - # tukaj pa dobimo podatek, ce je IP, ki ga vraca DNS streznik za HOSTNAME_X pravilen - sB.sendline('nslookup {}'.format(HOSTNAME_X)) - sB.prompt() - results['dns_hostname'] = sB.before - sB.sendline('/sbin/ifconfig') - sB.prompt() - results['client_IP'] = sB.before - sA.logout() - sB.logout() - return results + tests = { + IP_server: ( + ('dhcp_proces', 'sudo ps -A')), + IP_client: ( + ('dhcp', 'sudo dhcping -s {} -h {} -c {}'.format(IP_server, MAC_client, IP_client)), + ('dns_hostname', 'nslookup {}'.format(HOSTNAME_X)), + ('client_IP', '/sbin/ifconfig')), + } + results = collections.defaultdict(str) + for host, host_tests in tests.items(): + results.update(kpov_util.ssh_test(host, 'student', 'vaje', host_tests)) + return results def gen_params(user_id, params_meta): params = dict() @@ -105,7 +87,6 @@ def gen_params(user_id, params_meta): params['HOSTNAME_X'] = "".join([r.choice('ABCDEFGHIJKLMNPRSTUVZ') for i in range(5)]) return params - def task_check(results, params): import re score = 0 -- cgit v1.2.1 From 3091fc2877600f7926ed6a596c316183499125f8 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Sun, 7 Oct 2018 19:11:49 +0200 Subject: Remove coding: lines Python 3 source is utf-8 by default. --- kpov_judge/tasks/dhcp_dns_predefined_ip/task.py | 1 - 1 file changed, 1 deletion(-) (limited to 'kpov_judge/tasks/dhcp_dns_predefined_ip/task.py') diff --git a/kpov_judge/tasks/dhcp_dns_predefined_ip/task.py b/kpov_judge/tasks/dhcp_dns_predefined_ip/task.py index 9d98ea4..a4f8464 100644 --- a/kpov_judge/tasks/dhcp_dns_predefined_ip/task.py +++ b/kpov_judge/tasks/dhcp_dns_predefined_ip/task.py @@ -1,5 +1,4 @@ #!/usr/bin/env python -# -*- coding: utf-8 -*- # kpov_util should be imported by add_assignment.py -- cgit v1.2.1 From dbf585c2a59dbcb7f6d803d5756826b562cd7f43 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Sun, 7 Oct 2018 19:38:40 +0200 Subject: Fix or remove hashbangs --- kpov_judge/tasks/dhcp_dns_predefined_ip/task.py | 2 -- 1 file changed, 2 deletions(-) (limited to 'kpov_judge/tasks/dhcp_dns_predefined_ip/task.py') diff --git a/kpov_judge/tasks/dhcp_dns_predefined_ip/task.py b/kpov_judge/tasks/dhcp_dns_predefined_ip/task.py index a4f8464..fb0de84 100644 --- a/kpov_judge/tasks/dhcp_dns_predefined_ip/task.py +++ b/kpov_judge/tasks/dhcp_dns_predefined_ip/task.py @@ -1,5 +1,3 @@ -#!/usr/bin/env python - # kpov_util should be imported by add_assignment.py instructions = { -- cgit v1.2.1