)]}'
{"id":"openstack%2Fcyborg~983817","triplet_id":"openstack%2Fcyborg~stable%2F2026.1~I52f1a785f3b12d3ae9b3272c75cafaa16370873d","project":"openstack/cyborg","branch":"stable/2026.1","attention_set":{},"removed_from_attention_set":{"12393":{"account":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"last_update":"2026-04-09 17:06:42.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"I52f1a785f3b12d3ae9b3272c75cafaa16370873d","subject":"Add Grenade upgrade support for Cyborg","status":"MERGED","created":"2026-04-09 05:18:40.000000000","updated":"2026-04-09 17:09:32.000000000","submitted":"2026-04-09 17:06:42.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"983817","meta_rev_id":"51b250ae517c21fc45026e7b9bb63f1124f333a5","_number":983817,"virtual_id_number":983817,"owner":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2026-04-09 17:06:42.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"all":[{"value":2,"date":"2026-04-09 16:02:04.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"all":[{"value":1,"date":"2026-04-09 16:02:04.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-04-09 06:18:33.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-04-09 16:02:04.000000000","updated_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"reviewer":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"state":"REVIEWER"}],"messages":[{"id":"a221a1ffb8028a5246d13affd41f39f441e5bcd3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-04-09 05:18:40.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"23e4652473af1e95aadf256a7c280765d88d5d67","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-09 06:18:33.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/dcdc84ece3cf498baa2f9f392981cb61\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/83159c2b8db34ef8b0e48a8aeeb63efc : SUCCESS in 5m 48s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/e89e7612d331410da44575c89079e52c : SUCCESS in 7m 55s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/25c0a6a271a64020b4b43fb36abbe8bc : SUCCESS in 2m 12s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/464b03495aa34eb1b8517ef35af5a821 : SUCCESS in 3m 39s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/b174c6c677984702a6b72fed40d82f5c : SUCCESS in 3m 35s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/1061945527964b77aec8525885e9b4ab : SUCCESS in 29m 58s\n- cyborg-tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/206cec1ffd3446d98dd271decbcb9239 : SUCCESS in 28m 53s (non-voting)\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/5d288b52c5b64c3c9faa2465a2ef0bd5 : SUCCESS in 28m 10s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/420a50ed067f4eebb073f9d1f617d97d : SUCCESS in 54m 04s","accounts_in_message":[],"_revision_number":1},{"id":"bf0a63b569549f43a86f90c5f6e3f0fcf7cecf75","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-04-09 16:02:04.000000000","message":"Patch Set 1: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":1},{"id":"e4596e89f9b4ed2ce6b2a6d05611a7c158b74904","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-09 16:03:31.000000000","message":"Patch Set 1: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":1},{"id":"90fba9fcd1ecdd04526baa6996394eae1fac761d","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-09 17:06:42.000000000","message":"Patch Set 1: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/3e96edc9a97841729f16a4fdedef5b27\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/1ddae6c651404b52b65dc61470293d4b : SUCCESS in 7m 13s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/ef1f3f3f782a46de9a514198cddca64f : SUCCESS in 3m 06s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/5683976615c947c8972da7e625c714ed : SUCCESS in 2m 47s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/5d286966918c45c785b994f35b39f023 : SUCCESS in 3m 51s\n- cyborg-tempest https://zuul.opendev.org/t/openstack/build/8b07bd1a91354ba8bcc68c7e5f7b9a39 : SUCCESS in 29m 48s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/86700847f30c4baf8e3aa03e1947e093 : SUCCESS in 58m 08s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/b9566bba814c4495a61ed8607d7e85a4 : SUCCESS in 32m 42s","accounts_in_message":[],"_revision_number":1},{"id":"5400e2da9b06897ae41e472e64106dec5d054c79","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-09 17:06:42.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":1},{"id":"51b250ae517c21fc45026e7b9bb63f1124f333a5","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-04-09 17:09:32.000000000","message":"Patch Set 1:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e86e0f21e98b4738b7366e7c688288da\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/79bc1674136546c08a9040913cbf46a6 : SUCCESS in 49s","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"ee92e491b3a105bea1f80d82bd45e1e28c73f42b","revisions":{"ee92e491b3a105bea1f80d82bd45e1e28c73f42b":{"kind":"REWORK","_number":1,"created":"2026-04-09 05:18:40.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/17/983817/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/17/983817/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/17/983817/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/17/983817/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/17/983817/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/17/983817/1"}}},"commit":{"parents":[{"commit":"02be97ebdbbdc97285d81aeb7a3426193bcbc514","subject":"Fix check-cherry-picks.sh empty commit_hash argument","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/02be97ebdbbdc97285d81aeb7a3426193bcbc514"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-03-10 10:10:01.000000000","tz":0},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-04-09 05:17:59.000000000","tz":330},"subject":"Add Grenade upgrade support for Cyborg","message":"Add Grenade upgrade support for Cyborg\n\nIntroduce upgrade testing via OpenStack Grenade: deploy a base (older)\nrelease, run Cyborg with device profiles, then upgrade to the target\nrelease and verify existing resources and new API usage.\n\n- Add Zuul jobs: cyborg-grenade (N-1 to N) and\n  cyborg-grenade-skip-level-always (N-2 to N)\n- Add Grenade plugin integration: settings, resources.sh (create/verify/\n  destroy device profiles), upgrade.sh, shutdown.sh\n- Add README with setup and run instructions for local Grenade runs\n\nDepends-On: https://review.opendev.org/c/openstack/cyborg/+/980293\nDepends-On: https://review.opendev.org/c/openstack/cyborg/+/980294\nDepends-On: https://review.opendev.org/c/openstack/cyborg/+/981422\n\nAssisted-By: Cursor (claude-4.6-opus-high)\n\nChange-Id: I52f1a785f3b12d3ae9b3272c75cafaa16370873d\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\n(cherry picked from commit 3180769c52599ad5e72affd58c290fbff4d550d2)\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/ee92e491b3a105bea1f80d82bd45e1e28c73f42b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/ee92e491b3a105bea1f80d82bd45e1e28c73f42b"}]},"branch":"refs/heads/stable/2026.1"}},"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":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"}}]}],"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":"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":{}}}]}
