Revision 4573ea07 snf-cyclades-app/synnefo/tools/burnin.py
b/snf-cyclades-app/synnefo/tools/burnin.py | ||
---|---|---|
620 | 620 |
cls.servername = "%s%s for %s" % (SNF_TEST_PREFIX, TEST_RUN_ID, imagename) |
621 | 621 |
|
622 | 622 |
#Dictionary initialization for the vms credentials |
623 |
|
|
624 | 623 |
cls.serverid = dict() |
625 | 624 |
cls.username = dict() |
626 | 625 |
cls.password = dict() |
... | ... | |
747 | 746 |
|
748 | 747 |
|
749 | 748 |
def test_002_connect_to_network(self): |
750 |
"""Test connect VM to network""" |
|
749 |
"""Test connect VMs to network"""
|
|
751 | 750 |
|
752 | 751 |
self.client.connect_server(self.serverid['A'], self.networkid) |
753 | 752 |
self.client.connect_server(self.serverid['B'], self.networkid) |
... | ... | |
766 | 765 |
else: |
767 | 766 |
time.sleep(self.query_interval) |
768 | 767 |
|
769 |
time.sleep(80) |
|
770 |
|
|
771 | 768 |
self.assertTrue(conn_exists) |
772 | 769 |
|
773 | 770 |
|
774 | 771 |
def test_002a_reboot(self): |
775 |
|
|
776 |
self.client.reboot_server(self.serverid['A']) |
|
772 |
"Reboot server A" |
|
773 |
self.client.reboot_server(self.serverid['A'])
|
|
777 | 774 |
|
778 |
fail_tmout = time.time()+self.action_timeout |
|
779 |
while True: |
|
780 |
d = self.client.get_server_details(self.serverid['A']) |
|
781 |
status = d['status'] |
|
782 |
if status == 'ACTIVE': |
|
783 |
active = True |
|
784 |
break |
|
785 |
elif time.time() > fail_tmout: |
|
786 |
self.assertLess(time.time(), fail_tmout) |
|
787 |
else: |
|
788 |
time.sleep(self.query_interval) |
|
775 |
fail_tmout = time.time()+self.action_timeout
|
|
776 |
while True:
|
|
777 |
d = self.client.get_server_details(self.serverid['A'])
|
|
778 |
status = d['status']
|
|
779 |
if status == 'ACTIVE':
|
|
780 |
active = True
|
|
781 |
break
|
|
782 |
elif time.time() > fail_tmout:
|
|
783 |
self.assertLess(time.time(), fail_tmout)
|
|
784 |
else:
|
|
785 |
time.sleep(self.query_interval)
|
|
789 | 786 |
|
790 |
self.assertTrue(active) |
|
787 |
self.assertTrue(active)
|
|
791 | 788 |
|
792 |
def test_002b_reboot(self): |
|
793 |
|
|
794 |
self.client.reboot_server(self.serverid['B']) |
|
795 |
|
|
796 |
fail_tmout = time.time()+self.action_timeout |
|
797 |
while True: |
|
798 |
d = self.client.get_server_details(self.serverid['B']) |
|
799 |
status = d['status'] |
|
800 |
if status == 'ACTIVE': |
|
801 |
active = True |
|
802 |
break |
|
803 |
elif time.time() > fail_tmout: |
|
804 |
self.assertLess(time.time(), fail_tmout) |
|
805 |
else: |
|
806 |
time.sleep(self.query_interval) |
|
807 |
|
|
808 |
self.assertTrue(active) |
|
809 | 789 |
|
810 |
|
|
811 |
def test_002c_ping_server_A(self):
|
|
812 |
|
|
790 |
def test_002b_ping_server_A(self): |
|
791 |
"Test if server A is pingable"
|
|
792 |
|
|
813 | 793 |
server = self.client.get_server_details(self.serverid['A']) |
814 | 794 |
ip = self._get_ipv4(server) |
815 | 795 |
|
... | ... | |
830 | 810 |
time.sleep(self.query_interval) |
831 | 811 |
|
832 | 812 |
self.assertTrue(s) |
813 |
|
|
814 |
|
|
815 |
def test_002c_reboot(self): |
|
816 |
"Reboot server B" |
|
817 |
self.client.reboot_server(self.serverid['B']) |
|
818 |
|
|
819 |
fail_tmout = time.time()+self.action_timeout |
|
820 |
while True: |
|
821 |
d = self.client.get_server_details(self.serverid['B']) |
|
822 |
status = d['status'] |
|
823 |
if status == 'ACTIVE': |
|
824 |
active = True |
|
825 |
break |
|
826 |
elif time.time() > fail_tmout: |
|
827 |
self.assertLess(time.time(), fail_tmout) |
|
828 |
else: |
|
829 |
time.sleep(self.query_interval) |
|
830 |
|
|
831 |
self.assertTrue(active) |
|
833 | 832 |
|
834 | 833 |
|
835 | 834 |
def test_002d_ping_server_B(self): |
836 |
|
|
835 |
"Test if server B is pingable" |
|
836 |
|
|
837 | 837 |
server = self.client.get_server_details(self.serverid['B']) |
838 | 838 |
ip = self._get_ipv4(server) |
839 | 839 |
|
... | ... | |
856 | 856 |
self.assertTrue(s) |
857 | 857 |
|
858 | 858 |
|
859 |
|
|
860 | 859 |
def test_003a_setup_interface_A(self): |
861 |
|
|
860 |
"Set up eth1 for server A" |
|
861 |
|
|
862 | 862 |
server = self.client.get_server_details(self.serverid['A']) |
863 | 863 |
image = self.client.get_image_details(self.imageid) |
864 | 864 |
os = image['metadata']['values']['os'] |
... | ... | |
898 | 898 |
user = loginname, password = myPass |
899 | 899 |
): |
900 | 900 |
|
901 |
if run('ifconfig eth1 192.168.0.42') :
|
|
901 |
if run('ifconfig eth1 192.168.0.12') :
|
|
902 | 902 |
res = True |
903 | 903 |
|
904 | 904 |
else : |
905 |
stdin, stdout, stderr = ssh.exec_command("ifconfig eth1 %s up"%("192.168.0.42"))
|
|
905 |
stdin, stdout, stderr = ssh.exec_command("ifconfig eth1 %s up"%("192.168.0.12"))
|
|
906 | 906 |
lines = stdout.readlines() |
907 |
log.info(lines) |
|
907 |
|
|
908 | 908 |
if len(lines)==0: |
909 | 909 |
res = True |
910 | 910 |
|
... | ... | |
912 | 912 |
|
913 | 913 |
|
914 | 914 |
def test_003b_setup_interface_B(self): |
915 |
"Setup eth1 for server B" |
|
915 | 916 |
|
916 | 917 |
server = self.client.get_server_details(self.serverid['B']) |
917 | 918 |
image = self.client.get_image_details(self.imageid) |
... | ... | |
950 | 951 |
user = loginname, password = myPass |
951 | 952 |
): |
952 | 953 |
|
953 |
if run('ifconfig eth1 192.168.0.43'):
|
|
954 |
if run('ifconfig eth1 192.168.0.13'):
|
|
954 | 955 |
res = True |
955 | 956 |
|
956 | 957 |
else : |
957 |
stdin, stdout, stderr = ssh.exec_command("ifconfig eth1 %s up"%("192.168.0.43"))
|
|
958 |
stdin, stdout, stderr = ssh.exec_command("ifconfig eth1 %s up"%("192.168.0.13"))
|
|
958 | 959 |
lines = stdout.readlines() |
959 |
log.info(lines) |
|
960 | 960 |
|
961 | 961 |
if len(lines) == 0: |
962 | 962 |
res = True |
... | ... | |
964 | 964 |
self.assertTrue(res) |
965 | 965 |
|
966 | 966 |
|
967 |
|
|
968 | 967 |
def test_003c_test_connection_exists(self): |
969 |
"""Ping serverB from serverA to test if connection exists"""
|
|
968 |
"""Ping server B from server A to test if connection exists"""
|
|
970 | 969 |
|
971 | 970 |
server = self.client.get_server_details(self.serverid['A']) |
972 | 971 |
image = self.client.get_image_details(self.imageid) |
... | ... | |
992 | 991 |
except socket.error: |
993 | 992 |
raise AssertionError |
994 | 993 |
|
995 |
cmd = "if ping -c 2 -w 3 192.168.0.43 >/dev/null; then echo \'True\'; fi;"
|
|
994 |
cmd = "if ping -c 2 -w 3 192.168.0.13 >/dev/null; then echo \'True\'; fi;"
|
|
996 | 995 |
stdin, stdout, stderr = ssh.exec_command(cmd) |
997 | 996 |
lines = stdout.readlines() |
998 | 997 |
|
999 | 998 |
exists = False |
999 |
|
|
1000 | 1000 |
if 'True\n' in lines: |
1001 | 1001 |
exists = True |
1002 | 1002 |
|
... | ... | |
1004 | 1004 |
|
1005 | 1005 |
|
1006 | 1006 |
def test_004_disconnect_from_network(self): |
1007 |
"Disconnecting server A and B from network" |
|
1008 |
|
|
1007 | 1009 |
prev_state = self.client.get_network_details(self.networkid) |
1008 | 1010 |
prev_conn = len(prev_state['servers']['values']) |
1009 | 1011 |
|
... | ... | |
1062 | 1064 |
|
1063 | 1065 |
self.assertTrue(deleted) |
1064 | 1066 |
|
1067 |
|
|
1065 | 1068 |
class TestRunnerProcess(Process): |
1066 | 1069 |
"""A distinct process used to execute part of the tests in parallel""" |
1067 | 1070 |
def __init__(self, **kw): |
... | ... | |
1374 | 1377 |
|
1375 | 1378 |
newNetworkTestCase = _spawn_network_test_case(action_timeout = opts.action_timeout, |
1376 | 1379 |
query_interval = opts.query_interval) |
1377 |
seq_cases = [newNetworkTestCase]
|
|
1380 |
seq_cases = [ServerTestCase]
|
|
1378 | 1381 |
|
1379 | 1382 |
for case in seq_cases: |
1380 | 1383 |
suite = unittest.TestLoader().loadTestsFromTestCase(case) |
Also available in: Unified diff