tree fe0de53cfc2c59a211c44b6e2702ac8bcb99ea7c
parent de5f0da10e44a52e5bc5f577e4ec33231add3831
author ghanshyam <gmann@ghanshyammann.com> 1531881704 +0000
committer Ghanshyam Mann <gmann@ghanshyammann.com> 1532045692 +0000

Skip list FIP test for neutron new behaviour

Neutron is planning to employ a strict validation
against filter parameters [1]. The motivation is to align with the
OpenStack API guideline [2]. In particular, the API guideline
mentioned the following:

"... if the API supports query parameters and a request
contains an unknown or unsupported parameter, the server should
return a 400 Bad Request response. Invalid values in the request URL
should never be silently ignored, as the response may not match the
client’s expectation..."

After discussion with the API work group [3], the neutron team decides
to make a backward-incompatible change (with a config option to
rollback to the old API behaviour).

To proceed on neutron implementation of supporting both the
behaviour, this commit skip this tests as per Tempest Bug fix process[4]

Once neutron changes are merged then, we can fix this tests to
verify the both supported behaviour according to neutron behaviour
discovery.

Needed-By: https://review.openstack.org/#/c/574907/

[1] https://bugs.launchpad.net/neutron/+bug/1749820
[2] http://specs.openstack.org/openstack/api-wg/guidelines/http/
    response-codes.html#failure-code-clarifications
[3] http://eavesdrop.openstack.org/meetings/api_sig/2018/
    api_sig.2018-03-15-16.00.log.html#l-120
[4] https://docs.openstack.org/tempest/latest/HACKING.html#bug-fix-on-core-project-needing-tempest-changes

Change-Id: I0b24a304cc3466a2c05426cdbb6f9d99f1797edd
