)]}'
{"id":"openstack%2Fironic-python-agent~897055","triplet_id":"openstack%2Fironic-python-agent~master~I4c4207b15fb3d48b55e340b7b3b54af833f92cb5","project":"openstack/ironic-python-agent","branch":"master","topic":"unavailable","attention_set":{},"removed_from_attention_set":{"10342":{"account":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"last_update":"2023-12-13 16:35:08.000000000","reason":"\u003cGERRIT_ACCOUNT_10342\u003e replied on the change","reason_account":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"}},"11655":{"account":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"last_update":"2023-12-13 16:35:18.000000000","reason":"\u003cGERRIT_ACCOUNT_11655\u003e replied on the change","reason_account":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"}},"10239":{"account":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"last_update":"2023-12-13 19:31:26.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I4c4207b15fb3d48b55e340b7b3b54af833f92cb5","subject":"Add a jitter to heartbeat retries","status":"MERGED","created":"2023-10-02 15:41:16.000000000","updated":"2023-12-13 19:32:29.000000000","submitted":"2023-12-13 19:31:26.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":4,"unresolved_comment_count":1,"has_review_started":true,"submission_id":"897055-unavailable","meta_rev_id":"83cdbdcc37e61a1778efb84d393a00099a4453ec","_number":897055,"virtual_id_number":897055,"owner":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"value":0,"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2023-12-13 19:31:25.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"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":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"all":[{"value":2,"date":"2023-12-13 16:35:08.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"value":2,"date":"2023-12-13 16:35:18.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"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":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"all":[{"value":1,"date":"2023-12-13 16:35:08.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"value":0,"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true},"Backport-Candidate":{"all":[{"value":0,"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"value":0,"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},{"value":0,"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"}],"values":{"-1":"Do Not Backport"," 0":"Backport Review Needed","+1":"Should Backport"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2023-10-02 16:17:25.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":"CC"},{"updated":"2023-10-02 18:01:00.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":"2023-10-09 19:19:05.000000000","updated_by":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"reviewer":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"state":"CC"},{"updated":"2023-12-13 15:30:36.000000000","updated_by":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"reviewer":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"state":"REVIEWER"},{"updated":"2023-12-13 16:27:13.000000000","updated_by":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"reviewer":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"state":"REVIEWER"}],"messages":[{"id":"a4fdaaea7d01ab2d24247b15fc5d7a7c22006b96","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2023-10-02 15:41:16.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"4ffd5686b0916e2ba4f2862cebce83b287730ccf","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-10-02 16:17:25.000000000","message":"Patch Set 1:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/b4820f7d5932411db019be2a783e79cb\n\n- openstack-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/2337ea585f2b4173a3066fe91bb9fba5 : SUCCESS in 6m 24s (non-voting)\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/469659f47c2e4e8e88f8afedb104ca00 : SUCCESS in 7m 52s (non-voting)\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/3bfa4883410b44afacff2dc0ed392d16 : SUCCESS in 8m 01s (non-voting)\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/6d4d4906afe540e9a9ea856c40f069fe : SUCCESS in 8m 31s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"010ef7972746e7711c2ae072b0f2d7ff2d8a4b5b","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2023-10-02 16:36:53.000000000","message":"Patch Set 1: Workflow-1","accounts_in_message":[],"_revision_number":1},{"id":"4aca801916e7665c58cb1e5e8c1f96717fea5730","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-10-02 18:01:00.000000000","message":"Patch Set 1: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\nhttps://zuul.opendev.org/t/openstack/buildset/c4a92cdefb8b4bda81c81fcb26e5d075\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/5fe4707d690148a8ae68c44c15b70cb4 : SUCCESS in 4m 02s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/dd27231be2a74e65ad8ba3e453dbedc3 : SUCCESS in 3m 50s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/3cdf2fa983e74a8bac0e79137e6e7161 : SUCCESS in 4m 20s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/7e01ab912913470c821b86548a0656bc : SUCCESS in 4m 05s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/7b65608993564879be372f2c1afd10a9 : SUCCESS in 4m 27s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/7660fb15fcff4404bff61d116e9b24d0 : SUCCESS in 3m 56s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/02001411e14d49ca90194341d25fa0ee : SUCCESS in 6m 26s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/bcbc69d4a8c54ef1a9021645ca40f096 : SUCCESS in 3m 23s\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/f190cbcb55b54bc8ac604ec25e32eeee : SUCCESS in 3m 54s\n- ipa-tox-examples https://zuul.opendev.org/t/openstack/build/fb1842bade204d8ab4e74c76f1f93ebc : SUCCESS in 3m 54s\n- ipa-tempest-bios-ipmi-direct-src https://zuul.opendev.org/t/openstack/build/353ee2b480cb4c74a64495f4208901f8 : FAILURE in 36m 42s\n- ipa-tempest-uefi-redfish-vmedia-src https://zuul.opendev.org/t/openstack/build/e0716cca0f6e4dbea6f954d611623586 : SUCCESS in 1h 12m 18s\n- metalsmith-integration-ipa-src-uefi https://zuul.opendev.org/t/openstack/build/253084e0fdf94c2d8cde389719cae818 : SUCCESS in 2h 11m 30s\n- metalsmith-integration-ipa-src-legacy https://zuul.opendev.org/t/openstack/build/cb09ad0b19264cfebb4b905a5bcf4a02 : SUCCESS in 1h 11m 04s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/5a2aeb585060461eaf2bdf2c621dd492 : SUCCESS in 1h 06m 17s\n- ironic-python-agent-check-image-tinyipa https://zuul.opendev.org/t/openstack/build/0e3d8097374e463cbe2bdb786eaefefb : SUCCESS in 22m 43s (non-voting)\n- ironic-python-agent-check-image-dib-centos9 https://zuul.opendev.org/t/openstack/build/a5048c50bd8944788347169e9ae87f74 : SUCCESS in 18m 21s (non-voting)\n- ipa-tempest-ironic-inspector-src https://zuul.opendev.org/t/openstack/build/2f0632a7dfb14d9c993b5e64f59e7209 : SUCCESS in 1h 42m 54s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"17234fa8cf982e697522532100a9dbbe7a07ce3f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2023-10-05 07:23:54.000000000","message":"Uploaded patch set 2.\n\nOutdated Votes:\n* Verified-1\n* Workflow-1\n","accounts_in_message":[],"_revision_number":2},{"id":"383c34137033618b4623b9ecf51c9a4de0d1ae26","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-10-05 07:32:45.000000000","message":"Patch Set 2:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a750f781667d4787a4fdde50b774f669\n\n- openstack-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/6e9bf88722ef41fc99045a7ebc21fa98 : FAILURE in 6m 18s (non-voting)\n- openstack-tox-py39-arm64 https://zuul.opendev.org/t/openstack/build/5fc41c8b4d04434887b59f17785d962e : FAILURE in 7m 23s (non-voting)\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/98f054964a454b538a2312a0072777e4 : FAILURE in 7m 12s (non-voting)\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/3b9b3543751d459e9658bf3529b485e5 : FAILURE in 7m 04s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"30ba6d69bf22fa3b480f00f957b050cc4bd5b89a","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-10-05 10:05:28.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\n\nhttps://zuul.opendev.org/t/openstack/buildset/d22553363cb94d6f9140d15f9ed082f0\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/b02b59522a5c4fc287ee349b8d4100e1 : FAILURE in 3m 53s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/baf8d2e186944c5c86bd4b409c0c3778 : SUCCESS in 3m 19s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/4518596c12be456daa9a451e1d682eed : FAILURE in 3m 55s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/e32164283c1847d992432193f9a9a076 : FAILURE in 4m 01s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/e7afb5fd77a9465b829d56b93435bfc2 : FAILURE in 3m 54s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/276734f130cc4a32875d8fd7f360aae7 : FAILURE in 4m 11s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/7d953fe13b8c4bfb94c2e794df103f95 : SUCCESS in 5m 30s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/a2df7d359cfe4b5b98c1a356edbc75d9 : SUCCESS in 3m 55s\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/262adf8e2aa5435ebca4b8bee47be45b : SUCCESS in 3m 53s\n- ipa-tox-examples https://zuul.opendev.org/t/openstack/build/72e7d0aa388c491fb286b53f6ac87fef : SUCCESS in 3m 53s\n- ipa-tempest-bios-ipmi-direct-src https://zuul.opendev.org/t/openstack/build/ffa1fdc35e4043e6b7aa0b02593d95f6 : SUCCESS in 1h 17m 30s\n- ipa-tempest-uefi-redfish-vmedia-src https://zuul.opendev.org/t/openstack/build/0ee06d35546946a79409371aa9f64c11 : SUCCESS in 1h 38m 24s\n- metalsmith-integration-ipa-src-uefi https://zuul.opendev.org/t/openstack/build/524b6432c7f240d1acd6c1fd75054783 : SUCCESS in 1h 34m 42s\n- metalsmith-integration-ipa-src-legacy https://zuul.opendev.org/t/openstack/build/8ba8aba61bb14698a564fdcf352ade53 : SUCCESS in 1h 24m 25s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/634406cba4464881b21533733b0934ef : SUCCESS in 1h 17m 17s\n- ironic-python-agent-check-image-tinyipa https://zuul.opendev.org/t/openstack/build/47fd9018807e4d9eb90cf077b2e17039 : SUCCESS in 17m 34s (non-voting)\n- ironic-python-agent-check-image-dib-centos9 https://zuul.opendev.org/t/openstack/build/c0449f83651b4dd5b84c85c2e82ae874 : SUCCESS in 8m 05s (non-voting)\n- ipa-tempest-ironic-inspector-src https://zuul.opendev.org/t/openstack/build/9e2957e6e9bc4ff7ac9dada4e253142f : SUCCESS in 2h 33m 54s (non-voting)","accounts_in_message":[],"_revision_number":2},{"id":"b70a1b27ada672d8e1a29a8bc915b23a541c3544","author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2023-10-09 19:19:05.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"c207111b19dc01e6593884791c208d83aab71f81","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2023-12-13 14:36:32.000000000","message":"Uploaded patch set 3.\n\nOutdated Votes:\n* Verified-1\n","accounts_in_message":[],"_revision_number":3},{"id":"d24d4cf6f12eaeecbaad774c2073cd9629427437","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-12-13 14:52:06.000000000","message":"Patch Set 3:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/98ccfb3778174f319e53726e50926790\n\n- openstack-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/7df83aad77184499a9fb417851befb98 : SUCCESS in 9m 06s (non-voting)\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/3ae18f318b504ad8a45ab226e2c74d90 : SUCCESS in 10m 06s (non-voting)\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/65039680a19d4701b266756b2aa3ed9c : SUCCESS in 8m 05s (non-voting)","accounts_in_message":[],"_revision_number":3},{"id":"f0808cceed7b3fc9597996fa336e5597ce8e7736","author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2023-12-13 15:30:36.000000000","message":"Patch Set 3: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"ca548855db3e63d2ab9da9b1d25529f73c167a3a","author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"date":"2023-12-13 16:27:13.000000000","message":"Patch Set 3: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":3},{"id":"dc8e8ffee407d8fa752476b3162db51d08a053b4","author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"date":"2023-12-13 16:29:22.000000000","message":"Patch Set 3: Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"492326612f9951fd81f6c2f1fd4fd4d5572ce066","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"date":"2023-12-13 16:34:34.000000000","message":"Uploaded patch set 4.\n\nOutdated Votes:\n* Code-Review+2 (copy condition: \"changekind:TRIVIAL_REBASE OR is:MIN\")\n* Workflow+1\n","accounts_in_message":[],"_revision_number":4},{"id":"87f1b02a91a5ce1b14c4e02b3c744bc2f4c8a8c3","author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"date":"2023-12-13 16:35:08.000000000","message":"Patch Set 4: Code-Review+2 Workflow+1\n\n(1 comment)","accounts_in_message":[],"_revision_number":4},{"id":"5ffe99f7331cfb5030e3c8d6229f9157e812ea71","author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"date":"2023-12-13 16:35:18.000000000","message":"Patch Set 4: Code-Review+2","accounts_in_message":[],"_revision_number":4},{"id":"653b517068bbe277b7d39694070502760b55555b","tag":"autogenerated:zuul:check-arm64","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-12-13 16:48:11.000000000","message":"Patch Set 4:\n\nBuild succeeded (ARM64 pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/1a4b97b1d57e4dd0ab8edb35990b8b68\n\n- openstack-tox-py38-arm64 https://zuul.opendev.org/t/openstack/build/28d36ec6b2fc4d598377cf714989107f : SUCCESS in 6m 46s (non-voting)\n- openstack-tox-py310-arm64 https://zuul.opendev.org/t/openstack/build/dc90016d6ad8407bb159b8b9daabca59 : SUCCESS in 4m 50s (non-voting)\n- openstack-tox-py311-arm64 https://zuul.opendev.org/t/openstack/build/8704243100ca456f9ca8554b955435c4 : SUCCESS in 10m 55s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"3127d1385bf0d5520d0e4d103b4e266f803ce5a5","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-12-13 18:13:23.000000000","message":"Patch Set 4: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/d960489cd84e46ebaa556170d940a8cd\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/6ebebe388e1f4c14ba19a957da162a37 : SUCCESS in 4m 38s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/c388f25000e34ddeb8ac0d88f3179dcf : SUCCESS in 3m 21s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/1f2f0db595fa473f983222e23d0d3501 : SUCCESS in 4m 13s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/5f1b28d434a349d8a081fee2b3d911a7 : SUCCESS in 4m 28s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/d31b8b0d8f2d43919790b3db3e7d57ff : SUCCESS in 6m 11s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/1e449c38fe264fe79cce344384901607 : SUCCESS in 3m 13s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/5f204890456b4ed29b694c4373c656f3 : SUCCESS in 3m 44s\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/8c3029c77a0b4e0e81a0067c79d7a91a : SUCCESS in 4m 32s\n- ipa-tox-examples https://zuul.opendev.org/t/openstack/build/5ae2265bcb7e4543afe3af170175f94c : SUCCESS in 3m 51s\n- ipa-tempest-bios-ipmi-direct-src https://zuul.opendev.org/t/openstack/build/aa27891c80f64f0b8156392b0d7a9464 : SUCCESS in 57m 40s\n- ipa-tempest-uefi-redfish-vmedia-src https://zuul.opendev.org/t/openstack/build/08d8320b36fe475492f79f3fae2bd602 : SUCCESS in 1h 01m 18s\n- metalsmith-integration-ipa-src-uefi https://zuul.opendev.org/t/openstack/build/0b2c396a2bb645c387adff67795723b8 : SUCCESS in 1h 13m 59s\n- metalsmith-integration-ipa-src-legacy https://zuul.opendev.org/t/openstack/build/9da2a70eadbc4d30a403031b1f175396 : SUCCESS in 1h 23m 08s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/a9fa291289ba4a28af5f2229f4b61f9b : SUCCESS in 1h 30m 26s\n- ironic-python-agent-check-image-tinyipa https://zuul.opendev.org/t/openstack/build/928724d6958f4aa2ade4895fe6f48e1e : SUCCESS in 16m 10s (non-voting)\n- ironic-python-agent-check-image-dib-centos9 https://zuul.opendev.org/t/openstack/build/b04e2742736a4fa48d62d62bc278c6f7 : SUCCESS in 7m 35s (non-voting)\n- ipa-tempest-ironic-inspector-src https://zuul.opendev.org/t/openstack/build/667bdbbb71bb4ccc95fe9e1642ef5d27 : SUCCESS in 1h 37m 33s (non-voting)","accounts_in_message":[],"_revision_number":4},{"id":"d1642a75db0ba9167b0b3baaa87c7f1287c2a00e","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-12-13 18:13:59.000000000","message":"Patch Set 4: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":4},{"id":"f886c96d73dfead60f700d3636eb5e933ea2d5ff","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-12-13 19:31:25.000000000","message":"Patch Set 4: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/8117ef7441e343e686996b7c31c4ce31\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/04d6c9a915e945188ae27f324d4ad9e1 : SUCCESS in 3m 45s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/05e4bfb05cbb47caaf2c7aec1cb55966 : SUCCESS in 5m 23s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/05d487b272774db29f72d25011caf703 : SUCCESS in 3m 52s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c00326adc347420f9cd2ba4f7f570797 : SUCCESS in 6m 12s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/baa2a2a355ec4286a03c4437165caae7 : SUCCESS in 3m 52s\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/fe5b6fd2a53349e4b7273e43a401b8c4 : SUCCESS in 3m 34s\n- ipa-tox-bandit https://zuul.opendev.org/t/openstack/build/628dca04fb7f41a1b36a1ff8a558289c : SUCCESS in 3m 33s\n- ipa-tox-examples https://zuul.opendev.org/t/openstack/build/ea944f1405294958bcd06b9e07115208 : SUCCESS in 3m 14s\n- ipa-tempest-bios-ipmi-direct-src https://zuul.opendev.org/t/openstack/build/6b7c45f83a584c0c8b9abd82f6e54944 : SUCCESS in 46m 16s\n- ipa-tempest-uefi-redfish-vmedia-src https://zuul.opendev.org/t/openstack/build/94d21015ddad44a0b7e3b79a9820cf35 : SUCCESS in 1h 07m 02s\n- metalsmith-integration-ipa-src-uefi https://zuul.opendev.org/t/openstack/build/e39eb0e0f4ec46a986274c7e4cf481d8 : SUCCESS in 1h 16m 09s\n- metalsmith-integration-ipa-src-legacy https://zuul.opendev.org/t/openstack/build/24b07f9828da4a8699e51987e5981f15 : SUCCESS in 1h 09m 29s\n- ironic-standalone-ipa-src https://zuul.opendev.org/t/openstack/build/dcb8fe4125ba4e96bfabc68eec058573 : SUCCESS in 1h 10m 21s","accounts_in_message":[],"_revision_number":4},{"id":"5a974111f3dde7d627181df80f6ab4740998b253","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-12-13 19:31:26.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":4},{"id":"83cdbdcc37e61a1778efb84d393a00099a4453ec","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2023-12-13 19:32:29.000000000","message":"Patch Set 4:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/dd0689dd4fc0456c851d75cb65fc479d\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/966a39220b70454cb9496b4bbacc6da2 : SUCCESS in 46s\n- promote-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/38164f22924341308bdf289ef07e148a : SUCCESS in 35s","accounts_in_message":[],"_revision_number":4}],"current_revision_number":4,"current_revision":"2ab83646495e993940d14ec368c703854e6fb7f6","revisions":{"287892d90c2b10ad64ed9328039bcb39cbaf5d51":{"kind":"REWORK","_number":1,"created":"2023-10-02 15:41:16.000000000","uploader":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"ref":"refs/changes/55/897055/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/55/897055/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/55/897055/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/55/897055/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/55/897055/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/55/897055/1"}}},"commit":{"parents":[{"commit":"23c8427224b85cc960cbed17071e8e895401b6fa","subject":"Merge \"Extend the lookup timeout to 600 seconds\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/23c8427224b85cc960cbed17071e8e895401b6fa"}]}],"author":{"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","date":"2023-10-02 15:32:46.000000000","tz":120},"committer":{"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","date":"2023-10-02 15:41:07.000000000","tz":120},"subject":"[WIP] Delay heartbeat after a failure and handle Unavailable","message":"[WIP] Delay heartbeat after a failure and handle Unavailable\n\nThis change improves heartbeat behavior when Ironic is under load.\nCurrently, if heartbeat fails, we reschedule it immediately.\nThis is not productive in case of a conflict or a temporary failure.\nMake sure we wait 5 seconds, handling the error case the same way\nas forced heartbeats.\n\nChange-Id: I4c4207b15fb3d48b55e340b7b3b54af833f92cb5\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/287892d90c2b10ad64ed9328039bcb39cbaf5d51"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/287892d90c2b10ad64ed9328039bcb39cbaf5d51"}]},"branch":"refs/heads/master"},"e74d87e3aa9b1d5dd89563a768e560689ec08e60":{"kind":"REWORK","_number":2,"created":"2023-10-05 07:23:54.000000000","uploader":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"ref":"refs/changes/55/897055/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/55/897055/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/55/897055/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/55/897055/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/55/897055/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/55/897055/2"}}},"commit":{"parents":[{"commit":"23c8427224b85cc960cbed17071e8e895401b6fa","subject":"Merge \"Extend the lookup timeout to 600 seconds\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/23c8427224b85cc960cbed17071e8e895401b6fa"}]}],"author":{"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","date":"2023-10-02 15:32:46.000000000","tz":120},"committer":{"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","date":"2023-10-05 07:22:58.000000000","tz":120},"subject":"[WIP] Delay heartbeat after a failure and handle Unavailable","message":"[WIP] Delay heartbeat after a failure and handle Unavailable\n\nThis change improves heartbeat behavior when Ironic is under load.\n\nCurrently, if heartbeat fails, we reschedule it after 5 seconds.\nThis is fine for the first retry, but it can cause a thundering herd\nproblem when a lot of nodes fail to heartbeat at once.\n\nThis change adds jitter to the minimum wait of 5 seconds and switches\nto retrying after a full interval on the 2nd instance of Unavailable.\n\nCloses-Bug: #2038438\nChange-Id: I4c4207b15fb3d48b55e340b7b3b54af833f92cb5\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/e74d87e3aa9b1d5dd89563a768e560689ec08e60"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/e74d87e3aa9b1d5dd89563a768e560689ec08e60"}]},"branch":"refs/heads/master"},"1e771fa9f34040e1b1af2b1e1f05c56ab90a9314":{"kind":"REWORK","_number":3,"created":"2023-12-13 14:36:32.000000000","uploader":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"ref":"refs/changes/55/897055/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/55/897055/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/55/897055/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/55/897055/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/55/897055/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/55/897055/3"}}},"commit":{"parents":[{"commit":"62041d6d9e3b029d522b1c21cfdcf4270835ac46","subject":"Merge \"Fix referencing to the raid_device var which is not set\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/62041d6d9e3b029d522b1c21cfdcf4270835ac46"}]}],"author":{"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","date":"2023-10-02 15:32:46.000000000","tz":120},"committer":{"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","date":"2023-12-13 14:35:00.000000000","tz":60},"subject":"Add a jitter to heartbeat retries","message":"Add a jitter to heartbeat retries\n\nCurrently, if heartbeat fails, we reschedule it after 5 seconds.\nThis is fine for the first retry, but it can cause a thundering herd\nproblem when a lot of nodes fail to heartbeat at once.\n\nThis change adds jitter to the minimum wait of 5 seconds. The jitter is\nnot applied for forced heartbeats: they still have a minimum wait of\nexactly 5 seconds from the last heartbeat.\n\nThe code is re-ordered to move the interval calculation to one place.\nBonus: correctly logging the next interval.\n\nThe unit tests have been rewritten to test the heartbeat process step by\nstep and not rely on the exact sequence of the calls.\n\nCloses-Bug: #2038438\nChange-Id: I4c4207b15fb3d48b55e340b7b3b54af833f92cb5\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/1e771fa9f34040e1b1af2b1e1f05c56ab90a9314"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/1e771fa9f34040e1b1af2b1e1f05c56ab90a9314"}]},"branch":"refs/heads/master"},"2ab83646495e993940d14ec368c703854e6fb7f6":{"kind":"REWORK","_number":4,"created":"2023-12-13 16:34:34.000000000","uploader":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"ref":"refs/changes/55/897055/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/ironic-python-agent","ref":"refs/changes/55/897055/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/55/897055/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/55/897055/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/ironic-python-agent refs/changes/55/897055/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/ironic-python-agent refs/changes/55/897055/4"}}},"commit":{"parents":[{"commit":"62041d6d9e3b029d522b1c21cfdcf4270835ac46","subject":"Merge \"Fix referencing to the raid_device var which is not set\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/62041d6d9e3b029d522b1c21cfdcf4270835ac46"}]}],"author":{"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","date":"2023-10-02 15:32:46.000000000","tz":120},"committer":{"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","date":"2023-12-13 16:34:24.000000000","tz":60},"subject":"Add a jitter to heartbeat retries","message":"Add a jitter to heartbeat retries\n\nCurrently, if heartbeat fails, we reschedule it after 5 seconds.\nThis is fine for the first retry, but it can cause a thundering herd\nproblem when a lot of nodes fail to heartbeat at once.\n\nThis change adds jitter to the minimum wait of 5 seconds. The jitter is\nnot applied for forced heartbeats: they still have a minimum wait of\nexactly 5 seconds from the last heartbeat.\n\nThe code is re-ordered to move the interval calculation to one place.\nBonus: correctly logging the next interval.\n\nThe unit tests have been rewritten to test the heartbeat process step by\nstep and not rely on the exact sequence of the calls.\n\nCloses-Bug: #2038438\nChange-Id: I4c4207b15fb3d48b55e340b7b3b54af833f92cb5\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/2ab83646495e993940d14ec368c703854e6fb7f6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/ironic-python-agent/commit/2ab83646495e993940d14ec368c703854e6fb7f6"}]},"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":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"}},{"label":"Backport-Candidate","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":"Backport-Candidate","description":"Backport candidate status","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"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":"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":{}}}]}
