)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9ba3d0e0cab8e5f5be65552ac9b80d85379b0888","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3e82556f_385b2512","updated":"2025-03-06 13:48:54.000000000","message":"Thanks for this contribution.","commit_id":"bb4119f3bf1d54aa3b362faf012491107ca495de"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"f8a870ca7d7385d8de962913989153f6d9f4e245","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4003f2a4_0ad02737","in_reply_to":"3e82556f_385b2512","updated":"2025-03-06 13:51:21.000000000","message":"Please look at my comment.\nAlso note that currently we have passed feature freeze for Epoxy, so could be included only on Flamingo.","commit_id":"bb4119f3bf1d54aa3b362faf012491107ca495de"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d368d8819b83242758677d67e2734d90867dc81e","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a9d8a827_446fc703","in_reply_to":"4003f2a4_0ad02737","updated":"2025-03-06 14:37:17.000000000","message":"yes this need a specless blueprint for 2025.2","commit_id":"bb4119f3bf1d54aa3b362faf012491107ca495de"}],"nova/conf/libvirt.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"81401145590c6d2cd1d8113f48d590ec9599f51c","unresolved":true,"context_lines":[{"line_number":962,"context_line":"\"\"\"),"},{"line_number":963,"context_line":"    cfg.ListOpt(\u0027remote_copy_compression_types\u0027,"},{"line_number":964,"context_line":"                item_type\u003dtypes.String(),"},{"line_number":965,"context_line":"                default\u003d[\u0027raw\u0027, \u0027flat\u0027, \u0027lvm\u0027, \u0027rbd\u0027, \u0027ploop\u0027],"},{"line_number":966,"context_line":"                help\u003d\"\"\""},{"line_number":967,"context_line":"VM image types which use SSH compression when copied to a remote host. On fast"},{"line_number":968,"context_line":"local networks compression often reduces the copy bandwidth because the CPU"}],"source_content_type":"text/x-python","patch_set":1,"id":"b650d672_41dd0c4b","line":965,"updated":"2025-03-05 17:19:47.000000000","message":"this does not make sense for RBD as this is only really used when using local storage.\n\nlvm is sort of broken at the memoent too","commit_id":"3acb3cb449d26a152edce794e330c937807329f7"},{"author":{"_account_id":11290,"name":"Gaudenz Steinlin","email":"gaudenz.steinlin@cloudscale.ch","username":"gaudenz"},"change_message_id":"975ca10590a6ef1513845025cfaaa57222ec38c8","unresolved":false,"context_lines":[{"line_number":962,"context_line":"\"\"\"),"},{"line_number":963,"context_line":"    cfg.ListOpt(\u0027remote_copy_compression_types\u0027,"},{"line_number":964,"context_line":"                item_type\u003dtypes.String(),"},{"line_number":965,"context_line":"                default\u003d[\u0027raw\u0027, \u0027flat\u0027, \u0027lvm\u0027, \u0027rbd\u0027, \u0027ploop\u0027],"},{"line_number":966,"context_line":"                help\u003d\"\"\""},{"line_number":967,"context_line":"VM image types which use SSH compression when copied to a remote host. On fast"},{"line_number":968,"context_line":"local networks compression often reduces the copy bandwidth because the CPU"}],"source_content_type":"text/x-python","patch_set":1,"id":"0e39dc3a_874f7741","line":965,"in_reply_to":"8e29a462_8cae0208","updated":"2025-03-06 09:59:42.000000000","message":"I changed it to a boolean. I agree that this is cleaner. I originally made it a list of backends to retain the existing behavior by default.\n\nI decided to set this to \"False\" by default as I think most people will want to turn this off. But I\u0027m open to change if you disagree.","commit_id":"3acb3cb449d26a152edce794e330c937807329f7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"354e7a636630e275c938e991e4a2011bbc8cbaf7","unresolved":true,"context_lines":[{"line_number":962,"context_line":"\"\"\"),"},{"line_number":963,"context_line":"    cfg.ListOpt(\u0027remote_copy_compression_types\u0027,"},{"line_number":964,"context_line":"                item_type\u003dtypes.String(),"},{"line_number":965,"context_line":"                default\u003d[\u0027raw\u0027, \u0027flat\u0027, \u0027lvm\u0027, \u0027rbd\u0027, \u0027ploop\u0027],"},{"line_number":966,"context_line":"                help\u003d\"\"\""},{"line_number":967,"context_line":"VM image types which use SSH compression when copied to a remote host. On fast"},{"line_number":968,"context_line":"local networks compression often reduces the copy bandwidth because the CPU"}],"source_content_type":"text/x-python","patch_set":1,"id":"8e29a462_8cae0208","line":965,"in_reply_to":"b650d672_41dd0c4b","updated":"2025-03-05 17:27:01.000000000","message":"by the way, instead of doing this per type we should just have a bool\n\ncurrently, you can\u0027t have multiple image_types enabled on a single host, and if you could in the future, we would likely put this in a backend-specific section.","commit_id":"3acb3cb449d26a152edce794e330c937807329f7"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"9ba3d0e0cab8e5f5be65552ac9b80d85379b0888","unresolved":true,"context_lines":[{"line_number":12253,"context_line":"                if fname \u003d\u003d \u0027disk.swap\u0027:"},{"line_number":12254,"context_line":"                    continue"},{"line_number":12255,"context_line":""},{"line_number":12256,"context_line":"                compression \u003d CONF.libvirt.remote_copy_compression"},{"line_number":12257,"context_line":"                libvirt_utils.copy_image(from_path, img_path, host\u003ddest,"},{"line_number":12258,"context_line":"                                         on_execute\u003don_execute,"},{"line_number":12259,"context_line":"                                         on_completion\u003don_completion,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a92efa1_36c80338","line":12256,"updated":"2025-03-06 13:48:54.000000000","message":"To my mind, that\u0027s a bit radical, although I agree that most users should use qcow2. You\u0027re changing the behavior for all users by disabling compression unless they explicitly opt in.\n\nI would suggest keeping the original behavior with compression enabled by default, except for qcow files. Then, make your configuration option an opt-in for those who want to disable compression.","commit_id":"bb4119f3bf1d54aa3b362faf012491107ca495de"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b4dd289e7b3f428d9037d2f839e82c53b911515d","unresolved":true,"context_lines":[{"line_number":12253,"context_line":"                if fname \u003d\u003d \u0027disk.swap\u0027:"},{"line_number":12254,"context_line":"                    continue"},{"line_number":12255,"context_line":""},{"line_number":12256,"context_line":"                compression \u003d CONF.libvirt.remote_copy_compression"},{"line_number":12257,"context_line":"                libvirt_utils.copy_image(from_path, img_path, host\u003ddest,"},{"line_number":12258,"context_line":"                                         on_execute\u003don_execute,"},{"line_number":12259,"context_line":"                                         on_completion\u003don_completion,"}],"source_content_type":"text/x-python","patch_set":2,"id":"b79f2bab_95c45657","line":12256,"in_reply_to":"1a92efa1_36c80338","updated":"2025-03-06 14:36:25.000000000","message":"we have gone back and forth on that in the past\n\nthe conflict here is qcow is our default backedn\n\nso the current propsoal maintains the default behavior\n\nbut its a change in behivor for anyone not using our default backend\n\nhow about htis in the config option lets not set a default.\n\nand here if the config option is not set lets check the type and disable it if qcow and enable it for the rest?\n\nthat will keep teh exsiting behavior and you can then opt in to copression or not by using the config option.","commit_id":"bb4119f3bf1d54aa3b362faf012491107ca495de"},{"author":{"_account_id":11290,"name":"Gaudenz Steinlin","email":"gaudenz.steinlin@cloudscale.ch","username":"gaudenz"},"change_message_id":"4f9b8ab3f759a9e7883c974f83540e60077f9fe3","unresolved":true,"context_lines":[{"line_number":12253,"context_line":"                if fname \u003d\u003d \u0027disk.swap\u0027:"},{"line_number":12254,"context_line":"                    continue"},{"line_number":12255,"context_line":""},{"line_number":12256,"context_line":"                compression \u003d CONF.libvirt.remote_copy_compression"},{"line_number":12257,"context_line":"                libvirt_utils.copy_image(from_path, img_path, host\u003ddest,"},{"line_number":12258,"context_line":"                                         on_execute\u003don_execute,"},{"line_number":12259,"context_line":"                                         on_completion\u003don_completion,"}],"source_content_type":"text/x-python","patch_set":2,"id":"20ba490d_ca85be4b","line":12256,"in_reply_to":"b79f2bab_95c45657","updated":"2025-03-10 14:42:42.000000000","message":"I think most users will be better of with compression disabled. I made some measurements with three 50G files. First with a sparse file (all zeros, expect optimal compression), second with random data (almost no compression expected), third with random alphanumeric characters (some compression expected). All transfers with compression enabled were CPU bound on a AMD EPYC Rome CPU and 2x25Gb Links (LACP).\n\nWith compression:\n* sparse file: 172MB/s\n* random file: 29MB/s\n* random alphanumeric: 22MB/s\n\nWithout compression (probably disk IO bound):\n* sparse file: 620MB/s\n* random file: 560MB/s\n* random alphanumeric: 610MB/s\n\nThis shows that on a relatively modern CPU the compression speed is slightly better than 1Gbit/s (172MB/s -\u003e 1.3Gbit/s) for data that is highly compressible. In all other cases even for 1Gbit links I would expect a degradation with compression enabled.\n\nSo If you really think that we should keep the current behavior I can implement this, but I would really prefer to make this configurable and default to off for all image types.\n\nBTW there is already a blueprint for this: https://blueprints.launchpad.net/nova/+spec/configurable-no-compression-image-types\n\nDo I have to do something to reactivate the old blueprint? Do I have to repropose it? I already added a note to the commit message.","commit_id":"bb4119f3bf1d54aa3b362faf012491107ca495de"}]}
