cinder/cinder/zonemanager/drivers
Gorka Eguileor 9cd71b9de8 Brocade: Python 3 support
Builtin method `filter` changed behavior from Python 2, where it
returned a list, to Python 3, where it returns an interable, and the
Brocade driver was not ready to handle this behavior which results
in:

- Always evaluating to True in `if filtered_members`
- TypeError: 'filter' object is not subscriptable
- RuntimeError: dictionary changed size during iteration

This patch fixes all these to make the driver Python 3 compatible.

Extensive changes to test_brcd_fc_zone_driver.py were necessary to fix
the code that was incorrectly setting the configuration options for the
tests, which resulted in always running with default values.

Code has been tested on a DevStack deployment running Python 3.7 on
Fedora 31 with a Brocade 300 running FOS 7.1.0c against 3PAR FC array
and with `fc_southbound_protocol = HTTP` in the fabric group
configuration.

Configuration `fc_southbound_protocol = REST_HTTP` could not be tested
as its only supported in FOS 8.2.1 and later which available hardware
doesn't support.

Closes-Bug: #1888548
Change-Id: Id9807871f3c183e4195f01aa28c458d7551de9ed
2020-07-29 10:12:48 +02:00
..
brocade Brocade: Python 3 support 2020-07-29 10:12:48 +02:00
cisco Introduce flake8-import-order extension 2020-01-06 09:59:35 -06:00
__init__.py Files with no code must be left completely empty 2016-09-28 16:29:30 +07:00
driver_utils.py Remove log translations 2017-03-19 14:59:57 +00:00
fc_zone_driver.py Add unsupported status to driver listing 2016-11-29 18:04:22 +05:30