)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"d093772d1ca217393df52f01cc20dbdc14d271bb","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Changed cisco driver to accomodate host_name and storage_system"},{"line_number":26,"context_line":"parameters in add/delete connection."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"blueprint brocade-zone-driver-friendly-zone-names"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Change-Id: I350493b96901675a1b8910d6104f31c7d677ebda"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"9a41bdd9_2041ed39","line":28,"updated":"2015-07-17 14:49:57.000000000","message":"Suggest: \"Implements: blueprint brocade-zone-driver-friendly-zone-names\"","commit_id":"249e917b90d5c3e260490830e19f7966ad2a276b"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"51dbaed46f22429bdbeda0a98e640f58f9aab6db","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Changed cisco driver to accomodate host_name and storage_system"},{"line_number":26,"context_line":"parameters in add/delete connection."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"blueprint brocade-zone-driver-friendly-zone-names"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Change-Id: I350493b96901675a1b8910d6104f31c7d677ebda"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"9a1a9d01_b1ba3de0","line":28,"in_reply_to":"9a41bdd9_2041ed39","updated":"2015-09-25 17:28:45.000000000","message":"Done","commit_id":"249e917b90d5c3e260490830e19f7966ad2a276b"},{"author":{"_account_id":17789,"name":"Zhao Lei","email":"zhaolei@cn.fujitsu.com","username":"zhaolei"},"change_message_id":"a92d3d5e9f1d14a0308d2330b510fe4c20f497d6","unresolved":false,"context_lines":[{"line_number":16,"context_line":"been changed which accepts host and storage name, with default as None."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Also added test cases to test this support. Changes have been made to"},{"line_number":19,"context_line":"zone manager test code to accomodate the change in signature of some"},{"line_number":20,"context_line":"methods."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Moved get_friendly_zone_name method to utils.py so that it can be used"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"9a1a9d01_37804b46","line":19,"updated":"2015-09-26 15:50:09.000000000","message":"accommodate","commit_id":"b46dee5fb26315562954a6480720137d2f9ea36f"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"347f7ae1857674d78662ee59d1d23402592700e6","unresolved":false,"context_lines":[{"line_number":16,"context_line":"been changed which accepts host and storage name, with default as None."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Also added test cases to test this support. Changes have been made to"},{"line_number":19,"context_line":"zone manager test code to accomodate the change in signature of some"},{"line_number":20,"context_line":"methods."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Moved get_friendly_zone_name method to utils.py so that it can be used"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"9a1a9d01_2a6926f9","line":19,"in_reply_to":"9a1a9d01_37804b46","updated":"2015-09-30 21:52:35.000000000","message":"Done","commit_id":"b46dee5fb26315562954a6480720137d2f9ea36f"},{"author":{"_account_id":17789,"name":"Zhao Lei","email":"zhaolei@cn.fujitsu.com","username":"zhaolei"},"change_message_id":"a92d3d5e9f1d14a0308d2330b510fe4c20f497d6","unresolved":false,"context_lines":[{"line_number":22,"context_line":"Moved get_friendly_zone_name method to utils.py so that it can be used"},{"line_number":23,"context_line":"by both cisco and brocade drivers"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Changed cisco driver to accomodate host_name and storage_system"},{"line_number":26,"context_line":"parameters in add/delete connection."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Implements: blueprint brocade-zone-driver-friendly-zone-names"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"9a1a9d01_f792d39e","line":25,"updated":"2015-09-26 15:50:09.000000000","message":"ditto","commit_id":"b46dee5fb26315562954a6480720137d2f9ea36f"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"347f7ae1857674d78662ee59d1d23402592700e6","unresolved":false,"context_lines":[{"line_number":22,"context_line":"Moved get_friendly_zone_name method to utils.py so that it can be used"},{"line_number":23,"context_line":"by both cisco and brocade drivers"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"Changed cisco driver to accomodate host_name and storage_system"},{"line_number":26,"context_line":"parameters in add/delete connection."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Implements: blueprint brocade-zone-driver-friendly-zone-names"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"9a1a9d01_ca6bcaef","line":25,"in_reply_to":"9a1a9d01_f792d39e","updated":"2015-09-30 21:52:35.000000000","message":"Done","commit_id":"b46dee5fb26315562954a6480720137d2f9ea36f"}],"cinder/tests/unit/zonemanager/test_driverutils.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"8dc16477a8651127d4463131a9031d5613d46ca4","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from cinder import test"},{"line_number":22,"context_line":"from cinder.zonemanager.drivers import driver_utils"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"supported_chars \u003d string.ascii_letters + string.digits + \u0027_\u0027"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class TestDriverUtils(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_ab68d0f5","line":24,"updated":"2015-12-14 12:06:09.000000000","message":"Please, do not copy\u0026paste the same variable like in cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py","commit_id":"13f56c58374e8bf4b5eabb686eafa811dbc8b551"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"05d5a30954ce1ff6b1eba3f0b03d31a472cfe6c3","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from cinder import test"},{"line_number":22,"context_line":"from cinder.zonemanager.drivers import driver_utils"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"supported_chars \u003d string.ascii_letters + string.digits + \u0027_\u0027"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class TestDriverUtils(test.TestCase):"}],"source_content_type":"text/x-python","patch_set":23,"id":"3a7e1126_bf284687","line":24,"in_reply_to":"7a740942_ab68d0f5","updated":"2015-12-18 23:20:37.000000000","message":"I have changed the variable to be different than what is used by either vendor driver, for testing purposes.","commit_id":"13f56c58374e8bf4b5eabb686eafa811dbc8b551"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"8dc16477a8651127d4463131a9031d5613d46ca4","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class TestDriverUtils(test.TestCase):"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def test_get_friendly_zone_name(self):"},{"line_number":30,"context_line":"        self.assertEqual(\u0027OS_Host100_10008c7cff523b01_AMCE_Array_\u0027"},{"line_number":31,"context_line":"                         \u002720240002ac000a50\u0027,"},{"line_number":32,"context_line":"                         driver_utils.get_friendly_zone_name("}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_cbfafc42","line":29,"updated":"2015-12-14 12:06:09.000000000","message":"Please, use ddt library here","commit_id":"13f56c58374e8bf4b5eabb686eafa811dbc8b551"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"05d5a30954ce1ff6b1eba3f0b03d31a472cfe6c3","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class TestDriverUtils(test.TestCase):"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def test_get_friendly_zone_name(self):"},{"line_number":30,"context_line":"        self.assertEqual(\u0027OS_Host100_10008c7cff523b01_AMCE_Array_\u0027"},{"line_number":31,"context_line":"                         \u002720240002ac000a50\u0027,"},{"line_number":32,"context_line":"                         driver_utils.get_friendly_zone_name("}],"source_content_type":"text/x-python","patch_set":23,"id":"3a7e1126_df543200","line":29,"in_reply_to":"7a740942_cbfafc42","updated":"2015-12-18 23:20:37.000000000","message":"I have added use of ddt library.  Each assertEqual has been placed in a separate test with proper name clarifying exactly what is being tested.","commit_id":"13f56c58374e8bf4b5eabb686eafa811dbc8b551"}],"cinder/tests/unit/zonemanager/test_utils.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"55cae0157bc362cf5d4fd4175030385a22f40846","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    (c) Copyright 2014 Brocade Communications Systems Inc."},{"line_number":2,"context_line":"#    All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Copyright 2014 OpenStack Foundation"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a29b11f_0ebd4601","line":1,"updated":"2015-10-23 13:13:39.000000000","message":"2015?","commit_id":"ef0ce831149ef2f1edb2d64a0f38888867f5dbdb"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"dbbe3893f9eda87a07e0b555a9cab8df99aa6377","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    (c) Copyright 2014 Brocade Communications Systems Inc."},{"line_number":2,"context_line":"#    All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Copyright 2014 OpenStack Foundation"}],"source_content_type":"text/x-python","patch_set":15,"id":"fa80f949_db792631","line":1,"in_reply_to":"3a29b11f_0ebd4601","updated":"2015-11-06 22:46:29.000000000","message":"Done","commit_id":"ef0ce831149ef2f1edb2d64a0f38888867f5dbdb"}],"cinder/zonemanager/drivers/brocade/brcd_fc_zone_driver.py":[{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"4698a399e46b571c06fd780213158aaaf17146ed","unresolved":false,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    @lockutils.synchronized(\u0027brcd\u0027, \u0027fcfabric-\u0027, True)"},{"line_number":113,"context_line":"    def add_connection(self, fabric, initiator_target_map, host_name\u003dNone,"},{"line_number":114,"context_line":"                       storage_name\u003dNone):"},{"line_number":115,"context_line":"        \"\"\"Concrete implementation of add_connection."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        Based on zoning policy and state of each I-T pair, list of zone"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a0c5dc1_8fde9e6b","line":114,"updated":"2015-05-13 20:57:06.000000000","message":"change to storage_system","commit_id":"22cee653525be7b2bf25269fcb27f707cc14229a"},{"author":{"_account_id":14802,"name":"Pradeep Sathasivam","email":"spradeepv@gmail.com","username":"spradeepv"},"change_message_id":"17f05988c7679b8ea980362f38ce2645939e66f8","unresolved":false,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    @lockutils.synchronized(\u0027brcd\u0027, \u0027fcfabric-\u0027, True)"},{"line_number":113,"context_line":"    def add_connection(self, fabric, initiator_target_map, host_name\u003dNone,"},{"line_number":114,"context_line":"                       storage_name\u003dNone):"},{"line_number":115,"context_line":"        \"\"\"Concrete implementation of add_connection."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        Based on zoning policy and state of each I-T pair, list of zone"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_a30d4d39","line":114,"in_reply_to":"9a0c5dc1_8fde9e6b","updated":"2015-05-14 07:21:38.000000000","message":"Done","commit_id":"22cee653525be7b2bf25269fcb27f707cc14229a"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"4698a399e46b571c06fd780213158aaaf17146ed","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        if zoning_policy_fab:"},{"line_number":137,"context_line":"            zoning_policy \u003d zoning_policy_fab"},{"line_number":138,"context_line":"        if not zone_name_prefix:"},{"line_number":139,"context_line":"            zone_name_prefix \u003d \u0027openstack\u0027"},{"line_number":140,"context_line":"        LOG.info(_LI(\"Zoning policy for Fabric %s\"), zoning_policy)"},{"line_number":141,"context_line":"        cli_client \u003d self._get_cli_client(fabric)"},{"line_number":142,"context_line":"        cfgmap_from_fabric \u003d self._get_active_zone_set(cli_client)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a0c5dc1_74e33f06","line":139,"updated":"2015-05-13 20:57:06.000000000","message":"this line can be removed if code in brcd_fabric_opts is updated:\ncfg.StrOpt(\u0027zone_name_prefix\u0027,\n               default\u003d\u0027openstack\u0027,","commit_id":"22cee653525be7b2bf25269fcb27f707cc14229a"},{"author":{"_account_id":14802,"name":"Pradeep Sathasivam","email":"spradeepv@gmail.com","username":"spradeepv"},"change_message_id":"17f05988c7679b8ea980362f38ce2645939e66f8","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        if zoning_policy_fab:"},{"line_number":137,"context_line":"            zoning_policy \u003d zoning_policy_fab"},{"line_number":138,"context_line":"        if not zone_name_prefix:"},{"line_number":139,"context_line":"            zone_name_prefix \u003d \u0027openstack\u0027"},{"line_number":140,"context_line":"        LOG.info(_LI(\"Zoning policy for Fabric %s\"), zoning_policy)"},{"line_number":141,"context_line":"        cli_client \u003d self._get_cli_client(fabric)"},{"line_number":142,"context_line":"        cfgmap_from_fabric \u003d self._get_active_zone_set(cli_client)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_8313715c","line":139,"in_reply_to":"9a0c5dc1_74e33f06","updated":"2015-05-14 07:21:38.000000000","message":"Done","commit_id":"22cee653525be7b2bf25269fcb27f707cc14229a"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"743337d5d28047d92fe1f896e947c2c2fed087ca","unresolved":false,"context_lines":[{"line_number":41,"context_line":"from cinder.zonemanager import utils"},{"line_number":42,"context_line":"from cinder.i18n import _, _LE, _LI"},{"line_number":43,"context_line":"from cinder.zonemanager.drivers.brocade import brcd_fabric_opts as fabric_opts"},{"line_number":44,"context_line":"from cinder.zonemanager.drivers.fc_zone_driver import FCZoneDriver"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_b4567f04","line":44,"updated":"2015-06-22 20:20:46.000000000","message":"Please, rollback this change. According to hacking rules, we need to import modules, not objects","commit_id":"14b6fdc318def7a5e242bf34621ad12aae7d5a93"},{"author":{"_account_id":14802,"name":"Pradeep Sathasivam","email":"spradeepv@gmail.com","username":"spradeepv"},"change_message_id":"02f8e0180cc8eba9c1dde55545f44df463b374d1","unresolved":false,"context_lines":[{"line_number":41,"context_line":"from cinder.zonemanager import utils"},{"line_number":42,"context_line":"from cinder.i18n import _, _LE, _LI"},{"line_number":43,"context_line":"from cinder.zonemanager.drivers.brocade import brcd_fabric_opts as fabric_opts"},{"line_number":44,"context_line":"from cinder.zonemanager.drivers.fc_zone_driver import FCZoneDriver"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_3b1710a5","line":44,"in_reply_to":"fa32b979_b4567f04","updated":"2015-06-29 08:53:55.000000000","message":"Done","commit_id":"14b6fdc318def7a5e242bf34621ad12aae7d5a93"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":124,"context_line":"        :param fabric: Fabric name from cinder.conf file"},{"line_number":125,"context_line":"        :param initiator_target_map: Mapping of initiator to list of targets"},{"line_number":126,"context_line":"        \"\"\""},{"line_number":127,"context_line":"        LOG.debug(\"Add connection for Fabric: %(fabric)s\", {\u0027fabric\u0027: fabric})"},{"line_number":128,"context_line":"        LOG.info(_LI(\"BrcdFCZoneDriver - Add connection \""},{"line_number":129,"context_line":"                     \"for I-T map: %(i_t_map)s\"),"},{"line_number":130,"context_line":"                 {\u0027i_t_map\u0027: initiator_target_map})"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_b68faa74","line":127,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":126,"context_line":"        \"\"\""},{"line_number":127,"context_line":"        LOG.debug(\"Add connection for Fabric: %(fabric)s\", {\u0027fabric\u0027: fabric})"},{"line_number":128,"context_line":"        LOG.info(_LI(\"BrcdFCZoneDriver - Add connection \""},{"line_number":129,"context_line":"                     \"for I-T map: %(i_t_map)s\"),"},{"line_number":130,"context_line":"                 {\u0027i_t_map\u0027: initiator_target_map})"},{"line_number":131,"context_line":"        zoning_policy \u003d self.configuration.zoning_policy"},{"line_number":132,"context_line":"        zoning_policy_fab \u003d self.fabric_configs[fabric].safe_get("}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_96edc627","line":129,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":137,"context_line":"            \u0027zone_activate\u0027)"},{"line_number":138,"context_line":"        if zoning_policy_fab:"},{"line_number":139,"context_line":"            zoning_policy \u003d zoning_policy_fab"},{"line_number":140,"context_line":"        LOG.info(_LI(\"Zoning policy for Fabric %(policy)s\"),"},{"line_number":141,"context_line":"                 {\u0027policy\u0027: zoning_policy})"},{"line_number":142,"context_line":"        cli_client \u003d self._get_cli_client(fabric)"},{"line_number":143,"context_line":"        cfgmap_from_fabric \u003d self._get_active_zone_set(cli_client)"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_f6c3e288","line":140,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":169,"context_line":"                    else:"},{"line_number":170,"context_line":"                        # This is I-T zoning, skip if zone already exists."},{"line_number":171,"context_line":"                        LOG.info(_LI(\"Zone exists in I-T mode. Skipping \""},{"line_number":172,"context_line":"                                     \"zone creation for %(zonename)s\"),"},{"line_number":173,"context_line":"                                 {\u0027zonename\u0027: zone_name})"},{"line_number":174,"context_line":"            elif zoning_policy \u003d\u003d \u0027initiator\u0027:"},{"line_number":175,"context_line":"                zone_members \u003d [self.get_formatted_wwn(initiator)]"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_16c1b680","line":172,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":196,"context_line":"                LOG.error(msg)"},{"line_number":197,"context_line":"                raise exception.FCZoneDriverException(msg)"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"            LOG.info(_LI(\"Zone map to add: %(zonemap)s\"),"},{"line_number":200,"context_line":"                     {\u0027zonemap\u0027: zone_map})"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"            if len(zone_map) \u003e 0:"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_7636f2b5","line":199,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":211,"context_line":"                    msg \u003d _(\"Failed to add zoning configuration.\")"},{"line_number":212,"context_line":"                    LOG.exception(msg)"},{"line_number":213,"context_line":"                    raise exception.FCZoneDriverException(msg)"},{"line_number":214,"context_line":"            LOG.debug(\"Zones added successfully: %(zonemap)s\","},{"line_number":215,"context_line":"                      {\u0027zonemap\u0027: zone_map})"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    @lockutils.synchronized(\u0027brcd\u0027, \u0027fcfabric-\u0027, True)"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_f64a0227","line":214,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":226,"context_line":"        :param fabric: Fabric name from cinder.conf file"},{"line_number":227,"context_line":"        :param initiator_target_map: Mapping of initiator to list of targets"},{"line_number":228,"context_line":"        \"\"\""},{"line_number":229,"context_line":"        LOG.debug(\"Delete connection for fabric: %(fabric)s\","},{"line_number":230,"context_line":"                  {\u0027fabric\u0027: fabric})"},{"line_number":231,"context_line":"        LOG.info(_LI(\"BrcdFCZoneDriver - Delete connection \""},{"line_number":232,"context_line":"                 \"for I-T map: %(i_t_map)s\"),"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_9662a6ac","line":229,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":229,"context_line":"        LOG.debug(\"Delete connection for fabric: %(fabric)s\","},{"line_number":230,"context_line":"                  {\u0027fabric\u0027: fabric})"},{"line_number":231,"context_line":"        LOG.info(_LI(\"BrcdFCZoneDriver - Delete connection \""},{"line_number":232,"context_line":"                 \"for I-T map: %(i_t_map)s\"),"},{"line_number":233,"context_line":"                 {\u0027i_t_map\u0027: initiator_target_map})"},{"line_number":234,"context_line":"        zoning_policy \u003d self.configuration.zoning_policy"},{"line_number":235,"context_line":"        zoning_policy_fab \u003d self.fabric_configs[fabric].safe_get("}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_36571acc","line":232,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":240,"context_line":"            \u0027zone_activate\u0027)"},{"line_number":241,"context_line":"        if zoning_policy_fab:"},{"line_number":242,"context_line":"            zoning_policy \u003d zoning_policy_fab"},{"line_number":243,"context_line":"        LOG.info(_LI(\"Zoning policy for fabric %(policy)s\"),"},{"line_number":244,"context_line":"                 {\u0027policy\u0027: zoning_policy})"},{"line_number":245,"context_line":"        conn \u003d self._get_cli_client(fabric)"},{"line_number":246,"context_line":"        cfgmap_from_fabric \u003d self._get_active_zone_set(conn)"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_166f7693","line":243,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":252,"context_line":"        # Based on zoning policy, get zone member list and push changes to"},{"line_number":253,"context_line":"        # fabric. This operation could result in an update for zone config"},{"line_number":254,"context_line":"        # with new member list or deleting zones from active cfg."},{"line_number":255,"context_line":"        LOG.debug(\"zone config from Fabric: %(cfgmap)s\","},{"line_number":256,"context_line":"                  {\u0027cfgmap\u0027: cfgmap_from_fabric})"},{"line_number":257,"context_line":"        for initiator_key in initiator_target_map.keys():"},{"line_number":258,"context_line":"            initiator \u003d initiator_key.lower()"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_b66b2a85","line":255,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":274,"context_line":"                              {\u0027zonename\u0027: zone_name})"},{"line_number":275,"context_line":"                    if len(zone_names) \u003e 0 and (zone_name in zone_names):"},{"line_number":276,"context_line":"                        # delete zone."},{"line_number":277,"context_line":"                        LOG.debug(\"Added zone to delete to list: %(zonename)s\","},{"line_number":278,"context_line":"                                  {\u0027zonename\u0027: zone_name})"},{"line_number":279,"context_line":"                        zones_to_delete.append(zone_name)"},{"line_number":280,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_d6681e8a","line":277,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":302,"context_line":"                    # to it and update zone if filtered list is empty, we"},{"line_number":303,"context_line":"                    # remove that zone."},{"line_number":304,"context_line":"                    LOG.debug(\"Zone delete - initiator mode: \""},{"line_number":305,"context_line":"                              \"filtered targets: %(targets)s\","},{"line_number":306,"context_line":"                              {\u0027targets\u0027: filtered_members})"},{"line_number":307,"context_line":"                    if filtered_members:"},{"line_number":308,"context_line":"                        filtered_members.append(formatted_initiator)"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_960946e0","line":305,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":307,"context_line":"                    if filtered_members:"},{"line_number":308,"context_line":"                        filtered_members.append(formatted_initiator)"},{"line_number":309,"context_line":"                        LOG.debug(\"Filtered zone members to update: \""},{"line_number":310,"context_line":"                                  \"%(members)s\", {\u0027members\u0027: filtered_members})"},{"line_number":311,"context_line":"                        zone_map[zone_name] \u003d filtered_members"},{"line_number":312,"context_line":"                        LOG.debug(\"Filtered zone map to update: %(zonemap)s\","},{"line_number":313,"context_line":"                                  {\u0027zonemap\u0027: zone_map})"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_5613ae0d","line":310,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":309,"context_line":"                        LOG.debug(\"Filtered zone members to update: \""},{"line_number":310,"context_line":"                                  \"%(members)s\", {\u0027members\u0027: filtered_members})"},{"line_number":311,"context_line":"                        zone_map[zone_name] \u003d filtered_members"},{"line_number":312,"context_line":"                        LOG.debug(\"Filtered zone map to update: %(zonemap)s\","},{"line_number":313,"context_line":"                                  {\u0027zonemap\u0027: zone_map})"},{"line_number":314,"context_line":"                    else:"},{"line_number":315,"context_line":"                        zones_to_delete.append(zone_name)"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_f6f8c2c6","line":312,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":314,"context_line":"                    else:"},{"line_number":315,"context_line":"                        zones_to_delete.append(zone_name)"},{"line_number":316,"context_line":"            else:"},{"line_number":317,"context_line":"                LOG.info(_LI(\"Zoning policy not recognized: %(policy)s\"),"},{"line_number":318,"context_line":"                         {\u0027policy\u0027: zoning_policy})"},{"line_number":319,"context_line":"            LOG.debug(\"Final zone map to update: %(zonemap)s\","},{"line_number":320,"context_line":"                      {\u0027zonemap\u0027: zone_map})"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_b6024ab3","line":317,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":316,"context_line":"            else:"},{"line_number":317,"context_line":"                LOG.info(_LI(\"Zoning policy not recognized: %(policy)s\"),"},{"line_number":318,"context_line":"                         {\u0027policy\u0027: zoning_policy})"},{"line_number":319,"context_line":"            LOG.debug(\"Final zone map to update: %(zonemap)s\","},{"line_number":320,"context_line":"                      {\u0027zonemap\u0027: zone_map})"},{"line_number":321,"context_line":"            LOG.debug(\"Final zone list to delete: %(zones)s\","},{"line_number":322,"context_line":"                      {\u0027zones\u0027: zones_to_delete})"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_762b5234","line":319,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":318,"context_line":"                         {\u0027policy\u0027: zoning_policy})"},{"line_number":319,"context_line":"            LOG.debug(\"Final zone map to update: %(zonemap)s\","},{"line_number":320,"context_line":"                      {\u0027zonemap\u0027: zone_map})"},{"line_number":321,"context_line":"            LOG.debug(\"Final zone list to delete: %(zones)s\","},{"line_number":322,"context_line":"                      {\u0027zones\u0027: zones_to_delete})"},{"line_number":323,"context_line":"            try:"},{"line_number":324,"context_line":"                # Update zone membership."}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_3625da5b","line":321,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":359,"context_line":"        fabric_map \u003d {}"},{"line_number":360,"context_line":"        fc_fabric_names \u003d self.configuration.fc_fabric_names"},{"line_number":361,"context_line":"        fabrics \u003d [x.strip() for x in fc_fabric_names.split(\u0027,\u0027)]"},{"line_number":362,"context_line":"        LOG.debug(\"Fabric List: %(fabrics)s\", {\u0027fabrics\u0027: fabrics})"},{"line_number":363,"context_line":"        LOG.debug(\"Target WWN list: %(targetwwns)s\","},{"line_number":364,"context_line":"                  {\u0027targetwwns\u0027: target_wwn_list})"},{"line_number":365,"context_line":"        if len(fabrics) \u003e 0:"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_161d360f","line":362,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":360,"context_line":"        fc_fabric_names \u003d self.configuration.fc_fabric_names"},{"line_number":361,"context_line":"        fabrics \u003d [x.strip() for x in fc_fabric_names.split(\u0027,\u0027)]"},{"line_number":362,"context_line":"        LOG.debug(\"Fabric List: %(fabrics)s\", {\u0027fabrics\u0027: fabrics})"},{"line_number":363,"context_line":"        LOG.debug(\"Target WWN list: %(targetwwns)s\","},{"line_number":364,"context_line":"                  {\u0027targetwwns\u0027: target_wwn_list})"},{"line_number":365,"context_line":"        if len(fabrics) \u003e 0:"},{"line_number":366,"context_line":"            for t in target_wwn_list:"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_f61f6207","line":363,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":365,"context_line":"        if len(fabrics) \u003e 0:"},{"line_number":366,"context_line":"            for t in target_wwn_list:"},{"line_number":367,"context_line":"                formatted_target_list.append(self.get_formatted_wwn(t.lower()))"},{"line_number":368,"context_line":"            LOG.debug(\"Formatted target WWN list: %(targetlist)s\","},{"line_number":369,"context_line":"                      {\u0027targetlist\u0027: formatted_target_list})"},{"line_number":370,"context_line":"            for fabric_name in fabrics:"},{"line_number":371,"context_line":"                conn \u003d self._get_cli_client(fabric_name)"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_b619ea24","line":368,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":375,"context_line":"                nsinfo \u003d None"},{"line_number":376,"context_line":"                try:"},{"line_number":377,"context_line":"                    nsinfo \u003d conn.get_nameserver_info()"},{"line_number":378,"context_line":"                    LOG.debug(\"Name server info from fabric: %(nsinfo)s\","},{"line_number":379,"context_line":"                              {\u0027nsinfo\u0027: nsinfo})"},{"line_number":380,"context_line":"                    conn.cleanup()"},{"line_number":381,"context_line":"                except exception.BrocadeZoningCliException:"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_76d27236","line":378,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":396,"context_line":"                    nsinfo)"},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"                if visible_targets:"},{"line_number":399,"context_line":"                    LOG.info(_LI(\"Filtered targets for SAN is: %(targets)s\"),"},{"line_number":400,"context_line":"                             {\u0027targets\u0027: visible_targets})"},{"line_number":401,"context_line":"                    # getting rid of the \u0027:\u0027 before returning"},{"line_number":402,"context_line":"                    for idx, elem in enumerate(visible_targets):"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_96d70623","line":399,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":405,"context_line":"                    fabric_map[fabric_name] \u003d visible_targets"},{"line_number":406,"context_line":"                else:"},{"line_number":407,"context_line":"                    LOG.debug(\"No targets found in the nameserver \""},{"line_number":408,"context_line":"                              \"for fabric: %(fabric)s\","},{"line_number":409,"context_line":"                              {\u0027fabric\u0027: fabric_name})"},{"line_number":410,"context_line":"        LOG.debug(\"Return SAN context output: %(fabricmap)s\","},{"line_number":411,"context_line":"                  {\u0027fabricmap\u0027: fabric_map})"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_56e16efd","line":408,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":407,"context_line":"                    LOG.debug(\"No targets found in the nameserver \""},{"line_number":408,"context_line":"                              \"for fabric: %(fabric)s\","},{"line_number":409,"context_line":"                              {\u0027fabric\u0027: fabric_name})"},{"line_number":410,"context_line":"        LOG.debug(\"Return SAN context output: %(fabricmap)s\","},{"line_number":411,"context_line":"                  {\u0027fabricmap\u0027: fabric_map})"},{"line_number":412,"context_line":"        return fabric_map"},{"line_number":413,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_16e4560b","line":410,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":426,"context_line":"            msg \u003d (_(\"Failed to retrieve active zoning configuration %s\")"},{"line_number":427,"context_line":"                   % six.text_type(e))"},{"line_number":428,"context_line":"            raise exception.FCZoneDriverException(msg)"},{"line_number":429,"context_line":"        LOG.debug(\"Active zone set from fabric: %(cfgmap)s\","},{"line_number":430,"context_line":"                  {\u0027cfgmap\u0027: cfgmap})"},{"line_number":431,"context_line":"        return cfgmap"},{"line_number":432,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_76b912ec","line":429,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":439,"context_line":"        try:"},{"line_number":440,"context_line":"            cli_client \u003d self.sb_conn_map.get(fabric_ip)"},{"line_number":441,"context_line":"            if not cli_client:"},{"line_number":442,"context_line":"                LOG.debug(\"CLI client not found, creating for %(ip)s\","},{"line_number":443,"context_line":"                          {\u0027ip\u0027: fabric_ip})"},{"line_number":444,"context_line":"                cli_client \u003d importutils.import_object("},{"line_number":445,"context_line":"                    self.configuration.brcd_sb_connector,"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_96be26d3","line":442,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":10439,"name":"Xi Yang","email":"yang.xi@99cloud.net","username":"phenom"},"change_message_id":"9b6d1a3699f3978e6e4c622db809313113bdfefa","unresolved":false,"context_lines":[{"line_number":228,"context_line":"        \"\"\""},{"line_number":229,"context_line":"        LOG.debug(\"Delete connection for fabric: %(fabric)s\","},{"line_number":230,"context_line":"                  {\u0027fabric\u0027: fabric})"},{"line_number":231,"context_line":"        LOG.info(_LI(\"BrcdFCZoneDriver - Delete connection \""},{"line_number":232,"context_line":"                 \"for I-T map: %(i_t_map)s\"),"},{"line_number":233,"context_line":"                 {\u0027i_t_map\u0027: initiator_target_map})"},{"line_number":234,"context_line":"        zoning_policy \u003d self.configuration.zoning_policy"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a29b11f_3dc0732a","line":231,"updated":"2015-10-23 15:06:44.000000000","message":"I feel it is a little confusing here. A debug and an info message here, Could we merge these two msgs into one?","commit_id":"ef0ce831149ef2f1edb2d64a0f38888867f5dbdb"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"dbbe3893f9eda87a07e0b555a9cab8df99aa6377","unresolved":false,"context_lines":[{"line_number":228,"context_line":"        \"\"\""},{"line_number":229,"context_line":"        LOG.debug(\"Delete connection for fabric: %(fabric)s\","},{"line_number":230,"context_line":"                  {\u0027fabric\u0027: fabric})"},{"line_number":231,"context_line":"        LOG.info(_LI(\"BrcdFCZoneDriver - Delete connection \""},{"line_number":232,"context_line":"                 \"for I-T map: %(i_t_map)s\"),"},{"line_number":233,"context_line":"                 {\u0027i_t_map\u0027: initiator_target_map})"},{"line_number":234,"context_line":"        zoning_policy \u003d self.configuration.zoning_policy"}],"source_content_type":"text/x-python","patch_set":15,"id":"fa80f949_fbb3ca08","line":231,"in_reply_to":"3a29b11f_3dc0732a","updated":"2015-11-06 22:46:29.000000000","message":"Done","commit_id":"ef0ce831149ef2f1edb2d64a0f38888867f5dbdb"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"a86ea80c5c19c0a1d49725ceacf2ac7083dc9090","unresolved":false,"context_lines":[{"line_number":319,"context_line":"                    else:"},{"line_number":320,"context_line":"                        zones_to_delete.append(zone_name)"},{"line_number":321,"context_line":"            else:"},{"line_number":322,"context_line":"                LOG.info(_LI(\"Zoning policy not recognized: %(policy)s\"),"},{"line_number":323,"context_line":"                         {\u0027policy\u0027: zoning_policy})"},{"line_number":324,"context_line":"            LOG.debug(\"Final zone map to update: %(zonemap)s\","},{"line_number":325,"context_line":"                      {\u0027zonemap\u0027: zone_map})"}],"source_content_type":"text/x-python","patch_set":21,"id":"9a8ffd7b_f7e42f0e","line":322,"updated":"2015-11-24 22:49:00.000000000","message":"should this be a warning?","commit_id":"35df6751412654b03213684aecc37a965bae8f6e"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"f9a68eb5005fd6ff331a79ddafd933b8721c0382","unresolved":false,"context_lines":[{"line_number":319,"context_line":"                    else:"},{"line_number":320,"context_line":"                        zones_to_delete.append(zone_name)"},{"line_number":321,"context_line":"            else:"},{"line_number":322,"context_line":"                LOG.info(_LI(\"Zoning policy not recognized: %(policy)s\"),"},{"line_number":323,"context_line":"                         {\u0027policy\u0027: zoning_policy})"},{"line_number":324,"context_line":"            LOG.debug(\"Final zone map to update: %(zonemap)s\","},{"line_number":325,"context_line":"                      {\u0027zonemap\u0027: zone_map})"}],"source_content_type":"text/x-python","patch_set":21,"id":"7a740942_275b6456","line":322,"in_reply_to":"9a8ffd7b_f7e42f0e","updated":"2015-12-10 00:15:47.000000000","message":"Done","commit_id":"35df6751412654b03213684aecc37a965bae8f6e"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"8dc16477a8651127d4463131a9031d5613d46ca4","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"supported_chars \u003d string.ascii_letters + string.digits + \u0027_\u0027"},{"line_number":50,"context_line":"brcd_opts \u003d ["},{"line_number":51,"context_line":"    cfg.StrOpt(\u0027brcd_sb_connector\u0027,"},{"line_number":52,"context_line":"               default\u003d\u0027cinder.zonemanager.drivers.brocade\u0027"}],"source_content_type":"text/x-python","patch_set":23,"id":"7a740942_8b4cf49e","line":49,"updated":"2015-12-14 12:06:09.000000000","message":"Constants should be named in upper case letters","commit_id":"13f56c58374e8bf4b5eabb686eafa811dbc8b551"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"05d5a30954ce1ff6b1eba3f0b03d31a472cfe6c3","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"supported_chars \u003d string.ascii_letters + string.digits + \u0027_\u0027"},{"line_number":50,"context_line":"brcd_opts \u003d ["},{"line_number":51,"context_line":"    cfg.StrOpt(\u0027brcd_sb_connector\u0027,"},{"line_number":52,"context_line":"               default\u003d\u0027cinder.zonemanager.drivers.brocade\u0027"}],"source_content_type":"text/x-python","patch_set":23,"id":"3a7e1126_9f0c6a3c","line":49,"in_reply_to":"7a740942_8b4cf49e","updated":"2015-12-18 23:20:37.000000000","message":"Done","commit_id":"13f56c58374e8bf4b5eabb686eafa811dbc8b551"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"4c7f7601db849d342b345d9fccd408055ee14b54","unresolved":false,"context_lines":[{"line_number":324,"context_line":"                        zones_to_delete.append(zone_name)"},{"line_number":325,"context_line":"            else:"},{"line_number":326,"context_line":"                LOG.warning(_LW(\"Zoning policy not recognized: %(policy)s\"),"},{"line_number":327,"context_line":"                            {\u0027policy\u0027: zoning_policy})"},{"line_number":328,"context_line":"            LOG.debug(\"Final zone map to update: %(zonemap)s\","},{"line_number":329,"context_line":"                      {\u0027zonemap\u0027: zone_map})"},{"line_number":330,"context_line":"            LOG.debug(\"Final zone list to delete: %(zones)s\","}],"source_content_type":"text/x-python","patch_set":24,"id":"1a7b0d38_aa606c36","line":327,"updated":"2015-12-23 17:09:10.000000000","message":"shouldn\u0027t this be an error?  Also, if we get an unrecognized zoning policy, shouldn\u0027t we be checking this up front and simply fail to do anything and exit?","commit_id":"0fdb6da2d38817e6938c69869a6f91796781f16a"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"c1b7aa70aab0a5e1bde0a68a778aff419091f439","unresolved":false,"context_lines":[{"line_number":324,"context_line":"                        zones_to_delete.append(zone_name)"},{"line_number":325,"context_line":"            else:"},{"line_number":326,"context_line":"                LOG.warning(_LW(\"Zoning policy not recognized: %(policy)s\"),"},{"line_number":327,"context_line":"                            {\u0027policy\u0027: zoning_policy})"},{"line_number":328,"context_line":"            LOG.debug(\"Final zone map to update: %(zonemap)s\","},{"line_number":329,"context_line":"                      {\u0027zonemap\u0027: zone_map})"},{"line_number":330,"context_line":"            LOG.debug(\"Final zone list to delete: %(zones)s\","}],"source_content_type":"text/x-python","patch_set":24,"id":"fa69d971_3e144f9e","line":327,"in_reply_to":"1a7b0d38_aa606c36","updated":"2016-01-05 22:25:42.000000000","message":"Ok, I have moved this check to beginning of method.  If this needs to be moved to ZM, then that should be in a different patch.","commit_id":"0fdb6da2d38817e6938c69869a6f91796781f16a"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"ad9709afdf541f72041287c7d1aed886b9de6628","unresolved":false,"context_lines":[{"line_number":143,"context_line":"                 {\u0027policy\u0027: zoning_policy})"},{"line_number":144,"context_line":"        if (zoning_policy !\u003d \u0027initiator\u0027"},{"line_number":145,"context_line":"                and zoning_policy !\u003d \u0027initiator-target\u0027):"},{"line_number":146,"context_line":"            msg \u003d _(\"Zoning policy %s not valid, \""},{"line_number":147,"context_line":"                    \"no zoning will be performed.\") % zoning_policy"},{"line_number":148,"context_line":"            return"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"9a68dd71_fcd1f157","line":146,"range":{"start_line":146,"start_character":12,"end_line":146,"end_character":15},"updated":"2016-01-22 23:21:28.000000000","message":"Did you mean to log this msg?","commit_id":"742199c98bdf762250c82177c2c52b820ff18647"}],"cinder/zonemanager/drivers/brocade/fc_zone_constants.py":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"2b0046293f9df7ca3d35a48e93c0e24a1bb4599b","unresolved":false,"context_lines":[{"line_number":24,"context_line":"DATA \u003d \u0027data\u0027"},{"line_number":25,"context_line":"HOST \u003d \u0027host_name\u0027"},{"line_number":26,"context_line":"STORAGE \u003d \u0027storage_system\u0027"},{"line_number":27,"context_line":"SYSTEM \u003d \u0027System\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"\"\"\""},{"line_number":30,"context_line":"Common constants used by Brocade FC Zone Driver."}],"source_content_type":"text/x-python","patch_set":15,"id":"3a29b11f_77706340","line":27,"updated":"2015-10-22 22:49:27.000000000","message":"Shouldn\u0027t these be generic enough for both drivers?\n\nAlso, lets lose the case sensitivity in \u0027System\u0027","commit_id":"ef0ce831149ef2f1edb2d64a0f38888867f5dbdb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"55cae0157bc362cf5d4fd4175030385a22f40846","unresolved":false,"context_lines":[{"line_number":24,"context_line":"DATA \u003d \u0027data\u0027"},{"line_number":25,"context_line":"HOST \u003d \u0027host_name\u0027"},{"line_number":26,"context_line":"STORAGE \u003d \u0027storage_system\u0027"},{"line_number":27,"context_line":"SYSTEM \u003d \u0027System\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"\"\"\""},{"line_number":30,"context_line":"Common constants used by Brocade FC Zone Driver."}],"source_content_type":"text/x-python","patch_set":15,"id":"3a29b11f_eeeeca20","line":27,"in_reply_to":"3a29b11f_77706340","updated":"2015-10-23 13:13:39.000000000","message":"+1","commit_id":"ef0ce831149ef2f1edb2d64a0f38888867f5dbdb"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"dbbe3893f9eda87a07e0b555a9cab8df99aa6377","unresolved":false,"context_lines":[{"line_number":24,"context_line":"DATA \u003d \u0027data\u0027"},{"line_number":25,"context_line":"HOST \u003d \u0027host_name\u0027"},{"line_number":26,"context_line":"STORAGE \u003d \u0027storage_system\u0027"},{"line_number":27,"context_line":"SYSTEM \u003d \u0027System\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"\"\"\""},{"line_number":30,"context_line":"Common constants used by Brocade FC Zone Driver."}],"source_content_type":"text/x-python","patch_set":15,"id":"fa80f949_3b5e32ea","line":27,"in_reply_to":"3a29b11f_77706340","updated":"2015-11-06 22:46:29.000000000","message":"Done","commit_id":"ef0ce831149ef2f1edb2d64a0f38888867f5dbdb"}],"cinder/zonemanager/drivers/fc_zone_driver.py":[{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"bed86f59a3bcc6c4ebb9c1315c87fece5ae1abc0","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        LOG.debug(\"Initializing FCZoneDriver\")"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def add_connection(self, fabric, initiator_target_map, host_name\u003dNone,"},{"line_number":47,"context_line":"                       storage_name\u003dNone):"},{"line_number":48,"context_line":"        \"\"\"Add connection control."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        Abstract method to add connection control."}],"source_content_type":"text/x-python","patch_set":9,"id":"ba3cc151_ad493cd2","line":47,"updated":"2015-07-07 20:37:16.000000000","message":"Change this to storage_system","commit_id":"d4f9bfb27366b40e740cd49d0d0548f0333602eb"},{"author":{"_account_id":14802,"name":"Pradeep Sathasivam","email":"spradeepv@gmail.com","username":"spradeepv"},"change_message_id":"da378cd8b937484e8598fd5179de21e1dd0a8ceb","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        LOG.debug(\"Initializing FCZoneDriver\")"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def add_connection(self, fabric, initiator_target_map, host_name\u003dNone,"},{"line_number":47,"context_line":"                       storage_name\u003dNone):"},{"line_number":48,"context_line":"        \"\"\"Add connection control."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        Abstract method to add connection control."}],"source_content_type":"text/x-python","patch_set":9,"id":"ba3cc151_453dd8db","line":47,"in_reply_to":"ba3cc151_ad493cd2","updated":"2015-07-08 08:25:27.000000000","message":"Done","commit_id":"d4f9bfb27366b40e740cd49d0d0548f0333602eb"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"bed86f59a3bcc6c4ebb9c1315c87fece5ae1abc0","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        raise NotImplementedError()"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def delete_connection(self, fabric, initiator_target_map, host_name\u003dNone,"},{"line_number":65,"context_line":"                          storage_name\u003dNone):"},{"line_number":66,"context_line":"        \"\"\"Delete connection control."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        Abstract method to remove connection control."}],"source_content_type":"text/x-python","patch_set":9,"id":"ba3cc151_cd44c0b8","line":65,"updated":"2015-07-07 20:37:16.000000000","message":"Change this to storage_system","commit_id":"d4f9bfb27366b40e740cd49d0d0548f0333602eb"},{"author":{"_account_id":14802,"name":"Pradeep Sathasivam","email":"spradeepv@gmail.com","username":"spradeepv"},"change_message_id":"da378cd8b937484e8598fd5179de21e1dd0a8ceb","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        raise NotImplementedError()"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def delete_connection(self, fabric, initiator_target_map, host_name\u003dNone,"},{"line_number":65,"context_line":"                          storage_name\u003dNone):"},{"line_number":66,"context_line":"        \"\"\"Delete connection control."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        Abstract method to remove connection control."}],"source_content_type":"text/x-python","patch_set":9,"id":"ba3cc151_e5266ccd","line":65,"in_reply_to":"ba3cc151_cd44c0b8","updated":"2015-07-08 08:25:27.000000000","message":"Done","commit_id":"d4f9bfb27366b40e740cd49d0d0548f0333602eb"}],"cinder/zonemanager/fc_zone_manager.py":[{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"4698a399e46b571c06fd780213158aaaf17146ed","unresolved":false,"context_lines":[{"line_number":63,"context_line":"               default\u003d\u0027cinder.zonemanager.drivers.brocade\u0027"},{"line_number":64,"context_line":"               \u0027.brcd_fc_san_lookup_service.BrcdFCSanLookupService\u0027,"},{"line_number":65,"context_line":"               help\u003d\u0027FC San Lookup Service\u0027),"},{"line_number":66,"context_line":"    cfg.StrOpt(\u0027zone_naming_scheme\u0027,"},{"line_number":67,"context_line":"               default\u003d\u0027System\u0027,"},{"line_number":68,"context_line":"               help\u003d\u0027System \u0026 Friendly_zone_name\u0027),"},{"line_number":69,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a0c5dc1_ef619aa9","line":66,"updated":"2015-05-13 20:57:06.000000000","message":"remove based on spec and bp changes","commit_id":"22cee653525be7b2bf25269fcb27f707cc14229a"},{"author":{"_account_id":14802,"name":"Pradeep Sathasivam","email":"spradeepv@gmail.com","username":"spradeepv"},"change_message_id":"17f05988c7679b8ea980362f38ce2645939e66f8","unresolved":false,"context_lines":[{"line_number":63,"context_line":"               default\u003d\u0027cinder.zonemanager.drivers.brocade\u0027"},{"line_number":64,"context_line":"               \u0027.brcd_fc_san_lookup_service.BrcdFCSanLookupService\u0027,"},{"line_number":65,"context_line":"               help\u003d\u0027FC San Lookup Service\u0027),"},{"line_number":66,"context_line":"    cfg.StrOpt(\u0027zone_naming_scheme\u0027,"},{"line_number":67,"context_line":"               default\u003d\u0027System\u0027,"},{"line_number":68,"context_line":"               help\u003d\u0027System \u0026 Friendly_zone_name\u0027),"},{"line_number":69,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_431d7965","line":66,"in_reply_to":"9a0c5dc1_ef619aa9","updated":"2015-05-14 07:21:38.000000000","message":"Done","commit_id":"22cee653525be7b2bf25269fcb27f707cc14229a"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"4698a399e46b571c06fd780213158aaaf17146ed","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        \"\"\""},{"line_number":139,"context_line":"        connected_fabric \u003d None"},{"line_number":140,"context_line":"        host_name \u003d None"},{"line_number":141,"context_line":"        storage_name \u003d None"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        try:"},{"line_number":144,"context_line":"            if ZoneConstant.IT_MAP in conn_info[ZoneConstant.DATA]:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a0c5dc1_34682787","line":141,"updated":"2015-05-13 20:57:06.000000000","message":"update to storage_system based on spec and BP changes","commit_id":"22cee653525be7b2bf25269fcb27f707cc14229a"},{"author":{"_account_id":14802,"name":"Pradeep Sathasivam","email":"spradeepv@gmail.com","username":"spradeepv"},"change_message_id":"17f05988c7679b8ea980362f38ce2645939e66f8","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        \"\"\""},{"line_number":139,"context_line":"        connected_fabric \u003d None"},{"line_number":140,"context_line":"        host_name \u003d None"},{"line_number":141,"context_line":"        storage_name \u003d None"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        try:"},{"line_number":144,"context_line":"            if ZoneConstant.IT_MAP in conn_info[ZoneConstant.DATA]:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_032661ba","line":141,"in_reply_to":"9a0c5dc1_34682787","updated":"2015-05-14 07:21:38.000000000","message":"Done","commit_id":"22cee653525be7b2bf25269fcb27f707cc14229a"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"4698a399e46b571c06fd780213158aaaf17146ed","unresolved":false,"context_lines":[{"line_number":154,"context_line":"                host_name \u003d conn_info[ZoneConstant.DATA][ZoneConstant.HOST]"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"            if ZoneConstant.STORAGE in conn_info[ZoneConstant.DATA]:"},{"line_number":157,"context_line":"                storage_name \u003d \\"},{"line_number":158,"context_line":"                    conn_info[ZoneConstant.DATA][ZoneConstant.STORAGE]"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"            for initiator in initiator_target_map.keys():"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a0c5dc1_0f386e9f","line":157,"updated":"2015-05-13 20:57:06.000000000","message":"should probably check host_name and storage_system values for spaces and replace with underscore","commit_id":"22cee653525be7b2bf25269fcb27f707cc14229a"},{"author":{"_account_id":14802,"name":"Pradeep Sathasivam","email":"spradeepv@gmail.com","username":"spradeepv"},"change_message_id":"17f05988c7679b8ea980362f38ce2645939e66f8","unresolved":false,"context_lines":[{"line_number":154,"context_line":"                host_name \u003d conn_info[ZoneConstant.DATA][ZoneConstant.HOST]"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"            if ZoneConstant.STORAGE in conn_info[ZoneConstant.DATA]:"},{"line_number":157,"context_line":"                storage_name \u003d \\"},{"line_number":158,"context_line":"                    conn_info[ZoneConstant.DATA][ZoneConstant.STORAGE]"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"            for initiator in initiator_target_map.keys():"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_e32a257e","line":157,"in_reply_to":"9a0c5dc1_0f386e9f","updated":"2015-05-14 07:21:38.000000000","message":"Done","commit_id":"22cee653525be7b2bf25269fcb27f707cc14229a"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"4698a399e46b571c06fd780213158aaaf17146ed","unresolved":false,"context_lines":[{"line_number":176,"context_line":"                             {fabric: valid_i_t_map})"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"                    # Call driver to add connection control"},{"line_number":179,"context_line":"                    if self.zone_name_scheme \u003d\u003d ZoneConstant.SYSTEM:"},{"line_number":180,"context_line":"                        self.driver.add_connection(fabric, valid_i_t_map)"},{"line_number":181,"context_line":"                    else:"},{"line_number":182,"context_line":"                        self.driver.add_connection(fabric, valid_i_t_map,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a0c5dc1_34ff07ac","line":179,"updated":"2015-05-13 20:57:06.000000000","message":"Remove based on spec and BP changes.  If host name and storage system exist in ITmap, then use new naming scheme, otherwise use existing scheme.","commit_id":"22cee653525be7b2bf25269fcb27f707cc14229a"},{"author":{"_account_id":14802,"name":"Pradeep Sathasivam","email":"spradeepv@gmail.com","username":"spradeepv"},"change_message_id":"17f05988c7679b8ea980362f38ce2645939e66f8","unresolved":false,"context_lines":[{"line_number":176,"context_line":"                             {fabric: valid_i_t_map})"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"                    # Call driver to add connection control"},{"line_number":179,"context_line":"                    if self.zone_name_scheme \u003d\u003d ZoneConstant.SYSTEM:"},{"line_number":180,"context_line":"                        self.driver.add_connection(fabric, valid_i_t_map)"},{"line_number":181,"context_line":"                    else:"},{"line_number":182,"context_line":"                        self.driver.add_connection(fabric, valid_i_t_map,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_a3242daf","line":179,"in_reply_to":"9a0c5dc1_34ff07ac","updated":"2015-05-14 07:21:38.000000000","message":"Done","commit_id":"22cee653525be7b2bf25269fcb27f707cc14229a"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"743337d5d28047d92fe1f896e947c2c2fed087ca","unresolved":false,"context_lines":[{"line_number":39,"context_line":"from cinder import exception"},{"line_number":40,"context_line":"from cinder.i18n import _, _LI"},{"line_number":41,"context_line":"from cinder.volume import configuration as config"},{"line_number":42,"context_line":"import cinder.zonemanager.drivers.brocade.fc_zone_constants as ZoneConstant"},{"line_number":43,"context_line":"from cinder.zonemanager import fc_common"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"fa32b979_74af97e3","line":42,"updated":"2015-06-22 20:20:46.000000000","message":"This import is confusing: looks like it imports object, not module","commit_id":"14b6fdc318def7a5e242bf34621ad12aae7d5a93"},{"author":{"_account_id":14802,"name":"Pradeep Sathasivam","email":"spradeepv@gmail.com","username":"spradeepv"},"change_message_id":"02f8e0180cc8eba9c1dde55545f44df463b374d1","unresolved":false,"context_lines":[{"line_number":39,"context_line":"from cinder import exception"},{"line_number":40,"context_line":"from cinder.i18n import _, _LI"},{"line_number":41,"context_line":"from cinder.volume import configuration as config"},{"line_number":42,"context_line":"import cinder.zonemanager.drivers.brocade.fc_zone_constants as ZoneConstant"},{"line_number":43,"context_line":"from cinder.zonemanager import fc_common"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"ba3cc151_5b20d4f7","line":42,"in_reply_to":"fa32b979_74af97e3","updated":"2015-06-29 08:53:55.000000000","message":"Changed to zone_constants","commit_id":"14b6fdc318def7a5e242bf34621ad12aae7d5a93"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"bed86f59a3bcc6c4ebb9c1315c87fece5ae1abc0","unresolved":false,"context_lines":[{"line_number":138,"context_line":"                conn_info[zone_constant.DATA][zone_constant.IT_MAP]"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"            if zone_constant.HOST in conn_info[zone_constant.DATA]:"},{"line_number":141,"context_line":"                host_name \u003d conn_info[zone_constant.DATA][zone_constant.HOST]"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"            if zone_constant.STORAGE in conn_info[zone_constant.DATA]:"},{"line_number":144,"context_line":"                storage_system \u003d \\"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba3cc151_cd728011","line":141,"updated":"2015-07-07 20:37:16.000000000","message":"Is it possible the host_name would have spaces?  Probably should replace spaces with underscore here as is being done for storage_system","commit_id":"d4f9bfb27366b40e740cd49d0d0548f0333602eb"},{"author":{"_account_id":14802,"name":"Pradeep Sathasivam","email":"spradeepv@gmail.com","username":"spradeepv"},"change_message_id":"da378cd8b937484e8598fd5179de21e1dd0a8ceb","unresolved":false,"context_lines":[{"line_number":138,"context_line":"                conn_info[zone_constant.DATA][zone_constant.IT_MAP]"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"            if zone_constant.HOST in conn_info[zone_constant.DATA]:"},{"line_number":141,"context_line":"                host_name \u003d conn_info[zone_constant.DATA][zone_constant.HOST]"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"            if zone_constant.STORAGE in conn_info[zone_constant.DATA]:"},{"line_number":144,"context_line":"                storage_system \u003d \\"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba3cc151_1712a357","line":141,"in_reply_to":"ba3cc151_cd728011","updated":"2015-07-08 08:25:27.000000000","message":"Done","commit_id":"d4f9bfb27366b40e740cd49d0d0548f0333602eb"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"13dc56ed3214a3c363c0fc2960d1af59dbe58ee4","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        storage_system \u003d None"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        try:"},{"line_number":137,"context_line":"            initiator_target_map \u003d \\"},{"line_number":138,"context_line":"                conn_info[zone_constant.DATA][zone_constant.IT_MAP]"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"            if zone_constant.HOST in conn_info[zone_constant.DATA]:"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a1a9d01_9dce5182","line":137,"updated":"2015-09-24 20:58:41.000000000","message":"We should use () instead of \\ for line continuation if possible.","commit_id":"249e917b90d5c3e260490830e19f7966ad2a276b"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"51dbaed46f22429bdbeda0a98e640f58f9aab6db","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        storage_system \u003d None"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        try:"},{"line_number":137,"context_line":"            initiator_target_map \u003d \\"},{"line_number":138,"context_line":"                conn_info[zone_constant.DATA][zone_constant.IT_MAP]"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"            if zone_constant.HOST in conn_info[zone_constant.DATA]:"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a1a9d01_f1c8b576","line":137,"in_reply_to":"9a1a9d01_9dce5182","updated":"2015-09-25 17:28:45.000000000","message":"Done","commit_id":"249e917b90d5c3e260490830e19f7966ad2a276b"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"13dc56ed3214a3c363c0fc2960d1af59dbe58ee4","unresolved":false,"context_lines":[{"line_number":143,"context_line":"                    zone_constant.HOST].replace(\" \", \"_\")"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"            if zone_constant.STORAGE in conn_info[zone_constant.DATA]:"},{"line_number":146,"context_line":"                storage_system \u003d \\"},{"line_number":147,"context_line":"                    conn_info["},{"line_number":148,"context_line":"                        zone_constant.DATA]["},{"line_number":149,"context_line":"                        zone_constant.STORAGE].replace(\" \", \"_\")"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a1a9d01_bdcb1572","line":146,"updated":"2015-09-24 20:58:41.000000000","message":"We should use () instead of \\ for line continuation if possible.","commit_id":"249e917b90d5c3e260490830e19f7966ad2a276b"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"51dbaed46f22429bdbeda0a98e640f58f9aab6db","unresolved":false,"context_lines":[{"line_number":143,"context_line":"                    zone_constant.HOST].replace(\" \", \"_\")"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"            if zone_constant.STORAGE in conn_info[zone_constant.DATA]:"},{"line_number":146,"context_line":"                storage_system \u003d \\"},{"line_number":147,"context_line":"                    conn_info["},{"line_number":148,"context_line":"                        zone_constant.DATA]["},{"line_number":149,"context_line":"                        zone_constant.STORAGE].replace(\" \", \"_\")"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a1a9d01_b1a1ddab","line":146,"in_reply_to":"9a1a9d01_bdcb1572","updated":"2015-09-25 17:28:45.000000000","message":"Done","commit_id":"249e917b90d5c3e260490830e19f7966ad2a276b"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"13dc56ed3214a3c363c0fc2960d1af59dbe58ee4","unresolved":false,"context_lines":[{"line_number":195,"context_line":"        storage_system \u003d None"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"        try:"},{"line_number":198,"context_line":"            initiator_target_map \u003d \\"},{"line_number":199,"context_line":"                conn_info[zone_constant.DATA][zone_constant.IT_MAP]"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"            if zone_constant.HOST in conn_info[zone_constant.DATA]:"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a1a9d01_1dba41e2","line":198,"updated":"2015-09-24 20:58:41.000000000","message":"We should use () instead of \\ for line continuation if possible.","commit_id":"249e917b90d5c3e260490830e19f7966ad2a276b"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"51dbaed46f22429bdbeda0a98e640f58f9aab6db","unresolved":false,"context_lines":[{"line_number":195,"context_line":"        storage_system \u003d None"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"        try:"},{"line_number":198,"context_line":"            initiator_target_map \u003d \\"},{"line_number":199,"context_line":"                conn_info[zone_constant.DATA][zone_constant.IT_MAP]"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"            if zone_constant.HOST in conn_info[zone_constant.DATA]:"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a1a9d01_31962d4d","line":198,"in_reply_to":"9a1a9d01_1dba41e2","updated":"2015-09-25 17:28:45.000000000","message":"Done","commit_id":"249e917b90d5c3e260490830e19f7966ad2a276b"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"13dc56ed3214a3c363c0fc2960d1af59dbe58ee4","unresolved":false,"context_lines":[{"line_number":202,"context_line":"                host_name \u003d conn_info[zone_constant.DATA][zone_constant.HOST]"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"            if zone_constant.STORAGE in conn_info[zone_constant.DATA]:"},{"line_number":205,"context_line":"                storage_system \u003d \\"},{"line_number":206,"context_line":"                    conn_info["},{"line_number":207,"context_line":"                        zone_constant.DATA]["},{"line_number":208,"context_line":"                        zone_constant.STORAGE].replace(\" \", \"_\")"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a1a9d01_ddb36909","line":205,"updated":"2015-09-24 20:58:41.000000000","message":"We should use () instead of \\ for line continuation if possible.","commit_id":"249e917b90d5c3e260490830e19f7966ad2a276b"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"51dbaed46f22429bdbeda0a98e640f58f9aab6db","unresolved":false,"context_lines":[{"line_number":202,"context_line":"                host_name \u003d conn_info[zone_constant.DATA][zone_constant.HOST]"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"            if zone_constant.STORAGE in conn_info[zone_constant.DATA]:"},{"line_number":205,"context_line":"                storage_system \u003d \\"},{"line_number":206,"context_line":"                    conn_info["},{"line_number":207,"context_line":"                        zone_constant.DATA]["},{"line_number":208,"context_line":"                        zone_constant.STORAGE].replace(\" \", \"_\")"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a1a9d01_119d2965","line":205,"in_reply_to":"9a1a9d01_ddb36909","updated":"2015-09-25 17:28:45.000000000","message":"Done","commit_id":"249e917b90d5c3e260490830e19f7966ad2a276b"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"1fb22a9d521ca5aef0e18d7928e2b9d99ed3247f","unresolved":false,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"            for initiator in initiator_target_map.keys():"},{"line_number":152,"context_line":"                target_list \u003d initiator_target_map[initiator]"},{"line_number":153,"context_line":"                LOG.debug(\"Target List :%s\", {initiator: target_list})"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"                # get SAN context for the target list"},{"line_number":156,"context_line":"                fabric_map \u003d self.get_san_context(target_list)"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a1a9d01_b1c79d11","line":153,"updated":"2015-09-25 18:54:52.000000000","message":"this is incorrect formatting.\n\n\"Target List: %(initiator)s\", {\u0027initiator\u0027: target_list}","commit_id":"b46dee5fb26315562954a6480720137d2f9ea36f"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"347f7ae1857674d78662ee59d1d23402592700e6","unresolved":false,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"            for initiator in initiator_target_map.keys():"},{"line_number":152,"context_line":"                target_list \u003d initiator_target_map[initiator]"},{"line_number":153,"context_line":"                LOG.debug(\"Target List :%s\", {initiator: target_list})"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"                # get SAN context for the target list"},{"line_number":156,"context_line":"                fabric_map \u003d self.get_san_context(target_list)"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a1a9d01_2a504631","line":153,"in_reply_to":"9a1a9d01_b1c79d11","updated":"2015-09-30 21:52:35.000000000","message":"Fixed format of all logging in all files.","commit_id":"b46dee5fb26315562954a6480720137d2f9ea36f"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"1fb22a9d521ca5aef0e18d7928e2b9d99ed3247f","unresolved":false,"context_lines":[{"line_number":164,"context_line":"                    valid_i_t_map \u003d self.get_valid_initiator_target_map("},{"line_number":165,"context_line":"                        i_t_map, True)"},{"line_number":166,"context_line":"                    LOG.info(_LI(\"Final filtered map for fabric: %s\"),"},{"line_number":167,"context_line":"                             {fabric: valid_i_t_map})"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"                    # Call driver to add connection control"},{"line_number":170,"context_line":"                    self.driver.add_connection(fabric, valid_i_t_map,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a1a9d01_f1e515a8","line":167,"updated":"2015-09-25 18:54:52.000000000","message":"same as above","commit_id":"b46dee5fb26315562954a6480720137d2f9ea36f"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"347f7ae1857674d78662ee59d1d23402592700e6","unresolved":false,"context_lines":[{"line_number":164,"context_line":"                    valid_i_t_map \u003d self.get_valid_initiator_target_map("},{"line_number":165,"context_line":"                        i_t_map, True)"},{"line_number":166,"context_line":"                    LOG.info(_LI(\"Final filtered map for fabric: %s\"),"},{"line_number":167,"context_line":"                             {fabric: valid_i_t_map})"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"                    # Call driver to add connection control"},{"line_number":170,"context_line":"                    self.driver.add_connection(fabric, valid_i_t_map,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a1a9d01_ea456e6e","line":167,"in_reply_to":"9a1a9d01_f1e515a8","updated":"2015-09-30 21:52:35.000000000","message":"Done","commit_id":"b46dee5fb26315562954a6480720137d2f9ea36f"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    def _build_driver(self):"},{"line_number":101,"context_line":"        zone_driver \u003d self.configuration.zone_driver"},{"line_number":102,"context_line":"        LOG.debug(\"Zone driver from config: %(driver)s\","},{"line_number":103,"context_line":"                  {\u0027driver\u0027: zone_driver})"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        zm_config \u003d config.Configuration(zone_manager_opts, \u0027fc-zone-manager\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_d6c49e60","line":102,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"            for initiator in initiator_target_map.keys():"},{"line_number":153,"context_line":"                target_list \u003d initiator_target_map[initiator]"},{"line_number":154,"context_line":"                LOG.debug(\"Target list : %(targets)s\","},{"line_number":155,"context_line":"                          {\u0027targets\u0027: target_list})"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"                # get SAN context for the target list"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_96a5c6b6","line":154,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":156,"context_line":""},{"line_number":157,"context_line":"                # get SAN context for the target list"},{"line_number":158,"context_line":"                fabric_map \u003d self.get_san_context(target_list)"},{"line_number":159,"context_line":"                LOG.debug(\"Fabric map after context lookup: %(fabricmap)s\","},{"line_number":160,"context_line":"                          {\u0027fabricmap\u0027: fabric_map})"},{"line_number":161,"context_line":"                # iterate over each SAN and apply connection control"},{"line_number":162,"context_line":"                for fabric in fabric_map.keys():"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_56af2e94","line":159,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":166,"context_line":"                    i_t_map \u003d {initiator: t_list}"},{"line_number":167,"context_line":"                    valid_i_t_map \u003d self.get_valid_initiator_target_map("},{"line_number":168,"context_line":"                        i_t_map, True)"},{"line_number":169,"context_line":"                    LOG.info(_LI(\"Final filtered map for fabric: %(i_t_map)s\"),"},{"line_number":170,"context_line":"                             {\u0027i_t_map\u0027: valid_i_t_map})"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"                    # Call driver to add connection control"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_f6944245","line":169,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":212,"context_line":""},{"line_number":213,"context_line":"            for initiator in initiator_target_map.keys():"},{"line_number":214,"context_line":"                target_list \u003d initiator_target_map[initiator]"},{"line_number":215,"context_line":"                LOG.info(_LI(\"Delete connection target list: %(targets)s\"),"},{"line_number":216,"context_line":"                         {\u0027targets\u0027: target_list})"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"                # get SAN context for the target list"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_7687d212","line":215,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":218,"context_line":"                # get SAN context for the target list"},{"line_number":219,"context_line":"                fabric_map \u003d self.get_san_context(target_list)"},{"line_number":220,"context_line":"                LOG.debug(\"Delete connection fabric map from SAN \""},{"line_number":221,"context_line":"                          \"context: %(fabricmap)s\", {\u0027fabricmap\u0027: fabric_map})"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"                # iterate over each SAN and apply connection control"},{"line_number":224,"context_line":"                for fabric in fabric_map.keys():"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_36815afc","line":221,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":229,"context_line":"                    valid_i_t_map \u003d self.get_valid_initiator_target_map("},{"line_number":230,"context_line":"                        i_t_map, False)"},{"line_number":231,"context_line":"                    LOG.info(_LI(\"Final filtered map for delete connection: \""},{"line_number":232,"context_line":"                                 \"%(i_t_map)s\"), {\u0027i_t_map\u0027: valid_i_t_map})"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"                    # Call driver to delete connection control"},{"line_number":235,"context_line":"                    if len(valid_i_t_map) \u003e 0:"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_56864e14","line":232,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"2b0046293f9df7ca3d35a48e93c0e24a1bb4599b","unresolved":false,"context_lines":[{"line_number":39,"context_line":"from cinder import exception"},{"line_number":40,"context_line":"from cinder.i18n import _, _LI"},{"line_number":41,"context_line":"from cinder.volume import configuration as config"},{"line_number":42,"context_line":"import cinder.zonemanager.drivers.brocade.fc_zone_constants as zone_constant"},{"line_number":43,"context_line":"from cinder.zonemanager import fc_common"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"3a29b11f_d7a93791","line":42,"updated":"2015-10-22 22:49:27.000000000","message":"why are the constants for the FCZM coming from the Brocade driver section?  What about Cisco ?","commit_id":"ef0ce831149ef2f1edb2d64a0f38888867f5dbdb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"55cae0157bc362cf5d4fd4175030385a22f40846","unresolved":false,"context_lines":[{"line_number":39,"context_line":"from cinder import exception"},{"line_number":40,"context_line":"from cinder.i18n import _, _LI"},{"line_number":41,"context_line":"from cinder.volume import configuration as config"},{"line_number":42,"context_line":"import cinder.zonemanager.drivers.brocade.fc_zone_constants as zone_constant"},{"line_number":43,"context_line":"from cinder.zonemanager import fc_common"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"3a29b11f_538c45d9","line":42,"in_reply_to":"3a29b11f_d7a93791","updated":"2015-10-23 13:13:39.000000000","message":"+1","commit_id":"ef0ce831149ef2f1edb2d64a0f38888867f5dbdb"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"dbbe3893f9eda87a07e0b555a9cab8df99aa6377","unresolved":false,"context_lines":[{"line_number":39,"context_line":"from cinder import exception"},{"line_number":40,"context_line":"from cinder.i18n import _, _LI"},{"line_number":41,"context_line":"from cinder.volume import configuration as config"},{"line_number":42,"context_line":"import cinder.zonemanager.drivers.brocade.fc_zone_constants as zone_constant"},{"line_number":43,"context_line":"from cinder.zonemanager import fc_common"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"fa80f949_dbc12682","line":42,"in_reply_to":"3a29b11f_d7a93791","updated":"2015-11-06 22:46:29.000000000","message":"Done","commit_id":"ef0ce831149ef2f1edb2d64a0f38888867f5dbdb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"55cae0157bc362cf5d4fd4175030385a22f40846","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    cfg.StrOpt(\u0027zone_driver\u0027,"},{"line_number":50,"context_line":"               default\u003d\u0027cinder.zonemanager.drivers.brocade.brcd_fc_zone_driver\u0027"},{"line_number":51,"context_line":"               \u0027.BrcdFCZoneDriver\u0027,"},{"line_number":52,"context_line":"               help\u003d\u0027FC Zone Driver responsible for zone management\u0027),"},{"line_number":53,"context_line":"    cfg.StrOpt(\u0027zoning_policy\u0027,"},{"line_number":54,"context_line":"               default\u003d\u0027initiator-target\u0027,"},{"line_number":55,"context_line":"               help\u003d\u0027Zoning policy configured by user; valid values include \u0027"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a29b11f_d365b51d","line":52,"updated":"2015-10-23 13:13:39.000000000","message":"This is Brocade zone driver.  What about Cisco?","commit_id":"ef0ce831149ef2f1edb2d64a0f38888867f5dbdb"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"dbbe3893f9eda87a07e0b555a9cab8df99aa6377","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    cfg.StrOpt(\u0027zone_driver\u0027,"},{"line_number":50,"context_line":"               default\u003d\u0027cinder.zonemanager.drivers.brocade.brcd_fc_zone_driver\u0027"},{"line_number":51,"context_line":"               \u0027.BrcdFCZoneDriver\u0027,"},{"line_number":52,"context_line":"               help\u003d\u0027FC Zone Driver responsible for zone management\u0027),"},{"line_number":53,"context_line":"    cfg.StrOpt(\u0027zoning_policy\u0027,"},{"line_number":54,"context_line":"               default\u003d\u0027initiator-target\u0027,"},{"line_number":55,"context_line":"               help\u003d\u0027Zoning policy configured by user; valid values include \u0027"}],"source_content_type":"text/x-python","patch_set":15,"id":"fa80f949_1bf80ee5","line":52,"in_reply_to":"3a29b11f_d365b51d","updated":"2015-11-06 22:46:29.000000000","message":"Xing, this has always been the default driver as it was the first driver added.   This is not something we are modifying in this patch.  I believe I should leave this as is, but if the consensus is to change it, I would need to remove the default value.","commit_id":"ef0ce831149ef2f1edb2d64a0f38888867f5dbdb"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"55cae0157bc362cf5d4fd4175030385a22f40846","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    cfg.StrOpt(\u0027fc_san_lookup_service\u0027,"},{"line_number":63,"context_line":"               default\u003d\u0027cinder.zonemanager.drivers.brocade\u0027"},{"line_number":64,"context_line":"               \u0027.brcd_fc_san_lookup_service.BrcdFCSanLookupService\u0027,"},{"line_number":65,"context_line":"               help\u003d\u0027FC San Lookup Service\u0027)"},{"line_number":66,"context_line":"]"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a29b11f_b36ef9fd","line":65,"updated":"2015-10-23 13:13:39.000000000","message":"This is Brocade lookup service.  What about Cisco?","commit_id":"ef0ce831149ef2f1edb2d64a0f38888867f5dbdb"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"dbbe3893f9eda87a07e0b555a9cab8df99aa6377","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    cfg.StrOpt(\u0027fc_san_lookup_service\u0027,"},{"line_number":63,"context_line":"               default\u003d\u0027cinder.zonemanager.drivers.brocade\u0027"},{"line_number":64,"context_line":"               \u0027.brcd_fc_san_lookup_service.BrcdFCSanLookupService\u0027,"},{"line_number":65,"context_line":"               help\u003d\u0027FC San Lookup Service\u0027)"},{"line_number":66,"context_line":"]"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":15,"id":"fa80f949_5bd53641","line":65,"in_reply_to":"3a29b11f_b36ef9fd","updated":"2015-11-06 22:46:29.000000000","message":"Xing, this has always been the default lookup service as it was the first one added.   This is not something we are modifying in this patch.  I believe I should leave this as is, but if the consensus is to change it, I would need to remove the default value.","commit_id":"ef0ce831149ef2f1edb2d64a0f38888867f5dbdb"},{"author":{"_account_id":10439,"name":"Xi Yang","email":"yang.xi@99cloud.net","username":"phenom"},"change_message_id":"9b6d1a3699f3978e6e4c622db809313113bdfefa","unresolved":false,"context_lines":[{"line_number":283,"context_line":"                filtered_i_t_map[initiator] \u003d t_list"},{"line_number":284,"context_line":"            else:"},{"line_number":285,"context_line":"                LOG.info(_LI(\"No targets to add or remove connection for \""},{"line_number":286,"context_line":"                             \"initiator: %(initWWN)s\"), {\u0027initWWN\u0027: initiator})"},{"line_number":287,"context_line":"        return filtered_i_t_map"}],"source_content_type":"text/x-python","patch_set":15,"id":"3a29b11f_5d5d2f47","line":286,"updated":"2015-10-23 15:06:44.000000000","message":"Better to keep consistent naimg rules. \u0027initWWN\u0027 -\u003e \u0027init_wwn\u0027","commit_id":"ef0ce831149ef2f1edb2d64a0f38888867f5dbdb"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"dbbe3893f9eda87a07e0b555a9cab8df99aa6377","unresolved":false,"context_lines":[{"line_number":283,"context_line":"                filtered_i_t_map[initiator] \u003d t_list"},{"line_number":284,"context_line":"            else:"},{"line_number":285,"context_line":"                LOG.info(_LI(\"No targets to add or remove connection for \""},{"line_number":286,"context_line":"                             \"initiator: %(initWWN)s\"), {\u0027initWWN\u0027: initiator})"},{"line_number":287,"context_line":"        return filtered_i_t_map"}],"source_content_type":"text/x-python","patch_set":15,"id":"fa80f949_db484630","line":286,"in_reply_to":"3a29b11f_5d5d2f47","updated":"2015-11-06 22:46:29.000000000","message":"Done","commit_id":"ef0ce831149ef2f1edb2d64a0f38888867f5dbdb"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"ad9709afdf541f72041287c7d1aed886b9de6628","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    cfg.StrOpt(\u0027fc_san_lookup_service\u0027,"},{"line_number":62,"context_line":"               default\u003d\u0027cinder.zonemanager.drivers.brocade\u0027"},{"line_number":63,"context_line":"               \u0027.brcd_fc_san_lookup_service.BrcdFCSanLookupService\u0027,"},{"line_number":64,"context_line":"               help\u003d\u0027FC San Lookup Service\u0027)"},{"line_number":65,"context_line":"]"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":27,"id":"9a68dd71_3cef89ea","line":64,"range":{"start_line":64,"start_character":24,"end_line":64,"end_character":27},"updated":"2016-01-22 23:21:28.000000000","message":"This should probably have stayed SAN since it\u0027s an acronym.","commit_id":"742199c98bdf762250c82177c2c52b820ff18647"}],"cinder/zonemanager/utils.py":[{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"90827c6a78f1f44b4b6fa4770035a87ec3e7b0ac","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        vol_type \u003d conn_info.get(\u0027driver_volume_type\u0027, None)"},{"line_number":85,"context_line":"        if vol_type \u003d\u003d \u0027fibre_channel\u0027:"},{"line_number":86,"context_line":"            zm \u003d create_zone_manager()"},{"line_number":87,"context_line":"            if zm:"},{"line_number":88,"context_line":"                LOG.debug(\"Conn_info map returned by Volume Driver \u0027%s\u0027.\","},{"line_number":89,"context_line":"                          conn_info)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a0c5dc1_e2544755","line":86,"updated":"2015-05-13 19:06:38.000000000","message":"Why is the if stmt being removed?  Possibly this check was introduced to prevent unnecessary ZM instantiation.","commit_id":"22cee653525be7b2bf25269fcb27f707cc14229a"},{"author":{"_account_id":14802,"name":"Pradeep Sathasivam","email":"spradeepv@gmail.com","username":"spradeepv"},"change_message_id":"17f05988c7679b8ea980362f38ce2645939e66f8","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        vol_type \u003d conn_info.get(\u0027driver_volume_type\u0027, None)"},{"line_number":85,"context_line":"        if vol_type \u003d\u003d \u0027fibre_channel\u0027:"},{"line_number":86,"context_line":"            zm \u003d create_zone_manager()"},{"line_number":87,"context_line":"            if zm:"},{"line_number":88,"context_line":"                LOG.debug(\"Conn_info map returned by Volume Driver \u0027%s\u0027.\","},{"line_number":89,"context_line":"                          conn_info)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a016987_434b395a","line":86,"in_reply_to":"9a0c5dc1_e2544755","updated":"2015-05-14 07:21:38.000000000","message":"Previously fc_zone_manager had initiator_target_map as a parameter in add_connection, now it is changed to conn_info. This check is now moved to zone manager.","commit_id":"22cee653525be7b2bf25269fcb27f707cc14229a"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"bed86f59a3bcc6c4ebb9c1315c87fece5ae1abc0","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"def get_friendly_zone_name(zoning_policy, initiator, target,"},{"line_number":123,"context_line":"                           host_name, storage_name, zone_name_prefix):"},{"line_number":124,"context_line":"    \"\"\"Utility function implementation of _get_friendly_zone_name."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    Get friendly zone name is used to form the zone name"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba3cc151_4d475077","line":123,"updated":"2015-07-07 20:37:16.000000000","message":"change to storage_system throughout","commit_id":"d4f9bfb27366b40e740cd49d0d0548f0333602eb"},{"author":{"_account_id":14802,"name":"Pradeep Sathasivam","email":"spradeepv@gmail.com","username":"spradeepv"},"change_message_id":"da378cd8b937484e8598fd5179de21e1dd0a8ceb","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"def get_friendly_zone_name(zoning_policy, initiator, target,"},{"line_number":123,"context_line":"                           host_name, storage_name, zone_name_prefix):"},{"line_number":124,"context_line":"    \"\"\"Utility function implementation of _get_friendly_zone_name."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    Get friendly zone name is used to form the zone name"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba3cc151_b73177ef","line":123,"in_reply_to":"ba3cc151_4d475077","updated":"2015-07-08 08:25:27.000000000","message":"Done","commit_id":"d4f9bfb27366b40e740cd49d0d0548f0333602eb"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"bed86f59a3bcc6c4ebb9c1315c87fece5ae1abc0","unresolved":false,"context_lines":[{"line_number":150,"context_line":"                         + storage_name + \"_\""},{"line_number":151,"context_line":"                         + target.replace(\u0027:\u0027, \u0027\u0027))"},{"line_number":152,"context_line":"        else:"},{"line_number":153,"context_line":"            zone_name \u003d (zone_name_prefix + \"_\""},{"line_number":154,"context_line":"                         + initiator.replace(\u0027:\u0027, \u0027\u0027) + \"_\""},{"line_number":155,"context_line":"                         + target.replace(\u0027:\u0027, \u0027\u0027))"},{"line_number":156,"context_line":"            LOG.info(_LI(\"System name is created because either host\""}],"source_content_type":"text/x-python","patch_set":9,"id":"ba3cc151_f06877bc","line":153,"updated":"2015-07-07 20:37:16.000000000","message":"We should maintain the same naming convention as previous release if host_name and storage_system values are not provided.  Underscore should not be inserted into zone name.","commit_id":"d4f9bfb27366b40e740cd49d0d0548f0333602eb"},{"author":{"_account_id":14802,"name":"Pradeep Sathasivam","email":"spradeepv@gmail.com","username":"spradeepv"},"change_message_id":"da378cd8b937484e8598fd5179de21e1dd0a8ceb","unresolved":false,"context_lines":[{"line_number":150,"context_line":"                         + storage_name + \"_\""},{"line_number":151,"context_line":"                         + target.replace(\u0027:\u0027, \u0027\u0027))"},{"line_number":152,"context_line":"        else:"},{"line_number":153,"context_line":"            zone_name \u003d (zone_name_prefix + \"_\""},{"line_number":154,"context_line":"                         + initiator.replace(\u0027:\u0027, \u0027\u0027) + \"_\""},{"line_number":155,"context_line":"                         + target.replace(\u0027:\u0027, \u0027\u0027))"},{"line_number":156,"context_line":"            LOG.info(_LI(\"System name is created because either host\""}],"source_content_type":"text/x-python","patch_set":9,"id":"ba3cc151_97d6b34d","line":153,"in_reply_to":"ba3cc151_f06877bc","updated":"2015-07-08 08:25:27.000000000","message":"Done","commit_id":"d4f9bfb27366b40e740cd49d0d0548f0333602eb"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"bed86f59a3bcc6c4ebb9c1315c87fece5ae1abc0","unresolved":false,"context_lines":[{"line_number":161,"context_line":"            zone_name \u003d (host_name + \"_\""},{"line_number":162,"context_line":"                         + initiator.replace(\u0027:\u0027, \u0027\u0027))"},{"line_number":163,"context_line":"        else:"},{"line_number":164,"context_line":"            zone_name \u003d (zone_name_prefix + \"_\""},{"line_number":165,"context_line":"                         + initiator.replace(\u0027:\u0027, \u0027\u0027))"},{"line_number":166,"context_line":"            LOG.info(_LI(\"System name is created because host is \""},{"line_number":167,"context_line":"                         \"none %s\"), zone_name)"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba3cc151_f041573a","line":164,"updated":"2015-07-07 20:37:16.000000000","message":"We should maintain the same naming convention as previous release if host_name is not provided.  Underscore should not be inserted into zone name.","commit_id":"d4f9bfb27366b40e740cd49d0d0548f0333602eb"},{"author":{"_account_id":14802,"name":"Pradeep Sathasivam","email":"spradeepv@gmail.com","username":"spradeepv"},"change_message_id":"da378cd8b937484e8598fd5179de21e1dd0a8ceb","unresolved":false,"context_lines":[{"line_number":161,"context_line":"            zone_name \u003d (host_name + \"_\""},{"line_number":162,"context_line":"                         + initiator.replace(\u0027:\u0027, \u0027\u0027))"},{"line_number":163,"context_line":"        else:"},{"line_number":164,"context_line":"            zone_name \u003d (zone_name_prefix + \"_\""},{"line_number":165,"context_line":"                         + initiator.replace(\u0027:\u0027, \u0027\u0027))"},{"line_number":166,"context_line":"            LOG.info(_LI(\"System name is created because host is \""},{"line_number":167,"context_line":"                         \"none %s\"), zone_name)"}],"source_content_type":"text/x-python","patch_set":9,"id":"ba3cc151_37c7a799","line":164,"in_reply_to":"ba3cc151_f041573a","updated":"2015-07-08 08:25:27.000000000","message":"Done","commit_id":"d4f9bfb27366b40e740cd49d0d0548f0333602eb"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"d1146823d3b13c71edae2168cd5a1c3289a46717","unresolved":false,"context_lines":[{"line_number":86,"context_line":"            if \u0027initiator_target_map\u0027 in conn_info[\u0027data\u0027]:"},{"line_number":87,"context_line":"                zm \u003d create_zone_manager()"},{"line_number":88,"context_line":"                if zm:"},{"line_number":89,"context_line":"                    LOG.debug(\"Conn_info map returned by Volume Driver \u0027%s\u0027.\","},{"line_number":90,"context_line":"                              conn_info)"},{"line_number":91,"context_line":"                    zm.add_connection(conn_info)"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"7a2fa921_4d37d6fe","line":89,"updated":"2015-10-09 21:27:48.000000000","message":"I happen to like the previous message better. \nCan we make this something like\n\n\"Add FC Zone for connection info %s\"","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"71730e33e1ddc156f4f7261caa374e9082a1fad5","unresolved":false,"context_lines":[{"line_number":86,"context_line":"            if \u0027initiator_target_map\u0027 in conn_info[\u0027data\u0027]:"},{"line_number":87,"context_line":"                zm \u003d create_zone_manager()"},{"line_number":88,"context_line":"                if zm:"},{"line_number":89,"context_line":"                    LOG.debug(\"Conn_info map returned by Volume Driver \u0027%s\u0027.\","},{"line_number":90,"context_line":"                              conn_info)"},{"line_number":91,"context_line":"                    zm.add_connection(conn_info)"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"7a2fa921_0423bb06","line":89,"in_reply_to":"7a2fa921_4d37d6fe","updated":"2015-10-12 21:10:28.000000000","message":"Done","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"d1146823d3b13c71edae2168cd5a1c3289a46717","unresolved":false,"context_lines":[{"line_number":111,"context_line":"                zm \u003d create_zone_manager()"},{"line_number":112,"context_line":"                if zm:"},{"line_number":113,"context_line":"                    LOG.debug(\"Conn_info map returned by Volume Driver \u0027%s\u0027.\","},{"line_number":114,"context_line":"                              conn_info)"},{"line_number":115,"context_line":"                    zm.delete_connection(conn_info)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        return conn_info"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a2fa921_0d3d5edc","line":114,"updated":"2015-10-09 21:27:48.000000000","message":"I prefer the old message better here as well.","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"71730e33e1ddc156f4f7261caa374e9082a1fad5","unresolved":false,"context_lines":[{"line_number":111,"context_line":"                zm \u003d create_zone_manager()"},{"line_number":112,"context_line":"                if zm:"},{"line_number":113,"context_line":"                    LOG.debug(\"Conn_info map returned by Volume Driver \u0027%s\u0027.\","},{"line_number":114,"context_line":"                              conn_info)"},{"line_number":115,"context_line":"                    zm.delete_connection(conn_info)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"        return conn_info"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a2fa921_240b577f","line":114,"in_reply_to":"7a2fa921_0d3d5edc","updated":"2015-10-12 21:10:28.000000000","message":"Done","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":154,"context_line":"                         + initiator.replace(\u0027:\u0027, \u0027\u0027)"},{"line_number":155,"context_line":"                         + target.replace(\u0027:\u0027, \u0027\u0027))"},{"line_number":156,"context_line":"            LOG.info(_LI(\"System name is created because either host \""},{"line_number":157,"context_line":"                         \"or storage is none %(zonename)s\"),"},{"line_number":158,"context_line":"                     {\u0027zonename\u0027: zone_name})"},{"line_number":159,"context_line":"    else:"},{"line_number":160,"context_line":"        host_name \u003d host_name[:47]"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_b6756a33","line":157,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"d1146823d3b13c71edae2168cd5a1c3289a46717","unresolved":false,"context_lines":[{"line_number":154,"context_line":"                         + initiator.replace(\u0027:\u0027, \u0027\u0027)"},{"line_number":155,"context_line":"                         + target.replace(\u0027:\u0027, \u0027\u0027))"},{"line_number":156,"context_line":"            LOG.info(_LI(\"System name is created because either host \""},{"line_number":157,"context_line":"                         \"or storage is none %(zonename)s\"),"},{"line_number":158,"context_line":"                     {\u0027zonename\u0027: zone_name})"},{"line_number":159,"context_line":"    else:"},{"line_number":160,"context_line":"        host_name \u003d host_name[:47]"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a2fa921_2802880a","line":157,"updated":"2015-10-09 21:27:48.000000000","message":"If I\u0027m just seeing that string in the log, it\u0027s not obvious this has anything to do with the FCZM.","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"71730e33e1ddc156f4f7261caa374e9082a1fad5","unresolved":false,"context_lines":[{"line_number":154,"context_line":"                         + initiator.replace(\u0027:\u0027, \u0027\u0027)"},{"line_number":155,"context_line":"                         + target.replace(\u0027:\u0027, \u0027\u0027))"},{"line_number":156,"context_line":"            LOG.info(_LI(\"System name is created because either host \""},{"line_number":157,"context_line":"                         \"or storage is none %(zonename)s\"),"},{"line_number":158,"context_line":"                     {\u0027zonename\u0027: zone_name})"},{"line_number":159,"context_line":"    else:"},{"line_number":160,"context_line":"        host_name \u003d host_name[:47]"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a2fa921_043c1b2e","line":157,"in_reply_to":"7a2fa921_2802880a","updated":"2015-10-12 21:10:28.000000000","message":"Done","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            zone_name \u003d (zone_name_prefix"},{"line_number":166,"context_line":"                         + initiator.replace(\u0027:\u0027, \u0027\u0027))"},{"line_number":167,"context_line":"            LOG.info(_LI(\"System name is created because host is \""},{"line_number":168,"context_line":"                         \"none %(zonename)s\"), {\u0027zonename\u0027: zone_name})"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    LOG.debug(\"Friendly zone name after forming: %(zonename)s\","},{"line_number":171,"context_line":"              {\u0027zonename\u0027, zone_name})"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_d6725e49","line":168,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"d1146823d3b13c71edae2168cd5a1c3289a46717","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            zone_name \u003d (zone_name_prefix"},{"line_number":166,"context_line":"                         + initiator.replace(\u0027:\u0027, \u0027\u0027))"},{"line_number":167,"context_line":"            LOG.info(_LI(\"System name is created because host is \""},{"line_number":168,"context_line":"                         \"none %(zonename)s\"), {\u0027zonename\u0027: zone_name})"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    LOG.debug(\"Friendly zone name after forming: %(zonename)s\","},{"line_number":171,"context_line":"              {\u0027zonename\u0027, zone_name})"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a2fa921_e807b015","line":168,"updated":"2015-10-09 21:27:48.000000000","message":"same","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"71730e33e1ddc156f4f7261caa374e9082a1fad5","unresolved":false,"context_lines":[{"line_number":165,"context_line":"            zone_name \u003d (zone_name_prefix"},{"line_number":166,"context_line":"                         + initiator.replace(\u0027:\u0027, \u0027\u0027))"},{"line_number":167,"context_line":"            LOG.info(_LI(\"System name is created because host is \""},{"line_number":168,"context_line":"                         \"none %(zonename)s\"), {\u0027zonename\u0027: zone_name})"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    LOG.debug(\"Friendly zone name after forming: %(zonename)s\","},{"line_number":171,"context_line":"              {\u0027zonename\u0027, zone_name})"}],"source_content_type":"text/x-python","patch_set":12,"id":"7a2fa921_a448c7cd","line":168,"in_reply_to":"7a2fa921_e807b015","updated":"2015-10-12 21:10:28.000000000","message":"Done","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"b8eb21a86b571ea037fd513d3945c4a5f9509e0b","unresolved":false,"context_lines":[{"line_number":167,"context_line":"            LOG.info(_LI(\"System name is created because host is \""},{"line_number":168,"context_line":"                         \"none %(zonename)s\"), {\u0027zonename\u0027: zone_name})"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    LOG.debug(\"Friendly zone name after forming: %(zonename)s\","},{"line_number":171,"context_line":"              {\u0027zonename\u0027, zone_name})"},{"line_number":172,"context_line":"    return zone_name"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a1a9d01_768ef228","line":170,"updated":"2015-10-02 01:10:19.000000000","message":"\".\" at EOL","commit_id":"173cccbd3ffe43b65a17d799ed9db08783cda1fc"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"7d2a4249bf0d689962231ed91f25675f7a43192b","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    :param storage_system - Storage name returned from Volume Driver"},{"line_number":137,"context_line":"    :param zone_name_prefix - user defined zone prefix configured"},{"line_number":138,"context_line":"    in cinder.conf"},{"line_number":139,"context_line":"    :param supported_chars - Supported character set of Vendor"},{"line_number":140,"context_line":"    \"\"\""},{"line_number":141,"context_line":"    if host_name is None:"},{"line_number":142,"context_line":"        host_name \u003d \u0027\u0027"}],"source_content_type":"text/x-python","patch_set":20,"id":"da85f559_5b010637","line":139,"updated":"2015-11-12 02:09:55.000000000","message":"what format should this be in?  Can you give an example here?","commit_id":"e70e29cb01eb4a6657993a9fe4c531617abaccdb"},{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"a86ea80c5c19c0a1d49725ceacf2ac7083dc9090","unresolved":false,"context_lines":[{"line_number":122,"context_line":""},{"line_number":123,"context_line":"def get_friendly_zone_name(zoning_policy, initiator, target,"},{"line_number":124,"context_line":"                           host_name, storage_system, zone_name_prefix,"},{"line_number":125,"context_line":"                           supported_chars):"},{"line_number":126,"context_line":"    \"\"\"Utility function implementation of _get_friendly_zone_name."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    Get friendly zone name is used to form the zone name"}],"source_content_type":"text/x-python","patch_set":21,"id":"9a8ffd7b_949361fa","line":125,"updated":"2015-11-24 22:49:00.000000000","message":"maybe this would be better as part of the FCZM itself.  that way vendors could possibly override this behavior to better suite their particular switch\u0027s limitations.","commit_id":"35df6751412654b03213684aecc37a965bae8f6e"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"f9a68eb5005fd6ff331a79ddafd933b8721c0382","unresolved":false,"context_lines":[{"line_number":122,"context_line":""},{"line_number":123,"context_line":"def get_friendly_zone_name(zoning_policy, initiator, target,"},{"line_number":124,"context_line":"                           host_name, storage_system, zone_name_prefix,"},{"line_number":125,"context_line":"                           supported_chars):"},{"line_number":126,"context_line":"    \"\"\"Utility function implementation of _get_friendly_zone_name."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    Get friendly zone name is used to form the zone name"}],"source_content_type":"text/x-python","patch_set":21,"id":"7a740942_272284ba","line":125,"in_reply_to":"9a8ffd7b_949361fa","updated":"2015-12-10 00:15:47.000000000","message":"this is now moved into driver_utils.py","commit_id":"35df6751412654b03213684aecc37a965bae8f6e"}],"releasenotes/notes/friendly-zone-names-d5e131d356040de0.yaml":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"4c7f7601db849d342b345d9fccd408055ee14b54","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    This feature adds support for user-friendly"},{"line_number":4,"context_line":"    zone names if implemented by the volume driver."},{"line_number":5,"context_line":"    If the volume driver passes the host name and"},{"line_number":6,"context_line":"    storage system to the Fibre Channel Zone Manager"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"1a7b0d38_8a033073","line":3,"updated":"2015-12-23 17:09:10.000000000","message":"adds support for Fibre Channel user friendly zone names","commit_id":"0fdb6da2d38817e6938c69869a6f91796781f16a"},{"author":{"_account_id":8757,"name":"Angela Smith","email":"angela.smith@broadcom.com","username":"asmith_brcd"},"change_message_id":"c1b7aa70aab0a5e1bde0a68a778aff419091f439","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"prelude: \u003e"},{"line_number":3,"context_line":"    This feature adds support for user-friendly"},{"line_number":4,"context_line":"    zone names if implemented by the volume driver."},{"line_number":5,"context_line":"    If the volume driver passes the host name and"},{"line_number":6,"context_line":"    storage system to the Fibre Channel Zone Manager"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"fa69d971_5e1903d6","line":3,"in_reply_to":"1a7b0d38_8a033073","updated":"2016-01-05 22:25:42.000000000","message":"Done","commit_id":"0fdb6da2d38817e6938c69869a6f91796781f16a"}]}
