)]}'
{"id":"openstack%2Fglance~803776","triplet_id":"openstack%2Fglance~master~I89785ae04e7f66651a1b9673f7e5513c2eac10fc","project":"openstack/glance","branch":"master","topic":"bp/policy-refactor","hashtags":[],"change_id":"I89785ae04e7f66651a1b9673f7e5513c2eac10fc","subject":"Add check_is_image_mutable() legacy helper","status":"MERGED","created":"2021-08-06 15:53:55.000000000","updated":"2021-08-10 18:27:30.000000000","submitted":"2021-08-10 18:25:21.000000000","submitter":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"total_comment_count":4,"unresolved_comment_count":2,"has_review_started":true,"submission_id":"803776-bp/policy-refactor","meta_rev_id":"0ab2ecd6dab6e07e0b7bee12b07b07a430018cbd","_number":803776,"virtual_id_number":803776,"owner":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"actions":{},"labels":{"Verified":{"approved":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"value":0,"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":0,"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"tag":"autogenerated:zuul:gate","value":2,"date":"2021-08-10 18:25:21.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":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"all":[{"value":2,"date":"2021-08-10 16:57:45.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":2,"date":"2021-08-10 16:05:45.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"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":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"all":[{"value":1,"date":"2021-08-10 16:57:45.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":0,"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"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":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"value":0,"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"value":0,"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Top Priority / Holds Gate"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2021-08-06 16:59:09.000000000","updated_by":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"reviewer":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"state":"REVIEWER"},{"updated":"2021-08-06 17:19:05.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":"2021-08-07 00:27:27.000000000","updated_by":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"reviewer":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"state":"CC"},{"updated":"2021-08-10 15:27:15.000000000","updated_by":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"reviewer":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2021-08-10 16:05:45.000000000","updated_by":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"reviewer":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"state":"REVIEWER"}],"messages":[{"id":"cbb6b0f4efc22883c4eaec655fd53b3dfe213033","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-08-06 15:53:55.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"53f2e8e8855ee9e88f07031a398d2ea6382b5b24","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2021-08-06 16:59:09.000000000","message":"Patch Set 1: Code-Review+2\n\nLooks good and required.\nMay be FixMe or ToDo comment saying remove this once RBAC is supported fully will be good.","accounts_in_message":[],"_revision_number":1},{"id":"adce508372ae0bc94dafc6128990ec5543332f6f","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-08-06 17:19:05.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade https://zuul.opendev.org/t/openstack/build/439c0c7e13b64532a1ae65efedc5a315 : SUCCESS in 1h 03m 52s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/3e4bffbd3da94d1283577a015aa07133 : SUCCESS in 1h 19m 02s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/95e09f0a4bf14ede97cd505690c6049a : SUCCESS in 5m 33s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/522d5a1606164fd3ae866f2ab566e167 : SUCCESS in 6m 05s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/9cb4fe50fa69459abdae827a6f9efabe : SUCCESS in 6m 23s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/b3c40f90ab894501b7d9700138f540e2 : SUCCESS in 6m 12s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/6354a7a10fd14ccbb37a88a77098bff7 : SUCCESS in 7m 02s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/0084d1d0dd644a0ba043071a0fd5fbb0 : SUCCESS in 8m 47s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/555d75cbe33445cdaf85787c06d7c5ac : SUCCESS in 10m 41s\n- glance-tox-functional-py38-rbac-defaults https://zuul.opendev.org/t/openstack/build/de6503a281d844cb92c8204463246fb1 : SUCCESS in 8m 53s (non-voting)\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/24399deec3224309a25585a8eb2b6b1e : SUCCESS in 5m 39s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/4e6a8bed02f4454dbe7946e4727b02fd : SUCCESS in 1h 09m 13s (non-voting)\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/57700fdfa7c3467ba3ea9b577447fc49 : SUCCESS in 1h 09m 19s\n- tempest-integrated-storage-import-standalone https://zuul.opendev.org/t/openstack/build/8d4af83565f5474b98e5efebc2c157f5 : SUCCESS in 1h 07m 32s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/31ff31329882449bb88746a72a631bc6 : SUCCESS in 1h 12m 56s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/c3c418f221f14d179305ff644981612a : SUCCESS in 46m 21s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/3c9b06b819f84dc68d0a42dca6ce3b13 : SUCCESS in 1h 05m 04s\n- glance-secure-rbac-protection-functional https://zuul.opendev.org/t/openstack/build/3227016e394a4f568954a534f4ba0a7b : SUCCESS in 32m 24s","accounts_in_message":[],"_revision_number":1},{"id":"6c548dcfff8da5e9e2d2ba03b6b9069659776105","author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"date":"2021-08-07 00:27:27.000000000","message":"Patch Set 1:\n\n\u003e Patch Set 1: Code-Review+2\n\u003e \n\u003e Looks good and required.\n\u003e May be FixMe or ToDo comment saying remove this once RBAC is supported fully will be good.\n\nYeah I\u0027d like to see this, and another nitpick in the tests.","accounts_in_message":[],"_revision_number":1},{"id":"131ebbb797ef1fa97c0e802400d5e96e0bb08b41","author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"date":"2021-08-07 00:28:43.000000000","message":"Patch Set 1:\n\n(2 comments)","accounts_in_message":[],"_revision_number":1},{"id":"53454fbefc7bbc3465f79707ff40cbd6c7606b5c","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-08-10 14:46:37.000000000","message":"Patch Set 1:\n\n(1 comment)","accounts_in_message":[],"_revision_number":1},{"id":"8b4ab365360a1da0cef6bc89eeda316568c1ed4a","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"date":"2021-08-10 14:50:11.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"c3e45292d05d4cb722baaa877f69c71e645f1c2d","author":{"_account_id":9008,"name":"VMware NSX CI","username":"vmwareminesweeper","tags":["SERVICE_USER"]},"date":"2021-08-10 15:27:15.000000000","message":"Patch Set 2:\n\nBuild succeeded\n\n- dsvm-glance http://207.189.188.190/logs/803776/803776/2/check-not-vote/ext-glance-zuul/920db91 : SUCCESS in 36m 28s","accounts_in_message":[],"_revision_number":2},{"id":"5615adbe293626a22e02d717f3ffd07f3b69d2e5","author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"date":"2021-08-10 16:05:45.000000000","message":"Patch Set 2: Code-Review+2\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"3925ac9c96d601c61c949e12a60432b70df892ee","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-08-10 16:10:54.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\n\n- grenade https://zuul.opendev.org/t/openstack/build/099867522ea2482e982a49160af55829 : SUCCESS in 1h 01m 01s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/1a5582af5045421ba0c13d4cd6d90d08 : SUCCESS in 1h 08m 11s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/348caff67a2d4b2195cd4b5cad674678 : SUCCESS in 6m 01s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/3a7fe4fcd3e6401295f273aa50aeac95 : SUCCESS in 7m 32s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/5b7901bd6773431589059358e27c48a3 : SUCCESS in 6m 49s\n- openstack-tox-py39 https://zuul.opendev.org/t/openstack/build/6eb4a2a157c04f039daca59c03f4bb15 : SUCCESS in 7m 11s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/330ee3b05a9440258800f47ca5fbf0d4 : SUCCESS in 7m 51s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/f0c419b4c20a4ac5ad1eb310aed00b69 : SUCCESS in 9m 51s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/3cb8f1c70e434af0ab8a21a12be33da8 : SUCCESS in 10m 09s\n- glance-tox-functional-py38-rbac-defaults https://zuul.opendev.org/t/openstack/build/029c5fbff38c4f2a8c2033b84633f914 : SUCCESS in 9m 06s (non-voting)\n- glance-code-constants-check https://zuul.opendev.org/t/openstack/build/a32b15d6e6234538b6488e3506cf8506 : SUCCESS in 5m 35s\n- glance-ceph-thin-provisioning https://zuul.opendev.org/t/openstack/build/ebabb9b8b2f04979b4705e2244854230 : SUCCESS in 1h 05m 45s (non-voting)\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/7c9b45837813492ab358e1e1523951a0 : SUCCESS in 1h 05m 02s\n- tempest-integrated-storage-import-standalone https://zuul.opendev.org/t/openstack/build/99865206d17a4d739499cecf3415e5f3 : SUCCESS in 1h 00m 41s\n- glance-multistore-cinder-import https://zuul.opendev.org/t/openstack/build/d123f42e42d84b1f8edabbf0136474f1 : SUCCESS in 1h 17m 10s (non-voting)\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/ce300f143c5a4620a07fe5145e9801ed : SUCCESS in 49m 30s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/fb714e624a054a95a93b415f1f3c43fd : SUCCESS in 1h 03m 46s\n- glance-secure-rbac-protection-functional https://zuul.opendev.org/t/openstack/build/9d0f8848ae9046ca82fa14f5a5e4ca5a : SUCCESS in 34m 55s","accounts_in_message":[],"_revision_number":2},{"id":"1927e9f4f42eca99b20fb18859df114d3cc678a0","author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"date":"2021-08-10 16:57:45.000000000","message":"Patch Set 2: Code-Review+2 Workflow+1\n\nLooks perfect now!","accounts_in_message":[],"_revision_number":2},{"id":"5c0e9e04df88b53f4b041c434fc242eea6987a9c","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-08-10 16:58:42.000000000","message":"Patch Set 2: -Verified\n\nStarting gate jobs.","accounts_in_message":[],"_revision_number":2},{"id":"b9d76b2672fa5bb5fa11e4813d6307aa7179a864","tag":"autogenerated:zuul:gate","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-08-10 18:25:21.000000000","message":"Patch Set 2: Verified+2\n\nBuild succeeded (gate pipeline).\n\n- grenade https://zuul.opendev.org/t/openstack/build/a9a6c3415af14b4ea15b3bf9898b202c : SUCCESS in 1h 01m 44s\n- tempest-integrated-storage https://zuul.opendev.org/t/openstack/build/95470146e71645c9b219bfe9ac2df399 : SUCCESS in 1h 09m 34s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/109bd335ec914b6592480cd2a54eb8e0 : SUCCESS in 6m 14s\n- openstack-tox-py36 https://zuul.opendev.org/t/openstack/build/d699cc52b8ac42c4ae1b6fdf555fd8c2 : SUCCESS in 6m 58s\n- openstack-tox-py38 https://zuul.opendev.org/t/openstack/build/168f518d86604b2cb0d402e41a1b3272 : SUCCESS in 8m 16s\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/eeed19a8652c46e2bb4621889c1a120d : SUCCESS in 8m 01s\n- openstack-tox-functional-py36 https://zuul.opendev.org/t/openstack/build/850c1d7d1c8042cea719e96da87c38b4 : SUCCESS in 11m 17s\n- openstack-tox-functional-py38 https://zuul.opendev.org/t/openstack/build/34a5424e0e734a4387e7c0b9dda5b64e : SUCCESS in 9m 50s\n- tempest-integrated-storage-import https://zuul.opendev.org/t/openstack/build/bc87fb553f734b5c9733bc0774800cce : SUCCESS in 1h 12m 06s\n- tempest-integrated-storage-import-standalone https://zuul.opendev.org/t/openstack/build/1387ec5fd62140cd8caa6433a95c73a3 : SUCCESS in 1h 22m 40s\n- tempest-ipv6-only https://zuul.opendev.org/t/openstack/build/56f88b4264b7498994e13c0e53e470b3 : SUCCESS in 58m 24s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/2db53050ba854260b21b09fa9e6bcefb : SUCCESS in 1h 11m 26s\n- glance-secure-rbac-protection-functional https://zuul.opendev.org/t/openstack/build/4a3b1927f59046f3879b6a086e063c31 : SUCCESS in 36m 12s","accounts_in_message":[],"_revision_number":2},{"id":"fece0837737c279e48f0a1766c4f0ff6f2d8a51e","tag":"autogenerated:gerrit:merged","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-08-10 18:25:21.000000000","message":"Change has been successfully merged by Zuul","accounts_in_message":[],"_revision_number":2},{"id":"0ab2ecd6dab6e07e0b7bee12b07b07a430018cbd","tag":"autogenerated:zuul:promote","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2021-08-10 18:27:30.000000000","message":"Patch Set 2:\n\nBuild succeeded (promote pipeline).\n\n- promote-openstack-tox-docs https://zuul.opendev.org/t/openstack/build/066d0c7b87cf4e538b43fcb2bcda5b4d : SUCCESS in 1m 44s","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"39198f93f83d58ec67708e1a5bd35148faf7fe0f","revisions":{"bff5d342dc4dbc98b8385dd7ee9abdb9ec0c0ce7":{"kind":"REWORK","_number":1,"created":"2021-08-06 15:53:55.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/76/803776/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/76/803776/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/803776/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/803776/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/803776/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/76/803776/1"}}},"commit":{"parents":[{"commit":"284189222923f60bd883dd95ff0354b80850a4ce","subject":"Merge \"Clean out deprecations from paste.ini\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/284189222923f60bd883dd95ff0354b80850a4ce"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-08-06 16:49:47.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-08-06 16:56:20.000000000","tz":-420},"subject":"Add check_is_image_mutable() legacy helper","message":"Add check_is_image_mutable() legacy helper\n\nThis adds a method to let API code replicate the legacy admin-or-owner\nbehavior where needed. Since the authorization layer does this in\nsome places (which is being removed) and the DB does it in others,\nwe need a way to replicate that check when secure_rbac is not in use\nfor certain code paths (like image delete) which need it.\n\nChange-Id: I89785ae04e7f66651a1b9673f7e5513c2eac10fc\nPartially-implements: blueprint policy-refactor\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/bff5d342dc4dbc98b8385dd7ee9abdb9ec0c0ce7"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/bff5d342dc4dbc98b8385dd7ee9abdb9ec0c0ce7"}]},"branch":"refs/heads/master"},"39198f93f83d58ec67708e1a5bd35148faf7fe0f":{"kind":"REWORK","_number":2,"created":"2021-08-10 14:50:11.000000000","uploader":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"ref":"refs/changes/76/803776/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/glance","ref":"refs/changes/76/803776/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/803776/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/803776/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/glance refs/changes/76/803776/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/glance refs/changes/76/803776/2"}}},"commit":{"parents":[{"commit":"284189222923f60bd883dd95ff0354b80850a4ce","subject":"Merge \"Clean out deprecations from paste.ini\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/284189222923f60bd883dd95ff0354b80850a4ce"}]}],"author":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-08-06 16:49:47.000000000","tz":-420},"committer":{"name":"Dan Smith","email":"dansmith@redhat.com","date":"2021-08-10 15:52:34.000000000","tz":-420},"subject":"Add check_is_image_mutable() legacy helper","message":"Add check_is_image_mutable() legacy helper\n\nThis adds a method to let API code replicate the legacy admin-or-owner\nbehavior where needed. Since the authorization layer does this in\nsome places (which is being removed) and the DB does it in others,\nwe need a way to replicate that check when secure_rbac is not in use\nfor certain code paths (like image delete) which need it.\n\nChange-Id: I89785ae04e7f66651a1b9673f7e5513c2eac10fc\nPartially-implements: blueprint policy-refactor\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/39198f93f83d58ec67708e1a5bd35148faf7fe0f"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/glance/commit/39198f93f83d58ec67708e1a5bd35148faf7fe0f"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"status":"CLOSED","labels":[{"label":"Verified","status":"OK","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"OK","applied_by":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"}},{"label":"Workflow","status":"OK","applied_by":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"}},{"label":"Review-Priority","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Verified\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Workflow","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Workflow\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Workflow\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Review","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"label:Code-Review\u003dCustom-Rule","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dCustom-Rule"],"failing_atoms":[],"atom_explanations":{}}}]}
