functional tests fail with native ovsdb_interface enabled

Bug #1578233 reported by Inessa Vasilevskaya
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Undecided
Inessa Vasilevskaya

Bug Description

When ovsdb_interface in config is set to native, a bunch of functional tests fails because of non-implemented comparison-to-list in search query (https://github.com/openstack/neutron/blob/master/neutron/agent/ovsdb/native/idlutils.py#L169)

Typical output for neutron.tests.functional.agent.test_firewall tests

ft29.1: neutron.tests.functional.agent.test_firewall.FirewallTestCase.test_allowed_address_pairs(OVS Firewall Driver)_StringException: Empty attachments:
  pythonlogging:''
  stderr
  stdout

Traceback (most recent call last):
  File "neutron/tests/functional/agent/test_firewall.py", line 98, in setUp
    self.assign_vlan_to_peers()
  File "neutron/tests/functional/agent/test_firewall.py", line 132, in assign_vlan_to_peers
    vlan = self.get_not_used_vlan()
  File "neutron/tests/functional/agent/test_firewall.py", line 140, in get_not_used_vlan
    used_vlan_tags = {val['tag'] for val in port_vlans}
  File "neutron/tests/functional/agent/test_firewall.py", line 140, in <setcomp>
    used_vlan_tags = {val['tag'] for val in port_vlans}
TypeError: unhashable type: 'list'

Tags: ovs-lib
Changed in neutron:
assignee: nobody → Inessa Vasilevskaya (ivasilevskaya)
Revision history for this message
Jakub Libosvar (libosvar) wrote :

Can you please provide links to failed test cases?

Ryan Moats (rmoats)
tags: added: ovs-lib
Changed in neutron:
status: New → Incomplete
description: updated
Revision history for this message
Jakub Libosvar (libosvar) wrote :

Thanks Inessa, got it. I pushed a patch for review to enable native interface of ovsdb for ovs firewall functional tests. I put a workaround for the issue you see. Once you have the patch ready, we can remove TODO from my patch to prove it works.

Link to my patch: https://review.openstack.org/#/c/312670/

Revision history for this message
Inessa Vasilevskaya (ivasilevskaya) wrote :
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/312697

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

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

commit bffc5f062c15757b58a597e0f1e380aa4d9166c6
Author: Inessa Vasilevskaya <email address hidden>
Date: Wed May 4 17:36:47 2016 +0300

    functional: fix OVSFW failure with native OVSDB api

    A bunch of functional tests fail because of non implemented
    x != [] operation in idlutils.condition_match() and
    wrong condition passed to db_find() in OVSFW test.
    This patch addresses the issue by implementing lists
    comparison in native.idlutils and fixing the call to
    db_find() in OVSFW test.

    A functional test for OVSDB API's db_find() has been
    added to ensure that querying a list column gives the same
    result both with vsctl and native ovsdb_interface; unit
    test for idlutils.condition_match() with corner cases has
    been added as well.

    Change-Id: Ia93fb925b8814210975904a453249f15f3646855
    Closes-bug: #1578233

Changed in neutron:
status: In Progress → Fix Released
Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/neutron 9.0.0.0b2

This issue was fixed in the openstack/neutron 9.0.0.0b2 development milestone.

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.