)]}'
{"ironic/conf/deploy.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"abd4b95f6bca7c25295750ad655481c9b2d5635d","unresolved":false,"context_lines":[{"line_number":204,"context_line":"                                    \u0027the conductor.\u0027))],"},{"line_number":205,"context_line":"               default\u003d\u0027local\u0027,"},{"line_number":206,"context_line":"               mutable\u003dTrue,"},{"line_number":207,"context_line":"               help\u003d_(\u0027Specifies whether ramdisk deploy interface should try \u0027"},{"line_number":208,"context_line":"                      \u0027to use the image source directly or if ironic should \u0027"},{"line_number":209,"context_line":"                      \u0027cache the image on the conductor and serve it from \u0027"},{"line_number":210,"context_line":"                      \u0027ironic\\\u0027s own http server.\u0027)),"}],"source_content_type":"text/x-python","patch_set":4,"id":"5eb4b91f_b523052c","line":207,"updated":"2021-04-30 12:50:03.000000000","message":"This doesn\u0027t concern only the ramdisk deploy interface, the same _prepare_iso_image is used when e.g. deploying with redfish_deploy_iso. Let\u0027s rephrase so that it\u0027s clear that it applies to all ISO boot images.","commit_id":"91254cb9e8c276cc47fb9e42c48c528363386cc0"}],"ironic/drivers/modules/image_utils.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bc51500da70edb41920cebb8179aa0b4bceae394","unresolved":false,"context_lines":[{"line_number":425,"context_line":""},{"line_number":426,"context_line":"    # NOTE(rpittau): if base_iso is defined as http address and it\u0027s already"},{"line_number":427,"context_line":"    # a bootable image, we just access it directly."},{"line_number":428,"context_line":"    if base_iso and CONF.deploy.ramdisk_image_download_source \u003d\u003d \u0027http\u0027:"},{"line_number":429,"context_line":"        return base_iso"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"    img_handler \u003d ImageHandler(task.node.driver)"}],"source_content_type":"text/x-python","patch_set":5,"id":"8755479d_c2e1452c","line":428,"updated":"2021-05-03 11:32:26.000000000","message":"I wonder if we need to handle the case of a glance image.. And a file. Maybe check that the URL starts with http:// or https:// ?","commit_id":"4262cfb5ef34d1d017d7a178e84c8be36c91d5bc"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e6a5f3859f6f72ad041533bcdea8452819c3a14a","unresolved":false,"context_lines":[{"line_number":425,"context_line":""},{"line_number":426,"context_line":"    # NOTE(rpittau): if base_iso is defined as http address and it\u0027s already"},{"line_number":427,"context_line":"    # a bootable image, we just access it directly."},{"line_number":428,"context_line":"    if base_iso and CONF.deploy.ramdisk_image_download_source \u003d\u003d \u0027http\u0027:"},{"line_number":429,"context_line":"        return base_iso"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"    img_handler \u003d ImageHandler(task.node.driver)"}],"source_content_type":"text/x-python","patch_set":5,"id":"ccdad0d4_6ce1425b","line":428,"in_reply_to":"8755479d_c2e1452c","updated":"2021-05-03 14:07:12.000000000","message":"I had this exact same concern when looking at the title of the change and the config options. I think it is a reasonable check \"If a url is pre-supplied.\" seems reasonable in addition to the two checks.\n\nif base_iso and CONF.blah and \u0027http\u0027 in base_iso","commit_id":"4262cfb5ef34d1d017d7a178e84c8be36c91d5bc"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"c72334130f24fa6a19940e8c0bcf336a30183abe","unresolved":false,"context_lines":[{"line_number":428,"context_line":"    if base_iso and CONF.deploy.ramdisk_image_download_source \u003d\u003d \u0027http\u0027:"},{"line_number":429,"context_line":"        if base_iso.startswith((\u0027http://\u0027, \u0027https://\u0027)):"},{"line_number":430,"context_line":"            return base_iso"},{"line_number":431,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":432,"context_line":"            \u0027ramdisk_image_download_source set to http but boot_iso is not \u0027"},{"line_number":433,"context_line":"            \u0027a valid url: %(boot_iso)s\u0027) % {\u0027boot_iso\u0027: base_iso})"},{"line_number":434,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"189e8fbe_f9afa61c","line":431,"updated":"2021-05-04 12:31:32.000000000","message":"I see what you\u0027re trying to do, but we currently ignore image_download_source for HTTP links, and I think it\u0027s more user-friendly, otherwise you cannot use the same configuration to serve HTTP links as they are AND to support FILE links.\n\nLet\u0027s just ignore ramdisk_image_download_source and proceed","commit_id":"0f74a293ec895a5b3092b42214d013a361a2a094"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"c2edbd7f6d80346ff2dcd700253aaaa8bbde011e","unresolved":false,"context_lines":[{"line_number":428,"context_line":"    if base_iso and CONF.deploy.ramdisk_image_download_source \u003d\u003d \u0027http\u0027:"},{"line_number":429,"context_line":"        if base_iso.startswith((\u0027http://\u0027, \u0027https://\u0027)):"},{"line_number":430,"context_line":"            return base_iso"},{"line_number":431,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":432,"context_line":"            \u0027ramdisk_image_download_source set to http but boot_iso is not \u0027"},{"line_number":433,"context_line":"            \u0027a valid url: %(boot_iso)s\u0027) % {\u0027boot_iso\u0027: base_iso})"},{"line_number":434,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"29631e58_46462e86","line":431,"in_reply_to":"189e8fbe_f9afa61c","updated":"2021-05-04 14:26:49.000000000","message":"alright, I will at least add a debug message","commit_id":"0f74a293ec895a5b3092b42214d013a361a2a094"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"7baf538caecf884f73cf35cfc943c5b48817f811","unresolved":true,"context_lines":[{"line_number":429,"context_line":"        if base_iso.startswith((\u0027http://\u0027, \u0027https://\u0027)):"},{"line_number":430,"context_line":"            return base_iso"},{"line_number":431,"context_line":"        LOG.debug(\"ramdisk_image_download_source set to http but \""},{"line_number":432,"context_line":"                  \"boot_iso is not a valid url: %(boot_iso)s\","},{"line_number":433,"context_line":"                  {\"boot_iso\": base_iso})"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":"    img_handler \u003d ImageHandler(task.node.driver)"}],"source_content_type":"text/x-python","patch_set":7,"id":"f197a7fe_3e6f3ce1","line":432,"updated":"2021-05-05 09:37:18.000000000","message":"nit: \"an HTTP URL\"","commit_id":"3a5c3accf1540b5b0db0bb34b00dd5f7ce96e163"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"57bba7a09a6d4e9e697b9258b0dc864fffdbfa06","unresolved":false,"context_lines":[{"line_number":429,"context_line":"        if base_iso.startswith((\u0027http://\u0027, \u0027https://\u0027)):"},{"line_number":430,"context_line":"            return base_iso"},{"line_number":431,"context_line":"        LOG.debug(\"ramdisk_image_download_source set to http but \""},{"line_number":432,"context_line":"                  \"boot_iso is not a valid url: %(boot_iso)s\","},{"line_number":433,"context_line":"                  {\"boot_iso\": base_iso})"},{"line_number":434,"context_line":""},{"line_number":435,"context_line":"    img_handler \u003d ImageHandler(task.node.driver)"}],"source_content_type":"text/x-python","patch_set":7,"id":"1bb8c6fc_77ced0eb","line":432,"in_reply_to":"f197a7fe_3e6f3ce1","updated":"2021-05-05 10:25:48.000000000","message":"Done","commit_id":"3a5c3accf1540b5b0db0bb34b00dd5f7ce96e163"}],"ironic/tests/unit/drivers/modules/test_image_utils.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"7baf538caecf884f73cf35cfc943c5b48817f811","unresolved":true,"context_lines":[{"line_number":557,"context_line":"        with task_manager.acquire(self.context, self.node.uuid,"},{"line_number":558,"context_line":"                                  shared\u003dTrue) as task:"},{"line_number":559,"context_line":""},{"line_number":560,"context_line":"            base_image_url \u003d \u0027http://bearmetal.net/boot.iso\u0027"},{"line_number":561,"context_line":"            self.config(ramdisk_image_download_source\u003d\u0027http\u0027, group\u003d\u0027deploy\u0027)"},{"line_number":562,"context_line":"            url \u003d image_utils._prepare_iso_image("},{"line_number":563,"context_line":"                task, None, None, bootloader_href\u003dNone, root_uuid\u003dNone,"}],"source_content_type":"text/x-python","patch_set":7,"id":"f613a90a_cbda46a0","line":560,"updated":"2021-05-05 09:37:18.000000000","message":"Let\u0027s add a test that file:// urls still work","commit_id":"3a5c3accf1540b5b0db0bb34b00dd5f7ce96e163"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"57bba7a09a6d4e9e697b9258b0dc864fffdbfa06","unresolved":false,"context_lines":[{"line_number":557,"context_line":"        with task_manager.acquire(self.context, self.node.uuid,"},{"line_number":558,"context_line":"                                  shared\u003dTrue) as task:"},{"line_number":559,"context_line":""},{"line_number":560,"context_line":"            base_image_url \u003d \u0027http://bearmetal.net/boot.iso\u0027"},{"line_number":561,"context_line":"            self.config(ramdisk_image_download_source\u003d\u0027http\u0027, group\u003d\u0027deploy\u0027)"},{"line_number":562,"context_line":"            url \u003d image_utils._prepare_iso_image("},{"line_number":563,"context_line":"                task, None, None, bootloader_href\u003dNone, root_uuid\u003dNone,"}],"source_content_type":"text/x-python","patch_set":7,"id":"0c524643_f6edc3a5","line":560,"in_reply_to":"f613a90a_cbda46a0","updated":"2021-05-05 10:25:48.000000000","message":"Ack","commit_id":"3a5c3accf1540b5b0db0bb34b00dd5f7ce96e163"}],"releasenotes/notes/option-no-cache-http-ramdisk-62fc29cdd1d5b152.yaml":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"abd4b95f6bca7c25295750ad655481c9b2d5635d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The behavior for the ramdisk interface when a bootable iso is provided"},{"line_number":5,"context_line":"    behind an http server is to download and serve the image from the"},{"line_number":6,"context_line":"    conductor; the image is removed only when the node is undeployed."},{"line_number":7,"context_line":"    In certain cases, for example on large deployments, this could cause"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"cbca9adf_d38fdda9","line":4,"updated":"2021-04-30 12:50:03.000000000","message":"ditto re scope of the change.","commit_id":"91254cb9e8c276cc47fb9e42c48c528363386cc0"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"abd4b95f6bca7c25295750ad655481c9b2d5635d","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    behind an http server is to download and serve the image from the"},{"line_number":6,"context_line":"    conductor; the image is removed only when the node is undeployed."},{"line_number":7,"context_line":"    In certain cases, for example on large deployments, this could cause"},{"line_number":8,"context_line":"    unexpected behaviors, like the conductor nodes running out of disk"},{"line_number":9,"context_line":"    storage."},{"line_number":10,"context_line":"    We provide an option to avoid this event directly using the original url"},{"line_number":11,"context_line":"    of the bootable iso that is then served by the external http server"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"291238bf_f0310014","line":8,"updated":"2021-04-30 12:50:03.000000000","message":"s/unexpected/undesired/","commit_id":"91254cb9e8c276cc47fb9e42c48c528363386cc0"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"abd4b95f6bca7c25295750ad655481c9b2d5635d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    In certain cases, for example on large deployments, this could cause"},{"line_number":8,"context_line":"    unexpected behaviors, like the conductor nodes running out of disk"},{"line_number":9,"context_line":"    storage."},{"line_number":10,"context_line":"    We provide an option to avoid this event directly using the original url"},{"line_number":11,"context_line":"    of the bootable iso that is then served by the external http server"},{"line_number":12,"context_line":"    where it is hosted."},{"line_number":13,"context_line":"    The default behavior is unchanged."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"8c3c2dba_cd852e59","line":10,"updated":"2021-04-30 12:50:03.000000000","message":"Let\u0027s mention the option name here, not in a separate place (which may be rendered far away).","commit_id":"91254cb9e8c276cc47fb9e42c48c528363386cc0"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"abd4b95f6bca7c25295750ad655481c9b2d5635d","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    of the bootable iso that is then served by the external http server"},{"line_number":12,"context_line":"    where it is hosted."},{"line_number":13,"context_line":"    The default behavior is unchanged."},{"line_number":14,"context_line":"other:"},{"line_number":15,"context_line":"  - |"},{"line_number":16,"context_line":"    Add an option ``[deploy]ramdisk_image_download_source`` to be able to"},{"line_number":17,"context_line":"    tell the ramdisk interface to directly use the bootable iso url from its"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3898502e_9fda3ea6","line":14,"updated":"2021-04-30 12:50:03.000000000","message":"I think the \"fixes\" above is enough if you add the option name.","commit_id":"91254cb9e8c276cc47fb9e42c48c528363386cc0"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"98401fd65c161bc54c083c9ecd674e4692077ab7","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":8,"id":"8b045b87_152049ff","line":15,"updated":"2021-05-05 14:31:22.000000000","message":"I would  change this to `features`(I know we want to backport),in the backport we can change to fixes. wdyt?","commit_id":"4874f3c44e7b49714ca4fb158d2551b8f6f5fee4"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"97fa6325505e7885ba3ec158d613c4d088361042","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":8,"id":"261997c1_8774bf65","line":15,"in_reply_to":"436620d2_6ae2e469","updated":"2021-05-05 14:38:23.000000000","message":"I was just following what we did for some cases \u003d)","commit_id":"4874f3c44e7b49714ca4fb158d2551b8f6f5fee4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"93eb7b3ebca8ddf68c83d4cc9786e8ca9d20adad","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":8,"id":"436620d2_6ae2e469","line":15,"in_reply_to":"8b045b87_152049ff","updated":"2021-05-05 14:36:01.000000000","message":"We should never actually do that, it means we\u0027re lying in our release notes :) If it\u0027s feature, we cannot backport it.","commit_id":"4874f3c44e7b49714ca4fb158d2551b8f6f5fee4"}]}
