)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"6e40889cf7e9ea69d3876d0655a447411e0f1c9e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"96d5fe6a_09bad422","updated":"2026-09-03 12:20:24.000000000","message":"technical -2 because we are currently in reqs freeze before the release.\n\nalso please answer the questions from https://docs.openstack.org/project-team-guide/dependency-management.html#for-new-requirements in the commit message, see some recent additions for examples","commit_id":"9a0293268cc358035ebfc8d1f0f50f477d6c95da"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"411ee29caa503b71fee3de99cd8965b92d5715cc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e35a0fc5_86cd20d3","updated":"2026-08-26 15:56:32.000000000","message":"turns out zigo has us covered already!?   is that helping!?\n\nhttps://packages.debian.org/search?keywords\u003dpython3-anycrc","commit_id":"9a0293268cc358035ebfc8d1f0f50f477d6c95da"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"e5305a54eb2174f8a1c3b570e062702d756df23d","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"1ea1d443_2199c719","updated":"2026-10-02 10:36:01.000000000","message":"I did not find actual requirements changes in the referenced swift changes, have those been moved somewhere else? also, if this is just a fallback library, would it be an option to just add it in an extra section in requirements? we just implemented not tracking those in global requirements any longer, see https://review.opendev.org/c/openstack/requirements/+/996441","commit_id":"7c1bc107d6fd162677b642135254bfc584ce8a01"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"40809ff5c5fc17d397dd60e405f43382c16d309c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"235b148b_6e238e8c","updated":"2026-10-07 06:09:06.000000000","message":"I think we\u0027re ok to go ahead with this in general, but we need to resolve the version question","commit_id":"7c1bc107d6fd162677b642135254bfc584ce8a01"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"c89bb0bd2c529efdb9df3bb522b38d3609a5f288","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b92f225e_2ddeddf5","updated":"2026-10-06 14:18:49.000000000","message":"would it be helpful to have a related swift change that adds this as a *required* dependency waiting in the wings and failing the global requirements check hanging off this diff?","commit_id":"7c1bc107d6fd162677b642135254bfc584ce8a01"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"c89bb0bd2c529efdb9df3bb522b38d3609a5f288","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"7e666eb4_bbc8ba0d","in_reply_to":"1ea1d443_2199c719","updated":"2026-10-06 14:18:49.000000000","message":"the intention is to make it required once it\u0027s added to global requirements - I think it was a mistake to try and add it as an \"optional\" requirement - there\u0027s some s3 compatibility that we cannot add w/o a library for doing efficient checksum combinations.\n\nIt also paves the way to adding better multipart-object checksumming support to the  swift API natively.","commit_id":"7c1bc107d6fd162677b642135254bfc584ce8a01"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"f72ec0f6469dcb8efbd637474b328f72bd9e6fc0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"406e2bdf_14139f1e","in_reply_to":"7e666eb4_bbc8ba0d","updated":"2026-10-12 08:00:20.000000000","message":"Acknowledged","commit_id":"7c1bc107d6fd162677b642135254bfc584ce8a01"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"293d184b45b361874912fc48f64845d9f4e921c1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"01c8fe86_75f35227","updated":"2026-10-12 22:45:24.000000000","message":"I\u0027d definitely appreciate not needing to implement CRC combine function in Python -- preliminary benchmarking of that tells me we\u0027d need to throw in some cooperative yields to make sure we don\u0027t get a single client request hogging the eventlet hub and chewing up 100% CPU for tens of seconds. `anycrc` is fast enough for that to not be an issue.","commit_id":"f8b074c18f570bbf7858b4fb0128291791e1761a"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"9dd92000d75adb2bb451f60f57a02df81a86b6dd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"edb11c97_a5678c34","updated":"2026-10-13 14:09:52.000000000","message":"looking forward to being able to depend on anycrc properly","commit_id":"f8b074c18f570bbf7858b4fb0128291791e1761a"}],"upper-constraints.txt":[{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"8b3ae5ead018ccf202788855c4be33f41bd2de38","unresolved":true,"context_lines":[{"line_number":6,"context_line":"# *STRONGLY* encouraged to rely on curated distributions of OpenStack"},{"line_number":7,"context_line":"# or manage security patching of dependencies themselves."},{"line_number":8,"context_line":"voluptuous\u003d\u003d\u003d0.16.0"},{"line_number":9,"context_line":"anycrc\u003d\u003d\u003d2.0.0"},{"line_number":10,"context_line":"bitarray\u003d\u003d\u003d3.8.0"},{"line_number":11,"context_line":"chardet\u003d\u003d\u003d6.0.0.post1"},{"line_number":12,"context_line":"enum-compat\u003d\u003d\u003d0.0.3"}],"source_content_type":"text/plain","patch_set":1,"id":"dbf3b407_978d2631","line":9,"updated":"2026-09-02 21:39:17.000000000","message":"FWIW, we have ``anycrc 1.3.3`` installed for checksum release.","commit_id":"9a0293268cc358035ebfc8d1f0f50f477d6c95da"},{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"51a7dc670c557b84148c87487e0e3bc4299972e1","unresolved":false,"context_lines":[{"line_number":6,"context_line":"# *STRONGLY* encouraged to rely on curated distributions of OpenStack"},{"line_number":7,"context_line":"# or manage security patching of dependencies themselves."},{"line_number":8,"context_line":"voluptuous\u003d\u003d\u003d0.16.0"},{"line_number":9,"context_line":"anycrc\u003d\u003d\u003d2.0.0"},{"line_number":10,"context_line":"bitarray\u003d\u003d\u003d3.8.0"},{"line_number":11,"context_line":"chardet\u003d\u003d\u003d6.0.0.post1"},{"line_number":12,"context_line":"enum-compat\u003d\u003d\u003d0.0.3"}],"source_content_type":"text/plain","patch_set":1,"id":"cb36831d_4f4f030e","line":9,"in_reply_to":"dbf3b407_978d2631","updated":"2026-09-13 18:33:24.000000000","message":"``Anycrc 1.3.3`` supports Python 3.7, which remains in Swift’s declared Python range, but ``Anycrc 2.0.0`` requires Python 3.8 or later.\n\nand ``Anycrc 1.3.3`` doesn\u0027t need ``bitarray\u003d\u003d\u003d3.8.0``.","commit_id":"9a0293268cc358035ebfc8d1f0f50f477d6c95da"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"40809ff5c5fc17d397dd60e405f43382c16d309c","unresolved":true,"context_lines":[{"line_number":6,"context_line":"# *STRONGLY* encouraged to rely on curated distributions of OpenStack"},{"line_number":7,"context_line":"# or manage security patching of dependencies themselves."},{"line_number":8,"context_line":"voluptuous\u003d\u003d\u003d0.16.0"},{"line_number":9,"context_line":"anycrc\u003d\u003d\u003d1.3.3"},{"line_number":10,"context_line":"chardet\u003d\u003d\u003d6.0.0.post1"},{"line_number":11,"context_line":"enum-compat\u003d\u003d\u003d0.0.3"},{"line_number":12,"context_line":"netmiko\u003d\u003d\u003d4.7.0"}],"source_content_type":"text/plain","patch_set":3,"id":"e68685ef_5e5cbf07","line":9,"updated":"2026-10-07 06:09:06.000000000","message":"what is the reason for not using the latest version? if we merge this, the automated update process will bump this to 2.0.0 anyway, so we can as well start with that right away. I see you had that in PS1, but I don\u0027t completely understand why it was changed and upper-constraints doesn\u0027t work that way","commit_id":"7c1bc107d6fd162677b642135254bfc584ce8a01"},{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"13142f334a83fdc37666cb046dfe81973ccd3b28","unresolved":true,"context_lines":[{"line_number":6,"context_line":"# *STRONGLY* encouraged to rely on curated distributions of OpenStack"},{"line_number":7,"context_line":"# or manage security patching of dependencies themselves."},{"line_number":8,"context_line":"voluptuous\u003d\u003d\u003d0.16.0"},{"line_number":9,"context_line":"anycrc\u003d\u003d\u003d1.3.3"},{"line_number":10,"context_line":"chardet\u003d\u003d\u003d6.0.0.post1"},{"line_number":11,"context_line":"enum-compat\u003d\u003d\u003d0.0.3"},{"line_number":12,"context_line":"netmiko\u003d\u003d\u003d4.7.0"}],"source_content_type":"text/plain","patch_set":3,"id":"726d55e2_3cde95c2","line":9,"in_reply_to":"07d9d2b6_875d7a0f","updated":"2026-10-09 22:26:18.000000000","message":"as @tburke@nvidia.com and @clay.gerrard@gmail.com pointed out, swift zuul testing is already setup to use ``constraints/upper/yoga``, so we are all good; updated the patch to use ``anycrc 2.0.0``","commit_id":"7c1bc107d6fd162677b642135254bfc584ce8a01"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"f72ec0f6469dcb8efbd637474b328f72bd9e6fc0","unresolved":false,"context_lines":[{"line_number":6,"context_line":"# *STRONGLY* encouraged to rely on curated distributions of OpenStack"},{"line_number":7,"context_line":"# or manage security patching of dependencies themselves."},{"line_number":8,"context_line":"voluptuous\u003d\u003d\u003d0.16.0"},{"line_number":9,"context_line":"anycrc\u003d\u003d\u003d1.3.3"},{"line_number":10,"context_line":"chardet\u003d\u003d\u003d6.0.0.post1"},{"line_number":11,"context_line":"enum-compat\u003d\u003d\u003d0.0.3"},{"line_number":12,"context_line":"netmiko\u003d\u003d\u003d4.7.0"}],"source_content_type":"text/plain","patch_set":3,"id":"0786cea7_2130046b","line":9,"in_reply_to":"726d55e2_3cde95c2","updated":"2026-10-12 08:00:20.000000000","message":"Acknowledged","commit_id":"7c1bc107d6fd162677b642135254bfc584ce8a01"},{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"9266b5be7de12c5f163604b019edef796c5489c2","unresolved":true,"context_lines":[{"line_number":6,"context_line":"# *STRONGLY* encouraged to rely on curated distributions of OpenStack"},{"line_number":7,"context_line":"# or manage security patching of dependencies themselves."},{"line_number":8,"context_line":"voluptuous\u003d\u003d\u003d0.16.0"},{"line_number":9,"context_line":"anycrc\u003d\u003d\u003d1.3.3"},{"line_number":10,"context_line":"chardet\u003d\u003d\u003d6.0.0.post1"},{"line_number":11,"context_line":"enum-compat\u003d\u003d\u003d0.0.3"},{"line_number":12,"context_line":"netmiko\u003d\u003d\u003d4.7.0"}],"source_content_type":"text/plain","patch_set":3,"id":"f731fce9_f3221888","line":9,"in_reply_to":"e68685ef_5e5cbf07","updated":"2026-10-08 02:32:42.000000000","message":"It was mainly because anycrc 2.0.0 requires that ``Python \u003e\u003d3.8``, see https://pypi.org/project/anycrc/. while swift still supports python 3.7, e.g. there is ``swift-tox-py37`` run in the zuul pipeline.\n\n\u003e if we merge this, the automated update process will bump this to 2.0.0 anyway\n\nis there any other way swift can specify a lower version anycrc?","commit_id":"7c1bc107d6fd162677b642135254bfc584ce8a01"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"646689e044541277f8d8c3770b053b54fd3e51b4","unresolved":true,"context_lines":[{"line_number":6,"context_line":"# *STRONGLY* encouraged to rely on curated distributions of OpenStack"},{"line_number":7,"context_line":"# or manage security patching of dependencies themselves."},{"line_number":8,"context_line":"voluptuous\u003d\u003d\u003d0.16.0"},{"line_number":9,"context_line":"anycrc\u003d\u003d\u003d1.3.3"},{"line_number":10,"context_line":"chardet\u003d\u003d\u003d6.0.0.post1"},{"line_number":11,"context_line":"enum-compat\u003d\u003d\u003d0.0.3"},{"line_number":12,"context_line":"netmiko\u003d\u003d\u003d4.7.0"}],"source_content_type":"text/plain","patch_set":3,"id":"07d9d2b6_875d7a0f","line":9,"in_reply_to":"f731fce9_f3221888","updated":"2026-10-08 06:43:47.000000000","message":"Well this repo is only meant to track versions for Python 3.11 or newer, I\u0027m surprised that it is still working even for 3.8. Anyway I don\u0027t think we can cater for this special setup at the global OpenStack level, so likely swift will either have to drop support for 3.7 or build some overrides into the testing just for that special case.","commit_id":"7c1bc107d6fd162677b642135254bfc584ce8a01"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"9dd92000d75adb2bb451f60f57a02df81a86b6dd","unresolved":true,"context_lines":[{"line_number":7,"context_line":"# or manage security patching of dependencies themselves."},{"line_number":8,"context_line":"voluptuous\u003d\u003d\u003d0.16.0"},{"line_number":9,"context_line":"anycrc\u003d\u003d\u003d2.0.0"},{"line_number":10,"context_line":"bitarray\u003d\u003d\u003d3.8.0"},{"line_number":11,"context_line":"chardet\u003d\u003d\u003d6.0.0.post1"},{"line_number":12,"context_line":"enum-compat\u003d\u003d\u003d0.0.3"},{"line_number":13,"context_line":"netmiko\u003d\u003d\u003d4.7.0"}],"source_content_type":"text/plain","patch_set":4,"id":"b49b52e4_4d70c852","line":10,"updated":"2026-10-13 14:09:52.000000000","message":"It\u0027s my understanding that WE don\u0027t depend on bitarray - this is a *transative* dependency for anycrc; and it may go away in the next release:\n\nhttps://github.com/marzooqy/anycrc/pull/22\n\nHowever, since anycrc does *currently* depend on bitarray I think this project\u0027s guidelines make it clear that `upper-constraints.txt` is:\n\n\u003e “a compiled list of the exact versions, including transitive dependencies”\n\n... so I think this change is correct.","commit_id":"f8b074c18f570bbf7858b4fb0128291791e1761a"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"43fdcaceb7c7a3e33c86f93f799f7537e21557e3","unresolved":false,"context_lines":[{"line_number":7,"context_line":"# or manage security patching of dependencies themselves."},{"line_number":8,"context_line":"voluptuous\u003d\u003d\u003d0.16.0"},{"line_number":9,"context_line":"anycrc\u003d\u003d\u003d2.0.0"},{"line_number":10,"context_line":"bitarray\u003d\u003d\u003d3.8.0"},{"line_number":11,"context_line":"chardet\u003d\u003d\u003d6.0.0.post1"},{"line_number":12,"context_line":"enum-compat\u003d\u003d\u003d0.0.3"},{"line_number":13,"context_line":"netmiko\u003d\u003d\u003d4.7.0"}],"source_content_type":"text/plain","patch_set":4,"id":"9ed20ce4_adac87d5","line":10,"in_reply_to":"b49b52e4_4d70c852","updated":"2026-10-13 14:47:36.000000000","message":"yes, this is correct. the automated updates will also update the transitive dependencies if needed or drop them if they are no longer required","commit_id":"f8b074c18f570bbf7858b4fb0128291791e1761a"}]}
