Add specific values to specific fields in get_random_object_fields()

Bug #1705187 reported by Lujin Luo
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Undecided
Lujin Luo

Bug Description

In current neutron.tests.unit.objects.test_router.FloatingIPDbObjectTestCase.test_update_objects code path, all the field values are generated randomly by get_random_object_fields(). 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

Lujin Luo (luo-lujin)
Changed in neutron:
assignee: nobody → Lujin Luo (luo-lujin)
description: updated
summary: - Add specific values to random object fields
+ Add specific values to specific fields in get_random_object_fields()
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.openstack.org/485082

Changed in neutron:
status: New → In Progress
Revision history for this message
Ihar Hrachyshka (ihar-hrachyshka) wrote :
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.openstack.org/485082
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=d24abbe792c7ddb911c4f7ffee5c3b2fced4650b
Submitter: Jenkins
Branch: master

commit d24abbe792c7ddb911c4f7ffee5c3b2fced4650b
Author: Lujin <email address hidden>
Date: Wed Jul 19 16:34:33 2017 +0900

    Add specific values to specific fields in get_random_object_fields()

    Generally, get_random_object_fields() generates random values to
    update OVO objects. However, in some cases, specific values are
    required, otherwise Foreign Key violation is triggered.

    This patch adds a dictionary to hold all updatable fields which
    require specific values.

    Change-Id: I6da72c3ac43f01b5ffa21f128fb3eeaf9fd0a503
    Closes-Bug: #1705187

Changed in neutron:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 11.0.0.0b3

This issue was fixed in the openstack/neutron 11.0.0.0b3 development milestone.

tags: added: neutron-proactive-backport-potential
tags: removed: neutron-proactive-backport-potential
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.