)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"573d44ff3b47803df818361e557c5cb73f06ea27","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     melanie witt \u003cmelwittt@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2025-12-03 16:34:19 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP Make QEMU_IMG_LIMITS process limits configurable"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I10e53de27b063b1e514e04066d0eb56a86188e9a"},{"line_number":10,"context_line":"Signed-off-by: melanie witt \u003cmelwittt@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"a5a5a821_e4c495c4","line":7,"updated":"2025-12-04 00:53:26.000000000","message":"I thought of making this configurable and checked if any other project does that.\n\nI found that Cinder and Ironic use config options for their qemu-img process limits:\n\n* https://github.com/openstack/cinder/blob/f38c2950b13a2cde2ae9f146cf525a9d54c8b830/cinder/image/image_utils.py#L115-L117\n\n* https://github.com/openstack/ironic/blob/05b9dc22c7681cf8b9e30dd5eb0c0505a10ed7c5/ironic/common/qemu_img.py#L34-L36","commit_id":"ff382524b6ccd4adbc03ff03003913f86e91bf2e"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"573d44ff3b47803df818361e557c5cb73f06ea27","unresolved":true,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2025-12-03 16:34:19 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP Make QEMU_IMG_LIMITS process limits configurable"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I10e53de27b063b1e514e04066d0eb56a86188e9a"},{"line_number":10,"context_line":"Signed-off-by: melanie witt \u003cmelwittt@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"0946c68a_1cd545f2","line":8,"updated":"2025-12-04 00:53:26.000000000","message":"Related-Bug: #2116852","commit_id":"ff382524b6ccd4adbc03ff03003913f86e91bf2e"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"51c0caf47101818501fdd6b3840a41f720843a6b","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2025-12-03 16:34:19 -0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP Make QEMU_IMG_LIMITS process limits configurable"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I10e53de27b063b1e514e04066d0eb56a86188e9a"},{"line_number":10,"context_line":"Signed-off-by: melanie witt \u003cmelwittt@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"8a521b21_4cea69ea","line":8,"in_reply_to":"0946c68a_1cd545f2","updated":"2025-12-04 22:12:07.000000000","message":"Done","commit_id":"ff382524b6ccd4adbc03ff03003913f86e91bf2e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8cc05e07e083e7b2cd487b43975f2633ce3c7a92","unresolved":true,"context_lines":[{"line_number":30,"context_line":"``images_address_space_limit`` to the ``[libvirt]`` section to allow"},{"line_number":31,"context_line":"for tuning of the qemu-img process limits."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Related-Bug: #2116852"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Change-Id: I10e53de27b063b1e514e04066d0eb56a86188e9a"},{"line_number":36,"context_line":"Signed-off-by: melanie witt \u003cmelwittt@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"f95a7572_4f6dac78","line":33,"updated":"2025-12-05 08:37:56.000000000","message":"I would even go and make it Closes-Bug. I don\u0027t think we will dig deeper into that bug in the near future.","commit_id":"3ce826235ba7e69aed589ef791414bb72d9410ac"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"59d6787617cf33d9b72ced0d48c4bd3bbd183ca2","unresolved":false,"context_lines":[{"line_number":30,"context_line":"``images_address_space_limit`` to the ``[libvirt]`` section to allow"},{"line_number":31,"context_line":"for tuning of the qemu-img process limits."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Related-Bug: #2116852"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Change-Id: I10e53de27b063b1e514e04066d0eb56a86188e9a"},{"line_number":36,"context_line":"Signed-off-by: melanie witt \u003cmelwittt@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"34e62cd1_d46919a2","line":33,"in_reply_to":"f95a7572_4f6dac78","updated":"2025-12-05 18:39:40.000000000","message":"Fair point. Done.","commit_id":"3ce826235ba7e69aed589ef791414bb72d9410ac"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"509edc8abf98ae1f965ce72bdcd315516b86c84f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"924829e7_b9314a28","updated":"2025-12-04 12:53:51.000000000","message":"I\u0027m OK with the direction.","commit_id":"ff382524b6ccd4adbc03ff03003913f86e91bf2e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8f5ea451bcadaa0b169bc3adad5e222ccb885963","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"d076dffe_9bb7221a","updated":"2025-12-06 16:34:51.000000000","message":"Thanks","commit_id":"7f4343198c2aec73b10ad7c01ba0df87fe41f579"}],"nova/conf/libvirt.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"509edc8abf98ae1f965ce72bdcd315516b86c84f","unresolved":true,"context_lines":[{"line_number":1082,"context_line":"               default\u003d30,"},{"line_number":1083,"context_line":"               help\u003d\u0027CPU time limit in seconds for qemu-img\u0027),"},{"line_number":1084,"context_line":"    cfg.IntOpt(\u0027images_address_space_limit\u0027,"},{"line_number":1085,"context_line":"               default\u003d1,"},{"line_number":1086,"context_line":"               help\u003d\u0027Address space limit in gigabytes for qemu-img\u0027),"},{"line_number":1087,"context_line":"]"},{"line_number":1088,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5274c86d_7f5991eb","line":1085,"updated":"2025-12-04 12:53:51.000000000","message":"bump it to 2G as 1G is not enough when we run with new enough CEPH. Our ceph jobs was moved to Debian when we hit this limit with Ubuntu, so currently we don\u0027t see the problem upstream.","commit_id":"ff382524b6ccd4adbc03ff03003913f86e91bf2e"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"51c0caf47101818501fdd6b3840a41f720843a6b","unresolved":false,"context_lines":[{"line_number":1082,"context_line":"               default\u003d30,"},{"line_number":1083,"context_line":"               help\u003d\u0027CPU time limit in seconds for qemu-img\u0027),"},{"line_number":1084,"context_line":"    cfg.IntOpt(\u0027images_address_space_limit\u0027,"},{"line_number":1085,"context_line":"               default\u003d1,"},{"line_number":1086,"context_line":"               help\u003d\u0027Address space limit in gigabytes for qemu-img\u0027),"},{"line_number":1087,"context_line":"]"},{"line_number":1088,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"30d1e276_852d3d61","line":1085,"in_reply_to":"5274c86d_7f5991eb","updated":"2025-12-04 22:12:07.000000000","message":"Done","commit_id":"ff382524b6ccd4adbc03ff03003913f86e91bf2e"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"3cfc2c97d4f025908fd41279e1b2d77ef55a381a","unresolved":true,"context_lines":[{"line_number":1083,"context_line":"               help\u003d\u0027CPU time limit in seconds for qemu-img\u0027),"},{"line_number":1084,"context_line":"    cfg.IntOpt(\u0027images_address_space_limit\u0027,"},{"line_number":1085,"context_line":"               default\u003d1,"},{"line_number":1086,"context_line":"               help\u003d\u0027Address space limit in gigabytes for qemu-img\u0027),"},{"line_number":1087,"context_line":"]"},{"line_number":1088,"context_line":""},{"line_number":1089,"context_line":"libvirt_lvm_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":2,"id":"22af1636_659437e2","line":1086,"updated":"2025-12-04 00:43:02.000000000","message":"I just found gibi\u0027s test patches at https://review.opendev.org/q/topic:%22bug/2116852%22\n\nBased on the results there, should we maybe make these `FloatOpt` instead, to allow fractional GB?","commit_id":"ff382524b6ccd4adbc03ff03003913f86e91bf2e"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"59d6787617cf33d9b72ced0d48c4bd3bbd183ca2","unresolved":false,"context_lines":[{"line_number":1083,"context_line":"               help\u003d\u0027CPU time limit in seconds for qemu-img\u0027),"},{"line_number":1084,"context_line":"    cfg.IntOpt(\u0027images_address_space_limit\u0027,"},{"line_number":1085,"context_line":"               default\u003d1,"},{"line_number":1086,"context_line":"               help\u003d\u0027Address space limit in gigabytes for qemu-img\u0027),"},{"line_number":1087,"context_line":"]"},{"line_number":1088,"context_line":""},{"line_number":1089,"context_line":"libvirt_lvm_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":2,"id":"bda1d6b2_23f758de","line":1086,"in_reply_to":"0bfbdd23_6c5a880d","updated":"2025-12-05 18:39:40.000000000","message":"Acknowledged","commit_id":"ff382524b6ccd4adbc03ff03003913f86e91bf2e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8cc05e07e083e7b2cd487b43975f2633ce3c7a92","unresolved":true,"context_lines":[{"line_number":1083,"context_line":"               help\u003d\u0027CPU time limit in seconds for qemu-img\u0027),"},{"line_number":1084,"context_line":"    cfg.IntOpt(\u0027images_address_space_limit\u0027,"},{"line_number":1085,"context_line":"               default\u003d1,"},{"line_number":1086,"context_line":"               help\u003d\u0027Address space limit in gigabytes for qemu-img\u0027),"},{"line_number":1087,"context_line":"]"},{"line_number":1088,"context_line":""},{"line_number":1089,"context_line":"libvirt_lvm_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":2,"id":"0bfbdd23_6c5a880d","line":1086,"in_reply_to":"22af1636_659437e2","updated":"2025-12-05 08:37:56.000000000","message":"Just go with the IntOpt for simplicity","commit_id":"ff382524b6ccd4adbc03ff03003913f86e91bf2e"}],"nova/privsep/qemu.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"615a2dcc1debe0e499ca678083f6e665c3b8d8e0","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"QEMU_IMG_LIMITS \u003d processutils.ProcessLimits("},{"line_number":38,"context_line":"    cpu_time\u003dCONF.libvirt.images_cpu_time_limit,"},{"line_number":39,"context_line":"    address_space\u003dCONF.libvirt.images_address_space_limit * units.Gi)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"class EncryptionOptions(ty.TypedDict):"}],"source_content_type":"text/x-python","patch_set":5,"id":"e9275ecd_279c3138","line":39,"range":{"start_line":39,"start_character":4,"end_line":39,"end_character":17},"updated":"2026-07-08 20:27:55.000000000","message":"so this shoudl be resident_set_size\nhttps://github.com/openstack/oslo.concurrency/blob/master/oslo_concurrency/processutils.py#L162\n\nnot address_space\n\nwe saw in the past that the way qemu-img interacted with ceph rbd device cause it to map a lot of adress spcace but use very littel actull ram due to a change in the way they do stackless coroutines internally in librados","commit_id":"7f4343198c2aec73b10ad7c01ba0df87fe41f579"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1b463239940c9682bec19a44b19d346baa6c3ab5","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"QEMU_IMG_LIMITS \u003d processutils.ProcessLimits("},{"line_number":38,"context_line":"    cpu_time\u003dCONF.libvirt.images_cpu_time_limit,"},{"line_number":39,"context_line":"    address_space\u003dCONF.libvirt.images_address_space_limit * units.Gi)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"class EncryptionOptions(ty.TypedDict):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3021d0e3_fbc76be4","line":39,"range":{"start_line":39,"start_character":4,"end_line":39,"end_character":17},"in_reply_to":"178741f4_0b6764bc","updated":"2026-07-09 10:37:57.000000000","message":"we could support both but the reasonable value for adress_sapss is alot higher then RSS  1G of rss prevent patalogical memory usage but adress space can be 100G with no real impact until that is actully written two.\n\n\nas far as i recall the issue we hit was that the interenal executor usage in librados or librbd whichever qemu-img links change and use dmore adress space but dint really use over a GB of ram. im ok with defering RSS to a followup patch if we want to algin with cidner and ironic which make the adresss sapce configurable\n\nbut i woudl prefer to have only one limit, preferable on RSS as i dont want to have to expalin how to tune adressspace vs rss to operators or customers :)","commit_id":"7f4343198c2aec73b10ad7c01ba0df87fe41f579"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"338b208be3a23fa54d75c358b9ba348d5d97a171","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"QEMU_IMG_LIMITS \u003d processutils.ProcessLimits("},{"line_number":38,"context_line":"    cpu_time\u003dCONF.libvirt.images_cpu_time_limit,"},{"line_number":39,"context_line":"    address_space\u003dCONF.libvirt.images_address_space_limit * units.Gi)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"class EncryptionOptions(ty.TypedDict):"}],"source_content_type":"text/x-python","patch_set":5,"id":"cb1d90f2_ebe877d4","line":39,"range":{"start_line":39,"start_character":4,"end_line":39,"end_character":17},"in_reply_to":"3021d0e3_fbc76be4","updated":"2026-07-09 16:07:12.000000000","message":"so cidner and ironic currenly have the adress space as configureable\nso instead of figureing this out now lets proceed with the know workign soluciton and we can revisit if this is not enough.","commit_id":"7f4343198c2aec73b10ad7c01ba0df87fe41f579"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"d728eb2385f64cf181e5bd78245a745954434214","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"QEMU_IMG_LIMITS \u003d processutils.ProcessLimits("},{"line_number":38,"context_line":"    cpu_time\u003dCONF.libvirt.images_cpu_time_limit,"},{"line_number":39,"context_line":"    address_space\u003dCONF.libvirt.images_address_space_limit * units.Gi)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"class EncryptionOptions(ty.TypedDict):"}],"source_content_type":"text/x-python","patch_set":5,"id":"e5a9692c_ad8b6a94","line":39,"range":{"start_line":39,"start_character":4,"end_line":39,"end_character":17},"in_reply_to":"90aaa03d_0a80dd8f","updated":"2026-07-22 18:00:19.000000000","message":"\u003e So I\u0027m not sure what could be the differences between what they experienced in Cinder.\n\nIt\u0027s most likely related to how Cinder spawns child processes for multi-backend, and the implications that has for consuming CONF options at import time.  This should be fine for Nova.","commit_id":"7f4343198c2aec73b10ad7c01ba0df87fe41f579"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9cd721748777823912d6330e9aeef5adc8d263bd","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"QEMU_IMG_LIMITS \u003d processutils.ProcessLimits("},{"line_number":38,"context_line":"    cpu_time\u003dCONF.libvirt.images_cpu_time_limit,"},{"line_number":39,"context_line":"    address_space\u003dCONF.libvirt.images_address_space_limit * units.Gi)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"class EncryptionOptions(ty.TypedDict):"}],"source_content_type":"text/x-python","patch_set":5,"id":"90aaa03d_0a80dd8f","line":39,"range":{"start_line":39,"start_character":4,"end_line":39,"end_character":17},"in_reply_to":"bba325ba_bf477ab9","updated":"2026-07-22 17:06:30.000000000","message":"Thanks for raising this ... when we tested we saw the CONF values getting picked up, for example in the stable/2025.1 backport (note that there we set the default to 1G and configured 2G in the .zuul.yaml) [1][2]:\n\n```\nJul 15 18:33:43.406797 np2cf21dfd08434 nova-compute[91839]: DEBUG oslo_service.backend.eventlet.service [None req-6fc6971a-0c81-45b8-baf1-4bcddfc474af None None] libvirt.images_address_space_limit \u003d 2 {{(pid\u003d91839) log_opt_values /opt/stack/data/venv/lib/python3.12/site-packages/oslo_config/cfg.py:2824}}\nJul 15 18:33:43.406953 np2cf21dfd08434 nova-compute[91839]: DEBUG oslo_service.backend.eventlet.service [None req-6fc6971a-0c81-45b8-baf1-4bcddfc474af None None] libvirt.images_cpu_time_limit  \u003d 30 {{(pid\u003d91839) log_opt_values /opt/stack/data/venv/lib/python3.12/site-packages/oslo_config/cfg.py:2824}}\n\n```\n\nSo I\u0027m not sure what could be the differences between what they experienced in Cinder.\n\nAlso this is where I have seen process limits config in Ironic [3]:\n\n```\n    cfg.IntOpt(\u0027image_convert_memory_limit\u0027,\n               default\u003d2048,\n               help\u003d\u0027Memory limit for \"qemu-img convert\" in MiB. Implemented \u0027\n\n```\n\n[1] https://review.opendev.org/c/openstack/nova/+/997029\n[2] https://zuul.opendev.org/t/openstack/build/069f4ed097994658a94377a263704c41/log/controller/logs/screen-n-cpu.txt#510-511\n[3] https://github.com/openstack/ironic/blob/f82e8e157dc4304e80862ec2011f264b7da79012/ironic/conf/disk_utils.py#L22-L25\n[4] https://github.com/openstack/ironic/blob/f82e8e157dc4304e80862ec2011f264b7da79012/ironic/common/qemu_img.py#L35","commit_id":"7f4343198c2aec73b10ad7c01ba0df87fe41f579"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"0ba8da43b547e74a9c3ab7ca566902daa91b05fc","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"QEMU_IMG_LIMITS \u003d processutils.ProcessLimits("},{"line_number":38,"context_line":"    cpu_time\u003dCONF.libvirt.images_cpu_time_limit,"},{"line_number":39,"context_line":"    address_space\u003dCONF.libvirt.images_address_space_limit * units.Gi)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"class EncryptionOptions(ty.TypedDict):"}],"source_content_type":"text/x-python","patch_set":5,"id":"cb2b89c5_16ae1473","line":39,"range":{"start_line":39,"start_character":4,"end_line":39,"end_character":17},"in_reply_to":"cb1d90f2_ebe877d4","updated":"2026-07-22 11:50:04.000000000","message":"btw, cinder one only looks like configurable https://review.opendev.org/c/openstack/cinder/+/873249","commit_id":"7f4343198c2aec73b10ad7c01ba0df87fe41f579"},{"author":{"_account_id":9542,"name":"Pavlo Shchelokovskyy","email":"pshchelokovskyy@mirantis.com","username":"pshchelo"},"change_message_id":"5e9a9e8973565d4b6ab0cd0f29f45cfcda1ec54b","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"QEMU_IMG_LIMITS \u003d processutils.ProcessLimits("},{"line_number":38,"context_line":"    cpu_time\u003dCONF.libvirt.images_cpu_time_limit,"},{"line_number":39,"context_line":"    address_space\u003dCONF.libvirt.images_address_space_limit * units.Gi)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"class EncryptionOptions(ty.TypedDict):"}],"source_content_type":"text/x-python","patch_set":5,"id":"bba325ba_bf477ab9","line":39,"range":{"start_line":39,"start_character":4,"end_line":39,"end_character":17},"in_reply_to":"cb2b89c5_16ae1473","updated":"2026-07-22 15:46:43.000000000","message":"and now I somehow wonder if we will have the same problem here - that CONF may not have been 100% parsed an the time QEMU_IMG_LIMITS is instantiated, and it will always instantiate with default values, regardless if some other value written in config file...\nI\u0027ll try to not forget to test this somehow soon...","commit_id":"7f4343198c2aec73b10ad7c01ba0df87fe41f579"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"368437fc0b7f5a9e3704a908c3a9d6b9752f0981","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"QEMU_IMG_LIMITS \u003d processutils.ProcessLimits("},{"line_number":38,"context_line":"    cpu_time\u003dCONF.libvirt.images_cpu_time_limit,"},{"line_number":39,"context_line":"    address_space\u003dCONF.libvirt.images_address_space_limit * units.Gi)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"class EncryptionOptions(ty.TypedDict):"}],"source_content_type":"text/x-python","patch_set":5,"id":"887035d4_a5ef736b","line":39,"range":{"start_line":39,"start_character":4,"end_line":39,"end_character":17},"in_reply_to":"e5a9692c_ad8b6a94","updated":"2026-07-23 00:08:28.000000000","message":"Oh, that\u0027s interesting -- thanks for the insight.","commit_id":"7f4343198c2aec73b10ad7c01ba0df87fe41f579"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1ab095c3db94dbcbe2d7b4ca75d983ab3828976f","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"QEMU_IMG_LIMITS \u003d processutils.ProcessLimits("},{"line_number":38,"context_line":"    cpu_time\u003dCONF.libvirt.images_cpu_time_limit,"},{"line_number":39,"context_line":"    address_space\u003dCONF.libvirt.images_address_space_limit * units.Gi)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"class EncryptionOptions(ty.TypedDict):"}],"source_content_type":"text/x-python","patch_set":5,"id":"178741f4_0b6764bc","line":39,"range":{"start_line":39,"start_character":4,"end_line":39,"end_character":17},"in_reply_to":"e9275ecd_279c3138","updated":"2026-07-09 09:29:10.000000000","message":"why not both? :)","commit_id":"7f4343198c2aec73b10ad7c01ba0df87fe41f579"}]}
