From: Guillaume Abrioux Date: Thu, 13 Jul 2017 10:37:15 +0000 (+0200) Subject: tests: fix test_osds_listen_on_* tests X-Git-Tag: v2.3.0rc3~5^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F1675%2Fhead;p=ceph-ansible.git tests: fix test_osds_listen_on_* tests the `test_osds_listen_on_*` consider OSDs will always listen on tcp port with consecutive tcp port number starting from `6800`. Eg. If you have 2 OSDs, tests will assume it should listen on 2 ports for each network (`public_network` and `cluster_network`), therefore: `6800, 6801, 6802, 6803` but sometime it doesn't happen this way and you can get OSDs listening on tcp port like this : `6800, 6801, 6802, 6805` Then the test are failing while it shouldn't. Signed-off-by: Guillaume Abrioux --- diff --git a/tests/functional/tests/osd/test_osds.py b/tests/functional/tests/osd/test_osds.py index 4ae18165b..e0465c401 100644 --- a/tests/functional/tests/osd/test_osds.py +++ b/tests/functional/tests/osd/test_osds.py @@ -7,23 +7,15 @@ class TestOSDs(object): def test_ceph_osd_package_is_installed(self, node, Package): assert Package("ceph-osd").is_installed - def test_osds_listen_on_public_network(self, node, Socket): + def test_osds_listen_on_public_network(self, node, Command): # TODO: figure out way to paramaterize this test - for x in range(0, node["num_devices"] * 2): - port = "680{}".format(x) - assert Socket("tcp://{address}:{port}".format( - address=node["address"], - port=port, - )).is_listening - - def test_osds_listen_on_cluster_network(self, node, Socket): + nb_port = (node["num_devices"] * 2) + assert Command.check_output("netstat -lntp | grep ceph-osd | grep %s | wc -l" % (node["address"])) == str(nb_port) + + def test_osds_listen_on_cluster_network(self, node, Command): # TODO: figure out way to paramaterize this test - for x in range(0, node["num_devices"] * 2): - port = "680{}".format(x) - assert Socket("tcp://{address}:{port}".format( - address=node["cluster_address"], - port=port, - )).is_listening + nb_port = (node["num_devices"] * 2) + assert Command.check_output("netstat -lntp | grep ceph-osd | grep %s | wc -l" % (node["cluster_address"])) == str(nb_port) def test_osd_services_are_running(self, node, Service): # TODO: figure out way to paramaterize node['osds'] for this test