CI: test_tango_regulation fails during setup (starting the tango server times out)
https://gitlab.esrf.fr/bliss/bliss/-/jobs/729168
___________________ ERROR at setup of test_tango_regulation ____________________
device_fqdn = 'tango://localhost:35987/dserver/regulation/test'
admin_device_fqdn = None, state = None, wait_db = True, timeout = None
timeout_msg = 'Admin device tango://localhost:35987/dserver/regulation/test is not running'
def wait_tango_device(
device_fqdn=None,
admin_device_fqdn=None,
state=DevState.ON,
wait_db=True,
timeout=10,
timeout_msg=None,
):
"""Wait until the tango device comes online and return a proxy.
:param str device_fqdn: tango device URL for ping and state checking
:param str admin_device_fqdn: wait for this device before `device_fqdn`
:param DevState state: required tate to be considered online (default: ON)
:param num timeout:
:param str timeout_msg:
:param bool wait_db: wait for the tango database to go online
:returns DeviceProxy:
"""
db_err_msg = f"Cannot create a proxy to {device_fqdn} (Tango database offline?)"
if not timeout_msg:
timeout_msg = f"{device_fqdn} is not running"
exception = None
err_msg = None
try:
with gevent.Timeout(timeout):
# Wait until the admin device and optionally the database are online
if admin_device_fqdn:
wait_tango_device(
device_fqdn=admin_device_fqdn,
wait_db=wait_db,
state=None,
timeout=None,
timeout_msg=f"Admin device {admin_device_fqdn} is not running",
)
wait_db = False
# Wait until the device and optionally the database are online
while True:
# Check whether database is online.
try:
dev_proxy = DeviceProxy(device_fqdn)
except DevFailed as e:
err_msg = db_err_msg
if wait_db:
exception = e
gevent.sleep(0.1)
else:
raise
else:
# Database is online. Now check whether the device is online.
err_msg = timeout_msg
try:
> dev_proxy.ping()
/opt/conda/envs/default_env/lib/python3.9/site-packages/bliss/tango/clients/utils.py:137:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/opt/conda/envs/default_env/lib/python3.9/site-packages/bliss/common/tango.py:150: in logging_call
ret = tango_func(*args)
/opt/conda/envs/default_env/lib/python3.9/site-packages/tango/green.py:195: in greener
return executor.run(fn, args, kwargs, wait=wait, timeout=timeout)
/opt/conda/envs/default_env/lib/python3.9/site-packages/tango/green.py:114: in run
return self.access(accessor, timeout=timeout)
/opt/conda/envs/default_env/lib/python3.9/site-packages/tango/gevent_executor.py:155: in access
return accessor.get(timeout=timeout)
src/gevent/event.py:329: in gevent._gevent_cevent.AsyncResult.get
???
src/gevent/event.py:359: in gevent._gevent_cevent.AsyncResult.get
???
src/gevent/event.py:347: in gevent._gevent_cevent.AsyncResult.get
???
src/gevent/event.py:327: in gevent._gevent_cevent.AsyncResult._raise_exception
???
/opt/conda/envs/default_env/lib/python3.9/site-packages/gevent/_compat.py:48: in reraise
raise value.with_traceback(tb)
/opt/conda/envs/default_env/lib/python3.9/site-packages/tango/gevent_executor.py:68: in wrapper
return func(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> return self._ping(*args, **kwargs)
E PyTango.ConnectionFailed: DevFailed[
E DevError[
E desc = Device dserver/regulation/test is not exported (hint: try starting the device server)
E origin = DeviceProxy::get_corba_name()
E reason = API_DeviceNotExported
E severity = ERR]
E ]
/opt/conda/envs/default_env/lib/python3.9/site-packages/tango/device_proxy.py:1565: ConnectionFailed