)]}'
{"nova/network/neutronv2/api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9e91d71992db6c5c0e2c22963db327bc03797f17","unresolved":false,"context_lines":[{"line_number":526,"context_line":"        :param instance: allocate networks on this instance"},{"line_number":527,"context_line":"        :type instance: nova.objects.Instance"},{"line_number":528,"context_line":"        :param neutron: neutron client session"},{"line_number":529,"context_line":"        :type neutron: neutronclient.v2_0.client.Client"},{"line_number":530,"context_line":"        :returns: tuple of:"},{"line_number":531,"context_line":"            - ports: dict mapping of port id to port dict"},{"line_number":532,"context_line":"            - ordered_networks: list of nova.objects.NetworkRequest objects"}],"source_content_type":"text/x-python","patch_set":1,"id":"df3967d1_5b694223","line":529,"updated":"2017-07-31 16:12:46.000000000","message":"requested_networks is missing","commit_id":"8302df4994f5b42e12f7d8a3621ff9f2022b0e02"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"3a9a5710cdd16e4b5be300f8e0f444fd71ec43be","unresolved":false,"context_lines":[{"line_number":854,"context_line":"        #"},{"line_number":855,"context_line":"        # Validate ports and networks with neutron. The requested_ports_dict"},{"line_number":856,"context_line":"        # variable is a dict, keyed by port ID, of ports that were on the user"},{"line_number":857,"context_line":"        # request and may be empty. The ordered_networks variable is a list of"},{"line_number":858,"context_line":"        # NetworkRequest objects for any networks or ports specifically"},{"line_number":859,"context_line":"        # requested by the user, which again may be empty."},{"line_number":860,"context_line":"        #"}],"source_content_type":"text/x-python","patch_set":1,"id":"df3967d1_1ba85a1d","line":857,"range":{"start_line":857,"start_character":18,"end_line":857,"end_character":34},"updated":"2017-07-31 16:19:56.000000000","message":"nit: this makes it sounds like the ports may be empty rather than the dict.  Same thing about ordered_networks.  Maybe just end this paragraph with something like \"Each of requested_ports_dict and ordered_networks may be empty.\"?","commit_id":"8302df4994f5b42e12f7d8a3621ff9f2022b0e02"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9e91d71992db6c5c0e2c22963db327bc03797f17","unresolved":false,"context_lines":[{"line_number":878,"context_line":"        # the form (NetworkRequest, created_port_id). Note that a tuple pair"},{"line_number":879,"context_line":"        # will have None for the created_port_id if the NetworkRequest already"},{"line_number":880,"context_line":"        # contains a port_id, meaning the user requested a specific"},{"line_number":881,"context_line":"        # pre-existing port so one wasn\u0027t created here. It will be updated"},{"line_number":882,"context_line":"        # later in _update_ports_for_instance so it\u0027s bound to the instance and"},{"line_number":883,"context_line":"        # compute host."},{"line_number":884,"context_line":"        requests_and_created_ports \u003d self._create_ports_for_instance("}],"source_content_type":"text/x-python","patch_set":1,"id":"df3967d1_fbc6b616","line":881,"range":{"start_line":881,"start_character":56,"end_line":881,"end_character":58},"updated":"2017-07-31 16:12:46.000000000","message":"The requested port","commit_id":"8302df4994f5b42e12f7d8a3621ff9f2022b0e02"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c0a1111afe04303e0daee85dade8103ba2fab70c","unresolved":false,"context_lines":[{"line_number":178,"context_line":"        raise exception.PortBindingFailed(port_id\u003dport[\u0027id\u0027])"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"def _filter_hypervisor_macs(instance, requested_ports_dict, hypervisor_macs):"},{"line_number":182,"context_line":"    \"\"\"Removes macs from set if used by existing ports"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    :param instance: The server instance."}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_86fb6c45","line":181,"range":{"start_line":181,"start_character":53,"end_line":181,"end_character":58},"updated":"2017-08-28 10:25:05.000000000","message":"nit: do we really need the \u0027_dicts\u0027 suffix? We\u0027re not Hungarian :)","commit_id":"2db3f5a850fcdd38c8d873386d693d3824e10b8b"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"46c2bcca870ced08d651cbda1e022b08a448b8fe","unresolved":false,"context_lines":[{"line_number":178,"context_line":"        raise exception.PortBindingFailed(port_id\u003dport[\u0027id\u0027])"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"def _filter_hypervisor_macs(instance, requested_ports_dict, hypervisor_macs):"},{"line_number":182,"context_line":"    \"\"\"Removes macs from set if used by existing ports"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    :param instance: The server instance."}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_76c5785b","line":181,"range":{"start_line":181,"start_character":53,"end_line":181,"end_character":58},"in_reply_to":"7f287b81_302259ba","updated":"2019-11-21 12:38:15.000000000","message":"Actually Elod found it. :) The whole team had a LOLz moment. Thanks for it!\n\nggibi (pun intended)","commit_id":"2db3f5a850fcdd38c8d873386d693d3824e10b8b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a1f3f3353bd9f788c7521e082d726cd82e92b879","unresolved":false,"context_lines":[{"line_number":178,"context_line":"        raise exception.PortBindingFailed(port_id\u003dport[\u0027id\u0027])"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"def _filter_hypervisor_macs(instance, requested_ports_dict, hypervisor_macs):"},{"line_number":182,"context_line":"    \"\"\"Removes macs from set if used by existing ports"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    :param instance: The server instance."}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_302259ba","line":181,"range":{"start_line":181,"start_character":53,"end_line":181,"end_character":58},"in_reply_to":"7f287b81_86fb6c45","updated":"2017-08-31 00:58:33.000000000","message":"Yeah, because it could be a list, where it is in other parts of this class. Plus, isn\u0027t Hungarian more like dictRequestedPorts? cClass, iInterface. Good times.\n\nWait until gibi sees this.","commit_id":"2db3f5a850fcdd38c8d873386d693d3824e10b8b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c0a1111afe04303e0daee85dade8103ba2fab70c","unresolved":false,"context_lines":[{"line_number":947,"context_line":"        :param dhcp_opts: a list dicts that contain dhcp option name and value"},{"line_number":948,"context_line":"            e.g. [{\u0027opt_name\u0027: \u0027tftp-server\u0027, \u0027opt_value\u0027: \u00271.2.3.4\u0027}]"},{"line_number":949,"context_line":"        :param available_macs: a list of available mac addresses"},{"line_number":950,"context_line":"        :returns: tuple with the following::"},{"line_number":951,"context_line":""},{"line_number":952,"context_line":"            * list of network dicts in their requested order"},{"line_number":953,"context_line":"            * list of port IDs in their requested order - note that does not"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_26c5d8f1","line":950,"range":{"start_line":950,"start_character":43,"end_line":950,"end_character":44},"updated":"2017-08-28 10:25:05.000000000","message":"Don\u0027t think this is necessary","commit_id":"2db3f5a850fcdd38c8d873386d693d3824e10b8b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a1f3f3353bd9f788c7521e082d726cd82e92b879","unresolved":false,"context_lines":[{"line_number":947,"context_line":"        :param dhcp_opts: a list dicts that contain dhcp option name and value"},{"line_number":948,"context_line":"            e.g. [{\u0027opt_name\u0027: \u0027tftp-server\u0027, \u0027opt_value\u0027: \u00271.2.3.4\u0027}]"},{"line_number":949,"context_line":"        :param available_macs: a list of available mac addresses"},{"line_number":950,"context_line":"        :returns: tuple with the following::"},{"line_number":951,"context_line":""},{"line_number":952,"context_line":"            * list of network dicts in their requested order"},{"line_number":953,"context_line":"            * list of port IDs in their requested order - note that does not"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_d01c3579","line":950,"range":{"start_line":950,"start_character":43,"end_line":950,"end_character":44},"in_reply_to":"7f287b81_26c5d8f1","updated":"2017-08-31 00:58:33.000000000","message":"Dude, of all people, you love ReST the most.","commit_id":"2db3f5a850fcdd38c8d873386d693d3824e10b8b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f592ce83fc84d59c56f389cfb86d9f26e17fd587","unresolved":false,"context_lines":[{"line_number":947,"context_line":"        :param dhcp_opts: a list dicts that contain dhcp option name and value"},{"line_number":948,"context_line":"            e.g. [{\u0027opt_name\u0027: \u0027tftp-server\u0027, \u0027opt_value\u0027: \u00271.2.3.4\u0027}]"},{"line_number":949,"context_line":"        :param available_macs: a list of available mac addresses"},{"line_number":950,"context_line":"        :returns: tuple with the following::"},{"line_number":951,"context_line":""},{"line_number":952,"context_line":"            * list of network dicts in their requested order"},{"line_number":953,"context_line":"            * list of port IDs in their requested order - note that does not"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f287b81_fd7a6121","line":950,"range":{"start_line":950,"start_character":43,"end_line":950,"end_character":44},"in_reply_to":"7f287b81_d01c3579","updated":"2017-08-31 10:23:08.000000000","message":"That I do :) If you want the bullet points below to show as bullets instead of preformatted blocks, you need to drop this","commit_id":"2db3f5a850fcdd38c8d873386d693d3824e10b8b"}]}
