Properly handle ProviderError during multi checkout
jameerpathan111 opened this issue · comments
Jameer Pathan commented
Traceback when trying to checkout two hosts using VMBroker(when user exceeds SLA limit of 6):
==================================== ERRORS ====================================
________ ERROR at setup of test_positive_inventory_generate_upload_cli _________
concurrent.futures.process._RemoteTraceback:
'''
Traceback (most recent call last):
File "/usr/local/lib/python3.8/concurrent/futures/process.py", line 368, in _queue_management_worker
result_item = result_reader.recv()
File "/usr/local/lib/python3.8/multiprocessing/connection.py", line 251, in recv
return _ForkingPickler.loads(buf.getbuffer())
TypeError: __init__() missing 2 required positional arguments: 'provider' and 'message'
'''
The above exception was the direct cause of the following exception:
@pytest.fixture(scope='module')
def content_hosts():
"""A module-level fixture that provides two content hosts object based on the rhel7 nick"""
> with VMBroker(nick='rhel7', host_classes={'host': ContentHost}, _count=2) as hosts:
pytest_fixtures/rh_cloud.py:32:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../env_robottelo_38/lib/python3.8/site-packages/broker/broker.py:291: in __enter__
raise err
../env_robottelo_38/lib/python3.8/site-packages/broker/broker.py:284: in __enter__
hosts = self.checkout(connect=True)
../env_robottelo_38/lib/python3.8/site-packages/broker/broker.py:136: in checkout
hosts = self._checkout()
../env_robottelo_38/lib/python3.8/site-packages/broker/broker.py:67: in mp_split
results.extend(f.result())
/usr/local/lib/python3.8/concurrent/futures/_base.py:432: in result
return self.__get_result()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Future at 0x7f64fec1d0d0 state=finished raised BrokenProcessPool>
def __get_result(self):
if self._exception:
> raise self._exception
E concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.
/usr/local/lib/python3.8/concurrent/futures/_base.py:388: BrokenProcessPool
=============================== warnings summary ===============================