9cd71b9de8
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
6 lines
98 B
YAML
6 lines
98 B
YAML
---
|
|
fixes:
|
|
- |
|
|
Add Python 3 support to the Brocade Zone Manager driver.
|
|
(bug #1888548).
|