)]}'
{"neutron/plugins/brocade/nos/nosdriver.py":[{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"23404cb0332ba809363dc68d2a0b7b71faf1390a","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        \"\"\"Connect via SSH and initialize the NETCONF session.\"\"\""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        # Use the persisted NETCONF connection"},{"line_number":60,"context_line":"        if self.mgr is not None:"},{"line_number":61,"context_line":"            return self.mgr"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        # Open new NETCONF connection"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2F6qM%3D","line":60,"updated":"2013-09-17 08:42:24.000000000","message":"if self.mgr:","commit_id":"b3e390ff74ec7ca4e5ad956ee38cbb5fee220e17"},{"author":{"_account_id":5217,"name":"Shiv Haris","email":"shivharis@hotmail.com","username":"shh"},"change_message_id":"556279abf0f425498625d220014ff67bb9f7fcdf","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        \"\"\"Connect via SSH and initialize the NETCONF session.\"\"\""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        # Use the persisted NETCONF connection"},{"line_number":60,"context_line":"        if self.mgr is not None:"},{"line_number":61,"context_line":"            return self.mgr"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"        # Open new NETCONF connection"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2F4Ho%3D","line":60,"in_reply_to":"AAAAS3%2F%2F6qM%3D","updated":"2013-09-17 20:14:46.000000000","message":"Done","commit_id":"b3e390ff74ec7ca4e5ad956ee38cbb5fee220e17"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"23404cb0332ba809363dc68d2a0b7b71faf1390a","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def close_session(self):"},{"line_number":77,"context_line":"        \"\"\"Close NETCONF session.\"\"\""},{"line_number":78,"context_line":"        self.mgr.close_session()"},{"line_number":79,"context_line":"        self.mgr \u003d None"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def create_network(self, host, username, password, net_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2F6qA%3D","line":78,"updated":"2013-09-17 08:42:24.000000000","message":"need to check for None here before closing the connection.\nIf self.connect() fails throwing the exception, it will get here via line 96, having self.mgr None","commit_id":"b3e390ff74ec7ca4e5ad956ee38cbb5fee220e17"},{"author":{"_account_id":5217,"name":"Shiv Haris","email":"shivharis@hotmail.com","username":"shh"},"change_message_id":"556279abf0f425498625d220014ff67bb9f7fcdf","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    def close_session(self):"},{"line_number":77,"context_line":"        \"\"\"Close NETCONF session.\"\"\""},{"line_number":78,"context_line":"        self.mgr.close_session()"},{"line_number":79,"context_line":"        self.mgr \u003d None"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def create_network(self, host, username, password, net_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2F4Hg%3D","line":78,"in_reply_to":"AAAAS3%2F%2F6qA%3D","updated":"2013-09-17 20:14:46.000000000","message":"Done","commit_id":"b3e390ff74ec7ca4e5ad956ee38cbb5fee220e17"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"23404cb0332ba809363dc68d2a0b7b71faf1390a","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            self.configure_allowed_vlans_for_vlan_profile(mgr, name, net_id)"},{"line_number":93,"context_line":"            self.activate_port_profile(mgr, name)"},{"line_number":94,"context_line":"        except Exception as e:"},{"line_number":95,"context_line":"            LOG.debug(_(\"NETCONF error: %s\"), e)"},{"line_number":96,"context_line":"            self.close_session()"},{"line_number":97,"context_line":"            raise"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2F6p4%3D","line":95,"updated":"2013-09-17 08:42:24.000000000","message":"looks like log level here should be info or error","commit_id":"b3e390ff74ec7ca4e5ad956ee38cbb5fee220e17"},{"author":{"_account_id":5217,"name":"Shiv Haris","email":"shivharis@hotmail.com","username":"shh"},"change_message_id":"556279abf0f425498625d220014ff67bb9f7fcdf","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            self.configure_allowed_vlans_for_vlan_profile(mgr, name, net_id)"},{"line_number":93,"context_line":"            self.activate_port_profile(mgr, name)"},{"line_number":94,"context_line":"        except Exception as e:"},{"line_number":95,"context_line":"            LOG.debug(_(\"NETCONF error: %s\"), e)"},{"line_number":96,"context_line":"            self.close_session()"},{"line_number":97,"context_line":"            raise"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2F4Hc%3D","line":95,"in_reply_to":"AAAAS3%2F%2F6p4%3D","updated":"2013-09-17 20:14:46.000000000","message":"Done","commit_id":"b3e390ff74ec7ca4e5ad956ee38cbb5fee220e17"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"23404cb0332ba809363dc68d2a0b7b71faf1390a","unresolved":false,"context_lines":[{"line_number":106,"context_line":"            self.delete_port_profile(mgr, name)"},{"line_number":107,"context_line":"            self.delete_vlan_interface(mgr, net_id)"},{"line_number":108,"context_line":"        except Exception as e:"},{"line_number":109,"context_line":"            LOG.debug(_(\"NETCONF error: %s\"), e)"},{"line_number":110,"context_line":"            self.close_session()"},{"line_number":111,"context_line":"            raise"},{"line_number":112,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2F6p0%3D","line":109,"updated":"2013-09-17 08:42:24.000000000","message":"same about log level","commit_id":"b3e390ff74ec7ca4e5ad956ee38cbb5fee220e17"},{"author":{"_account_id":5217,"name":"Shiv Haris","email":"shivharis@hotmail.com","username":"shh"},"change_message_id":"556279abf0f425498625d220014ff67bb9f7fcdf","unresolved":false,"context_lines":[{"line_number":106,"context_line":"            self.delete_port_profile(mgr, name)"},{"line_number":107,"context_line":"            self.delete_vlan_interface(mgr, net_id)"},{"line_number":108,"context_line":"        except Exception as e:"},{"line_number":109,"context_line":"            LOG.debug(_(\"NETCONF error: %s\"), e)"},{"line_number":110,"context_line":"            self.close_session()"},{"line_number":111,"context_line":"            raise"},{"line_number":112,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2F4HY%3D","line":109,"in_reply_to":"AAAAS3%2F%2F6p0%3D","updated":"2013-09-17 20:14:46.000000000","message":"Done","commit_id":"b3e390ff74ec7ca4e5ad956ee38cbb5fee220e17"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"23404cb0332ba809363dc68d2a0b7b71faf1390a","unresolved":false,"context_lines":[{"line_number":119,"context_line":"            mgr \u003d self.connect(host, username, password)"},{"line_number":120,"context_line":"            self.associate_mac_to_port_profile(mgr, name, mac)"},{"line_number":121,"context_line":"        except Exception as e:"},{"line_number":122,"context_line":"            LOG.debug(_(\"NETCONF error: %s\"), e)"},{"line_number":123,"context_line":"            self.close_session()"},{"line_number":124,"context_line":"            raise"},{"line_number":125,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2F6pk%3D","line":122,"updated":"2013-09-17 08:42:24.000000000","message":"same about log level","commit_id":"b3e390ff74ec7ca4e5ad956ee38cbb5fee220e17"},{"author":{"_account_id":5217,"name":"Shiv Haris","email":"shivharis@hotmail.com","username":"shh"},"change_message_id":"556279abf0f425498625d220014ff67bb9f7fcdf","unresolved":false,"context_lines":[{"line_number":119,"context_line":"            mgr \u003d self.connect(host, username, password)"},{"line_number":120,"context_line":"            self.associate_mac_to_port_profile(mgr, name, mac)"},{"line_number":121,"context_line":"        except Exception as e:"},{"line_number":122,"context_line":"            LOG.debug(_(\"NETCONF error: %s\"), e)"},{"line_number":123,"context_line":"            self.close_session()"},{"line_number":124,"context_line":"            raise"},{"line_number":125,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2F4HU%3D","line":122,"in_reply_to":"AAAAS3%2F%2F6pk%3D","updated":"2013-09-17 20:14:46.000000000","message":"Done","commit_id":"b3e390ff74ec7ca4e5ad956ee38cbb5fee220e17"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"23404cb0332ba809363dc68d2a0b7b71faf1390a","unresolved":false,"context_lines":[{"line_number":132,"context_line":"            mgr \u003d self.connect(host, username, password)"},{"line_number":133,"context_line":"            self.dissociate_mac_from_port_profile(mgr, name, mac)"},{"line_number":134,"context_line":"        except Exception as e:"},{"line_number":135,"context_line":"            LOG.debug(_(\"NETCONF error: %s\"), e)"},{"line_number":136,"context_line":"            self.close_session()"},{"line_number":137,"context_line":"            raise"},{"line_number":138,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2F6pg%3D","line":135,"updated":"2013-09-17 08:42:24.000000000","message":"same","commit_id":"b3e390ff74ec7ca4e5ad956ee38cbb5fee220e17"},{"author":{"_account_id":5217,"name":"Shiv Haris","email":"shivharis@hotmail.com","username":"shh"},"change_message_id":"556279abf0f425498625d220014ff67bb9f7fcdf","unresolved":false,"context_lines":[{"line_number":132,"context_line":"            mgr \u003d self.connect(host, username, password)"},{"line_number":133,"context_line":"            self.dissociate_mac_from_port_profile(mgr, name, mac)"},{"line_number":134,"context_line":"        except Exception as e:"},{"line_number":135,"context_line":"            LOG.debug(_(\"NETCONF error: %s\"), e)"},{"line_number":136,"context_line":"            self.close_session()"},{"line_number":137,"context_line":"            raise"},{"line_number":138,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAS3%2F%2F4HM%3D","line":135,"in_reply_to":"AAAAS3%2F%2F6pg%3D","updated":"2013-09-17 20:14:46.000000000","message":"Done","commit_id":"b3e390ff74ec7ca4e5ad956ee38cbb5fee220e17"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"6c696b21674e5865164a8196fc1a59bbb80acf01","unresolved":false,"context_lines":[{"line_number":69,"context_line":"            LOG.error(_(\"Connect failed to switch: %s\"), e)"},{"line_number":70,"context_line":"            raise"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        LOG.error(_(\"Connect success to host %(host)s:%(ssh_port)d\"),"},{"line_number":73,"context_line":"                  dict(host\u003dhost, ssh_port\u003dSSH_PORT))"},{"line_number":74,"context_line":"        return self.mgr"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAS3%2F%2Fvs0%3D","line":72,"updated":"2013-09-20 03:58:56.000000000","message":"why log.error here? should log.debug?","commit_id":"5c988c986c26ef041ca9ec456f13be5aa7bf589b"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"a48068e62344a1cba7f84cfbca30385ff19db84c","unresolved":false,"context_lines":[{"line_number":93,"context_line":"            self.configure_allowed_vlans_for_vlan_profile(mgr, name, net_id)"},{"line_number":94,"context_line":"            self.activate_port_profile(mgr, name)"},{"line_number":95,"context_line":"        except Exception as e:"},{"line_number":96,"context_line":"            LOG.error(_(\"NETCONF error: %s\"), e)"},{"line_number":97,"context_line":"            self.close_session()"},{"line_number":98,"context_line":"            raise"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2FsXU%3D","line":96,"updated":"2013-09-21 13:38:27.000000000","message":"Since we use eventlet, this is not the best way to re-raise an exception.  You should import neutron.openstack.common.excutils at the top of the file and then replace 95-98 with:\n\nexcept:\n    with excutils.save_and_reraise_exception():\n        LOG.exception(_(\"NETCONF error\"))\n        self.close_session()","commit_id":"e4bbdc67b714f971822578a1a036b1a52513c0e3"},{"author":{"_account_id":5217,"name":"Shiv Haris","email":"shivharis@hotmail.com","username":"shh"},"change_message_id":"7bbdcfe61cefd330ab9f5b7f6a138707c713d38a","unresolved":false,"context_lines":[{"line_number":93,"context_line":"            self.configure_allowed_vlans_for_vlan_profile(mgr, name, net_id)"},{"line_number":94,"context_line":"            self.activate_port_profile(mgr, name)"},{"line_number":95,"context_line":"        except Exception as e:"},{"line_number":96,"context_line":"            LOG.error(_(\"NETCONF error: %s\"), e)"},{"line_number":97,"context_line":"            self.close_session()"},{"line_number":98,"context_line":"            raise"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2Fm30%3D","line":96,"in_reply_to":"AAAAS3%2F%2FsXU%3D","updated":"2013-09-24 01:20:03.000000000","message":"Changed as suggested.","commit_id":"e4bbdc67b714f971822578a1a036b1a52513c0e3"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"a48068e62344a1cba7f84cfbca30385ff19db84c","unresolved":false,"context_lines":[{"line_number":106,"context_line":"            self.deactivate_port_profile(mgr, name)"},{"line_number":107,"context_line":"            self.delete_port_profile(mgr, name)"},{"line_number":108,"context_line":"            self.delete_vlan_interface(mgr, net_id)"},{"line_number":109,"context_line":"        except Exception as e:"},{"line_number":110,"context_line":"            LOG.error(_(\"NETCONF error: %s\"), e)"},{"line_number":111,"context_line":"            self.close_session()"},{"line_number":112,"context_line":"            raise"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2FsXQ%3D","line":109,"updated":"2013-09-21 13:38:27.000000000","message":"Same fix as above.","commit_id":"e4bbdc67b714f971822578a1a036b1a52513c0e3"},{"author":{"_account_id":5217,"name":"Shiv Haris","email":"shivharis@hotmail.com","username":"shh"},"change_message_id":"7bbdcfe61cefd330ab9f5b7f6a138707c713d38a","unresolved":false,"context_lines":[{"line_number":106,"context_line":"            self.deactivate_port_profile(mgr, name)"},{"line_number":107,"context_line":"            self.delete_port_profile(mgr, name)"},{"line_number":108,"context_line":"            self.delete_vlan_interface(mgr, net_id)"},{"line_number":109,"context_line":"        except Exception as e:"},{"line_number":110,"context_line":"            LOG.error(_(\"NETCONF error: %s\"), e)"},{"line_number":111,"context_line":"            self.close_session()"},{"line_number":112,"context_line":"            raise"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2Fm3w%3D","line":109,"in_reply_to":"AAAAS3%2F%2FsXQ%3D","updated":"2013-09-24 01:20:03.000000000","message":"Done","commit_id":"e4bbdc67b714f971822578a1a036b1a52513c0e3"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"a48068e62344a1cba7f84cfbca30385ff19db84c","unresolved":false,"context_lines":[{"line_number":120,"context_line":"            mgr \u003d self.connect(host, username, password)"},{"line_number":121,"context_line":"            self.associate_mac_to_port_profile(mgr, name, mac)"},{"line_number":122,"context_line":"        except Exception as e:"},{"line_number":123,"context_line":"            LOG.error(_(\"NETCONF error: %s\"), e)"},{"line_number":124,"context_line":"            self.close_session()"},{"line_number":125,"context_line":"            raise"},{"line_number":126,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2FsW8%3D","line":123,"updated":"2013-09-21 13:38:27.000000000","message":"same fix as above","commit_id":"e4bbdc67b714f971822578a1a036b1a52513c0e3"},{"author":{"_account_id":5217,"name":"Shiv Haris","email":"shivharis@hotmail.com","username":"shh"},"change_message_id":"7bbdcfe61cefd330ab9f5b7f6a138707c713d38a","unresolved":false,"context_lines":[{"line_number":120,"context_line":"            mgr \u003d self.connect(host, username, password)"},{"line_number":121,"context_line":"            self.associate_mac_to_port_profile(mgr, name, mac)"},{"line_number":122,"context_line":"        except Exception as e:"},{"line_number":123,"context_line":"            LOG.error(_(\"NETCONF error: %s\"), e)"},{"line_number":124,"context_line":"            self.close_session()"},{"line_number":125,"context_line":"            raise"},{"line_number":126,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2Fm3s%3D","line":123,"in_reply_to":"AAAAS3%2F%2FsW8%3D","updated":"2013-09-24 01:20:03.000000000","message":"Done","commit_id":"e4bbdc67b714f971822578a1a036b1a52513c0e3"},{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"a48068e62344a1cba7f84cfbca30385ff19db84c","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            mgr \u003d self.connect(host, username, password)"},{"line_number":134,"context_line":"            self.dissociate_mac_from_port_profile(mgr, name, mac)"},{"line_number":135,"context_line":"        except Exception as e:"},{"line_number":136,"context_line":"            LOG.error(_(\"NETCONF error: %s\"), e)"},{"line_number":137,"context_line":"            self.close_session()"},{"line_number":138,"context_line":"            raise"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2FsW4%3D","line":136,"updated":"2013-09-21 13:38:27.000000000","message":"same fix as above","commit_id":"e4bbdc67b714f971822578a1a036b1a52513c0e3"},{"author":{"_account_id":5217,"name":"Shiv Haris","email":"shivharis@hotmail.com","username":"shh"},"change_message_id":"7bbdcfe61cefd330ab9f5b7f6a138707c713d38a","unresolved":false,"context_lines":[{"line_number":133,"context_line":"            mgr \u003d self.connect(host, username, password)"},{"line_number":134,"context_line":"            self.dissociate_mac_from_port_profile(mgr, name, mac)"},{"line_number":135,"context_line":"        except Exception as e:"},{"line_number":136,"context_line":"            LOG.error(_(\"NETCONF error: %s\"), e)"},{"line_number":137,"context_line":"            self.close_session()"},{"line_number":138,"context_line":"            raise"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAS3%2F%2Fm3o%3D","line":136,"in_reply_to":"AAAAS3%2F%2FsW4%3D","updated":"2013-09-24 01:20:03.000000000","message":"Done","commit_id":"e4bbdc67b714f971822578a1a036b1a52513c0e3"},{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"76a2dcc7324d735b2c4b0e78d51c650222a97798","unresolved":false,"context_lines":[{"line_number":109,"context_line":"            self.delete_vlan_interface(mgr, net_id)"},{"line_number":110,"context_line":"        except Exception as ex:"},{"line_number":111,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":112,"context_line":"                LOG.exception(_(\"NETCONF error: %s\"), ex)"},{"line_number":113,"context_line":"                self.close_session()"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"    def associate_mac_to_network(self, host, username, password,"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAS3%2F%2FSdE%3D","line":112,"updated":"2013-09-30 20:03:33.000000000","message":"I am not sure if this always going to be a NETCONF error. You are doing string formatting as well in all the functions being called.","commit_id":"51b44251ba705a3bedc3d146590613d9ff9c0690"}]}
