)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"739421e4bcc8e774fc1b70ac5bb0f8a672a1a314","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     ashnair \u003cashnair@nvidia.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-09-04 20:28:18 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"manage py36 constraints for swift"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I58fa780460f7ac84a02d508fd95770bada991326"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"d6f374c2_317adb82","line":7,"updated":"2024-09-05 16:07:07.000000000","message":"there\u0027s no WHY here?","commit_id":"bbd23f0010b821dbbf29a30085c5e7bc76d48f40"},{"author":{"_account_id":34892,"name":"ASHWIN A NAIR","display_name":"indianwhocodes","email":"nairashwin952013@gmail.com","username":"indianwhocodes","status":"Nvidia"},"change_message_id":"ff2b845af22d4ddacb6eeeed0f4ac3a44de7ee65","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     ashnair \u003cashnair@nvidia.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-09-04 20:28:18 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"manage py36 constraints for swift"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I58fa780460f7ac84a02d508fd95770bada991326"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"0a836073_e637ac64","line":7,"in_reply_to":"d6f374c2_317adb82","updated":"2024-09-05 22:37:28.000000000","message":"Done","commit_id":"bbd23f0010b821dbbf29a30085c5e7bc76d48f40"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"4ecc5c8ebc85facfab8c2455af4ecb50f2aba17e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"7ae4ffe5_810afbb0","updated":"2024-09-05 18:31:11.000000000","message":"That\u0027s a good bit of up-revs! How\u0027d you arrive at them? We might want to update the comment at the top of the file.\n\nFWIW, I\u0027m guessing something like\n\n- Get a fresh, empty py36 venv\n- `pip install --upgrade pip` (so we\u0027re able to install more binary wheels)\n- `pip install -r requirements.txt -r test-requirements.txt -r doc/requirements.txt`\n- `pip freeze \u003e py36-constraints.txt`\n\nbut that actually gave me slightly different results: https://paste.opendev.org/show/bvBUVxlAHgitJBgZPVY8/","commit_id":"bbd23f0010b821dbbf29a30085c5e7bc76d48f40"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"739421e4bcc8e774fc1b70ac5bb0f8a672a1a314","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f8d6c798_99aee6fc","updated":"2024-09-05 16:07:07.000000000","message":"why are you making this change?  Can we NOT make this change?  How would someone validate this change is \"correct\" and/or \"necessary\" and/or \"helpful\"???","commit_id":"bbd23f0010b821dbbf29a30085c5e7bc76d48f40"},{"author":{"_account_id":34892,"name":"ASHWIN A NAIR","display_name":"indianwhocodes","email":"nairashwin952013@gmail.com","username":"indianwhocodes","status":"Nvidia"},"change_message_id":"f718fea9a9954fcb1aeaef91f96f953e6489da37","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"0ac3ef46_3fab880c","in_reply_to":"0143f015_121e3e07","updated":"2024-09-18 15:15:02.000000000","message":"Done","commit_id":"bbd23f0010b821dbbf29a30085c5e7bc76d48f40"},{"author":{"_account_id":34892,"name":"ASHWIN A NAIR","display_name":"indianwhocodes","email":"nairashwin952013@gmail.com","username":"indianwhocodes","status":"Nvidia"},"change_message_id":"28e973af7696da5eaa3644ecce1c8a8c111f3fd2","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"ea9c9b81_4fbbd36f","in_reply_to":"424a0f8f_d225edd9","updated":"2024-09-05 22:36:59.000000000","message":"I have updated the commit message for this change so the intent of this patch is clarified. Thanks Tim for the tips and Clay for your review feedback.","commit_id":"bbd23f0010b821dbbf29a30085c5e7bc76d48f40"},{"author":{"_account_id":34892,"name":"ASHWIN A NAIR","display_name":"indianwhocodes","email":"nairashwin952013@gmail.com","username":"indianwhocodes","status":"Nvidia"},"change_message_id":"28e973af7696da5eaa3644ecce1c8a8c111f3fd2","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"98cedce5_5a43fcdf","in_reply_to":"7ae4ffe5_810afbb0","updated":"2024-09-05 22:36:59.000000000","message":"Yes that\u0027s what i had started with but as you saw from the initial revision that Zuul wasn\u0027t too happy with the requirements since there were some versions that were constraining others resulting in dependency errors, ref: https://review.opendev.org/c/openstack/swift/+/927883/1..5/py36-constraints.txt\n\nBut I see some new changes in that file that might be worth incorporating!","commit_id":"bbd23f0010b821dbbf29a30085c5e7bc76d48f40"},{"author":{"_account_id":34892,"name":"ASHWIN A NAIR","display_name":"indianwhocodes","email":"nairashwin952013@gmail.com","username":"indianwhocodes","status":"Nvidia"},"change_message_id":"741aae2be0983e00dd0077466823c6ae2fc83f67","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"0143f015_121e3e07","in_reply_to":"98cedce5_5a43fcdf","updated":"2024-09-09 16:08:07.000000000","message":"I arrived at these changes by browsing pypi repositories for every python package that we had in our py36-requirements file ,after that I went for last release that is py36 compatible. I had to downrev some of the packages from patchset #1 (ref: https://review.opendev.org/c/openstack/swift/+/927883/1..6/py36-constraints.txt), after that considering there were some dependency constraints(ref: https://zuul.opendev.org/t/openstack/build/fe4b338ab7e547299fee0162491e72d9) wrt some packages, then i just went for the suggestions (ones resulting in uprev and no downgrades) that pip\u0027s package manager suggested.","commit_id":"bbd23f0010b821dbbf29a30085c5e7bc76d48f40"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"0a431a044f26844353f30191c5d84cf66f75b509","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"8e33f942_c4a05a52","in_reply_to":"bb2b425e_3fd736dd","updated":"2024-09-19 15:18:04.000000000","message":"\u003e Presumably because we want to test with what operators might actually be running.\n\nso rather than \"latest\" versions of dependencies it would probably be closer to whatever system package version came with an os that\u0027s old enough to still be running python3.6.8 - like rocky8\n\n\u003e for any py36 or py37 jobs (as well as some others, I discovered!) we have to manage them ourselves\n\nI didn\u0027t understand how this was related specificially to some of our own gate jobs that we manage - these are jobs we wanted and added and we can have them test anything we want.\n\n\u003e what do you mean by \"correct\"?\n\nit sounds like \"correct\" would mean just that our py36 jobs test what we want them too.  I don\u0027t have strong feelings about what the upstream gate jobs should be testing with py36 because I don\u0027t have a deployment target that runs py3.6\n\nbut FWIW something seems fishy about \"latest version from pypi still claiming to support py3.6\" being the MOST correct answer... but since py3.6 went EOL a few years ago (2021-12-23) we might not ANY one that cares what these jobs are and we should consider dropping them.","commit_id":"bbd23f0010b821dbbf29a30085c5e7bc76d48f40"},{"author":{"_account_id":34892,"name":"ASHWIN A NAIR","display_name":"indianwhocodes","email":"nairashwin952013@gmail.com","username":"indianwhocodes","status":"Nvidia"},"change_message_id":"f718fea9a9954fcb1aeaef91f96f953e6489da37","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"bb2b425e_3fd736dd","in_reply_to":"ea9c9b81_4fbbd36f","updated":"2024-09-18 15:15:02.000000000","message":"Done","commit_id":"bbd23f0010b821dbbf29a30085c5e7bc76d48f40"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"c23dc2db98a1c506497286189b2bc2de3de0f8d6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"424a0f8f_d225edd9","in_reply_to":"f8d6c798_99aee6fc","updated":"2024-09-05 21:04:16.000000000","message":"\u003e why are you making this change?\n\nPresumably because we want to test with what operators might actually be running.\n\n\u003e Can we NOT make this change?\n\nI mean, if you *don\u0027t* want to be testing with up-to-date requirements...\n\nFWIW, we get to rely on OpenStack\u0027s [upper-constraints](https://github.com/openstack/requirements/blob/master/upper-constraints.txt) for keeping requirements up-to-date for most of our jobs in the gate, but for any py36 or py37 jobs (as well as some others, I discovered!) we have to manage them ourselves, and I\u0027ve been horribly remiss in updating them.\n\n\u003e How would someone validate this change is \"correct\" and/or \"necessary\" and/or \"helpful\"???\n\nGates still pass, which goes a long way toward building some confidence. But what do you mean by \"correct\"?","commit_id":"bbd23f0010b821dbbf29a30085c5e7bc76d48f40"},{"author":{"_account_id":34892,"name":"ASHWIN A NAIR","display_name":"indianwhocodes","email":"nairashwin952013@gmail.com","username":"indianwhocodes","status":"Nvidia"},"change_message_id":"d53d9a5fd38f9b879c6294c22054ef44398d6f3c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"71b242f2_e19214af","updated":"2024-09-17 14:36:37.000000000","message":"recheck","commit_id":"fe1d1cd34994ee19cbe3fe8d77da2426ac79bc77"},{"author":{"_account_id":34892,"name":"ASHWIN A NAIR","display_name":"indianwhocodes","email":"nairashwin952013@gmail.com","username":"indianwhocodes","status":"Nvidia"},"change_message_id":"f718fea9a9954fcb1aeaef91f96f953e6489da37","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"c36096cf_081e18d1","updated":"2024-09-18 15:15:02.000000000","message":"recheck","commit_id":"fe1d1cd34994ee19cbe3fe8d77da2426ac79bc77"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"0023f98a0ca427a23cc4022a741c3df84147057e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"2359a221_86745b0c","updated":"2024-09-19 03:24:19.000000000","message":"All up-revs, gate still passes (once the DSVM jobs are fixed, which they should be).","commit_id":"e3e43ae2a696a2c40c590ab42608ccdd0b5ca13d"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"0a431a044f26844353f30191c5d84cf66f75b509","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"93260593_05e17fd0","updated":"2024-09-19 15:18:04.000000000","message":"this ends up being a really eclectic set of versions smeared over YEARS of releases ranging from \"very very recent\" to \"a few years old\"\n\nsince py36 is deprecated and AFAIK no one is running on it I assume all these jobs will go away very soon anyway - so it doesn\u0027t really matter what dependencies we\u0027re testing with.  I think I could make an argument that \"whatever version ships with some popular distro that uses this version of python\" would actually do the most good for us to *maintain* support for older dependencies.  But I\u0027m sure in some cases there\u0027s reasons keep our minor version bumps up-to-date.","commit_id":"e3e43ae2a696a2c40c590ab42608ccdd0b5ca13d"}],"py36-constraints.txt":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"0a431a044f26844353f30191c5d84cf66f75b509","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# taken from last passing py36 gate job prior to requirements constraining"},{"line_number":2,"context_line":"# oslo-log to a version that dropped py36 support, 2022-05-19"},{"line_number":3,"context_line":"attrs\u003d\u003d22.2.0"},{"line_number":4,"context_line":"autopage\u003d\u003d0.5.2"},{"line_number":5,"context_line":"bandit\u003d\u003d1.7.1"},{"line_number":6,"context_line":"boto\u003d\u003d2.49.0"}],"source_content_type":"text/plain","patch_set":8,"id":"ea041c9e_1f350bfc","line":3,"updated":"2024-09-19 15:18:04.000000000","message":"we package 17.4.0 w/ 3.7 - i don\u0027t see a version of python-attrs available with py3.6","commit_id":"e3e43ae2a696a2c40c590ab42608ccdd0b5ca13d"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"0a431a044f26844353f30191c5d84cf66f75b509","unresolved":true,"context_lines":[{"line_number":4,"context_line":"autopage\u003d\u003d0.5.2"},{"line_number":5,"context_line":"bandit\u003d\u003d1.7.1"},{"line_number":6,"context_line":"boto\u003d\u003d2.49.0"},{"line_number":7,"context_line":"boto3\u003d\u003d1.23.10"},{"line_number":8,"context_line":"botocore\u003d\u003d1.26.10"},{"line_number":9,"context_line":"certifi\u003d\u003d2024.8.30"},{"line_number":10,"context_line":"cffi\u003d\u003d1.15.1"}],"source_content_type":"text/plain","patch_set":8,"id":"8aaff6b1_21644b67","line":7,"updated":"2024-09-19 15:18:04.000000000","message":"cent7 ships with py3.6.8 and packages boto3 1.4.6\n\nThe lowest version we deploy on is 3.7 (currently) and we also ship 1.4.6 which was released 8/11/17\n\nversion 1.23.10 was released 5/27/22.  The notice on 1.24.0 from 5/31/22 suggests they dropped py3.6 support because it was already EOL from 2021-12-23\n\nhttps://pypi.org/project/boto3/1.24.0/","commit_id":"e3e43ae2a696a2c40c590ab42608ccdd0b5ca13d"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"0a431a044f26844353f30191c5d84cf66f75b509","unresolved":true,"context_lines":[{"line_number":6,"context_line":"boto\u003d\u003d2.49.0"},{"line_number":7,"context_line":"boto3\u003d\u003d1.23.10"},{"line_number":8,"context_line":"botocore\u003d\u003d1.26.10"},{"line_number":9,"context_line":"certifi\u003d\u003d2024.8.30"},{"line_number":10,"context_line":"cffi\u003d\u003d1.15.1"},{"line_number":11,"context_line":"charset-normalizer\u003d\u003d2.0.12"},{"line_number":12,"context_line":"cliff\u003d\u003d3.10.1"}],"source_content_type":"text/plain","patch_set":8,"id":"6f658329_8aa16e3b","line":9,"updated":"2024-09-19 15:18:04.000000000","message":"interestingly we package 2023.7.22 for our py3.7 deployments; I don\u0027t see a python-certifi available from system/epel packages on cent7 (which is a py3.6.8 platform)","commit_id":"e3e43ae2a696a2c40c590ab42608ccdd0b5ca13d"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"0a431a044f26844353f30191c5d84cf66f75b509","unresolved":true,"context_lines":[{"line_number":18,"context_line":"dnspython\u003d\u003d2.2.1"},{"line_number":19,"context_line":"docutils\u003d\u003d0.18.1"},{"line_number":20,"context_line":"dogpile.cache\u003d\u003d1.2.2"},{"line_number":21,"context_line":"eventlet\u003d\u003d0.33.3"},{"line_number":22,"context_line":"extras\u003d\u003d1.0.0"},{"line_number":23,"context_line":"fixtures\u003d\u003d4.0.1"},{"line_number":24,"context_line":"flake8\u003d\u003d3.9.2"}],"source_content_type":"text/plain","patch_set":8,"id":"a68bf346_2d0d4746","line":21,"updated":"2024-09-19 15:18:04.000000000","message":"we package 0.33.3 for py3.7!","commit_id":"e3e43ae2a696a2c40c590ab42608ccdd0b5ca13d"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"0a431a044f26844353f30191c5d84cf66f75b509","unresolved":true,"context_lines":[{"line_number":63,"context_line":"python-dateutil\u003d\u003d2.9.0.post0"},{"line_number":64,"context_line":"python-keystoneclient\u003d\u003d4.5.0"},{"line_number":65,"context_line":"python-subunit\u003d\u003d1.4.2"},{"line_number":66,"context_line":"python-swiftclient\u003d\u003d4.6.0"},{"line_number":67,"context_line":"pytz\u003d\u003d2022.1"},{"line_number":68,"context_line":"PyYAML\u003d\u003d6.0.1"},{"line_number":69,"context_line":"requests\u003d\u003d2.27.1"}],"source_content_type":"text/plain","patch_set":8,"id":"d9122d7a_e7e9045f","line":66,"updated":"2024-09-19 15:18:04.000000000","message":"this is the latest version, seems like we\u0027re still claiming support of py36 in swiftclient:\n\nhttps://github.com/openstack/python-swiftclient/blob/master/.zuul.yaml#L43","commit_id":"e3e43ae2a696a2c40c590ab42608ccdd0b5ca13d"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"0a431a044f26844353f30191c5d84cf66f75b509","unresolved":true,"context_lines":[{"line_number":66,"context_line":"python-swiftclient\u003d\u003d4.6.0"},{"line_number":67,"context_line":"pytz\u003d\u003d2022.1"},{"line_number":68,"context_line":"PyYAML\u003d\u003d6.0.1"},{"line_number":69,"context_line":"requests\u003d\u003d2.27.1"},{"line_number":70,"context_line":"requests-mock\u003d\u003d1.12.1"},{"line_number":71,"context_line":"rfc3986\u003d\u003d1.5.0"},{"line_number":72,"context_line":"s3transfer\u003d\u003d0.5.2"}],"source_content_type":"text/plain","patch_set":8,"id":"0d64a5ba_cd6cb6fd","line":69,"updated":"2024-09-19 15:18:04.000000000","message":"almost the latest version, released 7/23\n\nI guess we just missed 6.0.2 from 8/24\n\nhttps://pypi.org/project/PyYAML/#history","commit_id":"e3e43ae2a696a2c40c590ab42608ccdd0b5ca13d"}],"requirements.txt":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"d103bb6930636d2c0e229001df07ba5c76dde4b5","unresolved":true,"context_lines":[{"line_number":10,"context_line":"six\u003e\u003d1.16.0"},{"line_number":11,"context_line":"xattr\u003e\u003d0.10.1;sys_platform!\u003d\u0027win32\u0027        # MIT"},{"line_number":12,"context_line":"PyECLib\u003e\u003d1.6.1                          # BSD"},{"line_number":13,"context_line":"cryptography\u003e\u003d40.0.2                     # BSD/Apache-2.0"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"# For python 2.7, the following requirements are needed; they are not"},{"line_number":16,"context_line":"# included since the requirments-check check will fail otherwise since"}],"source_content_type":"text/plain","patch_set":2,"id":"2bd04cf8_f6059f6f","line":13,"updated":"2024-09-04 00:34:01.000000000","message":"I don\u0027t think you actually want to be updating this file.","commit_id":"b79365a7b4927089c263d11a7975b8cd03a86f87"},{"author":{"_account_id":34892,"name":"ASHWIN A NAIR","display_name":"indianwhocodes","email":"nairashwin952013@gmail.com","username":"indianwhocodes","status":"Nvidia"},"change_message_id":"83d5370acaf9b4a280b8e9f2c0c5adfa14acf50e","unresolved":false,"context_lines":[{"line_number":10,"context_line":"six\u003e\u003d1.16.0"},{"line_number":11,"context_line":"xattr\u003e\u003d0.10.1;sys_platform!\u003d\u0027win32\u0027        # MIT"},{"line_number":12,"context_line":"PyECLib\u003e\u003d1.6.1                          # BSD"},{"line_number":13,"context_line":"cryptography\u003e\u003d40.0.2                     # BSD/Apache-2.0"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"# For python 2.7, the following requirements are needed; they are not"},{"line_number":16,"context_line":"# included since the requirments-check check will fail otherwise since"}],"source_content_type":"text/plain","patch_set":2,"id":"8966dc6c_3b7bf85e","line":13,"in_reply_to":"2bd04cf8_f6059f6f","updated":"2024-09-05 15:59:11.000000000","message":"Done","commit_id":"b79365a7b4927089c263d11a7975b8cd03a86f87"}]}
