Revision daac4017 snf-tools/synnefo_tools/burnin.py
b/snf-tools/synnefo_tools/burnin.py | ||
---|---|---|
569 | 569 |
ipv6 = self._get_ipv6(server) |
570 | 570 |
self.assertEquals(IP(ipv6).version(), 6) |
571 | 571 |
|
572 |
# def test_006_server_responds_to_ping_IPv4(self):
|
|
573 |
# """Test server responds to ping on IPv4 address"""
|
|
574 |
|
|
575 |
# log.info("Testing if server responds to pings in IPv4")
|
|
576 |
|
|
577 |
# server = self.client.get_server_details(self.serverid)
|
|
578 |
# ip = self._get_ipv4(server)
|
|
579 |
# self._try_until_timeout_expires(self.action_timeout,
|
|
580 |
# self.action_timeout,
|
|
581 |
# "PING IPv4 to %s" % ip,
|
|
582 |
# self._ping_once,
|
|
583 |
# False, ip)
|
|
584 |
|
|
585 |
# def test_007_server_responds_to_ping_IPv6(self):
|
|
586 |
# """Test server responds to ping on IPv6 address"""
|
|
587 |
# self._skipIf(NO_IPV6, "--no-ipv6 flag enabled")
|
|
588 |
# log.info("Testing if server responds to pings in IPv6")
|
|
589 |
|
|
590 |
# server = self.client.get_server_details(self.serverid)
|
|
591 |
# ip = self._get_ipv6(server)
|
|
592 |
# self._try_until_timeout_expires(self.action_timeout,
|
|
593 |
# self.action_timeout,
|
|
594 |
# "PING IPv6 to %s" % ip,
|
|
595 |
# self._ping_once,
|
|
596 |
# True, ip)
|
|
572 |
def test_006_server_responds_to_ping_IPv4(self): |
|
573 |
"""Test server responds to ping on IPv4 address""" |
|
574 |
|
|
575 |
log.info("Testing if server responds to pings in IPv4") |
|
576 |
|
|
577 |
server = self.client.get_server_details(self.serverid) |
|
578 |
ip = self._get_ipv4(server) |
|
579 |
self._try_until_timeout_expires(self.action_timeout, |
|
580 |
self.action_timeout, |
|
581 |
"PING IPv4 to %s" % ip, |
|
582 |
self._ping_once, |
|
583 |
False, ip) |
|
584 |
|
|
585 |
def test_007_server_responds_to_ping_IPv6(self): |
|
586 |
"""Test server responds to ping on IPv6 address""" |
|
587 |
self._skipIf(NO_IPV6, "--no-ipv6 flag enabled") |
|
588 |
log.info("Testing if server responds to pings in IPv6") |
|
589 |
|
|
590 |
server = self.client.get_server_details(self.serverid) |
|
591 |
ip = self._get_ipv6(server) |
|
592 |
self._try_until_timeout_expires(self.action_timeout, |
|
593 |
self.action_timeout, |
|
594 |
"PING IPv6 to %s" % ip, |
|
595 |
self._ping_once, |
|
596 |
True, ip) |
|
597 | 597 |
|
598 | 598 |
def test_008_submit_shutdown_request(self): |
599 | 599 |
"""Test submit request to shutdown server""" |
... | ... | |
625 | 625 |
self.action_timeout, |
626 | 626 |
self.action_timeout) |
627 | 627 |
|
628 |
# def test_011a_server_responds_to_ping_IPv4(self):
|
|
629 |
# """Test server OS is actually up and running again"""
|
|
628 |
def test_011a_server_responds_to_ping_IPv4(self): |
|
629 |
"""Test server OS is actually up and running again""" |
|
630 | 630 |
|
631 |
# log.info("Testing if server is actually up and running")
|
|
631 |
log.info("Testing if server is actually up and running") |
|
632 | 632 |
|
633 |
# self.test_006_server_responds_to_ping_IPv4()
|
|
633 |
self.test_006_server_responds_to_ping_IPv4() |
|
634 | 634 |
|
635 |
# def test_012_ssh_to_server_IPv4(self):
|
|
636 |
# """Test SSH to server public IPv4 works, verify hostname"""
|
|
635 |
def test_012_ssh_to_server_IPv4(self): |
|
636 |
"""Test SSH to server public IPv4 works, verify hostname""" |
|
637 | 637 |
|
638 |
# self._skipIf(self.is_windows, "only valid for Linux servers")
|
|
639 |
# server = self.client.get_server_details(self.serverid)
|
|
640 |
# self._insist_on_ssh_hostname(self._get_ipv4(server),
|
|
641 |
# self.username, self.passwd)
|
|
638 |
self._skipIf(self.is_windows, "only valid for Linux servers") |
|
639 |
server = self.client.get_server_details(self.serverid) |
|
640 |
self._insist_on_ssh_hostname(self._get_ipv4(server), |
|
641 |
self.username, self.passwd) |
|
642 | 642 |
|
643 |
# def test_013_ssh_to_server_IPv6(self):
|
|
644 |
# """Test SSH to server public IPv6 works, verify hostname"""
|
|
645 |
# self._skipIf(self.is_windows, "only valid for Linux servers")
|
|
646 |
# self._skipIf(NO_IPV6, "--no-ipv6 flag enabled")
|
|
643 |
def test_013_ssh_to_server_IPv6(self): |
|
644 |
"""Test SSH to server public IPv6 works, verify hostname""" |
|
645 |
self._skipIf(self.is_windows, "only valid for Linux servers") |
|
646 |
self._skipIf(NO_IPV6, "--no-ipv6 flag enabled") |
|
647 | 647 |
|
648 |
# server = self.client.get_server_details(self.serverid)
|
|
649 |
# self._insist_on_ssh_hostname(self._get_ipv6(server),
|
|
650 |
# self.username, self.passwd)
|
|
648 |
server = self.client.get_server_details(self.serverid) |
|
649 |
self._insist_on_ssh_hostname(self._get_ipv6(server), |
|
650 |
self.username, self.passwd) |
|
651 | 651 |
|
652 |
# def test_014_rdp_to_server_IPv4(self):
|
|
653 |
# "Test RDP connection to server public IPv4 works"""
|
|
654 |
# self._skipIf(not self.is_windows, "only valid for Windows servers")
|
|
655 |
# server = self.client.get_server_details(self.serverid)
|
|
656 |
# ipv4 = self._get_ipv4(server)
|
|
657 |
# sock = _insist_on_tcp_connection(socket.AF_INET, ipv4, 3389)
|
|
652 |
def test_014_rdp_to_server_IPv4(self): |
|
653 |
"Test RDP connection to server public IPv4 works""" |
|
654 |
self._skipIf(not self.is_windows, "only valid for Windows servers") |
|
655 |
server = self.client.get_server_details(self.serverid) |
|
656 |
ipv4 = self._get_ipv4(server) |
|
657 |
sock = _insist_on_tcp_connection(socket.AF_INET, ipv4, 3389) |
|
658 | 658 |
|
659 |
# # No actual RDP processing done. We assume the RDP server is there
|
|
660 |
# # if the connection to the RDP port is successful.
|
|
661 |
# # FIXME: Use rdesktop, analyze exit code? see manpage [costasd]
|
|
662 |
# sock.close()
|
|
659 |
# No actual RDP processing done. We assume the RDP server is there |
|
660 |
# if the connection to the RDP port is successful. |
|
661 |
# FIXME: Use rdesktop, analyze exit code? see manpage [costasd] |
|
662 |
sock.close() |
|
663 | 663 |
|
664 |
# def test_015_rdp_to_server_IPv6(self):
|
|
665 |
# "Test RDP connection to server public IPv6 works"""
|
|
666 |
# self._skipIf(not self.is_windows, "only valid for Windows servers")
|
|
667 |
# self._skipIf(NO_IPV6, "--no-ipv6 flag enabled")
|
|
664 |
def test_015_rdp_to_server_IPv6(self): |
|
665 |
"Test RDP connection to server public IPv6 works""" |
|
666 |
self._skipIf(not self.is_windows, "only valid for Windows servers") |
|
667 |
self._skipIf(NO_IPV6, "--no-ipv6 flag enabled") |
|
668 | 668 |
|
669 |
# server = self.client.get_server_details(self.serverid)
|
|
670 |
# ipv6 = self._get_ipv6(server)
|
|
671 |
# sock = _get_tcp_connection(socket.AF_INET6, ipv6, 3389)
|
|
669 |
server = self.client.get_server_details(self.serverid) |
|
670 |
ipv6 = self._get_ipv6(server) |
|
671 |
sock = _get_tcp_connection(socket.AF_INET6, ipv6, 3389) |
|
672 | 672 |
|
673 |
# # No actual RDP processing done. We assume the RDP server is there
|
|
674 |
# # if the connection to the RDP port is successful.
|
|
675 |
# sock.close()
|
|
673 |
# No actual RDP processing done. We assume the RDP server is there |
|
674 |
# if the connection to the RDP port is successful. |
|
675 |
sock.close() |
|
676 | 676 |
|
677 |
# def test_016_personality_is_enforced(self):
|
|
678 |
# """Test file injection for personality enforcement"""
|
|
679 |
# self._skipIf(self.is_windows, "only implemented for Linux servers")
|
|
680 |
# self._skipIf(self.personality == None, "No personality file selected")
|
|
677 |
def test_016_personality_is_enforced(self): |
|
678 |
"""Test file injection for personality enforcement""" |
|
679 |
self._skipIf(self.is_windows, "only implemented for Linux servers") |
|
680 |
self._skipIf(self.personality == None, "No personality file selected") |
|
681 | 681 |
|
682 |
# log.info("Trying to inject file for personality enforcement")
|
|
682 |
log.info("Trying to inject file for personality enforcement") |
|
683 | 683 |
|
684 |
# server = self.client.get_server_details(self.serverid)
|
|
684 |
server = self.client.get_server_details(self.serverid) |
|
685 | 685 |
|
686 |
# for inj_file in self.personality:
|
|
687 |
# equal_files = self._check_file_through_ssh(self._get_ipv4(server),
|
|
688 |
# inj_file['owner'],
|
|
689 |
# self.passwd,
|
|
690 |
# inj_file['path'],
|
|
691 |
# inj_file['contents'])
|
|
692 |
# self.assertTrue(equal_files)
|
|
686 |
for inj_file in self.personality: |
|
687 |
equal_files = self._check_file_through_ssh(self._get_ipv4(server), |
|
688 |
inj_file['owner'], |
|
689 |
self.passwd, |
|
690 |
inj_file['path'], |
|
691 |
inj_file['contents']) |
|
692 |
self.assertTrue(equal_files) |
|
693 | 693 |
|
694 | 694 |
def test_017_submit_delete_request(self): |
695 | 695 |
"""Test submit request to delete server""" |
... | ... | |
901 | 901 |
|
902 | 902 |
while True: |
903 | 903 |
|
904 |
netsA=[x['network_id'] for x in self.client.get_server_details(self.serverid['A'])['attachments']['values']]
|
|
905 |
netsB=[x['network_id'] for x in self.client.get_server_details(self.serverid['B'])['attachments']['values']]
|
|
904 |
netsA = [x['network_id'] for x in self.client.get_server_details(self.serverid['A'])['attachments']['values']]
|
|
905 |
netsB = [x['network_id'] for x in self.client.get_server_details(self.serverid['B'])['attachments']['values']]
|
|
906 | 906 |
|
907 | 907 |
if (self.networkid in netsA) and (self.networkid in netsB): |
908 | 908 |
conn_exists = True |
... | ... | |
911 | 911 |
self.assertLess(time.time(), fail_tmout) |
912 | 912 |
else: |
913 | 913 |
time.sleep(self.query_interval) |
914 |
|
|
915 |
#Adding private IPs to class attributes |
|
916 |
cls = type(self) |
|
917 |
cls.priv_ip = dict() |
|
918 |
|
|
919 |
nicsA = self.client.get_server_details(self.serverid['A'])['attachments']['values'] |
|
920 |
nicsB = self.client.get_server_details(self.serverid['B'])['attachments']['values'] |
|
921 |
|
|
922 |
if conn_exists: |
|
923 |
for nic in nicsA: |
|
924 |
if nic["network_id"] == self.networkid: |
|
925 |
cls.priv_ip["A"] = nic["ipv4"] |
|
926 |
|
|
927 |
for nic in nicsB: |
|
928 |
if nic["network_id"] == self.networkid: |
|
929 |
cls.priv_ip["B"] = nic["ipv4"] |
|
914 | 930 |
|
915 | 931 |
self.assertTrue(conn_exists) |
916 | 932 |
|
... | ... | |
947 | 963 |
|
948 | 964 |
self.assertTrue(active) |
949 | 965 |
|
950 |
# def test_002b_ping_server_A(self):
|
|
951 |
# "Test if server A responds to IPv4 pings"
|
|
966 |
def test_002b_ping_server_A(self): |
|
967 |
"Test if server A responds to IPv4 pings" |
|
952 | 968 |
|
953 |
# log.info("Testing if server A responds to IPv4 pings ")
|
|
969 |
log.info("Testing if server A responds to IPv4 pings ") |
|
954 | 970 |
|
955 |
# server = self.client.get_server_details(self.serverid['A'])
|
|
956 |
# ip = self._get_ipv4(server)
|
|
971 |
server = self.client.get_server_details(self.serverid['A']) |
|
972 |
ip = self._get_ipv4(server) |
|
957 | 973 |
|
958 |
# fail_tmout = time.time() + self.action_timeout
|
|
974 |
fail_tmout = time.time() + self.action_timeout |
|
959 | 975 |
|
960 |
# s = False
|
|
976 |
s = False |
|
961 | 977 |
|
962 |
# while True:
|
|
978 |
while True: |
|
963 | 979 |
|
964 |
# if self._ping_once(ip):
|
|
965 |
# s = True
|
|
966 |
# break
|
|
980 |
if self._ping_once(ip): |
|
981 |
s = True |
|
982 |
break |
|
967 | 983 |
|
968 |
# elif time.time() > fail_tmout:
|
|
969 |
# self.assertLess(time.time(), fail_tmout)
|
|
984 |
elif time.time() > fail_tmout: |
|
985 |
self.assertLess(time.time(), fail_tmout) |
|
970 | 986 |
|
971 |
# else:
|
|
972 |
# time.sleep(self.query_interval)
|
|
987 |
else: |
|
988 |
time.sleep(self.query_interval) |
|
973 | 989 |
|
974 |
# self.assertTrue(s)
|
|
990 |
self.assertTrue(s) |
|
975 | 991 |
|
976 | 992 |
def test_002c_reboot(self): |
977 | 993 |
"""Reboot server B""" |
... | ... | |
1006 | 1022 |
|
1007 | 1023 |
self.assertTrue(active) |
1008 | 1024 |
|
1009 |
# def test_002d_ping_server_B(self):
|
|
1010 |
# """Test if server B responds to IPv4 pings"""
|
|
1025 |
def test_002d_ping_server_B(self): |
|
1026 |
"""Test if server B responds to IPv4 pings""" |
|
1011 | 1027 |
|
1012 |
# log.info("Testing if server B responds to IPv4 pings")
|
|
1013 |
# server = self.client.get_server_details(self.serverid['B'])
|
|
1014 |
# ip = self._get_ipv4(server)
|
|
1028 |
log.info("Testing if server B responds to IPv4 pings") |
|
1029 |
server = self.client.get_server_details(self.serverid['B']) |
|
1030 |
ip = self._get_ipv4(server) |
|
1015 | 1031 |
|
1016 |
# fail_tmout = time.time() + self.action_timeout
|
|
1032 |
fail_tmout = time.time() + self.action_timeout |
|
1017 | 1033 |
|
1018 |
# s = False
|
|
1034 |
s = False |
|
1019 | 1035 |
|
1020 |
# while True:
|
|
1021 |
# if self._ping_once(ip):
|
|
1022 |
# s = True
|
|
1023 |
# break
|
|
1036 |
while True: |
|
1037 |
if self._ping_once(ip): |
|
1038 |
s = True |
|
1039 |
break |
|
1024 | 1040 |
|
1025 |
# elif time.time() > fail_tmout:
|
|
1026 |
# self.assertLess(time.time(), fail_tmout)
|
|
1041 |
elif time.time() > fail_tmout: |
|
1042 |
self.assertLess(time.time(), fail_tmout) |
|
1027 | 1043 |
|
1028 |
# else:
|
|
1029 |
# time.sleep(self.query_interval)
|
|
1044 |
else: |
|
1045 |
time.sleep(self.query_interval) |
|
1030 | 1046 |
|
1031 |
# self.assertTrue(s)
|
|
1047 |
self.assertTrue(s) |
|
1032 | 1048 |
|
1033 |
# def test_003a_setup_interface_A(self):
|
|
1034 |
# """Set up eth1 for server A"""
|
|
1049 |
def test_003a_setup_interface_A(self): |
|
1050 |
"""Set up eth1 for server A""" |
|
1035 | 1051 |
|
1036 |
# self._skipIf(self.is_windows, "only valid for Linux servers")
|
|
1052 |
self._skipIf(self.is_windows, "only valid for Linux servers") |
|
1037 | 1053 |
|
1038 |
# log.info("Setting up interface eth1 for server A")
|
|
1054 |
log.info("Setting up interface eth1 for server A") |
|
1039 | 1055 |
|
1040 |
# server = self.client.get_server_details(self.serverid['A'])
|
|
1041 |
# image = self.client.get_image_details(self.imageid)
|
|
1042 |
# os = image['metadata']['values']['os']
|
|
1056 |
server = self.client.get_server_details(self.serverid['A']) |
|
1057 |
image = self.client.get_image_details(self.imageid) |
|
1058 |
os = image['metadata']['values']['os'] |
|
1043 | 1059 |
|
1044 |
# users = image["metadata"]["values"].get("users", None)
|
|
1045 |
# userlist = users.split()
|
|
1060 |
users = image["metadata"]["values"].get("users", None) |
|
1061 |
userlist = users.split() |
|
1046 | 1062 |
|
1047 |
# if "root" in userlist:
|
|
1048 |
# loginname = "root"
|
|
1049 |
# elif users == None:
|
|
1050 |
# loginname = self._connect_loginname(os)
|
|
1051 |
# else:
|
|
1052 |
# loginname = choice(userlist)
|
|
1063 |
if "root" in userlist: |
|
1064 |
loginname = "root" |
|
1065 |
elif users == None: |
|
1066 |
loginname = self._connect_loginname(os) |
|
1067 |
else: |
|
1068 |
loginname = choice(userlist) |
|
1053 | 1069 |
|
1054 |
# hostip = self._get_ipv4(server)
|
|
1055 |
# myPass = self.password['A']
|
|
1070 |
hostip = self._get_ipv4(server) |
|
1071 |
myPass = self.password['A'] |
|
1056 | 1072 |
|
1057 |
# log.info("SSH in server A as %s/%s" % (loginname, myPass))
|
|
1073 |
log.info("SSH in server A as %s/%s" % (loginname, myPass)) |
|
1058 | 1074 |
|
1059 |
# res = False
|
|
1075 |
res = False |
|
1060 | 1076 |
|
1061 |
# if loginname != "root":
|
|
1062 |
# with settings(
|
|
1063 |
# hide('warnings', 'running'),
|
|
1064 |
# warn_only=True,
|
|
1065 |
# host_string=hostip,
|
|
1066 |
# user=loginname, password=myPass
|
|
1067 |
# ):
|
|
1077 |
if loginname != "root": |
|
1078 |
with settings( |
|
1079 |
hide('warnings', 'running'), |
|
1080 |
warn_only=True, |
|
1081 |
host_string=hostip, |
|
1082 |
user=loginname, password=myPass |
|
1083 |
): |
|
1068 | 1084 |
|
1069 |
# if len(sudo('ifconfig eth1 10.0.0.5')) == 0:
|
|
1070 |
# res = True
|
|
1085 |
if len(sudo('ifconfig eth1 %s' % self.priv_ip["A"])) == 0:
|
|
1086 |
res = True |
|
1071 | 1087 |
|
1072 |
# else:
|
|
1073 |
# with settings(
|
|
1074 |
# hide('warnings', 'running'),
|
|
1075 |
# warn_only=True,
|
|
1076 |
# host_string=hostip,
|
|
1077 |
# user=loginname, password=myPass
|
|
1078 |
# ):
|
|
1088 |
else: |
|
1089 |
with settings( |
|
1090 |
hide('warnings', 'running'), |
|
1091 |
warn_only=True, |
|
1092 |
host_string=hostip, |
|
1093 |
user=loginname, password=myPass |
|
1094 |
): |
|
1079 | 1095 |
|
1080 |
# if len(run('ifconfig eth1 10.0.0.5')) == 0:
|
|
1081 |
# res = True
|
|
1096 |
if len(run('ifconfig eth1 %s' % self.priv_ip["A"])) == 0:
|
|
1097 |
res = True |
|
1082 | 1098 |
|
1083 |
# self.assertTrue(res)
|
|
1099 |
self.assertTrue(res) |
|
1084 | 1100 |
|
1085 |
# def test_003b_setup_interface_B(self):
|
|
1086 |
# """Setup eth1 for server B"""
|
|
1101 |
def test_003b_setup_interface_B(self): |
|
1102 |
"""Setup eth1 for server B""" |
|
1087 | 1103 |
|
1088 |
# self._skipIf(self.is_windows, "only valid for Linux servers")
|
|
1104 |
self._skipIf(self.is_windows, "only valid for Linux servers") |
|
1089 | 1105 |
|
1090 |
# log.info("Setting up interface eth1 for server B")
|
|
1106 |
log.info("Setting up interface eth1 for server B") |
|
1091 | 1107 |
|
1092 |
# server = self.client.get_server_details(self.serverid['B'])
|
|
1093 |
# image = self.client.get_image_details(self.imageid)
|
|
1094 |
# os = image['metadata']['values']['os']
|
|
1108 |
server = self.client.get_server_details(self.serverid['B']) |
|
1109 |
image = self.client.get_image_details(self.imageid) |
|
1110 |
os = image['metadata']['values']['os'] |
|
1095 | 1111 |
|
1096 |
# users = image["metadata"]["values"].get("users", None)
|
|
1097 |
# userlist = users.split()
|
|
1112 |
users = image["metadata"]["values"].get("users", None) |
|
1113 |
userlist = users.split() |
|
1098 | 1114 |
|
1099 |
# if "root" in userlist:
|
|
1100 |
# loginname = "root"
|
|
1101 |
# elif users == None:
|
|
1102 |
# loginname = self._connect_loginname(os)
|
|
1103 |
# else:
|
|
1104 |
# loginname = choice(userlist)
|
|
1115 |
if "root" in userlist: |
|
1116 |
loginname = "root" |
|
1117 |
elif users == None: |
|
1118 |
loginname = self._connect_loginname(os) |
|
1119 |
else: |
|
1120 |
loginname = choice(userlist) |
|
1105 | 1121 |
|
1106 |
# hostip = self._get_ipv4(server)
|
|
1107 |
# myPass = self.password['B']
|
|
1122 |
hostip = self._get_ipv4(server) |
|
1123 |
myPass = self.password['B'] |
|
1108 | 1124 |
|
1109 |
# log.info("SSH in server B as %s/%s" % (loginname, myPass))
|
|
1125 |
log.info("SSH in server B as %s/%s" % (loginname, myPass)) |
|
1110 | 1126 |
|
1111 |
# res = False
|
|
1127 |
res = False |
|
1112 | 1128 |
|
1113 |
# if loginname != "root":
|
|
1114 |
# with settings(
|
|
1115 |
# hide('warnings', 'running'),
|
|
1116 |
# warn_only=True,
|
|
1117 |
# host_string=hostip,
|
|
1118 |
# user=loginname, password=myPass
|
|
1119 |
# ):
|
|
1129 |
if loginname != "root": |
|
1130 |
with settings( |
|
1131 |
hide('warnings', 'running'), |
|
1132 |
warn_only=True, |
|
1133 |
host_string=hostip, |
|
1134 |
user=loginname, password=myPass |
|
1135 |
): |
|
1120 | 1136 |
|
1121 |
# if len(sudo('ifconfig eth1 10.0.0.6')) == 0:
|
|
1122 |
# res = True
|
|
1137 |
if len(sudo('ifconfig eth1 %s' % self.priv_ip["B"])) == 0:
|
|
1138 |
res = True |
|
1123 | 1139 |
|
1124 |
# else:
|
|
1125 |
# with settings(
|
|
1126 |
# hide('warnings', 'running'),
|
|
1127 |
# warn_only=True,
|
|
1128 |
# host_string=hostip,
|
|
1129 |
# user=loginname, password=myPass
|
|
1130 |
# ):
|
|
1140 |
else: |
|
1141 |
with settings( |
|
1142 |
hide('warnings', 'running'), |
|
1143 |
warn_only=True, |
|
1144 |
host_string=hostip, |
|
1145 |
user=loginname, password=myPass |
|
1146 |
): |
|
1131 | 1147 |
|
1132 |
# if len(run('ifconfig eth1 10.0.0.6')) == 0:
|
|
1133 |
# res = True
|
|
1148 |
if len(run('ifconfig eth1 %s' % self.priv_ip["B"])) == 0:
|
|
1149 |
res = True |
|
1134 | 1150 |
|
1135 |
# self.assertTrue(res)
|
|
1151 |
self.assertTrue(res) |
|
1136 | 1152 |
|
1137 |
# def test_003c_test_connection_exists(self):
|
|
1138 |
# """Ping server B from server A to test if connection exists"""
|
|
1153 |
def test_003c_test_connection_exists(self): |
|
1154 |
"""Ping server B from server A to test if connection exists""" |
|
1139 | 1155 |
|
1140 |
# self._skipIf(self.is_windows, "only valid for Linux servers")
|
|
1156 |
self._skipIf(self.is_windows, "only valid for Linux servers") |
|
1141 | 1157 |
|
1142 |
# log.info("Testing if server A is actually connected to server B")
|
|
1158 |
log.info("Testing if server A is actually connected to server B") |
|
1143 | 1159 |
|
1144 |
# server = self.client.get_server_details(self.serverid['A'])
|
|
1145 |
# image = self.client.get_image_details(self.imageid)
|
|
1146 |
# os = image['metadata']['values']['os']
|
|
1147 |
# hostip = self._get_ipv4(server)
|
|
1160 |
server = self.client.get_server_details(self.serverid['A']) |
|
1161 |
image = self.client.get_image_details(self.imageid) |
|
1162 |
os = image['metadata']['values']['os'] |
|
1163 |
hostip = self._get_ipv4(server) |
|
1148 | 1164 |
|
1149 |
# users = image["metadata"]["values"].get("users", None)
|
|
1150 |
# userlist = users.split()
|
|
1165 |
users = image["metadata"]["values"].get("users", None) |
|
1166 |
userlist = users.split() |
|
1151 | 1167 |
|
1152 |
# if "root" in userlist:
|
|
1153 |
# loginname = "root"
|
|
1154 |
# elif users == None:
|
|
1155 |
# loginname = self._connect_loginname(os)
|
|
1156 |
# else:
|
|
1157 |
# loginname = choice(userlist)
|
|
1168 |
if "root" in userlist: |
|
1169 |
loginname = "root" |
|
1170 |
elif users == None: |
|
1171 |
loginname = self._connect_loginname(os) |
|
1172 |
else: |
|
1173 |
loginname = choice(userlist) |
|
1158 | 1174 |
|
1159 |
# myPass = self.password['A']
|
|
1175 |
myPass = self.password['A'] |
|
1160 | 1176 |
|
1161 |
# try:
|
|
1162 |
# ssh = paramiko.SSHClient()
|
|
1163 |
# ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
|
|
1164 |
# ssh.connect(hostip, username=loginname, password=myPass)
|
|
1165 |
# except socket.error:
|
|
1166 |
# raise AssertionError
|
|
1177 |
try: |
|
1178 |
ssh = paramiko.SSHClient() |
|
1179 |
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) |
|
1180 |
ssh.connect(hostip, username=loginname, password=myPass) |
|
1181 |
except socket.error: |
|
1182 |
raise AssertionError |
|
1167 | 1183 |
|
1168 |
# cmd = "if ping -c 2 -w 3 10.0.0.6 >/dev/null; \
|
|
1169 |
# then echo \'True\'; fi;"
|
|
1170 |
# stdin, stdout, stderr = ssh.exec_command(cmd)
|
|
1171 |
# lines = stdout.readlines()
|
|
1184 |
cmd = "if ping -c 2 -w 3 %s >/dev/null; \
|
|
1185 |
then echo \'True\'; fi;" % self.priv_ip["B"]
|
|
1186 |
stdin, stdout, stderr = ssh.exec_command(cmd) |
|
1187 |
lines = stdout.readlines() |
|
1172 | 1188 |
|
1173 |
# exists = False
|
|
1189 |
exists = False |
|
1174 | 1190 |
|
1175 |
# if 'True\n' in lines:
|
|
1176 |
# exists = True
|
|
1191 |
if 'True\n' in lines: |
|
1192 |
exists = True |
|
1177 | 1193 |
|
1178 |
# self.assertTrue(exists)
|
|
1194 |
self.assertTrue(exists) |
|
1179 | 1195 |
|
1180 | 1196 |
def test_004_disconnect_from_network(self): |
1181 | 1197 |
"Disconnecting server A and B from network" |
Also available in: Unified diff