)]}'
{"id":"openstack%2Fneutron-lib~969953","triplet_id":"openstack%2Fneutron-lib~master~Iacfaa22901af83bd72f418892771224f185c42e7","project":"openstack/neutron-lib","branch":"master","topic":"bug/2133212","attention_set":{},"removed_from_attention_set":{"16688":{"account":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"last_update":"2025-12-09 14:26:46.000000000","reason":"\u003cGERRIT_ACCOUNT_16688\u003e replied on the change","reason_account":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"}},"11975":{"account":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"last_update":"2025-12-16 11:12:28.000000000","reason":"Change was submitted"}},"hashtags":[],"change_id":"Iacfaa22901af83bd72f418892771224f185c42e7","subject":"Service role is now considered as the one who can change project_id","status":"MERGED","created":"2025-12-05 15:25:21.000000000","updated":"2025-12-16 11:14:14.000000000","submitted":"2025-12-16 11:12:28.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":6,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"969953-bug/2133212","meta_rev_id":"4c76324b8f8fb4bcb0618e10130f0f2483d580d9","_number":969953,"virtual_id_number":969953,"owner":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},{"value":0,"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2025-12-16 11:12:28.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":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"all":[{"value":2,"date":"2025-12-10 13:03:15.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},{"value":2,"date":"2025-12-10 16:34:33.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"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":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"all":[{"value":0,"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},{"value":1,"date":"2025-12-10 16:34:33.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"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},"Review-Priority":{"all":[{"value":0,"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},{"value":0,"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"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":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-12-05 17:36:56.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":"2025-12-09 07:57:50.000000000","updated_by":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"reviewer":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"state":"REVIEWER"},{"updated":"2025-12-10 16:34:33.000000000","updated_by":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"reviewer":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"state":"REVIEWER"}],"messages":[{"id":"030503bc6babf99753b924a5b7ae3cd3ad2fb858","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"date":"2025-12-05 15:25:21.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"bc99a4705c3f5147a7caf8427f1a6ed9e108c137","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-05 17:36:56.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/59673a07062841b4886189c02f7ac0f3\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/f2a59b92f21c4f879e4f8963d8ecd220 : SUCCESS in 7m 02s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/cb0825528a284c0db520e6ce7f353bdf : SUCCESS in 2m 32s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4b055ad4fb954f66b00b89c05d81741c : SUCCESS in 3m 29s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/bd001a673f5a4a04903a4fce1aa8f894 : SUCCESS in 2m 41s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/d893e9f90fa349c0a486c6ff68160d22 : SUCCESS in 3m 59s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/b6ef823c962342fbb3294b0cb895414f : SUCCESS in 58m 12s\n- neutron-tempest-plugin-openvswitch https://zuul.opendev.org/t/openstack/build/89ab575bbee9414ea1fd3a829468d709 : SUCCESS in 1h 22m 41s\n- neutron-tempest-plugin-ovn https://zuul.opendev.org/t/openstack/build/31933d17d94f4aa9980cbeee7d2c51f8 : SUCCESS in 1h 53m 59s\n- neutron-tempest-plugin-designate-scenario https://zuul.opendev.org/t/openstack/build/2a9c9cefb7e94d1d8e21ec76fac13cae : SUCCESS in 33m 02s\n- openstack-tox-py312-with-neutron https://zuul.opendev.org/t/openstack/build/91351a32dd5548d2acc402a8ce9cb98d : SUCCESS in 31m 19s\n- openstack-tox-py312-with-sqlalchemy-master https://zuul.opendev.org/t/openstack/build/f1219b38bb7944fe8ef6dbdcb86e3984 : SUCCESS in 3m 37s\n- neutron-functional https://zuul.opendev.org/t/openstack/build/ee58f03fd2f543de8ed9e792fe767ba5 : SUCCESS in 2h 05m 00s","accounts_in_message":[],"_revision_number":1},{"id":"84af5402f815040dd62e081a35eb25425251e6a2","author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"date":"2025-12-09 07:57:50.000000000","message":"Patch Set 1: Code-Review-1\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"9c2377e385a94f311ed170aa41facc667a0cdef1","author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"date":"2025-12-09 09:27:20.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"74f3c737bae84f75167d55c2a2099c6fe0cef243","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"date":"2025-12-09 09:27:24.000000000","message":"Patch Set 2: Patch Set 1 was rebased\n\nCopied Votes:\n* Code-Review-1 (copy condition: \"**changekind:TRIVIAL_REBASE** OR is:MIN\")\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":2},{"id":"9169112710126ff9a32002a51a11a89e941ea8a2","author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"date":"2025-12-09 09:29:42.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"d3f900fa324d025a188ae495d48c6167a3c0b0ed","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-09 11:36:04.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/77b1cc8c36d946d9a6180eaa14d5560b\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/dfd17d58f1f54643ae9a1f2160873733 : SUCCESS in 7m 54s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/3235a393120142d7aeadcdd48670361b : SUCCESS in 2m 46s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/60018e280e734e6494030540947783a6 : SUCCESS in 6m 03s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/bb9e804846414515aa92acb99bf29b67 : SUCCESS in 3m 18s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/e5d159e76a13483a8c968a4f5d392f8c : SUCCESS in 6m 22s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/2bda66c843014b24be7f82215685f6f9 : SUCCESS in 1h 56m 47s\n- neutron-tempest-plugin-openvswitch https://zuul.opendev.org/t/openstack/build/b822c69c2c3841059306f275f99f3db2 : SUCCESS in 1h 23m 35s\n- neutron-tempest-plugin-ovn https://zuul.opendev.org/t/openstack/build/fb5b3581c57b4ca893982037bf4191a3 : SUCCESS in 1h 48m 42s\n- neutron-tempest-plugin-designate-scenario https://zuul.opendev.org/t/openstack/build/eb7854f23b384c5797682414247df3d6 : SUCCESS in 35m 25s\n- openstack-tox-py312-with-neutron https://zuul.opendev.org/t/openstack/build/e550fd67fe294c21b631c2cf02fd264e : SUCCESS in 22m 57s\n- openstack-tox-py312-with-sqlalchemy-master https://zuul.opendev.org/t/openstack/build/aa074e67122c4efb93f7917ab177103d : SUCCESS in 3m 38s\n- neutron-functional https://zuul.opendev.org/t/openstack/build/78dfeeb9be4c47be9322c89867ec0e8d : SUCCESS in 2h 03m 09s","accounts_in_message":[],"_revision_number":2},{"id":"a37b239a76d9bf03bf1a0507ed09aa4d0f51dd3d","author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"date":"2025-12-09 14:26:46.000000000","message":"Patch Set 2: Code-Review+2\n\n(2 comments)","accounts_in_message":[],"_revision_number":2},{"id":"15bd472e3bf81b788f1600f37c4295a2819c73d1","tag":"autogenerated:gerrit:setTopic","author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"date":"2025-12-09 14:27:05.000000000","message":"Topic set to bug/2133212","accounts_in_message":[],"_revision_number":2},{"id":"b2c4abb11876e690e7e58a1e33f0c43edc6f65ba","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"date":"2025-12-10 13:03:15.000000000","message":"Patch Set 3: Patch Set 2 was rebased\n\nCopied Votes:\n* Code-Review+2 (copy condition: \"**changekind:TRIVIAL_REBASE** OR is:MIN\")\n\nOutdated Votes:\n* Verified+1\n","accounts_in_message":[],"_revision_number":3},{"id":"7bb729d0fd5ad136b983d4c6137f9ee9918656e3","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-10 14:59:54.000000000","message":"Patch Set 3: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/31223ed13dbe4644b70ebf303c36e4f9\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/dfa0242de5334263b91c4a46e3d9c4bf : SUCCESS in 8m 24s\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/4f981d30a9034c6cb1de670dd8182c67 : SUCCESS in 4m 23s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/a2856adfec3d4541857ecbcbc701489b : SUCCESS in 5m 48s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/c57b477e858a4d28a2d1a8bba242e167 : SUCCESS in 3m 16s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/133b18ca421947deb39cbf3151e1d90c : SUCCESS in 5m 46s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/ad40268e210049bf92546480f6a822d4 : SUCCESS in 1h 51m 35s\n- neutron-tempest-plugin-openvswitch https://zuul.opendev.org/t/openstack/build/fa667758ad594df286c63f39e9e7923c : SUCCESS in 1h 21m 56s\n- neutron-tempest-plugin-ovn https://zuul.opendev.org/t/openstack/build/530c4541a1c140039c128c400aaa5468 : SUCCESS in 1h 42m 46s\n- neutron-tempest-plugin-designate-scenario https://zuul.opendev.org/t/openstack/build/2b68c9d274fa4a9fbdc95519736610b8 : SUCCESS in 34m 11s\n- openstack-tox-py312-with-neutron https://zuul.opendev.org/t/openstack/build/d1d3e4f3548d49b88fc628d5c906a112 : SUCCESS in 29m 49s\n- openstack-tox-py312-with-sqlalchemy-master https://zuul.opendev.org/t/openstack/build/3f4044257ed14ffb91c3ff0d14f7ca9e : SUCCESS in 5m 32s\n- neutron-functional https://zuul.opendev.org/t/openstack/build/2a01eba9dced43448b86068feca423fd : SUCCESS in 1h 52m 18s","accounts_in_message":[],"_revision_number":3},{"id":"b0c61d76b2f8d7c7669d99134a3d57bbb0bcba7d","author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"date":"2025-12-10 16:34:33.000000000","message":"Patch Set 3: Code-Review+2 Workflow+1","accounts_in_message":[],"_revision_number":3},{"id":"76b7773a10fe1a4fae53865c1c46b9306cc10fb3","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-16 09:07:21.000000000","message":"Patch Set 3: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":3},{"id":"c6b57d239e208b73d5ce0dc1da5d35e99b31047e","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-16 11:12:28.000000000","message":"Patch Set 3: Verified+2\n\nBuild succeeded (gate pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/5cc61c1eb1254d5cab54a998c886b9a0\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/66cd6641560243e98feefa49052b5527 : SUCCESS in 4m 28s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/54f692b13be7449ebdc6b1dd88bcaf99 : SUCCESS in 7m 34s\n- openstack-tox-py310 https://zuul.opendev.org/t/openstack/build/8f1c030b285d4fc6be620ba9f3f3589e : SUCCESS in 3m 13s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/d359b86435274c689898e4cddbdc3457 : SUCCESS in 9m 27s\n- tempest-full-py3 https://zuul.opendev.org/t/openstack/build/38c7422847954bb0ab4ca27b43eba160 : SUCCESS in 1h 44m 06s\n- neutron-tempest-plugin-openvswitch https://zuul.opendev.org/t/openstack/build/b051112485124bf5b691ee979e5bb982 : SUCCESS in 1h 38m 01s\n- neutron-tempest-plugin-ovn https://zuul.opendev.org/t/openstack/build/95b8b18aa0ce4933af7e8cbc465d064b : SUCCESS in 2h 01m 05s\n- neutron-functional https://zuul.opendev.org/t/openstack/build/f9d5ff9c22724e1fb6fb581e443ca96b : SUCCESS in 1h 00m 47s","accounts_in_message":[],"_revision_number":3},{"id":"a7976302e22aa76928c74a553c14a80c55222678","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-16 11:12:28.000000000","message":"Change has been successfully merged","accounts_in_message":[],"_revision_number":3},{"id":"4c76324b8f8fb4bcb0618e10130f0f2483d580d9","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2025-12-16 11:14:14.000000000","message":"Patch Set 3:\n\nBuild succeeded (promote pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/0923dbd1aced466e882a9d1ccb9c853e\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/c11b1b5b91054b888c58c56d16745664 : SUCCESS in 42s","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"15d8373ec47a57bd0f6633ae1c78b66bae1a0444","revisions":{"64cd82cdb62cf9218bf1941d14914d84f3828b71":{"kind":"REWORK","_number":1,"created":"2025-12-05 15:25:21.000000000","uploader":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"ref":"refs/changes/53/969953/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/neutron-lib","ref":"refs/changes/53/969953/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/neutron-lib refs/changes/53/969953/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/neutron-lib refs/changes/53/969953/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/neutron-lib refs/changes/53/969953/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/neutron-lib refs/changes/53/969953/1"}}},"commit":{"parents":[{"commit":"8aac3c44e82bd5424132c5900fcd37a7ed3ec3b7","subject":"Deprecate \"is_advsvc\" attribute in the Context object","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/neutron-lib/commit/8aac3c44e82bd5424132c5900fcd37a7ed3ec3b7"}]}],"author":{"name":"Slawek Kaplonski","email":"skaplons@redhat.com","date":"2025-12-05 15:24:51.000000000","tz":60},"committer":{"name":"Slawek Kaplonski","email":"skaplons@redhat.com","date":"2025-12-05 15:24:59.000000000","tz":60},"subject":"Service role is now considered as the one who can change project_id","message":"Service role is now considered as the one who can change project_id\n\nPreviously with [1] new property \"can_set_project_id\" was added to the\ncontext.Context object but it was only True for the admin users\n(is_admin\u003dTrue) and if \"_can_set_project_id\" parameter was True\n(configured via policy rules or passed directly to the __init__ method.\n\nIt had to be like that because \"_is_service_role\" wasn\u0027t defined properly\nin the __init__ method and context.Context object wasn\u0027t able to be\ncreated with \"self.is_service_role\" used in the \"can_set_project_id\"\nproperty.\nDue to that in the neutron_lib.api.attributes._validate_privileges\nfunction it had to be explicitly checked if context is service role.\n\nNow, as _is_service_role is defined properly in the\ncontext.Context.__init__ method, it can be checked in the\n\"can_set_project_id\" property and\nneutron_lib.api.attributes._validate_privileges function can only check\nif Context.can_set_project_id \u003d\u003d True to allow changing project_id of\nthe resource.\n\n[1] https://review.opendev.org/c/openstack/neutron-lib/+/969481\n\nRelated-bug: #2133212\n\nChange-Id: Iacfaa22901af83bd72f418892771224f185c42e7\nSigned-off-by: Slawek Kaplonski \u003cskaplons@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/neutron-lib/commit/64cd82cdb62cf9218bf1941d14914d84f3828b71"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/neutron-lib/commit/64cd82cdb62cf9218bf1941d14914d84f3828b71"}]},"branch":"refs/heads/master"},"f5b59edf45a50646507e545d4eca16fe6baf2ca9":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2025-12-09 09:27:24.000000000","uploader":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"ref":"refs/changes/53/969953/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/neutron-lib","ref":"refs/changes/53/969953/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/neutron-lib refs/changes/53/969953/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/neutron-lib refs/changes/53/969953/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/neutron-lib refs/changes/53/969953/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/neutron-lib refs/changes/53/969953/2"}}},"commit":{"parents":[{"commit":"a3d6b79f35025682a1daa6339acab64cea0cd79a","subject":"Deprecate \"is_advsvc\" attribute in the Context object","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/neutron-lib/commit/a3d6b79f35025682a1daa6339acab64cea0cd79a"}]}],"author":{"name":"Slawek Kaplonski","email":"skaplons@redhat.com","date":"2025-12-05 15:24:51.000000000","tz":60},"committer":{"name":"Slawek Kaplonski","email":"skaplons@redhat.com","date":"2025-12-09 09:27:24.000000000","tz":0},"subject":"Service role is now considered as the one who can change project_id","message":"Service role is now considered as the one who can change project_id\n\nPreviously with [1] new property \"can_set_project_id\" was added to the\ncontext.Context object but it was only True for the admin users\n(is_admin\u003dTrue) and if \"_can_set_project_id\" parameter was True\n(configured via policy rules or passed directly to the __init__ method.\n\nIt had to be like that because \"_is_service_role\" wasn\u0027t defined properly\nin the __init__ method and context.Context object wasn\u0027t able to be\ncreated with \"self.is_service_role\" used in the \"can_set_project_id\"\nproperty.\nDue to that in the neutron_lib.api.attributes._validate_privileges\nfunction it had to be explicitly checked if context is service role.\n\nNow, as _is_service_role is defined properly in the\ncontext.Context.__init__ method, it can be checked in the\n\"can_set_project_id\" property and\nneutron_lib.api.attributes._validate_privileges function can only check\nif Context.can_set_project_id \u003d\u003d True to allow changing project_id of\nthe resource.\n\n[1] https://review.opendev.org/c/openstack/neutron-lib/+/969481\n\nRelated-bug: #2133212\n\nChange-Id: Iacfaa22901af83bd72f418892771224f185c42e7\nSigned-off-by: Slawek Kaplonski \u003cskaplons@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/neutron-lib/commit/f5b59edf45a50646507e545d4eca16fe6baf2ca9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/neutron-lib/commit/f5b59edf45a50646507e545d4eca16fe6baf2ca9"}]},"branch":"refs/heads/master","description":"Rebase"},"15d8373ec47a57bd0f6633ae1c78b66bae1a0444":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2025-12-10 13:03:15.000000000","uploader":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"ref":"refs/changes/53/969953/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/neutron-lib","ref":"refs/changes/53/969953/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/neutron-lib refs/changes/53/969953/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/neutron-lib refs/changes/53/969953/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/neutron-lib refs/changes/53/969953/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/neutron-lib refs/changes/53/969953/3"}}},"commit":{"parents":[{"commit":"b5272aabdabb1776e67dac6f517c2c52331ac293","subject":"Deprecate \"is_advsvc\" attribute in the Context object","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/neutron-lib/commit/b5272aabdabb1776e67dac6f517c2c52331ac293"}]}],"author":{"name":"Slawek Kaplonski","email":"skaplons@redhat.com","date":"2025-12-05 15:24:51.000000000","tz":60},"committer":{"name":"Slawek Kaplonski","email":"skaplons@redhat.com","date":"2025-12-10 13:03:15.000000000","tz":0},"subject":"Service role is now considered as the one who can change project_id","message":"Service role is now considered as the one who can change project_id\n\nPreviously with [1] new property \"can_set_project_id\" was added to the\ncontext.Context object but it was only True for the admin users\n(is_admin\u003dTrue) and if \"_can_set_project_id\" parameter was True\n(configured via policy rules or passed directly to the __init__ method.\n\nIt had to be like that because \"_is_service_role\" wasn\u0027t defined properly\nin the __init__ method and context.Context object wasn\u0027t able to be\ncreated with \"self.is_service_role\" used in the \"can_set_project_id\"\nproperty.\nDue to that in the neutron_lib.api.attributes._validate_privileges\nfunction it had to be explicitly checked if context is service role.\n\nNow, as _is_service_role is defined properly in the\ncontext.Context.__init__ method, it can be checked in the\n\"can_set_project_id\" property and\nneutron_lib.api.attributes._validate_privileges function can only check\nif Context.can_set_project_id \u003d\u003d True to allow changing project_id of\nthe resource.\n\n[1] https://review.opendev.org/c/openstack/neutron-lib/+/969481\n\nRelated-bug: #2133212\n\nChange-Id: Iacfaa22901af83bd72f418892771224f185c42e7\nSigned-off-by: Slawek Kaplonski \u003cskaplons@redhat.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/neutron-lib/commit/15d8373ec47a57bd0f6633ae1c78b66bae1a0444"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/neutron-lib/commit/15d8373ec47a57bd0f6633ae1c78b66bae1a0444"}]},"branch":"refs/heads/master","description":"Rebase"}},"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":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"}},{"label":"Workflow","status":"MAY","applied_by":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"}},{"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":{}}}]}
