)]}'
{"nova/tests/fixtures.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7126004c1582dd5f8dacf07164e4f4cb875aba30","unresolved":false,"context_lines":[{"line_number":1862,"context_line":"    def update_port(self, port_id, body\u003dNone):"},{"line_number":1863,"context_line":"        # TODO(gibi): check if the port update binds the port and update the"},{"line_number":1864,"context_line":"        # internal _port_bindings dict accordingly. Such a binding always"},{"line_number":1865,"context_line":"        # becomes and active port binding of the port."},{"line_number":1866,"context_line":"        port \u003d self._ports[port_id]"},{"line_number":1867,"context_line":"        # We need to deepcopy here as well as the body can have a nested dict"},{"line_number":1868,"context_line":"        # which can be modified by the caller after this update_port call"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_350f032f","side":"PARENT","line":1865,"updated":"2020-09-07 13:00:57.000000000","message":"Thanks for resolving my TODO","commit_id":"e5eeb08537a8ea07c8dc5da01e21acd902c02973"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7126004c1582dd5f8dacf07164e4f4cb875aba30","unresolved":false,"context_lines":[{"line_number":1671,"context_line":"        port \u003d self._ports[port_id]"},{"line_number":1672,"context_line":"        binding \u003d copy.deepcopy(data[\u0027binding\u0027])"},{"line_number":1673,"context_line":""},{"line_number":1674,"context_line":"        # NOTE(stephenfin): We don\u0027t allow changing of backend"},{"line_number":1675,"context_line":"        binding[\u0027vif_type\u0027] \u003d port[\u0027binding:vif_type\u0027]"},{"line_number":1676,"context_line":"        binding[\u0027vif_details\u0027] \u003d port[\u0027binding:vif_details\u0027]"},{"line_number":1677,"context_line":"        binding[\u0027vnic_type\u0027] \u003d port[\u0027binding:vnic_type\u0027]"},{"line_number":1678,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_9531aff0","line":1675,"range":{"start_line":1674,"start_character":0,"end_line":1675,"end_character":54},"updated":"2020-09-07 13:00:57.000000000","message":"do you mean this update should never happen?","commit_id":"58fe7cac0dae8d8cbf11904c5055df2a4484d6a1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4c2d6b339494945e36c42f582157ba9455b1acf8","unresolved":false,"context_lines":[{"line_number":1671,"context_line":"        port \u003d self._ports[port_id]"},{"line_number":1672,"context_line":"        binding \u003d copy.deepcopy(data[\u0027binding\u0027])"},{"line_number":1673,"context_line":""},{"line_number":1674,"context_line":"        # NOTE(stephenfin): We don\u0027t allow changing of backend"},{"line_number":1675,"context_line":"        binding[\u0027vif_type\u0027] \u003d port[\u0027binding:vif_type\u0027]"},{"line_number":1676,"context_line":"        binding[\u0027vif_details\u0027] \u003d port[\u0027binding:vif_details\u0027]"},{"line_number":1677,"context_line":"        binding[\u0027vnic_type\u0027] \u003d port[\u0027binding:vnic_type\u0027]"},{"line_number":1678,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_9cbef7ab","line":1675,"range":{"start_line":1674,"start_character":0,"end_line":1675,"end_character":54},"in_reply_to":"9f560f44_9531aff0","updated":"2020-09-07 15:19:48.000000000","message":"I\u0027m referring to us ignoring any potential \u0027binding:vif_type\u0027 value in the \u0027data\u0027 argument. I\u0027m not sure if it\u0027s even possible to call this API with such a parameter, though based on [1] I suspect not? If so, maybe this is a useless comment?\n\n[1] https://github.com/openstack/neutron-lib/blob/245e005d1bb/neutron_lib/api/definitions/portbindings_extended.py#L79-L82","commit_id":"58fe7cac0dae8d8cbf11904c5055df2a4484d6a1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"db3ac78934888cc8c737149a927b67ee2a1838cc","unresolved":false,"context_lines":[{"line_number":1671,"context_line":"        port \u003d self._ports[port_id]"},{"line_number":1672,"context_line":"        binding \u003d copy.deepcopy(data[\u0027binding\u0027])"},{"line_number":1673,"context_line":""},{"line_number":1674,"context_line":"        # NOTE(stephenfin): We don\u0027t allow changing of backend"},{"line_number":1675,"context_line":"        binding[\u0027vif_type\u0027] \u003d port[\u0027binding:vif_type\u0027]"},{"line_number":1676,"context_line":"        binding[\u0027vif_details\u0027] \u003d port[\u0027binding:vif_details\u0027]"},{"line_number":1677,"context_line":"        binding[\u0027vnic_type\u0027] \u003d port[\u0027binding:vnic_type\u0027]"},{"line_number":1678,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9f560f44_85ab37d4","line":1675,"range":{"start_line":1674,"start_character":0,"end_line":1675,"end_character":54},"in_reply_to":"9f560f44_9cbef7ab","updated":"2020-09-08 07:58:37.000000000","message":"now I realized that data is the incoming request and port is the stored port in the fixture. and now your comment make sense.","commit_id":"58fe7cac0dae8d8cbf11904c5055df2a4484d6a1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7548fc908e0fbb6cdbcd743ae1b09aab637509e5","unresolved":false,"context_lines":[{"line_number":1794,"context_line":"        port \u003d self._ports[port_id]"},{"line_number":1795,"context_line":"        binding \u003d copy.deepcopy(data[\u0027binding\u0027])"},{"line_number":1796,"context_line":""},{"line_number":1797,"context_line":"        # NOTE(stephenfin): We don\u0027t allow changing of backend"},{"line_number":1798,"context_line":"        binding[\u0027vif_type\u0027] \u003d port[\u0027binding:vif_type\u0027]"},{"line_number":1799,"context_line":"        binding[\u0027vif_details\u0027] \u003d port[\u0027binding:vif_details\u0027]"},{"line_number":1800,"context_line":"        binding[\u0027vnic_type\u0027] \u003d port[\u0027binding:vnic_type\u0027]"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f560f44_5bce572d","line":1797,"range":{"start_line":1797,"start_character":37,"end_line":1797,"end_character":42},"updated":"2020-10-05 13:24:08.000000000","message":"nit: support","commit_id":"4861eebc91a25056f445a4dc55a87cbb381fea05"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7548fc908e0fbb6cdbcd743ae1b09aab637509e5","unresolved":false,"context_lines":[{"line_number":1832,"context_line":""},{"line_number":1833,"context_line":"        return fake_requests.FakeResponse(204)"},{"line_number":1834,"context_line":""},{"line_number":1835,"context_line":"    def _activate_port_binding(self, port_id, host):"},{"line_number":1836,"context_line":"        # It makes sure that only one binding is active for a port"},{"line_number":1837,"context_line":"        for h, binding in self._port_bindings[port_id].items():"},{"line_number":1838,"context_line":"            if h \u003d\u003d host:"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f560f44_1efccd0a","line":1835,"updated":"2020-10-05 13:24:08.000000000","message":"this is used on line 2032 which is why it has been factored out.","commit_id":"4861eebc91a25056f445a4dc55a87cbb381fea05"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7548fc908e0fbb6cdbcd743ae1b09aab637509e5","unresolved":false,"context_lines":[{"line_number":2005,"context_line":"            \u0027binding:host_id\u0027 in body[\u0027port\u0027] and"},{"line_number":2006,"context_line":"            body[\u0027port\u0027][\u0027binding:host_id\u0027] is None"},{"line_number":2007,"context_line":"        ):"},{"line_number":2008,"context_line":"            # if the host_id is explicitly set to None, delete the binding"},{"line_number":2009,"context_line":"            host, _ \u003d self._get_active_binding(port_id)"},{"line_number":2010,"context_line":"            del self._port_bindings[port_id][host]"},{"line_number":2011,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f560f44_dba8a721","line":2008,"range":{"start_line":2008,"start_character":12,"end_line":2008,"end_character":74},"updated":"2020-10-05 13:24:08.000000000","message":"yes this would be a port unbind so deleting the binding is correct","commit_id":"4861eebc91a25056f445a4dc55a87cbb381fea05"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7548fc908e0fbb6cdbcd743ae1b09aab637509e5","unresolved":false,"context_lines":[{"line_number":2010,"context_line":"            del self._port_bindings[port_id][host]"},{"line_number":2011,"context_line":"        else:"},{"line_number":2012,"context_line":"            # else it\u0027s an update"},{"line_number":2013,"context_line":"            if \u0027binding:host_id\u0027 in body[\u0027port\u0027]:"},{"line_number":2014,"context_line":"                # if the host ID is present, update that specific binding"},{"line_number":2015,"context_line":"                host \u003d body[\u0027port\u0027][\u0027binding:host_id\u0027]"},{"line_number":2016,"context_line":"            else:"},{"line_number":2017,"context_line":"                # else update the active one"},{"line_number":2018,"context_line":"                host, _ \u003d self._get_active_binding(port_id)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f560f44_3b46037d","line":2015,"range":{"start_line":2013,"start_character":11,"end_line":2015,"end_character":54},"updated":"2020-10-05 13:24:08.000000000","message":"took a sec but this is updating the inactive one","commit_id":"4861eebc91a25056f445a4dc55a87cbb381fea05"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7548fc908e0fbb6cdbcd743ae1b09aab637509e5","unresolved":false,"context_lines":[{"line_number":2017,"context_line":"                # else update the active one"},{"line_number":2018,"context_line":"                host, _ \u003d self._get_active_binding(port_id)"},{"line_number":2019,"context_line":""},{"line_number":2020,"context_line":"            self._port_bindings[port_id][host] \u003d {"},{"line_number":2021,"context_line":"                \u0027host\u0027: host,"},{"line_number":2022,"context_line":"                \u0027status\u0027: \u0027ACTIVE\u0027,"},{"line_number":2023,"context_line":"                \u0027profile\u0027: copy.deepcopy("},{"line_number":2024,"context_line":"                    body[\u0027port\u0027].get(\u0027binding:profile\u0027) or {},"},{"line_number":2025,"context_line":"                ),"},{"line_number":2026,"context_line":"                \u0027vif_details\u0027: port.get(\u0027binding:vif_details\u0027) or {},"},{"line_number":2027,"context_line":"                \u0027vif_type\u0027: port[\u0027binding:vif_type\u0027],"},{"line_number":2028,"context_line":"                \u0027vnic_type\u0027: port[\u0027binding:vnic_type\u0027],"},{"line_number":2029,"context_line":"            }"},{"line_number":2030,"context_line":""},{"line_number":2031,"context_line":"            # mark any other active bindings as inactive"},{"line_number":2032,"context_line":"            self._activate_port_binding(port_id, host)"}],"source_content_type":"text/x-python","patch_set":8,"id":"9f560f44_5b3817ed","line":2029,"range":{"start_line":2020,"start_character":11,"end_line":2029,"end_character":13},"updated":"2020-10-05 13:24:08.000000000","message":"you could do this slightly differntly by saving the retruned active binding and doing a update on it but this should be ok.","commit_id":"4861eebc91a25056f445a4dc55a87cbb381fea05"}]}
