[Fullstack] Wait until min QoS and Queue registers are set in DB
Wait until the minimum bandwidth Qos and Queue registers are set in the OVS DB. In case of error, log the QoS and Queue registers present at this moment. Change-Id: Ifb2f731d7d04e237d4e47ba486169348684c8b78 Related-Bug: #1737892
This commit is contained in:
parent
f71b6b361e
commit
f5c5755100
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue