From 3fef57a712db89e0efcd40e7316a051fda73f012 Mon Sep 17 00:00:00 2001 From: pinikomarov Date: Fri, 13 Mar 2020 01:41:05 +0200 Subject: [PATCH] speed up containers sequencial calls with cache Change-Id: Ic96b210522cd397e9ef9e3b4eb51b63aee3ba3b4 --- tobiko/tripleo/containers.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tobiko/tripleo/containers.py b/tobiko/tripleo/containers.py index 2f5f7d9e4..160ffc556 100644 --- a/tobiko/tripleo/containers.py +++ b/tobiko/tripleo/containers.py @@ -2,6 +2,7 @@ from __future__ import absolute_import import os import time +import functools from oslo_log import log import pandas @@ -203,10 +204,15 @@ def assert_all_tripleo_containers_running(): assert_ovn_containers_running() +@functools.lru_cache() +def ovn_used_on_overcloud(): + return list_containers_df()['container_name'].\ + str.contains('ovn').any(axis=None) + + def assert_ovn_containers_running(): # specific OVN verifications - if list_containers_df()['container_name'].\ - str.contains('ovn').any(axis=None): + if ovn_used_on_overcloud(): # TODO: deployments with networker nodes are not supported ovn_controller_containers = ['ovn_controller', 'ovn-dbs-bundle-{}-'. @@ -248,6 +254,7 @@ def comparable_container_keys(container, include_container_objects=False): container.attrs['State']['Status']) +@functools.lru_cache() def list_containers_objects_df(): containers_list = list_containers() containers_objects_list_df = pandas.DataFrame(