)]}'
{"specs/approved/agent-http-provisioning.rst":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6eb53bc8049515476857faaab5adad54d1e1e4c7","unresolved":false,"context_lines":[{"line_number":83,"context_line":"image URL will be ``\u003chttp_url\u003e/\u003chttp_image_path\u003e/\u003cnode-uuid\u003e``. If"},{"line_number":84,"context_line":"``[DEFAULT]force_raw_images`` is set to true, checksum will be recalculated"},{"line_number":85,"context_line":"and updated as well. It is highly encouraged to set it false for better"},{"line_number":86,"context_line":"performance."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"The symbolic link will be removed at ``AgentDeploy.deploy`` when a node deploy"},{"line_number":89,"context_line":"is done, or ``AgentDeploy.clean_up`` when a node is teared down from the state"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_c44c0ea0","line":86,"updated":"2018-08-22 13:09:49.000000000","message":"This needs adjusting.","commit_id":"e431ac85784f19d0af6be17cf63a288c68459b8e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2cad4fa1ddaf8747126dd384300c17d1921481ba","unresolved":false,"context_lines":[{"line_number":90,"context_line":"``deploy failed``."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"The instance image cached by ``direct`` deploy interface will not be affected"},{"line_number":93,"context_line":"by ``CONF.force_raw`` configuration option, due to two reasons below:"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"* The checksum recalculation of a raw image could have a severe performance"},{"line_number":96,"context_line":"  impact on the conductor node, because the image size could be huge."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_043206f3","line":93,"updated":"2018-08-22 12:42:39.000000000","message":"-1 for reasons below","commit_id":"e431ac85784f19d0af6be17cf63a288c68459b8e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2cad4fa1ddaf8747126dd384300c17d1921481ba","unresolved":false,"context_lines":[{"line_number":93,"context_line":"by ``CONF.force_raw`` configuration option, due to two reasons below:"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"* The checksum recalculation of a raw image could have a severe performance"},{"line_number":96,"context_line":"  impact on the conductor node, because the image size could be huge."},{"line_number":97,"context_line":"  Besides, raw image will consume more network bandwidth, though same as"},{"line_number":98,"context_line":"  ``iscsi`` deploy interface, they deviates the purpose to achieve better"},{"line_number":99,"context_line":"  performance by adopting agent-based deploy interfaces."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_242f0289","line":96,"updated":"2018-08-22 12:42:39.000000000","message":"I just checked on my virtual machine, calculating md5sum of a 1.3G image takes 3 seconds. It\u0027s a lot, but not a disaster in a world when powering on a machine can take minutes.","commit_id":"e431ac85784f19d0af6be17cf63a288c68459b8e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"065a6233813a9362615df0f50f5550a5ec691da4","unresolved":false,"context_lines":[{"line_number":93,"context_line":"by ``CONF.force_raw`` configuration option, due to two reasons below:"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"* The checksum recalculation of a raw image could have a severe performance"},{"line_number":96,"context_line":"  impact on the conductor node, because the image size could be huge."},{"line_number":97,"context_line":"  Besides, raw image will consume more network bandwidth, though same as"},{"line_number":98,"context_line":"  ``iscsi`` deploy interface, they deviates the purpose to achieve better"},{"line_number":99,"context_line":"  performance by adopting agent-based deploy interfaces."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_dfb4c584","line":96,"in_reply_to":"3f79a3b5_242f0289","updated":"2018-08-23 02:14:34.000000000","message":"wow! please receive my envy :)\n\nAre you running on ssd? I tested on a dell server, 3.6G image takes 52 seconds. As to the image, the virtual image size is typically above 10G in our use case.\n\nmd5 calculation is io/cpu intensive, it may not be a problem for one image on a shinning machine, but..","commit_id":"e431ac85784f19d0af6be17cf63a288c68459b8e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"c33caafae898e00be4f3742bd0cf5a78230a9d31","unresolved":false,"context_lines":[{"line_number":93,"context_line":"by ``CONF.force_raw`` configuration option, due to two reasons below:"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"* The checksum recalculation of a raw image could have a severe performance"},{"line_number":96,"context_line":"  impact on the conductor node, because the image size could be huge."},{"line_number":97,"context_line":"  Besides, raw image will consume more network bandwidth, though same as"},{"line_number":98,"context_line":"  ``iscsi`` deploy interface, they deviates the purpose to achieve better"},{"line_number":99,"context_line":"  performance by adopting agent-based deploy interfaces."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_d489e674","line":96,"in_reply_to":"3f79a3b5_bc4465b9","updated":"2018-08-24 06:04:57.000000000","message":"We have use cases of running ironic services in virtual machines, so the \"powerful\" could be false..\n\nDistributing workloads to baremetal itself also could achieve performance improvements when deploying in parallel.\n\nAnyway, since we have options to control the behavior, I think it\u0027s OK for me.","commit_id":"e431ac85784f19d0af6be17cf63a288c68459b8e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"e4baa73e52b9286ecedfb9a0b2838b5eaf86cbd3","unresolved":false,"context_lines":[{"line_number":93,"context_line":"by ``CONF.force_raw`` configuration option, due to two reasons below:"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"* The checksum recalculation of a raw image could have a severe performance"},{"line_number":96,"context_line":"  impact on the conductor node, because the image size could be huge."},{"line_number":97,"context_line":"  Besides, raw image will consume more network bandwidth, though same as"},{"line_number":98,"context_line":"  ``iscsi`` deploy interface, they deviates the purpose to achieve better"},{"line_number":99,"context_line":"  performance by adopting agent-based deploy interfaces."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_bc4465b9","line":96,"in_reply_to":"3f79a3b5_dfb4c584","updated":"2018-08-23 13:08:58.000000000","message":"Well, we expect servers to be quite powerful, but I get your point. So, I guess, we need to leave both options available.","commit_id":"e431ac85784f19d0af6be17cf63a288c68459b8e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f4d3fd8e7702b1d491999e2d93e2d115496fb5de","unresolved":false,"context_lines":[{"line_number":99,"context_line":"  performance by adopting agent-based deploy interfaces."},{"line_number":100,"context_line":"* Agent-based deploy interfaces download whole instance image into memory"},{"line_number":101,"context_line":"  before write to disk, this will lead to failed deployment due to"},{"line_number":102,"context_line":"  insufficient memories on baremetals."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"To avoid introducing another instance cache, this spec proposes updating"},{"line_number":105,"context_line":"image cache to take ``CONF.force_raw`` into account for the image name:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_adf455f2","line":102,"updated":"2018-08-22 14:24:39.000000000","message":"Something that come from an internal discussion re network bandwith: we can send raw images over network compressed with e.g. gz of xz. It is part of the HTTP protocol, and it may reduce the size greatly if there are a lot of zeroes.","commit_id":"e431ac85784f19d0af6be17cf63a288c68459b8e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2cad4fa1ddaf8747126dd384300c17d1921481ba","unresolved":false,"context_lines":[{"line_number":99,"context_line":"  performance by adopting agent-based deploy interfaces."},{"line_number":100,"context_line":"* Agent-based deploy interfaces download whole instance image into memory"},{"line_number":101,"context_line":"  before write to disk, this will lead to failed deployment due to"},{"line_number":102,"context_line":"  insufficient memories on baremetals."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"To avoid introducing another instance cache, this spec proposes updating"},{"line_number":105,"context_line":"image cache to take ``CONF.force_raw`` into account for the image name:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_c44dee72","line":102,"updated":"2018-08-22 12:42:39.000000000","message":"This is quite the opposite: raw images can be streamed to the target disk directly, while a qcow2 image will be downloaded to memory first. So it\u0027s actually a huge benefit of using raw images, because e.g. tripleo qcow2 files do not fit into 4G of RAM.","commit_id":"e431ac85784f19d0af6be17cf63a288c68459b8e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"065a6233813a9362615df0f50f5550a5ec691da4","unresolved":false,"context_lines":[{"line_number":99,"context_line":"  performance by adopting agent-based deploy interfaces."},{"line_number":100,"context_line":"* Agent-based deploy interfaces download whole instance image into memory"},{"line_number":101,"context_line":"  before write to disk, this will lead to failed deployment due to"},{"line_number":102,"context_line":"  insufficient memories on baremetals."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"To avoid introducing another instance cache, this spec proposes updating"},{"line_number":105,"context_line":"image cache to take ``CONF.force_raw`` into account for the image name:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_0a32fd10","line":102,"in_reply_to":"3f79a3b5_adf455f2","updated":"2018-08-23 02:14:34.000000000","message":"I sense a smell of a potential feature, but I only heard a browser and server can negotiate to use data compression, looks quite (or exactly?) like the thing you mentioned.\n\nIt seems proper server configuration and a capable client will do.","commit_id":"e431ac85784f19d0af6be17cf63a288c68459b8e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"065a6233813a9362615df0f50f5550a5ec691da4","unresolved":false,"context_lines":[{"line_number":99,"context_line":"  performance by adopting agent-based deploy interfaces."},{"line_number":100,"context_line":"* Agent-based deploy interfaces download whole instance image into memory"},{"line_number":101,"context_line":"  before write to disk, this will lead to failed deployment due to"},{"line_number":102,"context_line":"  insufficient memories on baremetals."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"To avoid introducing another instance cache, this spec proposes updating"},{"line_number":105,"context_line":"image cache to take ``CONF.force_raw`` into account for the image name:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_ca8085fa","line":102,"in_reply_to":"3f79a3b5_c44dee72","updated":"2018-08-23 02:14:34.000000000","message":"Cool, I didn\u0027t notice we have such a feature, I checked code, it\u0027s controlled by [agent]stream_raw_images.\n\nIt only works with whole disk, so the pitfall still exists on partition images.","commit_id":"e431ac85784f19d0af6be17cf63a288c68459b8e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"e4baa73e52b9286ecedfb9a0b2838b5eaf86cbd3","unresolved":false,"context_lines":[{"line_number":99,"context_line":"  performance by adopting agent-based deploy interfaces."},{"line_number":100,"context_line":"* Agent-based deploy interfaces download whole instance image into memory"},{"line_number":101,"context_line":"  before write to disk, this will lead to failed deployment due to"},{"line_number":102,"context_line":"  insufficient memories on baremetals."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"To avoid introducing another instance cache, this spec proposes updating"},{"line_number":105,"context_line":"image cache to take ``CONF.force_raw`` into account for the image name:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_dcdda1dd","line":102,"in_reply_to":"3f79a3b5_ca8085fa","updated":"2018-08-23 13:08:58.000000000","message":"\u003e It only works with whole disk, so the pitfall still exists on partition images.\n\nOh, I did not realize it. Okay, so what if we only convert to raw images if stream_raw_images is True and force_raw is True and image is whole disk? Then the operators will have a variety of choices.","commit_id":"e431ac85784f19d0af6be17cf63a288c68459b8e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"c33caafae898e00be4f3742bd0cf5a78230a9d31","unresolved":false,"context_lines":[{"line_number":99,"context_line":"  performance by adopting agent-based deploy interfaces."},{"line_number":100,"context_line":"* Agent-based deploy interfaces download whole instance image into memory"},{"line_number":101,"context_line":"  before write to disk, this will lead to failed deployment due to"},{"line_number":102,"context_line":"  insufficient memories on baremetals."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"To avoid introducing another instance cache, this spec proposes updating"},{"line_number":105,"context_line":"image cache to take ``CONF.force_raw`` into account for the image name:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_f469828b","line":102,"in_reply_to":"3f79a3b5_dcdda1dd","updated":"2018-08-24 06:04:57.000000000","message":"That is a solution, I hope no one has any assumption on the meaning of force_raw, because it somewhat changed meaning of it.","commit_id":"e431ac85784f19d0af6be17cf63a288c68459b8e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"e4baa73e52b9286ecedfb9a0b2838b5eaf86cbd3","unresolved":false,"context_lines":[{"line_number":101,"context_line":"  before write to disk, this will lead to failed deployment due to"},{"line_number":102,"context_line":"  insufficient memories on baremetals."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"To avoid introducing another instance cache, this spec proposes updating"},{"line_number":105,"context_line":"image cache to take ``CONF.force_raw`` into account for the image name:"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"* Images downloaded with ``CONF.force_raw`` set to ``True`` will have a"},{"line_number":108,"context_line":"  ``.raw`` as file extension."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_dcf6015e","line":105,"range":{"start_line":104,"start_character":0,"end_line":105,"end_character":71},"updated":"2018-08-23 13:08:58.000000000","message":"Some elaboration is needed on what problems you\u0027re trying to solve..","commit_id":"e431ac85784f19d0af6be17cf63a288c68459b8e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"c33caafae898e00be4f3742bd0cf5a78230a9d31","unresolved":false,"context_lines":[{"line_number":101,"context_line":"  before write to disk, this will lead to failed deployment due to"},{"line_number":102,"context_line":"  insufficient memories on baremetals."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"To avoid introducing another instance cache, this spec proposes updating"},{"line_number":105,"context_line":"image cache to take ``CONF.force_raw`` into account for the image name:"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"* Images downloaded with ``CONF.force_raw`` set to ``True`` will have a"},{"line_number":108,"context_line":"  ``.raw`` as file extension."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_54cdd682","line":105,"range":{"start_line":104,"start_character":0,"end_line":105,"end_character":71},"in_reply_to":"3f79a3b5_dcf6015e","updated":"2018-08-24 06:04:57.000000000","message":"This is just to avoid introducing another cache and more options come with it. As the cache used by iscsi may have raw images, the direct interface has to perform checksum, the reason to avoid checksum and raw is already described above.\n\nThis can be removed if we only convert raw image in certain conditions (stream raw, whole disk). Operators have their choices depending on their scenario.","commit_id":"e431ac85784f19d0af6be17cf63a288c68459b8e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"804ff7029dc33598e1df30d54c339983c940ee6a","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"The existing ``[deploy]http_root`` and ``[deploy]http_url`` are reused for"},{"line_number":72,"context_line":"storing instance image symlinks and generating instance image URLs"},{"line_number":73,"context_line":"respectively. A new string option ``[deploy]http_image_path`` is introduced"},{"line_number":74,"context_line":"to keep it isolated with iPXE related scripts. The default value is"},{"line_number":75,"context_line":"``agent_images``."},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_a411805f","line":73,"updated":"2018-08-25 11:31:04.000000000","message":"nit: I wonder if we need s/path/subdir/ to make it clear that it\u0027s not an absolite path. Or do you plan on also accepting absolute paths?","commit_id":"982059b24a63a6751267bc0ef50e2580c123281e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"639127ba0bdf6d379cddce303c945da0212bec4b","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"The existing ``[deploy]http_root`` and ``[deploy]http_url`` are reused for"},{"line_number":72,"context_line":"storing instance image symlinks and generating instance image URLs"},{"line_number":73,"context_line":"respectively. A new string option ``[deploy]http_image_path`` is introduced"},{"line_number":74,"context_line":"to keep it isolated with iPXE related scripts. The default value is"},{"line_number":75,"context_line":"``agent_images``."},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_e8f3c607","line":73,"in_reply_to":"3f79a3b5_a411805f","updated":"2018-08-27 01:25:30.000000000","message":"This option represents a sub directory, renamed to subdir.","commit_id":"982059b24a63a6751267bc0ef50e2580c123281e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"804ff7029dc33598e1df30d54c339983c940ee6a","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"The ``direct`` deploy interface will use the same instance cache for image"},{"line_number":78,"context_line":"caching, this will be performed at ``AgentDeploy.deploy``. After an instance"},{"line_number":79,"context_line":"image is cached, the ``direct`` deploy interface creates a symbolic link at"},{"line_number":80,"context_line":"``\u003chttp_root\u003e/\u003chttp_image_path\u003e`` to reference the instance image. It will be"},{"line_number":81,"context_line":"``/httpboot/agent_images/\u003cnode-uuid\u003e`` if all goes to default."},{"line_number":82,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_c414bc4f","line":79,"updated":"2018-08-25 11:31:04.000000000","message":"nit: we should document enabling the http server to follow symlinks. I\u0027m not sure it\u0027s alwasy the case.","commit_id":"982059b24a63a6751267bc0ef50e2580c123281e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"639127ba0bdf6d379cddce303c945da0212bec4b","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"The ``direct`` deploy interface will use the same instance cache for image"},{"line_number":78,"context_line":"caching, this will be performed at ``AgentDeploy.deploy``. After an instance"},{"line_number":79,"context_line":"image is cached, the ``direct`` deploy interface creates a symbolic link at"},{"line_number":80,"context_line":"``\u003chttp_root\u003e/\u003chttp_image_path\u003e`` to reference the instance image. It will be"},{"line_number":81,"context_line":"``/httpboot/agent_images/\u003cnode-uuid\u003e`` if all goes to default."},{"line_number":82,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_68dfb665","line":79,"in_reply_to":"3f79a3b5_c414bc4f","updated":"2018-08-27 01:25:30.000000000","message":"Sure, added under \"Other deployer impact\"","commit_id":"982059b24a63a6751267bc0ef50e2580c123281e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"804ff7029dc33598e1df30d54c339983c940ee6a","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"* ``[DEFAULT]force_raw_images`` is set to True,"},{"line_number":103,"context_line":"* ``[agent]stream_raw_images`` is set to True,"},{"line_number":104,"context_line":"* The instance image type is a whole disk image."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_640fe836","line":104,"updated":"2018-08-25 11:31:04.000000000","message":"++","commit_id":"982059b24a63a6751267bc0ef50e2580c123281e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"193fb106abecc64895037e697fc12cb8f9103633","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"* ``[DEFAULT]force_raw_images`` is set to True,"},{"line_number":103,"context_line":"* ``[agent]stream_raw_images`` is set to True,"},{"line_number":104,"context_line":"* The instance image type is a whole disk image."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_d0cb081b","line":104,"in_reply_to":"3f79a3b5_3ed8141c","updated":"2018-08-27 10:48:43.000000000","message":"Why is iscsi affected? It should only be affected by force_raw_images as it is now. Could you elaborate on the exact problem?","commit_id":"982059b24a63a6751267bc0ef50e2580c123281e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"cec58fcbd89576d0739ee9138d5f099f9358aee5","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"* ``[DEFAULT]force_raw_images`` is set to True,"},{"line_number":103,"context_line":"* ``[agent]stream_raw_images`` is set to True,"},{"line_number":104,"context_line":"* The instance image type is a whole disk image."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_93dd9a42","line":104,"in_reply_to":"3f79a3b5_53706272","updated":"2018-08-27 11:26:40.000000000","message":"\u003e That\u0027s why the proposal on previous patch is to take force_raw_images into file naming.\n\nOkay, this is fine with me. It just was not clear in the previous patch why we have to do it. Maybe add a detailed explanation?","commit_id":"982059b24a63a6751267bc0ef50e2580c123281e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"ea3219082c0173d3b77f326db3b38d3ccaf21a69","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"* ``[DEFAULT]force_raw_images`` is set to True,"},{"line_number":103,"context_line":"* ``[agent]stream_raw_images`` is set to True,"},{"line_number":104,"context_line":"* The instance image type is a whole disk image."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_3ed8141c","line":104,"in_reply_to":"3f79a3b5_640fe836","updated":"2018-08-27 05:46:39.000000000","message":"This works based on the assumption that direct and iscsi are not used together. If we have them both enabled, this rule has to be applied to iscsi interface too.\n\nI think applying the stream_raw_images option to iscsi interface is a bit odd, so I guess this is not what you want, so how do we solve the image conversion problem between interfaces?\n\nCompatibility is always a headache, probably we just keep old ways for now, if streaming a raw image to IPA happens, we just log an warning there. wdyt?","commit_id":"982059b24a63a6751267bc0ef50e2580c123281e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"12453d6a2bb472f74532a9ea65e4251801114ec8","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"* ``[DEFAULT]force_raw_images`` is set to True,"},{"line_number":103,"context_line":"* ``[agent]stream_raw_images`` is set to True,"},{"line_number":104,"context_line":"* The instance image type is a whole disk image."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_b3b9b6cc","line":104,"in_reply_to":"3f79a3b5_93dd9a42","updated":"2018-08-27 11:42:41.000000000","message":"Sure, will capture that into spec. The rules in this patch set still apply to the direct interface, in case raw image streaming is the designated requirement.","commit_id":"982059b24a63a6751267bc0ef50e2580c123281e"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"418bcfb03b34813a8ecf309e3af59a34ba9c287d","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"* ``[DEFAULT]force_raw_images`` is set to True,"},{"line_number":103,"context_line":"* ``[agent]stream_raw_images`` is set to True,"},{"line_number":104,"context_line":"* The instance image type is a whole disk image."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3f79a3b5_53706272","line":104,"in_reply_to":"3f79a3b5_d0cb081b","updated":"2018-08-27 11:20:20.000000000","message":"It\u0027s all because we use the same InstanceImageCache for iscsi and direct deploy interface.\n\niscsi deploy interface cache image according to force_raw_images, if we use the rule above for direct deploy interface, considering this:\n\nDeploy node A (use iscsi) with a partition image, then deploy node B (use direct) with the same image. The image in the cache is converted to raw, but according to rules above, direct deploy interface assumes image will not be converted to raw, though it pass force_raw as false to instance image cache, however due to cache hit, actually no action will be performed, so we actually provide a raw image but without md5 recalculation.\n\nVice versa, if we reverse the order above, iscsi deploy interface may get a qcow with force_raw_images set to true, probably not an issue because populate_image will check image format before writing. Still, it\u0027s not a consistent behavior.\n\nI don\u0027t know if it makes things more clear, what I worried about is we can\u0027t use inconsistent rules for the same cache, as it doesn\u0027t provide such support to tell which image is converted or not. That\u0027s why the proposal on previous patch is to take force_raw_images into file naming.","commit_id":"982059b24a63a6751267bc0ef50e2580c123281e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4bdb59384730d897a7a9f4844313bf22c2673f3c","unresolved":false,"context_lines":[{"line_number":114,"context_line":"Cache sharing"},{"line_number":115,"context_line":"-------------"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"As ``iscsi`` and ``direct`` deploy interface are sharing the same cache,"},{"line_number":118,"context_line":"but apply different rule to whether the image should be converted to raw."},{"line_number":119,"context_line":"It leads to cache compatibility issue when both interface are in use."},{"line_number":120,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f79a3b5_dfe77e11","line":117,"updated":"2018-08-28 08:35:29.000000000","message":"nit: s/As//","commit_id":"9b006f020b757f694ccc710f9fae9cd7e96dd566"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"082328ec03b317aeabf4f802a9731ef33b3168dc","unresolved":false,"context_lines":[{"line_number":114,"context_line":"Cache sharing"},{"line_number":115,"context_line":"-------------"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"As ``iscsi`` and ``direct`` deploy interface are sharing the same cache,"},{"line_number":118,"context_line":"but apply different rule to whether the image should be converted to raw."},{"line_number":119,"context_line":"It leads to cache compatibility issue when both interface are in use."},{"line_number":120,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f79a3b5_bf6e4229","line":117,"in_reply_to":"3f79a3b5_dfe77e11","updated":"2018-08-28 08:53:42.000000000","message":"Done","commit_id":"9b006f020b757f694ccc710f9fae9cd7e96dd566"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"082328ec03b317aeabf4f802a9731ef33b3168dc","unresolved":false,"context_lines":[{"line_number":144,"context_line":"Note that the ``.converted`` extension merely acts as an indicator that the"},{"line_number":145,"context_line":"image downloaded has gone through the conversion logic. For a raw image in the"},{"line_number":146,"context_line":"glance, the name of master image file still has ``.converted`` as long as"},{"line_number":147,"context_line":"``[DEFAULT]force_raw_images`` is set to True."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f79a3b5_3fd1d2cc","line":147,"range":{"start_line":147,"start_character":2,"end_line":147,"end_character":27},"updated":"2018-08-28 08:53:42.000000000","message":"changed to ``force_raw`` argument.","commit_id":"9b006f020b757f694ccc710f9fae9cd7e96dd566"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"082328ec03b317aeabf4f802a9731ef33b3168dc","unresolved":false,"context_lines":[{"line_number":250,"context_line":"Depending on the hardware and image type, recalculating MD5 checksum for a raw"},{"line_number":251,"context_line":"image could consume considerable amount of CPU/IO resources. If the"},{"line_number":252,"context_line":"performance on ironic conductor node is in concern, please set"},{"line_number":253,"context_line":"``[DEFAULT]force_raw_images`` to ``False``(The option is ``True`` by default)."},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"Other deployer impact"},{"line_number":256,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f79a3b5_ff511a63","line":253,"range":{"start_line":253,"start_character":33,"end_line":253,"end_character":78},"updated":"2018-08-28 08:53:42.000000000","message":"found a format issue from rendered text..","commit_id":"9b006f020b757f694ccc710f9fae9cd7e96dd566"}]}
