SatelliteQE / broker

The infrastructure middleman

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Properly handle ProviderError during multi checkout

jameerpathan111 opened this issue · comments

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 ===============================