commit 5b44cff2e78f319c581e8bffce36f9f1be1ab1fe Author: Eduardo Olivares Date: Wed Oct 14 12:45:29 2020 +0200 Check only running containers on assert_containers_running Change-Id: Ie7d1bb88ea0003ac42b80581c7807503458d57e9 diff --git a/tobiko/tripleo/containers.py b/tobiko/tripleo/containers.py index 3333ef5..a933990 100644 --- a/tobiko/tripleo/containers.py +++ b/tobiko/tripleo/containers.py @@ -138,14 +138,21 @@ def assert_containers_running(group, expected_containers, full_name=True): format(container, node.name)) # if container exists, check it is running else: - container_state = \ - container_attrs.container_state.values.item() - if not container_state == 'running': + # only one running container is expected + container_running_attrs = container_attrs.query( + 'container_state=="running"') + if container_running_attrs.empty: failures.append( 'expected container {} is not running on node {} , ' - 'its state is {}! : \n\n'.format(container, - node.name, - container_state)) + 'its state is {}! : \n\n'.format( + container, node.name, + container_attrs.container_state.values.item())) + elif len(container_running_attrs) > 1: + failures.append( + 'only one running container {} was expected on ' + 'node {}, but got {}! : \n\n'.format( + container, node.name, + len(container_running_attrs))) if failures: tobiko.fail('container states mismatched:\n{!s}', '\n'.join(failures))