Change check_ping to use ssh_manager
Implements blueprint sshmanager-integration Change-Id: Ic30ebcdc74d4d4050360cbcd27ffb022953285d4
This commit is contained in:
parent
3974f8f35b
commit
8545b71da2
|
@ -25,6 +25,7 @@ import yaml
|
|||
|
||||
from fuelweb_test import logger
|
||||
from fuelweb_test import logwrap
|
||||
from fuelweb_test.helpers.ssh_manager import SSHManager
|
||||
from fuelweb_test.helpers.utils import run_on_remote
|
||||
from fuelweb_test.helpers.utils import run_on_remote_get_results
|
||||
from fuelweb_test.settings import MASTER_IS_CENTOS7
|
||||
|
@ -993,9 +994,9 @@ def get_file_size(remote, file_name, file_path):
|
|||
|
||||
|
||||
@logwrap
|
||||
def check_ping(remote, host, deadline=10, size=56, timeout=1, interval=1):
|
||||
def check_ping(ip, host, deadline=10, size=56, timeout=1, interval=1):
|
||||
"""Check network connectivity from remote to host using ICMP (ping)
|
||||
:param remote: SSHClient
|
||||
:param ip: remote ip
|
||||
:param host: string IP address or host/domain name
|
||||
:param deadline: time in seconds before ping exits
|
||||
:param size: size of data to be sent
|
||||
|
@ -1003,13 +1004,15 @@ def check_ping(remote, host, deadline=10, size=56, timeout=1, interval=1):
|
|||
:param interval: wait interval seconds between sending each packet
|
||||
:return: bool: True if ping command
|
||||
"""
|
||||
ssh_manager = SSHManager()
|
||||
cmd = ("ping -W {timeout} -i {interval} -s {size} -c 1 -w {deadline} "
|
||||
"{host}".format(host=host,
|
||||
size=size,
|
||||
timeout=timeout,
|
||||
interval=interval,
|
||||
deadline=deadline))
|
||||
return int(remote.execute(cmd)['exit_code']) == 0
|
||||
res = ssh_manager.execute(ip, cmd)
|
||||
return int(res['exit_code']) == 0
|
||||
|
||||
|
||||
@logwrap
|
||||
|
|
|
@ -72,7 +72,6 @@ class CustomHostname(TestBasic):
|
|||
cluster_id=cluster_id, test_sets=['ha', 'smoke', 'sanity'])
|
||||
|
||||
hostname_pattern = "node-\d{1,2}"
|
||||
admin_remote = self.env.d_env.get_admin_remote()
|
||||
|
||||
for node in self.fuel_web.client.list_cluster_nodes(cluster_id):
|
||||
devops_node = self.fuel_web.get_devops_node_by_nailgun_node(node)
|
||||
|
@ -87,12 +86,11 @@ class CustomHostname(TestBasic):
|
|||
|
||||
# Verify that a node is accessible by the default hostname
|
||||
assert_true(
|
||||
check_ping(admin_remote, node['hostname']),
|
||||
check_ping(self.env.get_admin_node_ip(),
|
||||
node['hostname']),
|
||||
"{0} node is not accessible by its default "
|
||||
"hostname {1}".format(devops_node.name, node['hostname']))
|
||||
|
||||
admin_remote.clear()
|
||||
|
||||
self.env.make_snapshot("default_hostname")
|
||||
|
||||
@test(depends_on=[SetupEnvironment.prepare_slaves_5],
|
||||
|
|
|
@ -24,6 +24,7 @@ from proboscis import SkipTest
|
|||
from proboscis import test
|
||||
|
||||
from fuelweb_test.helpers.checkers import check_get_network_data_over_cli
|
||||
from fuelweb_test.helpers.checkers import check_ping
|
||||
from fuelweb_test.helpers.checkers import check_update_network_data_over_cli
|
||||
from fuelweb_test.helpers.decorators import check_fuel_statistics
|
||||
from fuelweb_test.helpers.decorators import log_snapshot_after_test
|
||||
|
@ -431,13 +432,13 @@ class TestMultipleClusterNets(TestBasic):
|
|||
"controller via {0} interface.".format(interface))
|
||||
for ip in new_node_networks[interface]['ip_addresses']:
|
||||
address = ip.split('/')[0]
|
||||
result = self.ssh_manager.execute(ip=primary_ctrl['ip'],
|
||||
cmd='ping -q -c 1 -w 3 {'
|
||||
'0}'.format(address))
|
||||
asserts.assert_equal(result['exit_code'], 0,
|
||||
"New node isn't accessible from "
|
||||
"primary controller via {0} interface"
|
||||
": {1}.".format(interface, result))
|
||||
result = check_ping(primary_ctrl['ip'],
|
||||
address,
|
||||
timeout=3)
|
||||
asserts.assert_true(result,
|
||||
"New node isn't accessible from "
|
||||
"primary controller via {0} interface"
|
||||
": {1}.".format(interface, result))
|
||||
|
||||
self.env.make_snapshot("add_custom_nodegroup")
|
||||
|
||||
|
|
|
@ -414,19 +414,18 @@ class TestOSupgrade(base_test_data.TestBasic):
|
|||
non_ping_ips.append(data["ip"].split("/")[0])
|
||||
|
||||
for node in controllers + old_computes:
|
||||
with self.env.d_env.get_ssh_to_remote(node["ip"]) as remote:
|
||||
remote.execute("ip -s -s neigh flush all")
|
||||
self.ssh_manager.execute(node["ip"], "ip -s -s neigh flush all")
|
||||
|
||||
for ip in ping_ips:
|
||||
assert_true(checkers.check_ping(remote, ip),
|
||||
"Can not ping {0} from {1}"
|
||||
"need to check network"
|
||||
" connectivity".format(ip, node["ip"]))
|
||||
for ip in ping_ips:
|
||||
assert_true(checkers.check_ping(node["ip"], ip),
|
||||
"Can not ping {0} from {1}"
|
||||
"need to check network"
|
||||
" connectivity".format(ip, node["ip"]))
|
||||
|
||||
for ip in non_ping_ips:
|
||||
assert_false(checkers.check_ping(remote, ip),
|
||||
"Patch ports from old controllers"
|
||||
"isn't removed")
|
||||
for ip in non_ping_ips:
|
||||
assert_false(checkers.check_ping(node["ip"], ip),
|
||||
"Patch ports from old controllers"
|
||||
"isn't removed")
|
||||
|
||||
time.sleep(180) # TODO need to remove
|
||||
# after fix of https://bugs.launchpad.net/fuel/+bug/1499696
|
||||
|
|
|
@ -562,11 +562,10 @@ class TestHaFailoverBase(TestBasic):
|
|||
self.env.revert_snapshot(self.snapshot_name)
|
||||
cluster_id = self.fuel_web.get_last_created_cluster()
|
||||
for node in self.fuel_web.client.list_cluster_nodes(cluster_id):
|
||||
with self.env.d_env.get_ssh_to_remote(node['ip']) as remote:
|
||||
assert_true(
|
||||
check_ping(remote, DNS, deadline=120, interval=10),
|
||||
"No Internet access from {0}".format(node['fqdn'])
|
||||
)
|
||||
assert_true(
|
||||
check_ping(node['ip'], DNS, deadline=120, interval=10),
|
||||
"No Internet access from {0}".format(node['fqdn'])
|
||||
)
|
||||
|
||||
devops_node = self.fuel_web.get_nailgun_primary_node(
|
||||
self.env.d_env.nodes().slaves[0])
|
||||
|
@ -605,11 +604,11 @@ class TestHaFailoverBase(TestBasic):
|
|||
except TimeoutError:
|
||||
raise TimeoutError(
|
||||
"Primary controller was not destroyed")
|
||||
with self.fuel_web.get_ssh_for_node('slave-05') as remote:
|
||||
assert_true(
|
||||
check_ping(remote, DNS, deadline=120, interval=10),
|
||||
"No Internet access from {0}".format(node['fqdn'])
|
||||
)
|
||||
slave05 = self.fuel_web.get_nailgun_node_by_name('slave-05')
|
||||
assert_true(
|
||||
check_ping(slave05['ip'], DNS, deadline=120, interval=10),
|
||||
"No Internet access from {0}".format(node['fqdn'])
|
||||
)
|
||||
if OPENSTACK_RELEASE == OPENSTACK_RELEASE_UBUNTU:
|
||||
with self.fuel_web.get_ssh_for_node('slave-05') as remote:
|
||||
file_size1 = get_file_size(remote, file_name, file_path)
|
||||
|
|
Loading…
Reference in New Issue