)]}'
{"neutron/agent/rpc.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ad3abb54d8639cf95e6f36750ec1791e0844240f","unresolved":true,"context_lines":[{"line_number":130,"context_line":"    \u0027\u0027\u0027"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    def __init__(self, topic):"},{"line_number":133,"context_line":"        target \u003d oslo_messaging.Target(topic\u003dtopic, version\u003d\u00271.9\u0027)"},{"line_number":134,"context_line":"        self.client \u003d lib_rpc.get_client(target)"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    def get_device_details(self, context, device, agent_id, host\u003dNone):"}],"source_content_type":"text/x-python","patch_set":13,"id":"ef5a5134_57ace6f6","line":133,"updated":"2021-06-14 16:35:56.000000000","message":"So this did have me worried, but I see you added a release note about the upgrade since this would affect a new agent working with an old server.  I guess this was done instead of adding new calls to support the new behavior.","commit_id":"77ac42d2ee664263dd1dfd391dac4d8e062875e0"}],"neutron/objects/ports.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"72620d2b04a75ee6b4be20fb11143d0323c1d4f5","unresolved":true,"context_lines":[{"line_number":702,"context_line":"            return ports.pop()"},{"line_number":703,"context_line":"        else:"},{"line_number":704,"context_line":"            for port in ports:"},{"line_number":705,"context_line":"                LOG.debug(\u0027RAH - port: %s\u0027, port)"},{"line_number":706,"context_line":"                for _binding in port.bindings:"},{"line_number":707,"context_line":"                    if _binding.get(\u0027profile\u0027, {}).get(\u0027pci_slot\u0027) \u003d\u003d pci_slot:"},{"line_number":708,"context_line":"                        return port"}],"source_content_type":"text/x-python","patch_set":10,"id":"a54ca873_6b70c0a3","line":705,"updated":"2021-04-08 10:47:21.000000000","message":"this is probably not needed :)","commit_id":"1255d496c817ffac3f0580dedbcde4b7b339fcb2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"05b1b0aa07440e0f64b6c24f833b4304340dccbf","unresolved":true,"context_lines":[{"line_number":702,"context_line":"            return ports.pop()"},{"line_number":703,"context_line":"        else:"},{"line_number":704,"context_line":"            for port in ports:"},{"line_number":705,"context_line":"                LOG.debug(\u0027RAH - port: %s\u0027, port)"},{"line_number":706,"context_line":"                for _binding in port.bindings:"},{"line_number":707,"context_line":"                    if _binding.get(\u0027profile\u0027, {}).get(\u0027pci_slot\u0027) \u003d\u003d pci_slot:"},{"line_number":708,"context_line":"                        return port"}],"source_content_type":"text/x-python","patch_set":10,"id":"11635325_186e79ee","line":705,"in_reply_to":"a54ca873_6b70c0a3","updated":"2021-04-08 11:22:53.000000000","message":"ups, I forgot this one.","commit_id":"1255d496c817ffac3f0580dedbcde4b7b339fcb2"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ad3abb54d8639cf95e6f36750ec1791e0844240f","unresolved":true,"context_lines":[{"line_number":697,"context_line":"            ports \u003d cls.get_objects(context, mac_address\u003ddevice_mac)"},{"line_number":698,"context_line":""},{"line_number":699,"context_line":"        if not ports:"},{"line_number":700,"context_line":"            return"},{"line_number":701,"context_line":"        elif not pci_slot:"},{"line_number":702,"context_line":"            return ports.pop()"},{"line_number":703,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":13,"id":"5face49b_4a9d267f","line":700,"updated":"2021-06-14 16:35:56.000000000","message":"Surprised pylint didn\u0027t complain about this not being return None/[]","commit_id":"77ac42d2ee664263dd1dfd391dac4d8e062875e0"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4203bc0f75a6c087dbc0b8ae65068e104cc4a3b6","unresolved":true,"context_lines":[{"line_number":697,"context_line":"            ports \u003d cls.get_objects(context, mac_address\u003ddevice_mac)"},{"line_number":698,"context_line":""},{"line_number":699,"context_line":"        if not ports:"},{"line_number":700,"context_line":"            return"},{"line_number":701,"context_line":"        elif not pci_slot:"},{"line_number":702,"context_line":"            return ports.pop()"},{"line_number":703,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":13,"id":"08dc5f51_2a792c47","line":700,"in_reply_to":"5face49b_4a9d267f","updated":"2021-06-23 08:31:07.000000000","message":"but None is the default value returned","commit_id":"77ac42d2ee664263dd1dfd391dac4d8e062875e0"}],"neutron/plugins/ml2/drivers/mech_sriov/agent/sriov_nic_agent.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"72620d2b04a75ee6b4be20fb11143d0323c1d4f5","unresolved":true,"context_lines":[{"line_number":88,"context_line":"        # notifications there is no guarantee the notifications are"},{"line_number":89,"context_line":"        # processed in the same order as the relevant API requests."},{"line_number":90,"context_line":"        mac \u003d port[\u0027mac_address\u0027]"},{"line_number":91,"context_line":"        pci_slot \u003d (port.get(portbindings.PROFILE) or {}).get(\u0027pci_slot\u0027)"},{"line_number":92,"context_line":"        if pci_slot:"},{"line_number":93,"context_line":"            self.agent.updated_devices.add(agent_rpc.DeviceInfo(mac, pci_slot))"},{"line_number":94,"context_line":"            LOG.debug(\"port_update RPC received for port: %(id)s with MAC \""}],"source_content_type":"text/x-python","patch_set":10,"id":"07d5587e_9068631b","line":91,"updated":"2021-04-08 10:47:21.000000000","message":"can\u0027t it be:\n\n    pci_slot \u003d port.get(portbindings.PROFILE, {}).get(\u0027pci_slot\u0027)\n\n?\nIMO it\u0027s a bit shorter form :)","commit_id":"1255d496c817ffac3f0580dedbcde4b7b339fcb2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"05b1b0aa07440e0f64b6c24f833b4304340dccbf","unresolved":true,"context_lines":[{"line_number":88,"context_line":"        # notifications there is no guarantee the notifications are"},{"line_number":89,"context_line":"        # processed in the same order as the relevant API requests."},{"line_number":90,"context_line":"        mac \u003d port[\u0027mac_address\u0027]"},{"line_number":91,"context_line":"        pci_slot \u003d (port.get(portbindings.PROFILE) or {}).get(\u0027pci_slot\u0027)"},{"line_number":92,"context_line":"        if pci_slot:"},{"line_number":93,"context_line":"            self.agent.updated_devices.add(agent_rpc.DeviceInfo(mac, pci_slot))"},{"line_number":94,"context_line":"            LOG.debug(\"port_update RPC received for port: %(id)s with MAC \""}],"source_content_type":"text/x-python","patch_set":10,"id":"b3180549_42ec72b5","line":91,"in_reply_to":"07d5587e_9068631b","updated":"2021-04-08 11:22:53.000000000","message":"I wanted to ensure that port[portbindings.PROFILE] or the default value returned was always a dict, but this is done in the ML2 pluing.","commit_id":"1255d496c817ffac3f0580dedbcde4b7b339fcb2"}],"neutron/plugins/ml2/rpc.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"72620d2b04a75ee6b4be20fb11143d0323c1d4f5","unresolved":true,"context_lines":[{"line_number":85,"context_line":"                kwargs.get(\u0027device\u0027) or kwargs.get(\u0027network\u0027))"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    @staticmethod"},{"line_number":88,"context_line":"    def _device_to_mac_pci_slot(device):"},{"line_number":89,"context_line":"        \"\"\"This method will keep backwards\"\"\""},{"line_number":90,"context_line":"        if isinstance(device, list):  # RPC loads from agent_rpc.DeviceInfo"},{"line_number":91,"context_line":"            return device[0], device[1]"}],"source_content_type":"text/x-python","patch_set":10,"id":"1817e9f2_e19ad4f2","line":88,"updated":"2021-04-08 10:47:21.000000000","message":"maybe we should add TODO here to remove it in next release? Or will we need it all the time?","commit_id":"1255d496c817ffac3f0580dedbcde4b7b339fcb2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"05b1b0aa07440e0f64b6c24f833b4304340dccbf","unresolved":true,"context_lines":[{"line_number":85,"context_line":"                kwargs.get(\u0027device\u0027) or kwargs.get(\u0027network\u0027))"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    @staticmethod"},{"line_number":88,"context_line":"    def _device_to_mac_pci_slot(device):"},{"line_number":89,"context_line":"        \"\"\"This method will keep backwards\"\"\""},{"line_number":90,"context_line":"        if isinstance(device, list):  # RPC loads from agent_rpc.DeviceInfo"},{"line_number":91,"context_line":"            return device[0], device[1]"}],"source_content_type":"text/x-python","patch_set":10,"id":"5503f132_ea0ce16f","line":88,"in_reply_to":"1817e9f2_e19ad4f2","updated":"2021-04-08 11:22:53.000000000","message":"Right, I\u0027ll add a deprecation note for Y or Z, just to give administrators more time to migrate theirs systems.","commit_id":"1255d496c817ffac3f0580dedbcde4b7b339fcb2"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"7e51c536a6d69ada9fc7fa867e68e888c07e6664","unresolved":true,"context_lines":[{"line_number":84,"context_line":"                kwargs.get(\u0027host\u0027),"},{"line_number":85,"context_line":"                kwargs.get(\u0027device\u0027) or kwargs.get(\u0027network\u0027))"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    @staticmethod"},{"line_number":88,"context_line":"    def _device_to_mac_pci_slot(device):"},{"line_number":89,"context_line":"        \"\"\"This method will keep backwards compatibility with agents \u003c 1.9\"\"\""},{"line_number":90,"context_line":"        # NOTE(ralonsoh): this method can be removed in Z release."},{"line_number":91,"context_line":"        if isinstance(device, list):  # RPC loads from agent_rpc.DeviceInfo"},{"line_number":92,"context_line":"            return device[0], device[1]"},{"line_number":93,"context_line":"        return device, None"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    def get_device_details(self, rpc_context, **kwargs):"},{"line_number":96,"context_line":"        \"\"\"Agent requests device details.\"\"\""}],"source_content_type":"text/x-python","patch_set":13,"id":"23e09180_a87470cc","line":93,"range":{"start_line":87,"start_character":4,"end_line":93,"end_character":27},"updated":"2021-06-17 07:25:28.000000000","message":"+1","commit_id":"77ac42d2ee664263dd1dfd391dac4d8e062875e0"}],"releasenotes/notes/sriov-agent-duplicated-mac-ports-a861b0ff800c3172.yaml":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"72620d2b04a75ee6b4be20fb11143d0323c1d4f5","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    SR-IOV agent now can handle ports from different networks with duplicated"},{"line_number":5,"context_line":"    MAC addresses. This feature implies an upgrade in the agent and the server"},{"line_number":6,"context_line":"    RPC version (see ``neutron.plugins.ml2.rpc.RpcCallbacks`` version 1.9)."},{"line_number":7,"context_line":"    Some agent RPC methods have been updated to pass not only the device MAC"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"2545ccc0_24a9c7c6","line":4,"range":{"start_line":4,"start_character":67,"end_line":4,"end_character":77},"updated":"2021-04-08 10:47:21.000000000","message":"nit: personally I would say \"the same\" instead of \"duplicate\"","commit_id":"1255d496c817ffac3f0580dedbcde4b7b339fcb2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"05b1b0aa07440e0f64b6c24f833b4304340dccbf","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    SR-IOV agent now can handle ports from different networks with duplicated"},{"line_number":5,"context_line":"    MAC addresses. This feature implies an upgrade in the agent and the server"},{"line_number":6,"context_line":"    RPC version (see ``neutron.plugins.ml2.rpc.RpcCallbacks`` version 1.9)."},{"line_number":7,"context_line":"    Some agent RPC methods have been updated to pass not only the device MAC"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"0bc3369b_6560b283","line":4,"range":{"start_line":4,"start_character":67,"end_line":4,"end_character":77},"in_reply_to":"2545ccc0_24a9c7c6","updated":"2021-04-08 11:22:53.000000000","message":"right, this is not a \"duplicated entity\"","commit_id":"1255d496c817ffac3f0580dedbcde4b7b339fcb2"}]}
