cinder/releasenotes/notes/brocade_py3-15647dbe3981d44b.yaml
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

6 lines
98 B
YAML

---
fixes:
- |
Add Python 3 support to the Brocade Zone Manager driver.
(bug #1888548).