)]}'
{".zuul.yaml":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"71c5c9600b972540ba8be4cabd3886a5d2f75549","unresolved":true,"context_lines":[{"line_number":479,"context_line":"    vars:"},{"line_number":480,"context_line":"      python_use_pyenv: True"},{"line_number":481,"context_line":"      python_version: 3.7"},{"line_number":482,"context_line":"      bindep_profile: test py38 py37"},{"line_number":483,"context_line":"      tox_environment:"},{"line_number":484,"context_line":"        TMPDIR: \u0027{{ ansible_env.HOME }}/xfstmp\u0027"},{"line_number":485,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"25fabab0_bf8354a4","line":482,"range":{"start_line":482,"start_character":27,"end_line":482,"end_character":31},"updated":"2025-09-23 17:09:16.000000000","message":"Surely we don\u0027t need this, right?","commit_id":"e287cdce438f9180b8a7afb75f7e38f722137a3c"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"206c5d26c4f8c5ad8340aef8b4235ed0092259d7","unresolved":true,"context_lines":[{"line_number":479,"context_line":"    vars:"},{"line_number":480,"context_line":"      python_use_pyenv: True"},{"line_number":481,"context_line":"      python_version: 3.7"},{"line_number":482,"context_line":"      bindep_profile: test py38 py37"},{"line_number":483,"context_line":"      tox_environment:"},{"line_number":484,"context_line":"        TMPDIR: \u0027{{ ansible_env.HOME }}/xfstmp\u0027"},{"line_number":485,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"2d255d50_022c2bd4","line":482,"range":{"start_line":482,"start_character":27,"end_line":482,"end_character":31},"in_reply_to":"25fabab0_bf8354a4","updated":"2025-09-23 22:53:16.000000000","message":"nah probably not. That\u0027s just the profiles in the parant job. So redefined it here and added py37. We don\u0027t use it so it can probaby be dropped seeing as we\u0027re not using py38 in any of our bindeps.. unless it needs it elsewhere. Originally I just appended to make sure it\u0027ll pull in our stuff.","commit_id":"e287cdce438f9180b8a7afb75f7e38f722137a3c"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"5529ed4f8d4e1c3e788eacce0ec73115997decb7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"88f0f875_9aac462a","updated":"2024-10-30 16:08:25.000000000","message":"It\u0027s still kinda caused by this patch -- or rather, this patch needs to wait for the global upper-constraints.txt to bump its pyeclib to 1.6.4.\n\nThe openstacksdk-functional-devstack failure looks like another instance of https://bugs.launchpad.net/openstacksdk/+bug/2085654\n\nBut I\u0027m excited that the binary wheels work can eventually let us drop some of these setup requirements!","commit_id":"944168a08f2897b52802f66503b658b53af88dec"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"c870ec5c7617f93dd77320268c809bf253640b74","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"70f1dfe0_a5ded6b9","updated":"2024-10-30 04:53:52.000000000","message":"The failure to build seems caused by the patch, not random.","commit_id":"944168a08f2897b52802f66503b658b53af88dec"},{"author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"change_message_id":"754e92d407916cd9c2ec49c883c4de70d2c7f624","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"63acca4a_e2f5ed7b","updated":"2024-10-30 04:54:30.000000000","message":"Wait, never mind. It was the patch 1 that failed.","commit_id":"944168a08f2897b52802f66503b658b53af88dec"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"09e8f6a251131268771c521736b9b3afb234ba0c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"26fd6307_43893d39","updated":"2024-11-06 21:21:27.000000000","message":"Cool, great idea. -1 because of a question inline. Otherwise, seems to be working.","commit_id":"aea1025ec820a00e1c0c18a54f81449459b48fe0"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b88b8f34ba92fd1eb0414f219398d9d4bb117927","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"87a26565_61059e21","updated":"2024-11-08 20:16:49.000000000","message":"Oh! Somehow I missed Matt\u0027s feedback!","commit_id":"aea1025ec820a00e1c0c18a54f81449459b48fe0"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"fafb6f9e0005c76d1e90ee58de45d90f6e860260","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"6ecce5c7_508c9580","updated":"2024-12-03 17:54:57.000000000","message":"recheck\n\nCORS tests should be fixed now.","commit_id":"e80ce6eb8d8ee275cf7d8f1bd1f54274c804bb14"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"5381044971851e37266aa0cf87bf5b4ef1ff393d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"53c0ca25_f52b4607","updated":"2025-07-28 02:45:35.000000000","message":"One job failed like\n```\n2025-07-28 01:40:52.776 | + /opt/stack/new/grenade/projects/70_cinder/resources.sh:verify:234 :   openstack server remove volume cinder_server1 cinder_grenade_vol3\n2025-07-28 01:45:54.784 | HttpException: 500: Server Error for url: http://10.209.35.122/compute/v2.1/servers/detail?name\u003dcinder_server1, 500 Internal Server Error: Internal Server Error: The server encountered an internal error or: misconfiguration and was unable to complete: your request.: Please contact the server administrator at: webmaster@localhost to inform them of the time this error occurred,: and the actions you performed just before this error.: More information about this error may be available: in the server error log.: Apache/2.4.52 (Ubuntu) Server at 10.209.35.122 Port 80\n```\nAnother like\n```\n+ functions-common:apt_get:1211            :   sudo DEBIAN_FRONTEND\u003dnoninteractive http_proxy\u003d https_proxy\u003d no_proxy\u003d apt-get --option Dpkg::Options::\u003d--force-confold --assume-yes install ksmtuned\nReading package lists...\nBuilding dependency tree...\nReading state information...\nE: Unable to locate package ksmtuned\n```\nBut the swift-multinode-rolling-upgrade job didn\u0027t pull in new pyeclib:\n```\nCollecting PyECLib!\u003d1.6.2,!\u003d1.6.3,\u003e\u003d1.3.1 (from -r /home/zuul/src/opendev.org/openstack/swift/requirements.txt (line 11))\n  Downloading https://mirror-int.dfw.rax.opendev.org/wheel/centos-9-x86_64/pyeclib/pyeclib-1.6.0-cp39-cp39-linux_x86_64.whl (51 kB)\n```\n(Note that we didn\u0027t start bundling liberasurecode until 1.6.2)\n\nSo tests fail like\n```\n  File \"/home/zuul/src/opendev.org/openstack/swift/swift/common/storage_policy.py\", line 27, in \u003cmodule\u003e\n    from pyeclib.ec_iface import ECDriver, ECDriverError, VALID_EC_TYPES\n  File \"/home/zuul/src/opendev.org/openstack/swift/.tox/func/lib64/python3.9/site-packages/pyeclib/ec_iface.py\", line 29, in \u003cmodule\u003e\n    from pyeclib_c import get_liberasurecode_version\nImportError: liberasurecode.so.1: cannot open shared object file: No such file or directory\n```\nIDK how those https://mirror-int.dfw.rax.opendev.org/pypi/simple https://mirror-int.dfw.rax.opendev.org/wheel/centos-9-x86_64 mirrors get populated, but I rather want to go fix them now :-(\n\nI suppose we shouldn\u0027t merge just yet, though.","commit_id":"84149ed4372928d3badf0907378447b4f2abe228"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"a6d2e2fca76a58634fc06c1066987db641fbcfb0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"3c880c49_0262d5b2","updated":"2025-09-22 21:11:23.000000000","message":"check experimental","commit_id":"8d015d4ceb3d0db4e5302c0ed84d01f8fb0fb6be"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"a7727f74e33b3019914d02faac6e7318810218b7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"26bab4e0_e25e4358","updated":"2025-09-22 23:57:30.000000000","message":"hmm, so the lower constraints test failed because it couldn\u0027t find liberasurecode.so.1.\n\n```Can not locate liberasurecode.so.1```\n\nSo seems it\u0027s still failing to pull it in.","commit_id":"8d015d4ceb3d0db4e5302c0ed84d01f8fb0fb6be"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"cfe439334e676c871b8a62241cb1fe57fded88d4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"566d0479_878d1b78","updated":"2025-09-23 02:45:21.000000000","message":"Adding py37 worked in the follow up so squashed it in.","commit_id":"e287cdce438f9180b8a7afb75f7e38f722137a3c"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"71c5c9600b972540ba8be4cabd3886a5d2f75549","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"cb03ee2b_f9ee3d3e","updated":"2025-09-23 17:09:16.000000000","message":"Thanks for the fix-up, Matt! I\u0027m still trying to figure out how I want to address the rolling-upgrade jobs from the experimental pipeline...","commit_id":"e287cdce438f9180b8a7afb75f7e38f722137a3c"}],"bindep.txt":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"a7727f74e33b3019914d02faac6e7318810218b7","unresolved":true,"context_lines":[{"line_number":8,"context_line":"gettext-runtime [platform:suse]"},{"line_number":9,"context_line":"# Generally, we should be content to let pyeclib pull in liberasurecode on its own now"},{"line_number":10,"context_line":"# but we need to continue being able to build it for the lower-constraints job"},{"line_number":11,"context_line":"liberasurecode-dev [py37 platform:dpkg]"},{"line_number":12,"context_line":"libffi-dev [platform:dpkg platform:apk]"},{"line_number":13,"context_line":"libffi-devel [platform:rpm]"},{"line_number":14,"context_line":"libxml2-dev [platform:dpkg platform:apk]"}],"source_content_type":"text/plain","patch_set":7,"id":"5680cb72_053aa851","line":11,"range":{"start_line":11,"start_character":20,"end_line":11,"end_character":24},"updated":"2025-09-22 23:57:30.000000000","message":"Is this only every going to be run if the lower constraints acttually uses:\n```\nbindep py37\n```\n\nOtherwise it\u0027ll get left out, as far as my testing goes. because it\u0027s now been given a group.\n\nThe parent lower constraint job (https://zuul.opendev.org/t/openstack/job/openstack-tox-lower-constraints) does pass in some bindep vars:\n\n```\n\"bindep_profile\":\"test py38\"\n```\n\nSo maybe we need to add py37 to our version or tag it with py38 instead.","commit_id":"8d015d4ceb3d0db4e5302c0ed84d01f8fb0fb6be"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"71c5c9600b972540ba8be4cabd3886a5d2f75549","unresolved":true,"context_lines":[{"line_number":8,"context_line":"gettext-runtime [platform:suse]"},{"line_number":9,"context_line":"# Generally, we should be content to let pyeclib pull in liberasurecode on its own now"},{"line_number":10,"context_line":"# but we need to continue being able to build it for the lower-constraints job"},{"line_number":11,"context_line":"liberasurecode-dev [py37 platform:dpkg]"},{"line_number":12,"context_line":"libffi-dev [platform:dpkg platform:apk]"},{"line_number":13,"context_line":"libffi-devel [platform:rpm]"},{"line_number":14,"context_line":"libxml2-dev [platform:dpkg platform:apk]"}],"source_content_type":"text/plain","patch_set":7,"id":"8ea49d5b_afc43b92","line":11,"range":{"start_line":11,"start_character":20,"end_line":11,"end_character":24},"in_reply_to":"5680cb72_053aa851","updated":"2025-09-23 17:09:16.000000000","message":"Good call, both on figuring out how to get `lower-constraints` to install everything I wanted, and on looking up to see what the existing bindep profile looks like.","commit_id":"8d015d4ceb3d0db4e5302c0ed84d01f8fb0fb6be"}],"docker/install_scripts/10_apk_install_prereqs.sh":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"09e8f6a251131268771c521736b9b3afb234ba0c","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#!/bin/sh"},{"line_number":2,"context_line":"set -e"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"echo \"@testing http://dl-cdn.alpinelinux.org/alpine/edge/testing\" \u003e\u003e /etc/apk/repositories"},{"line_number":5,"context_line":"apk add --update \\"},{"line_number":6,"context_line":"  linux-headers \\"},{"line_number":7,"context_line":"  gnupg \\"}],"source_content_type":"text/x-sh","patch_set":3,"id":"d399d9c5_cf2b6ea6","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":65},"updated":"2024-11-06 21:21:27.000000000","message":"Do we still need this if we\u0027re not pulling things from @testing anymore (I assume that\u0027s what the @testing was in the old diff.","commit_id":"aea1025ec820a00e1c0c18a54f81449459b48fe0"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"4ae7d14101937949ae54de17c06f647b72a803e1","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#!/bin/sh"},{"line_number":2,"context_line":"set -e"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"echo \"@testing http://dl-cdn.alpinelinux.org/alpine/edge/testing\" \u003e\u003e /etc/apk/repositories"},{"line_number":5,"context_line":"apk add --update \\"},{"line_number":6,"context_line":"  linux-headers \\"},{"line_number":7,"context_line":"  gnupg \\"}],"source_content_type":"text/x-sh","patch_set":3,"id":"12b9193f_0439e1f9","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":65},"in_reply_to":"d399d9c5_cf2b6ea6","updated":"2024-11-08 20:19:08.000000000","message":"Nope, probably not! Good catch.","commit_id":"aea1025ec820a00e1c0c18a54f81449459b48fe0"}],"tools/test-setup.sh":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"a12c4b88ca8f8a6c4a50e443556d39d16da8fb5b","unresolved":true,"context_lines":[{"line_number":30,"context_line":"if is_rhel8; then"},{"line_number":31,"context_line":"    # Install CentOS OpenStack repos so that we have access to some extra"},{"line_number":32,"context_line":"    # packages."},{"line_number":33,"context_line":"    sudo dnf install -y centos-release-openstack-xena"},{"line_number":34,"context_line":"    sudo dnf install -y liberasurecode-devel"},{"line_number":35,"context_line":"fi"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-sh","patch_set":5,"id":"56c1b5a0_17016523","side":"PARENT","line":33,"range":{"start_line":33,"start_character":24,"end_line":33,"end_character":53},"updated":"2024-12-18 19:14:05.000000000","message":"Removing these sorts of pins seem like the biggest win of the patch.","commit_id":"ffbf17e47c0c76d4daa6e40811338e4abec1beb4"}]}
