Merge "[Fullstack] Wait until min QoS and Queue registers are set in DB"

This commit is contained in:
Zuul 2020-02-21 03:23:53 +00:00 committed by Gerrit Code Review
commit d7ff361faa
1 changed files with 23 additions and 8 deletions

View File

@ -682,15 +682,30 @@ class TestMinBwQoSOvs(_TestMinBwQoS, base.BaseFullStackTestCase):
# NOTE(ralonsoh): the "_min_bw_qos_id" in vm.bridge is not the same as
# the ID in the agent br_int instance. We need first to find the QoS
# register and the Queue assigned to vm.neutron_port['id']
queue = vm.bridge._find_queue(vm.neutron_port['id'])
queue_num = int(queue['external_ids']['queue-num'])
qoses = vm.bridge._list_qos()
for qos in qoses:
qos_queue = qos['queues'].get(queue_num)
if qos_queue and qos_queue.uuid == queue['_uuid']:
return qos, qos_queue
data = {'qos': None, 'qos_queue': None, 'queue_num': None}
self.fail('QoS register not found with queue-num %s' % queue_num)
def check_qos_and_queue():
queue = vm.bridge._find_queue(vm.neutron_port['id'])
data['queue_num'] = int(queue['external_ids']['queue-num'])
qoses = vm.bridge._list_qos()
for qos in qoses:
qos_queue = qos['queues'].get(data['queue_num'])
if qos_queue and qos_queue.uuid == queue['_uuid']:
data['qos'] = qos
data['qos_queue'] = qos_queue
return True
try:
utils.wait_until_true(check_qos_and_queue, timeout=10)
return data['qos'], data['qos_queue']
except utils.WaitTimeout:
qoses = vm.bridge._list_qos()
queues = vm.bridge._list_queues()
queuenum = ('QoS register not found with queue-num %s' %
data['queue_num'])
qoses = '\nList of OVS QoS registers:\n%s' % '\n'.join(qoses)
queues = '\nList of OVS Queue registers:\n%s' % '\n'.join(queues)
self.fail(queuenum + qoses + queues)
def test_min_bw_qos_port_removed(self):
"""Test if min BW limit config is properly removed when port removed.