)]}'
{"ironic/common/dhcp_utils.py":[{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"91247530a709e1c4f1a0ee17c7e5e07648e3de22","unresolved":false,"context_lines":[{"line_number":35,"context_line":"DHCP_TFTP_PATH_PREFIX \u003d \u0027210\u0027  # rfc5071"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def _dhcp_option_file_or_url(task, urlboot\u003dFalse, httpboot\u003dFalse):"},{"line_number":39,"context_line":"    \"\"\"Returns the appropriate file or URL."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    :param task: A TaskManager object."}],"source_content_type":"text/x-python","patch_set":4,"id":"bfdaf3ff_7c88b71e","line":38,"range":{"start_line":38,"start_character":50,"end_line":38,"end_character":58},"updated":"2019-01-11 16:21:23.000000000","message":"nit: missing in docstring","commit_id":"6233c0414558667d22baff39b87ba7d920ea1234"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"91247530a709e1c4f1a0ee17c7e5e07648e3de22","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        return (\"tftp://\" + CONF.pxe.tftp_server"},{"line_number":56,"context_line":"                + path_prefix + boot_file)"},{"line_number":57,"context_line":"    elif httpboot:"},{"line_number":58,"context_line":"        return \u0027/\u0027.join([CONF.deploy.http_url, boot_file])"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"# TODO(TheJulia): Move this to something not pxe specific"}],"source_content_type":"text/x-python","patch_set":4,"id":"bfdaf3ff_3c522f69","line":58,"range":{"start_line":58,"start_character":15,"end_line":58,"end_character":58},"updated":"2019-01-11 16:21:23.000000000","message":"nit: may be using some kind of URL or path builder would work more reliable in case of extra slashes in the items being joint","commit_id":"6233c0414558667d22baff39b87ba7d920ea1234"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"91247530a709e1c4f1a0ee17c7e5e07648e3de22","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        return (\"tftp://\" + CONF.pxe.tftp_server"},{"line_number":56,"context_line":"                + path_prefix + boot_file)"},{"line_number":57,"context_line":"    elif httpboot:"},{"line_number":58,"context_line":"        return \u0027/\u0027.join([CONF.deploy.http_url, boot_file])"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"# TODO(TheJulia): Move this to something not pxe specific"}],"source_content_type":"text/x-python","patch_set":4,"id":"bfdaf3ff_3c246f0d","line":58,"range":{"start_line":58,"start_character":15,"end_line":58,"end_character":58},"updated":"2019-01-11 16:21:23.000000000","message":"would it make sense to take boot URL from node config prior to ironic config?","commit_id":"6233c0414558667d22baff39b87ba7d920ea1234"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"91247530a709e1c4f1a0ee17c7e5e07648e3de22","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"# TODO(TheJulia): Move this to something not pxe specific"},{"line_number":62,"context_line":"def dhcp_options_for_instance(task, ipxe_enabled\u003dFalse, url_boot\u003dFalse,"},{"line_number":63,"context_line":"                              httpboot\u003dFalse):"},{"line_number":64,"context_line":"    \"\"\"Retrieves the DHCP PXE boot options."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    :param task: A TaskManager instance."}],"source_content_type":"text/x-python","patch_set":4,"id":"bfdaf3ff_3cc8ef53","line":63,"range":{"start_line":63,"start_character":30,"end_line":63,"end_character":38},"updated":"2019-01-11 16:21:23.000000000","message":"nit: this (and other) params not in docstring","commit_id":"6233c0414558667d22baff39b87ba7d920ea1234"}],"ironic/common/neutron.py":[{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"fc82e84ec0eeff6ea9fc0ab42b392d6f6ddad111","unresolved":false,"context_lines":[{"line_number":235,"context_line":"    ports \u003d {}"},{"line_number":236,"context_line":"    failures \u003d []"},{"line_number":237,"context_line":"    portmap \u003d get_node_portmap(task)"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"    if (\u0027pxe_boot\u0027 in task.driver.boot.capabilities"},{"line_number":240,"context_line":"        or \u0027ipxe_boot\u0027 in task.driver.boot.capabilites):"},{"line_number":241,"context_line":"        boot_enabled_ports \u003d [p for p in task.ports if p.pxe_enabled]"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_5199e5cc","line":238,"updated":"2018-11-01 16:51:00.000000000","message":"Do we need should boot_enabled_ports\u003d[] as its now being set inside a conditional.","commit_id":"6233c0414558667d22baff39b87ba7d920ea1234"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ec3c026f7a5f892ddf704c727f6bd8297379a5d8","unresolved":false,"context_lines":[{"line_number":235,"context_line":"    ports \u003d {}"},{"line_number":236,"context_line":"    failures \u003d []"},{"line_number":237,"context_line":"    portmap \u003d get_node_portmap(task)"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"    if (\u0027pxe_boot\u0027 in task.driver.boot.capabilities"},{"line_number":240,"context_line":"        or \u0027ipxe_boot\u0027 in task.driver.boot.capabilites):"},{"line_number":241,"context_line":"        boot_enabled_ports \u003d [p for p in task.ports if p.pxe_enabled]"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_671291b5","line":238,"in_reply_to":"3f79a3b5_5199e5cc","updated":"2018-11-26 23:53:05.000000000","message":"Hmmm, Yes!","commit_id":"6233c0414558667d22baff39b87ba7d920ea1234"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a3f9c165bd039d1385e40affe45390828d01be2b","unresolved":false,"context_lines":[{"line_number":239,"context_line":"    if (\u0027pxe_boot\u0027 in task.driver.boot.capabilities"},{"line_number":240,"context_line":"        or \u0027ipxe_boot\u0027 in task.driver.boot.capabilites):"},{"line_number":241,"context_line":"        boot_enabled_ports \u003d [p for p in task.ports if p.pxe_enabled]"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"    if \u0027http_boot\u0027 in task.driver.boot.capabilities:"},{"line_number":244,"context_line":"        # TODO(TheJulia): It seems like we might be able to do this from"},{"line_number":245,"context_line":"        # anywhere possibly, so I\u0027m unsure if the same constraint should"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_2d4c2174","line":242,"updated":"2018-10-19 18:51:11.000000000","message":"I\u0027m not sure the reason we used pxe_enabled still holds in the land of http booting. UEFI reference firmware forces https, and one can downgrade to http...","commit_id":"6233c0414558667d22baff39b87ba7d920ea1234"}]}
