)]}'
{"id":"openstack%2Fcyborg~1002255","triplet_id":"openstack%2Fcyborg~master~I3332d8460948e13ece7ecb274f8c7275ed96d888","project":"openstack/cyborg","branch":"master","attention_set":{"11604":{"account":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"last_update":"2026-08-25 10:50:20.000000000","reason":"Someone else replied on the change"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"I3332d8460948e13ece7ecb274f8c7275ed96d888","subject":"objects: Add remote accelerator inventory access","status":"NEW","created":"2026-08-25 10:49:43.000000000","updated":"2026-08-25 12:04:59.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"771a4a178a94793f66d8e5caec99d3b619345e2b","_number":1002255,"virtual_id_number":1002255,"owner":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2026-08-25 11:55:50.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":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_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":{"all":[{"_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":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-08-25 10:50:20.000000000","updated_by":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"reviewer":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"state":"CC"},{"updated":"2026-08-25 11:55:50.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"}],"messages":[{"id":"b4c0cf9673a438bbc4e5d279e325602055081290","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"date":"2026-08-25 10:49:43.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"c876775a90a48c26cb8ff14633ff5410b18a2723","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-08-25 10:50:20.000000000","message":"Patch Set 1:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":1},{"id":"bb81f12a54f26d1386cca8ffd6673d32407b3dd4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-25 11:55:50.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/f4858055762342bdaa4d7cfa63112383\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/48354776c29e4c55a350db22f82cf606 : SUCCESS in 4m 46s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c53c1680c92946c4afb5891915719a9a : SUCCESS in 4m 30s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/309cb0e5cd064dfd84ca4445a9488069 : SUCCESS in 7m 43s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a8822635fb9e4d6da9aee6b8b84fdec2 : SUCCESS in 4m 26s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/6b2e1c277c4e4933a5c50260af736427 : SUCCESS in 4m 25s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/cbc046fc90bf4f22bc423a287d951ae9 : SUCCESS in 4m 12s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/df827ae3cac14544b44cee7739255dd6 : SUCCESS in 6m 34s (non-voting)\n- openstack-tox-functional https://zuul.opendev.org/t/openstack/build/d0305422411246518df614155c12cffa : SUCCESS in 4m 11s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/be01e6ee7ba64324870eb5d09c313dc1 : SUCCESS in 43m 54s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/9191ddb3d45848b89eb3bba37ca7bd14 : SUCCESS in 47m 23s\n- cyborg-grenade https://zuul.opendev.org/t/openstack/build/2f2d5931e1214f6885328bac30ab020f : SUCCESS in 56m 48s\n- cyborg-grenade-skip-level-always https://zuul.opendev.org/t/openstack/build/e69ef0bf3d804fa495c94ab4f2bb203c : SUCCESS in 58m 31s\n- cyborg-tempest-srbac https://zuul.opendev.org/t/openstack/build/1c6da1974f534e978fcdbfe00ea026f3 : SUCCESS in 58m 14s","accounts_in_message":[],"_revision_number":1},{"id":"771a4a178a94793f66d8e5caec99d3b619345e2b","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-08-25 12:04:59.000000000","message":"Patch Set 1:\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/119f9d4fce4041db8d8f85c7e3025fb9\n\n- teim-code-review https://zuul.teim.app/t/main/build/fce9b24176184922ae3bb107d899f726 : SUCCESS in 20m 24s\n\nWarning:\n  This change makes agent-side accelerator inventory access depend on the conductor serving generic object indirection RPC (object_class_action_versions/object_action), introduced in the parent commit at ConductorManager.RPC_API_VERSION 1.1. That parent commit\u0027s own code comment states the constraint explicitly: \u0027The conductor must be upgraded before agents call remotable object methods introduced by the newer service version\u0027 (cyborg/cmd/agent.py, commit 0e4a932). A new agent running against an old (\u003c1.1) conductor will fail these remotable calls during reconciliation, yet no reno release note documents the new service ordering requirement. Impact: Operators performing a rolling upgrade who start new agents before upgrading conductors will see reconciliation fail with RPC errors (unsupported version / method not found) with no documented guidance that conductors must be upgraded first, making the failure harder to diagnose. Recommendation: Add a reno release note (e.g. releasenotes/notes/add-object-indirection-\u003chash\u003e.yaml) stating that cyborg-agent now performs accelerator inventory reads and attach-handle metadata updates through conductor object indirection, that conductor RPC API version 1.1 is required, and that conductors must be upgraded before agents during a rolling upgrade.","accounts_in_message":[],"_revision_number":1}],"current_revision_number":1,"current_revision":"b58879f15d88017b66a46facd15708ee68eb2fee","revisions":{"b58879f15d88017b66a46facd15708ee68eb2fee":{"kind":"REWORK","_number":1,"created":"2026-08-25 10:49:43.000000000","uploader":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"ref":"refs/changes/55/1002255/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg","ref":"refs/changes/55/1002255/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1002255/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1002255/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg refs/changes/55/1002255/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg refs/changes/55/1002255/1"}}},"commit":{"parents":[{"commit":"0e4a932d42805169e10160664727825706900777","subject":"objects: Add conductor indirection for OVOs","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/0e4a932d42805169e10160664727825706900777"}]}],"author":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-08-24 21:10:36.000000000","tz":0},"committer":{"name":"Sean Mooney","email":"work@seanmooney.info","date":"2026-08-25 10:43:08.000000000","tz":0},"subject":"objects: Add remote accelerator inventory access","message":"objects: Add remote accelerator inventory access\n\nAgent-side reconciliation needs authoritative resource identity and\nallocation state, but the agent must not access the Cyborg database\ndirectly.\n\nMake the required host device, control path, deployable, and attach\nhandle reads remotable through the generic object indirection API. Add a\ncanonical attach handle metadata update that locks the row and rejects\nstale topology, metadata, or allocation state. Keep this operation\npolicy-neutral so the caller remains responsible for deciding whether a\nmetadata change is valid.\n\nChange-Id: I3332d8460948e13ece7ecb274f8c7275ed96d888\nSigned-off-by: Sean Mooney \u003cwork@seanmooney.info\u003e\nAssisted-By: pi gpt-5.6-sol\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/b58879f15d88017b66a46facd15708ee68eb2fee"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg/commit/b58879f15d88017b66a46facd15708ee68eb2fee"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY"},{"label":"Workflow","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
