tree f0b601e5bfb434e8305276ffb94171d8afc265cc
parent ea503b6f87e107e523e6fd439c2ee162bfc7e56a
author Balazs Gibizer <balazs.gibizer@est.tech> 1629977899 +0200
committer Balazs Gibizer <balazs.gibizer@est.tech> 1631633253 +0000

Revert "Skip test_qos_min_bw_allocation_basic when not supported"

This reverts commit 0976ae4ee20c3faf7b2add3893ec3f8cbfa55db1. That
commit introduced a skip of MinBwAllocationPlacementTest tests if no
bandwidth allocation is possible to avoid failing these tests in OVN
jobs. However that is a wrong solutions as it would skip the test also
in OVS jobs if we regress the bandwidth inventory reporting in neutron
(or regress allocation candidate handling in placement).

A better fix is not to enable the tempest test flag on OVN jobs:
   $TEMPEST_CONFIG:
       network-feature-enabled:
           qos_placement_physnet

The existing tests already skipped if this is not configured.

This also means that the generic tempest-* job definitions should not
configure the above flag as those tempest jobs will run by default with
OVN. So they are cleaned up along with the OVS specific neutron configuration.

This means that jobs that was inherit from tempest-multinode-full-py3
and tempest-full-py3 and reconfigre the job to run with OVS instead of
the default OVN needs to change to configure the OVS specific network
config and enable the qos tests. This will be done in project specific
patches.

The stable tempest jobs are OK as they are still running with OVS by
default.

Depends-On: https://review.opendev.org/c/openstack/neutron/+/806170

Change-Id: I13fd2dc023b806ac74ab5c8d86cc99f807f0f702
