)]}'
{"networking_generic_switch/devices/netmiko_devices/__init__.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"069c23b1191dfa4e9fff4cd619076396a72d9a85","unresolved":false,"context_lines":[{"line_number":166,"context_line":"    def del_network(self, segmentation_id, network_id):"},{"line_number":167,"context_line":"        # NOTE(zhenguo): Remove dashes from uuid as on most devices 32 chars"},{"line_number":168,"context_line":"        # is the max length of vlan name."},{"line_number":169,"context_line":"        network_id \u003d uuid.UUID(network_id).hex"},{"line_number":170,"context_line":"        cmds \u003d []"},{"line_number":171,"context_line":"        for port in self._get_trunk_ports():"},{"line_number":172,"context_line":"            cmds +\u003d self._format_commands(self.REMOVE_NETWORK_FROM_TRUNK,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f91af0f_052f683f","line":169,"updated":"2018-01-05 13:00:11.000000000","message":"I wonder if we need to allow both.. like, provide both network_id and network_id_with_dashes","commit_id":"3ac398a481c8f715b8b47cfc623a3935daa9ba70"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"522d5c60b518c5e6a3e648a1d05eb04bb938ee01","unresolved":false,"context_lines":[{"line_number":166,"context_line":"    def del_network(self, segmentation_id, network_id):"},{"line_number":167,"context_line":"        # NOTE(zhenguo): Remove dashes from uuid as on most devices 32 chars"},{"line_number":168,"context_line":"        # is the max length of vlan name."},{"line_number":169,"context_line":"        network_id \u003d uuid.UUID(network_id).hex"},{"line_number":170,"context_line":"        cmds \u003d []"},{"line_number":171,"context_line":"        for port in self._get_trunk_ports():"},{"line_number":172,"context_line":"            cmds +\u003d self._format_commands(self.REMOVE_NETWORK_FROM_TRUNK,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f91af0f_282cc197","line":169,"in_reply_to":"9f91af0f_052f683f","updated":"2018-01-05 13:39:12.000000000","message":"Perhaps this will be required in future, but it hasn\u0027t been an issue with devices supported up to now.","commit_id":"3ac398a481c8f715b8b47cfc623a3935daa9ba70"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"069c23b1191dfa4e9fff4cd619076396a72d9a85","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        for port in self._get_trunk_ports():"},{"line_number":172,"context_line":"            cmds +\u003d self._format_commands(self.REMOVE_NETWORK_FROM_TRUNK,"},{"line_number":173,"context_line":"                                          port\u003dport,"},{"line_number":174,"context_line":"                                          segmentation_id\u003dsegmentation_id)"},{"line_number":175,"context_line":"        cmds +\u003d self._format_commands(self.DELETE_NETWORK,"},{"line_number":176,"context_line":"                                      segmentation_id\u003dsegmentation_id,"},{"line_number":177,"context_line":"                                      network_id\u003dnetwork_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f91af0f_2532aca8","line":174,"updated":"2018-01-05 13:00:11.000000000","message":"Why not provide network_id here for consistency?","commit_id":"3ac398a481c8f715b8b47cfc623a3935daa9ba70"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"522d5c60b518c5e6a3e648a1d05eb04bb938ee01","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        for port in self._get_trunk_ports():"},{"line_number":172,"context_line":"            cmds +\u003d self._format_commands(self.REMOVE_NETWORK_FROM_TRUNK,"},{"line_number":173,"context_line":"                                          port\u003dport,"},{"line_number":174,"context_line":"                                          segmentation_id\u003dsegmentation_id)"},{"line_number":175,"context_line":"        cmds +\u003d self._format_commands(self.DELETE_NETWORK,"},{"line_number":176,"context_line":"                                      segmentation_id\u003dsegmentation_id,"},{"line_number":177,"context_line":"                                      network_id\u003dnetwork_id)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f91af0f_e85a5928","line":174,"in_reply_to":"9f91af0f_2532aca8","updated":"2018-01-05 13:39:12.000000000","message":"We don\u0027t tend to need the network ID for the port commands. See L161 for ADD_NETWORK_TO_TRUNK, and also L182 and L188.","commit_id":"3ac398a481c8f715b8b47cfc623a3935daa9ba70"}],"networking_generic_switch/generic_switch_mech.py":[{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"e901e273308ea7da7ea9aa9852f30013be9fc290","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                    try:"},{"line_number":168,"context_line":"                        switch.del_network(segmentation_id, network[\u0027id\u0027])"},{"line_number":169,"context_line":"                    except TypeError:"},{"line_number":170,"context_line":"                        switch.del_network(segmentation_id)"},{"line_number":171,"context_line":"                except Exception as e:"},{"line_number":172,"context_line":"                    LOG.error(\"Failed to delete network %(net_id)s \""},{"line_number":173,"context_line":"                              \"on device: %(switch)s, reason: %(exc)s\","}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_84ae68e5","line":170,"updated":"2018-01-02 05:44:35.000000000","message":"This doesn\u0027t look good, maybe there is a better way to do it, how about making network id as a kwarg, then let drivers handle that?","commit_id":"dbe1fd6f42ddb5c634ab9ae56e20a1f7984014b6"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"d55ec5223fae6b9ccbcb9a5e25fbedfef11dbc52","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                    try:"},{"line_number":168,"context_line":"                        switch.del_network(segmentation_id, network[\u0027id\u0027])"},{"line_number":169,"context_line":"                    except TypeError:"},{"line_number":170,"context_line":"                        switch.del_network(segmentation_id)"},{"line_number":171,"context_line":"                except Exception as e:"},{"line_number":172,"context_line":"                    LOG.error(\"Failed to delete network %(net_id)s \""},{"line_number":173,"context_line":"                              \"on device: %(switch)s, reason: %(exc)s\","}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_eeef0685","line":170,"in_reply_to":"9f91af0f_4a4f07bd","updated":"2018-01-02 18:44:08.000000000","message":"Let\u0027s add a warning then to let people know this should be updated, and then remove this next cycle.","commit_id":"dbe1fd6f42ddb5c634ab9ae56e20a1f7984014b6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"e77250c9e415ce14ae01ebe829e62e792c31dc60","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                    try:"},{"line_number":168,"context_line":"                        switch.del_network(segmentation_id, network[\u0027id\u0027])"},{"line_number":169,"context_line":"                    except TypeError:"},{"line_number":170,"context_line":"                        switch.del_network(segmentation_id)"},{"line_number":171,"context_line":"                except Exception as e:"},{"line_number":172,"context_line":"                    LOG.error(\"Failed to delete network %(net_id)s \""},{"line_number":173,"context_line":"                              \"on device: %(switch)s, reason: %(exc)s\","}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_4a4f07bd","line":170,"in_reply_to":"9f91af0f_84ae68e5","updated":"2018-01-02 09:20:30.000000000","message":"I agree this is quite warty. The case I\u0027m trying to support is where a non-standard driver object is in use, which is not a subclass of the NGS device class, and may not support the new parameter.\n\nI initially tried using the inspect module, but I think this broke when mocked during unit testing.","commit_id":"dbe1fd6f42ddb5c634ab9ae56e20a1f7984014b6"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"5a58f7da2f261217bdacf2977dfaca21a971969b","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                    try:"},{"line_number":168,"context_line":"                        switch.del_network(segmentation_id, network[\u0027id\u0027])"},{"line_number":169,"context_line":"                    except TypeError:"},{"line_number":170,"context_line":"                        switch.del_network(segmentation_id)"},{"line_number":171,"context_line":"                except Exception as e:"},{"line_number":172,"context_line":"                    LOG.error(\"Failed to delete network %(net_id)s \""},{"line_number":173,"context_line":"                              \"on device: %(switch)s, reason: %(exc)s\","}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_e94ce077","line":170,"in_reply_to":"9f91af0f_eeef0685","updated":"2018-01-02 19:02:46.000000000","message":"Good idea.","commit_id":"dbe1fd6f42ddb5c634ab9ae56e20a1f7984014b6"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"84849b87c280c0603a0e8cf2f88ce719637604d7","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                    try:"},{"line_number":168,"context_line":"                        switch.del_network(segmentation_id, network[\u0027id\u0027])"},{"line_number":169,"context_line":"                    except TypeError:"},{"line_number":170,"context_line":"                        switch.del_network(segmentation_id)"},{"line_number":171,"context_line":"                except Exception as e:"},{"line_number":172,"context_line":"                    LOG.error(\"Failed to delete network %(net_id)s \""},{"line_number":173,"context_line":"                              \"on device: %(switch)s, reason: %(exc)s\","}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_d63defbb","line":170,"in_reply_to":"9f91af0f_eeef0685","updated":"2018-01-03 07:23:33.000000000","message":"we need to setup release notes as well.","commit_id":"dbe1fd6f42ddb5c634ab9ae56e20a1f7984014b6"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"069c23b1191dfa4e9fff4cd619076396a72d9a85","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                    # implementing the old interface, so retry on a TypeError."},{"line_number":168,"context_line":"                    try:"},{"line_number":169,"context_line":"                        switch.del_network(segmentation_id, network[\u0027id\u0027])"},{"line_number":170,"context_line":"                    except TypeError:"},{"line_number":171,"context_line":"                        if not self.warned_del_network:"},{"line_number":172,"context_line":"                            msg \u003d ("},{"line_number":173,"context_line":"                                \u0027The del_network device method should accept \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f91af0f_65fe74af","line":170,"updated":"2018-01-05 13:00:11.000000000","message":"I guess I\u0027d prefer inspecting the method signature..","commit_id":"3ac398a481c8f715b8b47cfc623a3935daa9ba70"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"522d5c60b518c5e6a3e648a1d05eb04bb938ee01","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                    # implementing the old interface, so retry on a TypeError."},{"line_number":168,"context_line":"                    try:"},{"line_number":169,"context_line":"                        switch.del_network(segmentation_id, network[\u0027id\u0027])"},{"line_number":170,"context_line":"                    except TypeError:"},{"line_number":171,"context_line":"                        if not self.warned_del_network:"},{"line_number":172,"context_line":"                            msg \u003d ("},{"line_number":173,"context_line":"                                \u0027The del_network device method should accept \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f91af0f_886aadb0","line":170,"in_reply_to":"9f91af0f_65fe74af","updated":"2018-01-05 13:39:12.000000000","message":"Hmm, perhaps that would have been more elegant and less prone to false positives. I\u0027ll take a look at it again.","commit_id":"3ac398a481c8f715b8b47cfc623a3935daa9ba70"}]}
