from typing import List
import concurrent.futures
import time
+import keystoneauth1.exceptions
from osm_mon.collector.infra_collectors.onos import OnosInfraCollector
from osm_mon.collector.infra_collectors.openstack import OpenstackInfraCollector
for future in concurrent.futures.as_completed(
futures, self.conf.get("collector", "process_execution_timeout")
):
- result = future.result(
- timeout=int(
- self.conf.get("collector", "process_execution_timeout")
+ try:
+ result = future.result(
+ timeout=int(
+ self.conf.get("collector", "process_execution_timeout")
+ )
)
- )
- metrics.extend(result)
- log.debug("result = %s" % (result))
+ metrics.extend(result)
+ log.debug("result = %s" % (result))
+ except keystoneauth1.exceptions.connection.ConnectTimeout as e:
+ log.info("Keystone connection timeout during metric collection")
+ log.debug("Keystone connection timeout exception %s" % (e))
except concurrent.futures.TimeoutError as e:
# Some processes have not completed due to timeout error
log.info(