testing: CephNode should return osd_ids

This is an empty list on anything but an OSD node. These ids will be
used for further OSD testing.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
pull/1150/head
Andrew Schoen 2016-12-05 15:03:44 -06:00
parent 0e7133cfd0
commit e13da73a5e
1 changed files with 7 additions and 1 deletions

View File

@ -2,12 +2,17 @@ import pytest
@pytest.fixture()
def CephNode(Ansible, Interface, request):
def CephNode(Ansible, Interface, Command, request):
vars = Ansible.get_variables()
node_type = vars["group_names"][0]
if not request.node.get_marker(node_type) and not request.node.get_marker('all'):
pytest.skip("Not a valid test for node type")
osd_ids = []
if node_type == "osds":
result = Command.check_output('sudo ls /var/lib/ceph/osd/ | grep -oP "\d+$"')
osd_ids = result.split("\n")
# I can assume eth1 because I know all the vagrant
# boxes we test with use that interface
address = Interface("eth1").addresses[0]
@ -16,6 +21,7 @@ def CephNode(Ansible, Interface, request):
address=address,
subnet=subnet,
vars=vars,
osd_ids=osd_ids,
)
return data