Comment 0 for bug 1705187

Revision history for this message
Lujin Luo (luo-lujin) wrote : Add specific values to random object fields

In current neutron.tests.unit.objects.test_router.FloatingIPDbObjectTestCase.test_update_objects code path, all the field values are generated randomly. However in several cases, the actual object is required to fulfill Foreign Key requirement.

An example here is FloatingIP OVO. It updates router_id and fixed_port_id, but without actual objects we will see the following errors.

oslo_db.exception.DBReferenceError: (sqlite3.IntegrityError) FOREIGN KEY constraint failed [SQL: u'UPDATE floatingips SET project_id=?, floating_ip_address=?, floating_network_id=?, floating_port_id=?, fixed_port_id=?, fixed_ip_address=?, router_id=?, last_known_router_id=?, status=? WHERE floatingips.id = ?'] [parameters: (u'082f1ab417', '10.81.171.5', '7290820a-186b-43d5-bdb6-b06390d62f96', '96a2689b-f31d-4660-9253-cb27d1d44ffc', '323da865-b33d-48e9-b5c2-650cb7ead20f', '10.186.214.129', '0b093c10-5947-44b6-9c11-3484ef7565fc', 'fc9e158f-522f-42b2-9ce4-49a88e22d535', u'DOWN', u'11d0ed9e-191a-41b6-839b-107257559929')]

Reference to more logs can be found in https://review.openstack.org/#/c/481972