)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"26545086a7b5c98ec228586ce60c1819794dfa43","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ded51aec_ea17d3ec","updated":"2022-01-31 17:54:43.000000000","message":"I found that we already have something similar in place for older branches that still support py27, see https://review.opendev.org/c/openstack/devstack/+/772486/, I guess you could adapt your patch based on that. You\u0027ll also need to start with the oldest stable branch, otherwise grenade jobs will still fail.","commit_id":"476163dd39161822d94bee4232e8e2e16ea33f71"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"dc64bd9dbf1a52794c3c2b17ef61b8c043094bcf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d721146a_fae152a3","updated":"2022-01-31 17:52:08.000000000","message":"Thanks","commit_id":"476163dd39161822d94bee4232e8e2e16ea33f71"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e702096a2ebd10fce30ab4b144040342a82fa673","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"00688745_0fab4f63","in_reply_to":"ded51aec_ea17d3ec","updated":"2022-01-31 18:10:44.000000000","message":"This is very similar to my patch but I just read the python3 version, because we only have python3. We don\u0027t store the python3.6 get-pip.py in the cache, so I\u0027ll keep your suggestion to wipe out local_pip in this case.\n\nOnce I have this patch merged, I\u0027ll cherry-pick to stable releases.","commit_id":"476163dd39161822d94bee4232e8e2e16ea33f71"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"07b767c8f1f770e3d209cf253617f568fe846b34","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"88279172_8beb25cd","updated":"2022-02-01 14:45:17.000000000","message":"\u003e Patch Set 4:\n\u003e \n\u003e Rodolfo: That system-config patch was merely fixing the pip3 role used in deployment testing for OpenDev\u0027s own services, it\u0027s not used in image builds or by DevStack.\n\nright, we still need this to be fixed in devstack, for example for private installations\n\nThanks!","commit_id":"a756f4b9681d429f2612164eb01d57c800ff2d2a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"defd507fada674d3ff92e08039b3a3e2b517894f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"529e03a1_cfa68b97","updated":"2022-02-01 11:30:51.000000000","message":"And now [1] I don\u0027t know if this patch will be necessary \n\n\n[1]https://review.opendev.org/c/opendev/system-config/+/826968","commit_id":"a756f4b9681d429f2612164eb01d57c800ff2d2a"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"e74a6bba3abad2fbab2a56419e531ce3c4ddc20d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"bbbf3107_1d703da7","updated":"2022-02-02 05:03:29.000000000","message":"Fast-approving to be able to cherry-pick and unblock stable branches","commit_id":"a756f4b9681d429f2612164eb01d57c800ff2d2a"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"b5afd4b1d329602c039032b07d01cbd569cd76e7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"da68bb9b_335c5e36","updated":"2022-02-01 18:24:28.000000000","message":"LGTM...\nThank you for working on the fix","commit_id":"a756f4b9681d429f2612164eb01d57c800ff2d2a"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"95d051aa6e4ea8b5b50d231ae0db2cd72d3c34d2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"2ba6ff08_fc7353bc","updated":"2022-02-01 14:56:03.000000000","message":"My idea was that we could simply fetch both variants in the element and place them into different file names, those would then be matched and consumed by this patch.","commit_id":"a756f4b9681d429f2612164eb01d57c800ff2d2a"},{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"af2c147a390eae7e7a1a2236a000dc2f5fb9f2df","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"851eaa74_f5cbb943","updated":"2022-02-01 16:13:12.000000000","message":"recheck","commit_id":"a756f4b9681d429f2612164eb01d57c800ff2d2a"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"5d551a8127479c3d765282074453d4f061547ac5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ac9dd519_fd1551f8","updated":"2022-02-01 14:24:53.000000000","message":"recheck unrelated failures","commit_id":"a756f4b9681d429f2612164eb01d57c800ff2d2a"}],"tools/install_pip.sh":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"b05dbe4f12cada01ecdc970d4be832ef16b73961","unresolved":true,"context_lines":[{"line_number":60,"context_line":"    if [[ \"$PYTHON3_VERSION\" \u003d \"3.6\" ]]; then"},{"line_number":61,"context_line":"        _pip_url\u003d$PIP_GET_PIP36_URL"},{"line_number":62,"context_line":"    else"},{"line_number":63,"context_line":"      _pip_url\u003d$PIP_GET_PIP_URL"},{"line_number":64,"context_line":"    _local_pip\u003d\"$FILES/$(basename $_pip_url)\""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    # If get-pip.py isn\u0027t python, delete it. This was probably an"}],"source_content_type":"text/x-sh","patch_set":1,"id":"cdd4a522_5a7d8406","line":63,"updated":"2022-01-31 16:58:06.000000000","message":"The \"fi\" is missing.","commit_id":"ae1a7d483d31c58cf1b67d78d0ddc86179ffd9a5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"fe745db5486dc47315e721cf7d1bc543cb995dc1","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    if [[ \"$PYTHON3_VERSION\" \u003d \"3.6\" ]]; then"},{"line_number":61,"context_line":"        _pip_url\u003d$PIP_GET_PIP36_URL"},{"line_number":62,"context_line":"    else"},{"line_number":63,"context_line":"      _pip_url\u003d$PIP_GET_PIP_URL"},{"line_number":64,"context_line":"    _local_pip\u003d\"$FILES/$(basename $_pip_url)\""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    # If get-pip.py isn\u0027t python, delete it. This was probably an"}],"source_content_type":"text/x-sh","patch_set":1,"id":"b833a421_92af3595","line":63,"in_reply_to":"3d1e6fcb_ee92dc46","updated":"2022-01-31 17:38:05.000000000","message":"Done","commit_id":"ae1a7d483d31c58cf1b67d78d0ddc86179ffd9a5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"98eafc751581e6fb9527454a4ab9d1ba9e630272","unresolved":true,"context_lines":[{"line_number":60,"context_line":"    if [[ \"$PYTHON3_VERSION\" \u003d \"3.6\" ]]; then"},{"line_number":61,"context_line":"        _pip_url\u003d$PIP_GET_PIP36_URL"},{"line_number":62,"context_line":"    else"},{"line_number":63,"context_line":"      _pip_url\u003d$PIP_GET_PIP_URL"},{"line_number":64,"context_line":"    _local_pip\u003d\"$FILES/$(basename $_pip_url)\""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    # If get-pip.py isn\u0027t python, delete it. This was probably an"}],"source_content_type":"text/x-sh","patch_set":1,"id":"3d1e6fcb_ee92dc46","line":63,"in_reply_to":"cdd4a522_5a7d8406","updated":"2022-01-31 17:33:28.000000000","message":"Right! That happens to me when I\u0027m coding too much time in Python","commit_id":"ae1a7d483d31c58cf1b67d78d0ddc86179ffd9a5"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"b05dbe4f12cada01ecdc970d4be832ef16b73961","unresolved":true,"context_lines":[{"line_number":61,"context_line":"        _pip_url\u003d$PIP_GET_PIP36_URL"},{"line_number":62,"context_line":"    else"},{"line_number":63,"context_line":"      _pip_url\u003d$PIP_GET_PIP_URL"},{"line_number":64,"context_line":"    _local_pip\u003d\"$FILES/$(basename $_pip_url)\""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    # If get-pip.py isn\u0027t python, delete it. This was probably an"},{"line_number":67,"context_line":"    # outage on the server."}],"source_content_type":"text/x-sh","patch_set":1,"id":"277d2e9f_2ea4bb68","line":64,"updated":"2022-01-31 16:58:06.000000000","message":"I think you need to move this into the else branch and set it to \"\" in the py3.6 case to avoid using the wrong precached file, see also https://opendev.org/openstack/project-config/src/branch/master/nodepool/elements/cache-devstack/source-repository-pip","commit_id":"ae1a7d483d31c58cf1b67d78d0ddc86179ffd9a5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"98eafc751581e6fb9527454a4ab9d1ba9e630272","unresolved":true,"context_lines":[{"line_number":61,"context_line":"        _pip_url\u003d$PIP_GET_PIP36_URL"},{"line_number":62,"context_line":"    else"},{"line_number":63,"context_line":"      _pip_url\u003d$PIP_GET_PIP_URL"},{"line_number":64,"context_line":"    _local_pip\u003d\"$FILES/$(basename $_pip_url)\""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    # If get-pip.py isn\u0027t python, delete it. This was probably an"},{"line_number":67,"context_line":"    # outage on the server."}],"source_content_type":"text/x-sh","patch_set":1,"id":"903c4859_8b74f69f","line":64,"in_reply_to":"277d2e9f_2ea4bb68","updated":"2022-01-31 17:33:28.000000000","message":"Thanks for the info, now I know where this variable is used in our CI.","commit_id":"ae1a7d483d31c58cf1b67d78d0ddc86179ffd9a5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"fe745db5486dc47315e721cf7d1bc543cb995dc1","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        _pip_url\u003d$PIP_GET_PIP36_URL"},{"line_number":62,"context_line":"    else"},{"line_number":63,"context_line":"      _pip_url\u003d$PIP_GET_PIP_URL"},{"line_number":64,"context_line":"    _local_pip\u003d\"$FILES/$(basename $_pip_url)\""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    # If get-pip.py isn\u0027t python, delete it. This was probably an"},{"line_number":67,"context_line":"    # outage on the server."}],"source_content_type":"text/x-sh","patch_set":1,"id":"e807a552_c50bed90","line":64,"in_reply_to":"903c4859_8b74f69f","updated":"2022-01-31 17:38:05.000000000","message":"Done","commit_id":"ae1a7d483d31c58cf1b67d78d0ddc86179ffd9a5"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"3ded211a607391755b1e53c04380ead1c89ae9de","unresolved":true,"context_lines":[{"line_number":60,"context_line":"    if [[ \"$PYTHON3_VERSION\" \u003d \"3.6\" ]]; then"},{"line_number":61,"context_line":"        _pip_url\u003d$PIP_GET_PIP36_URL"},{"line_number":62,"context_line":"        # To avoid retrieving the cached default file, this variable is wiped."},{"line_number":63,"context_line":"        _local_pip\u003d\"\""},{"line_number":64,"context_line":"    else"},{"line_number":65,"context_line":"        _pip_url\u003d$PIP_GET_PIP_URL"},{"line_number":66,"context_line":"        _local_pip\u003d\"$FILES/$(basename $_pip_url)\""}],"source_content_type":"text/x-sh","patch_set":3,"id":"9fbc0c2a_9d9b6145","line":63,"updated":"2022-01-31 20:29:33.000000000","message":"Sorry for the bad advice I gave, but this doesn\u0027t work, see the failure in the CS8 job. So I\u0027d still suggest something similar like for the py27 case, adding \"-py36\" as suffix to the normal filename.","commit_id":"476163dd39161822d94bee4232e8e2e16ea33f71"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"62f2870df1d4544437e6e87cc32c06f2b79c1c5f","unresolved":true,"context_lines":[{"line_number":60,"context_line":"    if [[ \"$PYTHON3_VERSION\" \u003d \"3.6\" ]]; then"},{"line_number":61,"context_line":"        _pip_url\u003d$PIP_GET_PIP36_URL"},{"line_number":62,"context_line":"        # To avoid retrieving the cached default file, this variable is wiped."},{"line_number":63,"context_line":"        _local_pip\u003d\"\""},{"line_number":64,"context_line":"    else"},{"line_number":65,"context_line":"        _pip_url\u003d$PIP_GET_PIP_URL"},{"line_number":66,"context_line":"        _local_pip\u003d\"$FILES/$(basename $_pip_url)\""}],"source_content_type":"text/x-sh","patch_set":3,"id":"aad9b8b4_ef83ff70","line":63,"in_reply_to":"9fbc0c2a_9d9b6145","updated":"2022-01-31 20:37:28.000000000","message":"Replying to myself, this would actually also allow us to simply pre-cache both variants in the nodepool elements, too.","commit_id":"476163dd39161822d94bee4232e8e2e16ea33f71"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cccd06fb51ab1de6b2f9f00219248679255d34ad","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    if [[ \"$PYTHON3_VERSION\" \u003d \"3.6\" ]]; then"},{"line_number":61,"context_line":"        _pip_url\u003d$PIP_GET_PIP36_URL"},{"line_number":62,"context_line":"        # To avoid retrieving the cached default file, this variable is wiped."},{"line_number":63,"context_line":"        _local_pip\u003d\"\""},{"line_number":64,"context_line":"    else"},{"line_number":65,"context_line":"        _pip_url\u003d$PIP_GET_PIP_URL"},{"line_number":66,"context_line":"        _local_pip\u003d\"$FILES/$(basename $_pip_url)\""}],"source_content_type":"text/x-sh","patch_set":3,"id":"030a345f_6aa150b1","line":63,"in_reply_to":"aad9b8b4_ef83ff70","updated":"2022-02-01 11:26:33.000000000","message":"Done","commit_id":"476163dd39161822d94bee4232e8e2e16ea33f71"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"36095ec5764ea9bcc8bc8601f30cc3220a50371d","unresolved":true,"context_lines":[{"line_number":28,"context_line":"# get-pip.py mirror is available, PIP_GET_PIP_URL can be set to that"},{"line_number":29,"context_line":"# mirror in local.conf to avoid download timeouts."},{"line_number":30,"context_line":"# Example:"},{"line_number":31,"context_line":"#  PIP_GET_PIP_URL\u003d\"http://local-server/get-pip.py\""},{"line_number":32,"context_line":"#"},{"line_number":33,"context_line":"# Note that if get-pip.py already exists in $FILES this script will"},{"line_number":34,"context_line":"# not re-download or check for a new version.  For example, this is"}],"source_content_type":"text/x-sh","patch_set":4,"id":"70aadec6_44e62f10","line":31,"updated":"2022-02-01 16:03:09.000000000","message":"nit: Mention PIP_GET_PIP36_URL","commit_id":"a756f4b9681d429f2612164eb01d57c800ff2d2a"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"e74a6bba3abad2fbab2a56419e531ce3c4ddc20d","unresolved":false,"context_lines":[{"line_number":28,"context_line":"# get-pip.py mirror is available, PIP_GET_PIP_URL can be set to that"},{"line_number":29,"context_line":"# mirror in local.conf to avoid download timeouts."},{"line_number":30,"context_line":"# Example:"},{"line_number":31,"context_line":"#  PIP_GET_PIP_URL\u003d\"http://local-server/get-pip.py\""},{"line_number":32,"context_line":"#"},{"line_number":33,"context_line":"# Note that if get-pip.py already exists in $FILES this script will"},{"line_number":34,"context_line":"# not re-download or check for a new version.  For example, this is"}],"source_content_type":"text/x-sh","patch_set":4,"id":"94767df5_a165e007","line":31,"in_reply_to":"70aadec6_44e62f10","updated":"2022-02-02 05:03:29.000000000","message":"I\u0027d rather have made a comment that we want to revert this once we get rid of centos8 in master, hopefully by the end of this cycle, but that\u0027s not so important as to fix stable branches now.","commit_id":"a756f4b9681d429f2612164eb01d57c800ff2d2a"}]}
