)]}'
{"id":"openstack%2Fdevstack~968249","triplet_id":"openstack%2Fdevstack~master~Iedbb8974dce34a3d1c89f2a2561df76e696afae6","project":"openstack/devstack","branch":"master","topic":"retry-downloads","attention_set":{},"removed_from_attention_set":{"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2026-02-03 18:52:54.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Iedbb8974dce34a3d1c89f2a2561df76e696afae6","subject":"allow get_extra_files to retry on common errors","status":"MERGED","created":"2025-11-24 19:13:55.000000000","updated":"2026-02-03 18:53:42.000000000","submitted":"2026-02-03 18:52:54.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":5,"unresolved_comment_count":1,"has_review_started":true,"submission_id":"968249-retry-downloads","meta_rev_id":"a8afe9be95c60aa95e6400cbb44ed9a85d92ff79","_number":968249,"virtual_id_number":968249,"owner":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-02-03 18:52:54.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},{"value":0,"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","default_value":0,"optional":true},"Code-Review":{"approved":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"all":[{"value":2,"date":"2026-01-22 19:06:19.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":2,"date":"2026-02-03 16:43:30.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},{"value":1,"date":"2025-11-24 20:23:45.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"approved":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"all":[{"value":0,"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":1,"date":"2026-02-03 16:43:30.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},{"value":0,"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Review-Priority":{"all":[{"value":0,"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},{"value":0,"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Gate Blocker Fix / Urgent Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-11-24 20:23:45.000000000","updated_by":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"reviewer":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"state":"REVIEWER"},{"updated":"2025-11-24 21:24:47.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2026-01-22 19:06:19.000000000","updated_by":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"reviewer":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"state":"REVIEWER"},{"updated":"2026-02-03 16:43:30.000000000","updated_by":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"reviewer":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"state":"REVIEWER"}],"messages":[{"id":"86f0054ef3694e89e476e84e276c98cc7395d086","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-11-24 19:13:55.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"558fcbd247fe8578033fce6e792aa8f41e85469d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-11-24 19:14:50.000000000","message":"Uploaded patch set 2: New patch set was added with same tree, parent tree, and commit message as Patch Set 1.","accounts_in_message":[],"_revision_number":2},{"id":"21399f7e26fea0cafad7e76b12337e4af3443d70","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-11-24 19:15:56.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"dacd782b64a29bb0c861b81970cb3d5191a3b2a5","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2025-11-24 19:23:35.000000000","message":"Patch Set 3:\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"ca60629d6b4a8a55c81f761dba03cfb3207d7d49","author":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"},"date":"2025-11-24 20:23:45.000000000","message":"Patch Set 3: Code-Review+1\n\nBuild succeeded (check pipeline).\nhttps://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/d8d288ee33314ac6b199f94a7e49296b\n\n- devstack-platform-centos-10-stream https://softwarefactory-project.io/zuul/t/rdoproject.org/build/2ee096b1fa9f4e19a53dbaa0e7fcdafa : SUCCESS in 1h 07m 03s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"37bbfbe14b55a75de2d5e32253883ab8c70ed6d8","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-11-24 21:24:47.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/73ab17ffafb44bc9bf8c6ab28a6c996c\n\n- grenade https://zuul.opendev.org/t/openstack/build/61bd13f1bc974cf0a1f65a12854fe84e : SUCCESS in 1h 00m 37s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/f76f96baf1244e6fa3a75f538231e8e8 : SUCCESS in 2h 05m 38s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/65f98417f3ed4806be5a13445ad6ca29 : SUCCESS in 6m 08s\n- devstack https://zuul.opendev.org/t/openstack/build/b6142e3cb0464728857cb6a9e2c22ae0 : SUCCESS in 27m 00s\n- devstack-ipv6 https://zuul.opendev.org/t/openstack/build/7aca7ec02e4342368624fb3b50133205 : SUCCESS in 26m 45s\n- devstack-enforce-scope https://zuul.opendev.org/t/openstack/build/5f0f0503715545cb9a6710376cbf81e4 : SUCCESS in 28m 13s\n- devstack-platform-almalinux-purple-lion https://zuul.opendev.org/t/openstack/build/3f2ff8ab7141468fa79d95d42888454b : SUCCESS in 1h 35m 01s (non-voting)\n- devstack-platform-centos-10-stream https://zuul.opendev.org/t/openstack/build/f5ab62ee3c9c42f49e57a1387372563b : SUCCESS in 1h 19m 51s (non-voting)\n- devstack-platform-centos-9-stream https://zuul.opendev.org/t/openstack/build/ad69a7c50fe543ceb9bdf025fec4e817 : SUCCESS in 1h 30m 27s (non-voting)\n- devstack-platform-debian-bookworm https://zuul.opendev.org/t/openstack/build/bff7e56275ee4144ae24927819d30518 : SUCCESS in 1h 17m 04s\n- devstack-platform-debian-trixie https://zuul.opendev.org/t/openstack/build/7e3f4f13125744d6b2fd463142d5f100 : SUCCESS in 1h 25m 08s\n- devstack-platform-rocky-blue-onyx https://zuul.opendev.org/t/openstack/build/0f70cac0f27246ff915f5fb9bce46182 : SUCCESS in 1h 41m 50s (non-voting)\n- devstack-platform-rocky-red-quartz https://zuul.opendev.org/t/openstack/build/25f1be37165c43c99698764f05eaa6b4 : SUCCESS in 1h 29m 46s (non-voting)\n- devstack-platform-ubuntu-noble-ovs https://zuul.opendev.org/t/openstack/build/233ca536f892488e9b833a8936f81b04 : SUCCESS in 1h 29m 58s (non-voting)\n- devstack-platform-ubuntu-jammy https://zuul.opendev.org/t/openstack/build/1db10ba33cee4ff19565393fd13ccbb1 : SUCCESS in 1h 49m 04s\n- devstack-multinode https://zuul.opendev.org/t/openstack/build/cb059f945dac452087e0f193b55ffbfe : SUCCESS in 34m 55s\n- devstack-unit-tests https://zuul.opendev.org/t/openstack/build/0a2f0eef3b1243d799347d5c23c5b3e7 : SUCCESS in 3m 00s\n- openstack-tox-bashate https://zuul.opendev.org/t/openstack/build/6f8de072ac4e4543823ddbe3bf064afa : SUCCESS in 1m 30s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/a7121436b27a487bb799494fd40ddf57 : SUCCESS in 24m 40s\n- neutron-ovs-grenade-multinode https://zuul.opendev.org/t/openstack/build/6b27dd8fa15845dfaa75439ec89ed6d3 : SUCCESS in 1h 12m 05s\n- neutron-ovn-tempest-ovs-release https://zuul.opendev.org/t/openstack/build/6c57268cf8ab43209d44755068cc5eb8 : SUCCESS in 41m 33s (non-voting)\n- tempest-multinode-full-py3 https://zuul.opendev.org/t/openstack/build/7a5ddca4b177499094b24a6dd476451b : SUCCESS in 1h 15m 02s (non-voting)\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/42e4d38d41a445afbe406752572ed58c : SUCCESS in 33m 08s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/551155509fcb4a3c88fd4cd2bf116fea : SUCCESS in 40m 13s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/1aa05ba4148a46ba9f1bd547cb95c145 : SUCCESS in 1h 49m 38s","accounts_in_message":[],"_revision_number":3},{"id":"d2fc78e838210bb039f257bf2270b2e6576e2c7a","author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"date":"2026-01-22 19:06:19.000000000","message":"Patch Set 3: Code-Review+2\n\n(2 comments)","accounts_in_message":[],"_revision_number":3},{"id":"58e5574f42136b1ee6bf18ba523b25df4d2da0cf","author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"date":"2026-02-03 16:43:30.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"06c84a9e585edf8b3e05f72cdf7c272793157366","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-03 16:44:11.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"e415257c1a96be5b870d68fe4659c99940f3d696","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-03 18:52:54.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/72e58aa4e11a4bce9188d423583809dd\n\n- grenade https://zuul.opendev.org/t/openstack/build/48e697a3b05d457cbaa3039bb0c80aaf : SUCCESS in 1h 01m 04s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/f106877accc749c286b24e2431114a6c : SUCCESS in 1h 40m 37s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fd0e54026f4f4c46944e9d7376840e5d : SUCCESS in 6m 19s\n- devstack https://zuul.opendev.org/t/openstack/build/2860110cc9b5459987d299134ba20f5c : SUCCESS in 14m 37s\n- devstack-ipv6 https://zuul.opendev.org/t/openstack/build/1a473767c0b54f7b8df07ef4a949b59c : SUCCESS in 26m 52s\n- devstack-platform-debian-bookworm https://zuul.opendev.org/t/openstack/build/e54fc3419109481ab88c959fb2ffa3eb : SUCCESS in 1h 01m 56s\n- devstack-platform-debian-trixie https://zuul.opendev.org/t/openstack/build/bc154fd21f6147158d38ace633b9d089 : SUCCESS in 59m 46s\n- devstack-enforce-scope https://zuul.opendev.org/t/openstack/build/322175d341f043c4bd20acc700c42160 : SUCCESS in 27m 03s\n- devstack-multinode https://zuul.opendev.org/t/openstack/build/9e2f5cd5e4d645bc889e788db9510e25 : SUCCESS in 29m 59s\n- devstack-unit-tests https://zuul.opendev.org/t/openstack/build/4657a0bc6ed14882b49f9e63453a00e0 : SUCCESS in 3m 59s\n- openstack-tox-bashate https://zuul.opendev.org/t/openstack/build/927e555f01794792af36a35c41b76444 : SUCCESS in 2m 52s\n- neutron-ovs-grenade-multinode https://zuul.opendev.org/t/openstack/build/0a38e3c3c90e4f188707cc5c17e534da : SUCCESS in 1h 00m 02s\n- ironic-tempest-bios-ipmi-direct https://zuul.opendev.org/t/openstack/build/e17524bebffb4c38bbed3790deb57f1c : SUCCESS in 1h 11m 30s\n- swift-dsvm-functional https://zuul.opendev.org/t/openstack/build/2c72f827a2104bd5aa2b014ab2b3fefc : SUCCESS in 24m 36s\n- openstacksdk-functional-devstack https://zuul.opendev.org/t/openstack/build/1afb590d813e4a1786ba03b050c789ce : SUCCESS in 37m 30s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/eeeec5d8a884476bbba9f2eaacbceec4 : SUCCESS in 59m 43s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/4b1cc8b544774f9995dfdfe5810021b2 : SUCCESS in 1h 55m 01s","accounts_in_message":[],"_revision_number":3},{"id":"6959a6d36e719bc7cccd96cd8628b1885bea179e","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-03 18:52:54.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":3},{"id":"a8afe9be95c60aa95e6400cbb44ed9a85d92ff79","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-02-03 18:53:42.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9bf5da9706f04307ac94649ae2f4ce77\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/75651be7fa914fa5b835379ebbbb0b84 : SUCCESS in 39s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"c2a5090c2f6ab70cf8d3026e9af26af84cca3a3a","revisions":{"c54fb51aa4a3896c2154426ca216df503ae79959":{"kind":"REWORK","_number":1,"created":"2025-11-24 19:13:55.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/49/968249/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/devstack","ref":"refs/changes/49/968249/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/devstack refs/changes/49/968249/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/devstack refs/changes/49/968249/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/devstack refs/changes/49/968249/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/devstack refs/changes/49/968249/1"}}},"commit":{"parents":[{"commit":"f61d747518a3b4896032c7e9440ddf31856a060f","subject":"Merge \"Enable response validation in Keystone\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack/commit/f61d747518a3b4896032c7e9440ddf31856a060f"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-11-24 18:25:57.000000000","tz":0},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-11-24 19:13:23.000000000","tz":0},"subject":"allow get_extra_files to retry on common errors","message":"allow get_extra_files to retry on common errors\n\nThis change add 4 new varibles to devstack to allow controlling\nthe behvaior fo downloadign files via get_extra_files\n\nEXTRA_FILES_RETRY\u003d${EXTRA_FILES_RETRY:-3}\nEXTRA_FILES_RETRY_ERRORS\u003d${EXTRA_FILES_RETRY_ERRORS:-\"500,503\"}\nEXTRA_FILES_DOWNLOAD_TIMEOUT\u003d${EXTRA_FILES_DOWNLOAD_TIMEOUT:-2}\nEXTRA_FILES_RETRY_TIMEOUT\u003d${EXTRA_FILES_RETRY_TIMEOUT:-10}\n\nget_extra_files checks if a file is precached and downlaods\nit if not present\n\nThe new fucntionaltiy modifes the wget invocation to retry\nup to 3 times if there are dns name issues, connection refused\nor the server return a 500 or 503\n\nThis change will not retry on 403 or 429 error codes\nwhich are often used to indicate rate limits.\n\nThe download timeout remains at 2 seconds but\ncan now be set if required. A 10 second over all retry\nwait timeout is added matching wgets default.\n\nfinally the use of sed to strip the file:// prefix\nif present is replace with usign bash parmater expansion\necho \"${file_url#file://}\"\n\nAssisted-By: gemini pro 3\nChange-Id: Iedbb8974dce34a3d1c89f2a2561df76e696afae6\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack/commit/c54fb51aa4a3896c2154426ca216df503ae79959"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack/commit/c54fb51aa4a3896c2154426ca216df503ae79959"}]},"branch":"refs/heads/master"},"118674a62a1ec85359cb5062476ecc929b902cbb":{"kind":"NO_CHANGE","_number":2,"created":"2025-11-24 19:14:50.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/49/968249/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/devstack","ref":"refs/changes/49/968249/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/devstack refs/changes/49/968249/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/devstack refs/changes/49/968249/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/devstack refs/changes/49/968249/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/devstack refs/changes/49/968249/2"}}},"commit":{"parents":[{"commit":"f61d747518a3b4896032c7e9440ddf31856a060f","subject":"Merge \"Enable response validation in Keystone\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack/commit/f61d747518a3b4896032c7e9440ddf31856a060f"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-11-24 18:25:57.000000000","tz":0},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-11-24 19:14:44.000000000","tz":0},"subject":"allow get_extra_files to retry on common errors","message":"allow get_extra_files to retry on common errors\n\nThis change add 4 new varibles to devstack to allow controlling\nthe behvaior fo downloadign files via get_extra_files\n\nEXTRA_FILES_RETRY\u003d${EXTRA_FILES_RETRY:-3}\nEXTRA_FILES_RETRY_ERRORS\u003d${EXTRA_FILES_RETRY_ERRORS:-\"500,503\"}\nEXTRA_FILES_DOWNLOAD_TIMEOUT\u003d${EXTRA_FILES_DOWNLOAD_TIMEOUT:-2}\nEXTRA_FILES_RETRY_TIMEOUT\u003d${EXTRA_FILES_RETRY_TIMEOUT:-10}\n\nget_extra_files checks if a file is precached and downlaods\nit if not present\n\nThe new fucntionaltiy modifes the wget invocation to retry\nup to 3 times if there are dns name issues, connection refused\nor the server return a 500 or 503\n\nThis change will not retry on 403 or 429 error codes\nwhich are often used to indicate rate limits.\n\nThe download timeout remains at 2 seconds but\ncan now be set if required. A 10 second over all retry\nwait timeout is added matching wgets default.\n\nfinally the use of sed to strip the file:// prefix\nif present is replace with usign bash parmater expansion\necho \"${file_url#file://}\"\n\nAssisted-By: gemini pro 3\nChange-Id: Iedbb8974dce34a3d1c89f2a2561df76e696afae6\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack/commit/118674a62a1ec85359cb5062476ecc929b902cbb"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack/commit/118674a62a1ec85359cb5062476ecc929b902cbb"}]},"branch":"refs/heads/master"},"c2a5090c2f6ab70cf8d3026e9af26af84cca3a3a":{"kind":"REWORK","_number":3,"created":"2025-11-24 19:15:56.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/49/968249/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/devstack","ref":"refs/changes/49/968249/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/devstack refs/changes/49/968249/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/devstack refs/changes/49/968249/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/devstack refs/changes/49/968249/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/devstack refs/changes/49/968249/3"}}},"commit":{"parents":[{"commit":"f61d747518a3b4896032c7e9440ddf31856a060f","subject":"Merge \"Enable response validation in Keystone\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack/commit/f61d747518a3b4896032c7e9440ddf31856a060f"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-11-24 18:25:57.000000000","tz":0},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2025-11-24 19:15:51.000000000","tz":0},"subject":"allow get_extra_files to retry on common errors","message":"allow get_extra_files to retry on common errors\n\nThis change add 4 new varibles to devstack to allow controlling\nthe behvaior fo downloadign files via get_extra_files\n\nEXTRA_FILES_RETRY\u003d${EXTRA_FILES_RETRY:-3}\nEXTRA_FILES_RETRY_ERRORS\u003d${EXTRA_FILES_RETRY_ERRORS:-\"500,503\"}\nEXTRA_FILES_DOWNLOAD_TIMEOUT\u003d${EXTRA_FILES_DOWNLOAD_TIMEOUT:-2}\nEXTRA_FILES_RETRY_TIMEOUT\u003d${EXTRA_FILES_RETRY_TIMEOUT:-10}\n\nget_extra_files checks if a file is precached and downlaods\nit if not present\n\nThe new fucntionaltiy modifes the wget invocation to retry\nup to 3 times if there are dns name issues, connection refused\nor the server return a 500 or 503\n\nThis change will not retry on 403 or 429 error codes\nwhich are often used to indicate rate limits.\n\nThe download timeout remains at 2 seconds but\ncan now be set if required. A 10 second over all retry\nwait timeout is added matching wgets default.\n\nfinally the use of sed to strip the file:// prefix\nif present is replace with usign bash parmater expansion\necho \"${file_url#file://}\"\n\nAssisted-By: gemini pro 3\nChange-Id: Iedbb8974dce34a3d1c89f2a2561df76e696afae6\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack/commit/c2a5090c2f6ab70cf8d3026e9af26af84cca3a3a"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/devstack/commit/c2a5090c2f6ab70cf8d3026e9af26af84cca3a3a"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":26471,"name":"Software Factory CI","email":"softwarefactory-operations-team@redhat.com","username":"sf-project-io"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"}},{"label":"Review-Priority","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX"],"failing_atoms":["label:Verified\u003dMIN"],"atom_explanations":{}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Review-Priority","description":"Review priority","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"-label:Review-Priority\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":[],"failing_atoms":["label:Review-Priority\u003dMIN"],"atom_explanations":{}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dMAX"],"failing_atoms":["label:Workflow\u003dMIN"],"atom_explanations":{}}}]}
