)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"80e053ce875395e1c9f0e0eae9c4a66f1d8bd613","unresolved":true,"context_lines":[{"line_number":9,"context_line":"Add default policy on create_port for device_id parameter. This"},{"line_number":10,"context_line":"parameter is only for admin."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"bug #1986969"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I06f498bff7c6d619a396e66e7ce4d7ce48c5f8ea"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"d5d7424f_6a57d05b","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":12},"updated":"2022-10-13 12:21:33.000000000","message":"Closes-Bug or Related-Bug please","commit_id":"e99d8c525c5c952b89704374e4ba3fd48a9864aa"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"0e253133c715333dea1319a901f4df29fa88f2b3","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Add default policy on create_port for device_id parameter. This"},{"line_number":10,"context_line":"parameter is only for admin."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"bug #1986969"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I06f498bff7c6d619a396e66e7ce4d7ce48c5f8ea"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"453f99d6_e5aa4aed","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":12},"in_reply_to":"d5d7424f_6a57d05b","updated":"2022-10-14 09:31:11.000000000","message":"Ack","commit_id":"e99d8c525c5c952b89704374e4ba3fd48a9864aa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"590c7bf23f4610caad64a878c4bf6cd27c97b8c8","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Add default policy on device_id param create_port"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add default policy on create_port for device_id parameter. This"},{"line_number":10,"context_line":"parameter is only for admin."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-Bug: #1986969"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"0430f296_0026233f","line":10,"range":{"start_line":10,"start_character":22,"end_line":10,"end_character":27},"updated":"2023-01-03 18:00:06.000000000","message":"since we are updating this we should combine this with the adoption of the service role as this is a service to service setting.\n\nso this really should be checking for admin or service role\n\neventually that could change to just the service role but for the tansition period we sould use admin_or_service","commit_id":"2d48785ed396d8d8d148ff9d925d37f2a14b2bf7"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"44c1b51d12264e880bc68ed3bb16ae7ad8a3d26c","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add default policy on device_id param create_port"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add default policy on create_port for device_id parameter. This"},{"line_number":10,"context_line":"parameter is only for admin."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-Bug: #1986969"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"db8e60ea_4bf07e3a","line":10,"range":{"start_line":10,"start_character":22,"end_line":10,"end_character":27},"in_reply_to":"0430f296_0026233f","updated":"2023-06-28 13:53:15.000000000","message":"Ack","commit_id":"2d48785ed396d8d8d148ff9d925d37f2a14b2bf7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7f260c2e7c8983b1f6cd9999521f004641c71025","unresolved":true,"context_lines":[{"line_number":10,"context_line":"parameter is only for admin."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-Bug: #1986969"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I06f498bff7c6d619a396e66e7ce4d7ce48c5f8ea"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"f6a3b876_39e66340","line":13,"updated":"2023-01-03 18:01:42.000000000","message":"you will need to add\nDepends-on: https://review.opendev.org/c/openstack/nova/+/861172\nto fix the ci","commit_id":"2d48785ed396d8d8d148ff9d925d37f2a14b2bf7"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"44c1b51d12264e880bc68ed3bb16ae7ad8a3d26c","unresolved":false,"context_lines":[{"line_number":10,"context_line":"parameter is only for admin."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-Bug: #1986969"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I06f498bff7c6d619a396e66e7ce4d7ce48c5f8ea"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3dba0956_d0c9dd24","line":13,"in_reply_to":"f6a3b876_39e66340","updated":"2023-06-28 13:53:15.000000000","message":"Ack","commit_id":"2d48785ed396d8d8d148ff9d925d37f2a14b2bf7"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"026227bb0498d8641e83abbe7f4790aacd44f3b3","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Pierre Libeau \u003cpierre.libeau@corp.ovh.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-06-27 14:17:36 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add default policy on device_id param create_port"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add default policy on create_port for device_id parameter. This"},{"line_number":10,"context_line":"parameter is only for admin or service role."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"571e6db1_78a13eb4","line":7,"updated":"2023-12-01 17:49:12.000000000","message":"Isn\u0027t this also for update_port?","commit_id":"c114bfdfdd768386545a65d534d0dd1cdb3c70fd"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"e31c920f43bd10af6b1a0dbc151cc243bf0fafae","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Pierre Libeau \u003cpierre.libeau@corp.ovh.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-06-27 14:17:36 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add default policy on device_id param create_port"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add default policy on create_port for device_id parameter. This"},{"line_number":10,"context_line":"parameter is only for admin or service role."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"9b1120d1_e18273ce","line":7,"in_reply_to":"571e6db1_78a13eb4","updated":"2026-02-03 16:37:22.000000000","message":"Done","commit_id":"c114bfdfdd768386545a65d534d0dd1cdb3c70fd"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"a3599b371a88e5521248851d88109aefc6e2dd50","unresolved":false,"context_lines":[{"line_number":17,"context_line":"role."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Closes-Bug: #1986969"},{"line_number":20,"context_line":"Related-Bug: #2105502"},{"line_number":21,"context_line":"Depends-On: https://review.opendev.org/c/openstack/rally-openstack/+/871452"},{"line_number":22,"context_line":"Depends-On: https://review.opendev.org/c/openstack/nova/+/861172"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":22,"id":"af6e5f42_4d01d5c9","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":21},"updated":"2025-04-04 08:43:37.000000000","message":"I think this patch closes the bug, at least for the Neutron project. If other projects are involved in this bug, please add them to the bug.","commit_id":"2f195948f18b241cc956e6560f23f3d3cce9a2fc"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"6a19743b007546f016a961c257585f3e8bbcef54","unresolved":false,"context_lines":[{"line_number":17,"context_line":"role."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Closes-Bug: #1986969"},{"line_number":20,"context_line":"Related-Bug: #2105502"},{"line_number":21,"context_line":"Depends-On: https://review.opendev.org/c/openstack/rally-openstack/+/871452"},{"line_number":22,"context_line":"Depends-On: https://review.opendev.org/c/openstack/nova/+/861172"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":22,"id":"e57693b4_5cfe9af3","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":21},"in_reply_to":"6f9f27ef_7bed27ee","updated":"2025-04-11 09:01:14.000000000","message":"In any case, related to the previous line, this patch is not closing 1986969. Changing the device_id doesn\u0027t a port but a port binding API request. Please remove line 19","commit_id":"2f195948f18b241cc956e6560f23f3d3cce9a2fc"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"96f2cdfbb13b061d817399e1e1c166c627829154","unresolved":false,"context_lines":[{"line_number":17,"context_line":"role."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Closes-Bug: #1986969"},{"line_number":20,"context_line":"Related-Bug: #2105502"},{"line_number":21,"context_line":"Depends-On: https://review.opendev.org/c/openstack/rally-openstack/+/871452"},{"line_number":22,"context_line":"Depends-On: https://review.opendev.org/c/openstack/nova/+/861172"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":22,"id":"6f9f27ef_7bed27ee","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":21},"in_reply_to":"af6e5f42_4d01d5c9","updated":"2025-04-04 09:07:32.000000000","message":"Patch [1] closes LP #2105502, but this patch is related because both is needed for Octavia to only use service role.\n\n[1] https://review.opendev.org/c/openstack/neutron/+/945329","commit_id":"2f195948f18b241cc956e6560f23f3d3cce9a2fc"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b2f0819ad16509f4cee614cfc6e0f3bf9c219d25","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Pierre Libeau \u003cpierre.libeau@corp.ovh.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2026-02-03 08:43:30 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add default policy on device_id param create_port"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add default policy on create_port and update_port for device_id"},{"line_number":10,"context_line":"parameter. This parameter is restricted to admin and service roles."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":31,"id":"58dd4d53_88f2e2c8","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":49},"updated":"2026-02-03 08:04:41.000000000","message":"`Set default policy on device_id for create_port/update_port`\n\nThis is not adding any policy, is updating it","commit_id":"cc36bd59da53957cb76840a352b3ba572e2a9b58"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"e31c920f43bd10af6b1a0dbc151cc243bf0fafae","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Pierre Libeau \u003cpierre.libeau@corp.ovh.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2026-02-03 08:43:30 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add default policy on device_id param create_port"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add default policy on create_port and update_port for device_id"},{"line_number":10,"context_line":"parameter. This parameter is restricted to admin and service roles."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":31,"id":"3e5ba1a6_e76f7588","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":49},"in_reply_to":"58dd4d53_88f2e2c8","updated":"2026-02-03 16:37:22.000000000","message":"Done","commit_id":"cc36bd59da53957cb76840a352b3ba572e2a9b58"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"0a7e3dc92c5908f2d586c5f8c0be9211524ad89b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"507c5206_2baad21c","updated":"2022-10-13 14:01:56.000000000","message":"This feature requires a release note","commit_id":"e99d8c525c5c952b89704374e4ba3fd48a9864aa"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"0e253133c715333dea1319a901f4df29fa88f2b3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"20b0b33a_5cfba4c5","in_reply_to":"507c5206_2baad21c","updated":"2022-10-14 09:31:11.000000000","message":"Done","commit_id":"e99d8c525c5c952b89704374e4ba3fd48a9864aa"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"70c7df48920b17c59c14a5c7b835c3ea076ba2bd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"2061830a_6f2da032","updated":"2022-10-17 09:12:14.000000000","message":"Please also add unit tests for that in https://opendev.org/openstack/neutron/src/branch/master/neutron/tests/unit/conf/policies/test_port.py","commit_id":"11d53124d84705f873c8285fc42fcec6f4109591"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"445ba01373f045c849c3f817ca07bb344fd6e572","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"a03c7d5d_3f00e62d","updated":"2022-11-16 14:29:50.000000000","message":"Although this patch is not implementing any test requiring the API change, it should require a n-lib bump, including [1]. That will close the bug.\n\nNext n-lib release will be 3.2.0 [2]\n\n[1]https://review.opendev.org/c/openstack/neutron-lib/+/861167\n[2]https://review.opendev.org/c/openstack/releases/+/864525","commit_id":"c87b6fee337e5b60b680905e48ba38c91755cb03"},{"author":{"_account_id":32586,"name":"Elvira García Ruiz","display_name":"Elvira","email":"egarciar@redhat.com","username":"elvira"},"change_message_id":"839c97f6e923293b1a31be57a68304cf122d9ed8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"6ff6b578_5a9319d2","updated":"2022-10-21 14:39:16.000000000","message":"lgtm!","commit_id":"c87b6fee337e5b60b680905e48ba38c91755cb03"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"8d3e3175c41885d264c42898d97a91aaac9101d8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"71326eed_8f9de331","updated":"2022-10-19 19:34:23.000000000","message":"recheck","commit_id":"c87b6fee337e5b60b680905e48ba38c91755cb03"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"31bd32dd4ae6ef8e2b603cf04048556381350208","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"e3c78f2c_eac17287","updated":"2022-10-20 06:57:44.000000000","message":"recheck","commit_id":"c87b6fee337e5b60b680905e48ba38c91755cb03"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"1a4fb06facae6406d8813d15367ca05300ddab17","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"4411ee6a_bc6539c2","updated":"2022-12-01 10:48:11.000000000","message":"recheck","commit_id":"b8c5b84baf528da62fbb3b0ece412a03f78646ac"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"cd475dce4feb9c28c1b4b4c85db30f565a812271","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"bd81288b_637e3bc7","updated":"2022-11-30 06:29:53.000000000","message":"recheck \nupdate constraint for neutron-lib to new release 3.2.0 merge","commit_id":"b8c5b84baf528da62fbb3b0ece412a03f78646ac"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5f9cc632e14bff73dcbfb5e0a30cf890d6c1f22f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"aa07b08b_476351af","in_reply_to":"4411ee6a_bc6539c2","updated":"2022-12-02 14:05:25.000000000","message":"recheck n-lib released","commit_id":"b8c5b84baf528da62fbb3b0ece412a03f78646ac"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"36c4eb63dd89c5cf0470b94c4ef699624b6ef65e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"b0e6471c_e9db35eb","updated":"2022-12-07 14:25:46.000000000","message":"the failing jobs seems to be related to your patch, please check them","commit_id":"2d48785ed396d8d8d148ff9d925d37f2a14b2bf7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4a96927af36b9844fe6d38106c901e74eb276d1a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"dc6976f2_c8953891","updated":"2023-01-20 12:01:29.000000000","message":"Thanks for the patch, code looks OK, waiting for the CI.","commit_id":"0f17e611f55af49855d344b44660470a87adb4df"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"382c5a776ddd94885698b9660eb27bcc44a5055a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"dc89928a_056d8487","updated":"2025-03-12 15:09:42.000000000","message":"Respinning this and looking for more feedback.","commit_id":"2b73c58483bd450c6f1746d4d287b20aacd36930"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"d66ba11f649a1aefcc9854a25c56f7076c27cc91","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"6db2ec23_9367fa07","updated":"2025-03-24 14:56:59.000000000","message":"This is also needed by Octavia for it to be allowed to create VIP ports with device_id field set.","commit_id":"1427004105901e17ce4f869ac36fc01f6687caed"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"1fb49f7c5fce1fe2aef1800c6fc6983e72d466a1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"617a9144_86d6dee4","updated":"2025-03-20 07:28:54.000000000","message":"recheck fullstack single failure neutron.tests.common.machine_fixtures.FakeMachineException: No ICMP reply obtained from IP address 20.0.0.202","commit_id":"1427004105901e17ce4f869ac36fc01f6687caed"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"643c26d70d7369b7e882c9c404320fb4911fc6ca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"77d0e1f0_17059fcc","updated":"2025-04-01 08:49:38.000000000","message":"I am fine with this change, but we have to wait for the depends-on patches anyway.","commit_id":"81342b4e8cea3931b1b2e9905ad0315bdc890ce4"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"43c0b30ca28d9fe4b54c2776ca1065e647ab1fa5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"0c02857f_be51fe0a","updated":"2025-04-11 14:28:00.000000000","message":"Based on discussion in PTG the support for the service role to create/update the port device_id is now in [1] and this patch is left alone as it targets a different scenario to restrict the device_id policy for end users.\n\n[1] https://review.opendev.org/c/openstack/neutron/+/947003/1","commit_id":"2f195948f18b241cc956e6560f23f3d3cce9a2fc"}],"neutron/conf/policies/port.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"80e053ce875395e1c9f0e0eae9c4a66f1d8bd613","unresolved":true,"context_lines":[{"line_number":65,"context_line":"    ),"},{"line_number":66,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":67,"context_line":"        name\u003d\u0027create_port:device_id\u0027,"},{"line_number":68,"context_line":"       check_str\u003dbase.ADMIN,"},{"line_number":69,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":70,"context_line":"        description\u003d\u0027Specify ``device_id`` attribute when creating a port\u0027,"},{"line_number":71,"context_line":"        operations\u003dACTION_POST,"}],"source_content_type":"text/x-python","patch_set":1,"id":"4e214a13_c3f93a40","line":68,"updated":"2022-10-13 12:21:33.000000000","message":"nit: indentation seems bad here","commit_id":"e99d8c525c5c952b89704374e4ba3fd48a9864aa"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"80e053ce875395e1c9f0e0eae9c4a66f1d8bd613","unresolved":true,"context_lines":[{"line_number":65,"context_line":"    ),"},{"line_number":66,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":67,"context_line":"        name\u003d\u0027create_port:device_id\u0027,"},{"line_number":68,"context_line":"       check_str\u003dbase.ADMIN,"},{"line_number":69,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":70,"context_line":"        description\u003d\u0027Specify ``device_id`` attribute when creating a port\u0027,"},{"line_number":71,"context_line":"        operations\u003dACTION_POST,"}],"source_content_type":"text/x-python","patch_set":1,"id":"f1cb1bed_113a4e6f","line":68,"range":{"start_line":68,"start_character":17,"end_line":68,"end_character":27},"updated":"2022-10-13 12:21:33.000000000","message":"why not together with project_member?","commit_id":"e99d8c525c5c952b89704374e4ba3fd48a9864aa"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"0e253133c715333dea1319a901f4df29fa88f2b3","unresolved":true,"context_lines":[{"line_number":65,"context_line":"    ),"},{"line_number":66,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":67,"context_line":"        name\u003d\u0027create_port:device_id\u0027,"},{"line_number":68,"context_line":"       check_str\u003dbase.ADMIN,"},{"line_number":69,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":70,"context_line":"        description\u003d\u0027Specify ``device_id`` attribute when creating a port\u0027,"},{"line_number":71,"context_line":"        operations\u003dACTION_POST,"}],"source_content_type":"text/x-python","patch_set":1,"id":"d205ba30_e6951729","line":68,"in_reply_to":"1e577029_51ea443a","updated":"2022-10-14 09:31:11.000000000","message":"\u003e pep8: E131 continuation line unaligned for hanging indent\n\nPlease fix.","commit_id":"e99d8c525c5c952b89704374e4ba3fd48a9864aa"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"0e253133c715333dea1319a901f4df29fa88f2b3","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    ),"},{"line_number":66,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":67,"context_line":"        name\u003d\u0027create_port:device_id\u0027,"},{"line_number":68,"context_line":"       check_str\u003dbase.ADMIN,"},{"line_number":69,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":70,"context_line":"        description\u003d\u0027Specify ``device_id`` attribute when creating a port\u0027,"},{"line_number":71,"context_line":"        operations\u003dACTION_POST,"}],"source_content_type":"text/x-python","patch_set":1,"id":"c812a6f8_2944de81","line":68,"in_reply_to":"4e214a13_c3f93a40","updated":"2022-10-14 09:31:11.000000000","message":"Done","commit_id":"e99d8c525c5c952b89704374e4ba3fd48a9864aa"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"1a739e3789da1ace1b1946c1cfe312a638219825","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    ),"},{"line_number":66,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":67,"context_line":"        name\u003d\u0027create_port:device_id\u0027,"},{"line_number":68,"context_line":"       check_str\u003dbase.ADMIN,"},{"line_number":69,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":70,"context_line":"        description\u003d\u0027Specify ``device_id`` attribute when creating a port\u0027,"},{"line_number":71,"context_line":"        operations\u003dACTION_POST,"}],"source_content_type":"text/x-python","patch_set":1,"id":"568176a0_b07482e7","line":68,"range":{"start_line":68,"start_character":17,"end_line":68,"end_character":27},"in_reply_to":"6db92681_6d29f3b4","updated":"2022-10-14 12:18:30.000000000","message":"Done","commit_id":"e99d8c525c5c952b89704374e4ba3fd48a9864aa"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"223f572f37a5b67d7c02756edea0ab02e62ff4fd","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    ),"},{"line_number":66,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":67,"context_line":"        name\u003d\u0027create_port:device_id\u0027,"},{"line_number":68,"context_line":"       check_str\u003dbase.ADMIN,"},{"line_number":69,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":70,"context_line":"        description\u003d\u0027Specify ``device_id`` attribute when creating a port\u0027,"},{"line_number":71,"context_line":"        operations\u003dACTION_POST,"}],"source_content_type":"text/x-python","patch_set":1,"id":"dcfa7c1a_d809993b","line":68,"in_reply_to":"d205ba30_e6951729","updated":"2022-10-14 10:09:26.000000000","message":"Done","commit_id":"e99d8c525c5c952b89704374e4ba3fd48a9864aa"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"0e253133c715333dea1319a901f4df29fa88f2b3","unresolved":true,"context_lines":[{"line_number":65,"context_line":"    ),"},{"line_number":66,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":67,"context_line":"        name\u003d\u0027create_port:device_id\u0027,"},{"line_number":68,"context_line":"       check_str\u003dbase.ADMIN,"},{"line_number":69,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":70,"context_line":"        description\u003d\u0027Specify ``device_id`` attribute when creating a port\u0027,"},{"line_number":71,"context_line":"        operations\u003dACTION_POST,"}],"source_content_type":"text/x-python","patch_set":1,"id":"6db92681_6d29f3b4","line":68,"range":{"start_line":68,"start_character":17,"end_line":68,"end_character":27},"in_reply_to":"f1cb1bed_113a4e6f","updated":"2022-10-14 09:31:11.000000000","message":"The idea of this new policy is to lock the user and authorize admin_only for this parameter.","commit_id":"e99d8c525c5c952b89704374e4ba3fd48a9864aa"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"70c7df48920b17c59c14a5c7b835c3ea076ba2bd","unresolved":true,"context_lines":[{"line_number":69,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":70,"context_line":"        description\u003d\u0027Specify ``device_id`` attribute when creating a port\u0027,"},{"line_number":71,"context_line":"        operations\u003dACTION_POST,"},{"line_number":72,"context_line":"    ),"},{"line_number":73,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":74,"context_line":"        name\u003d\u0027create_port:device_owner\u0027,"},{"line_number":75,"context_line":"        check_str\u003dbase.policy_or("}],"source_content_type":"text/x-python","patch_set":4,"id":"9d1dc237_14327218","line":72,"updated":"2022-10-17 09:12:14.000000000","message":"I know it may be a bit strange but as we are still in the transition period with RBAC rules, please also add \"deprecated rule\" as is for any other action here.","commit_id":"11d53124d84705f873c8285fc42fcec6f4109591"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5046f463faefb6dd2ee521b6c25d1124f85f87f8","unresolved":true,"context_lines":[{"line_number":69,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":70,"context_line":"        description\u003d\u0027Specify ``device_id`` attribute when creating a port\u0027,"},{"line_number":71,"context_line":"        operations\u003dACTION_POST,"},{"line_number":72,"context_line":"    ),"},{"line_number":73,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":74,"context_line":"        name\u003d\u0027create_port:device_owner\u0027,"},{"line_number":75,"context_line":"        check_str\u003dbase.policy_or("}],"source_content_type":"text/x-python","patch_set":4,"id":"fd141eae_6b3697f0","line":72,"in_reply_to":"36b6668b_aece49cc","updated":"2023-01-20 12:39:15.000000000","message":"this should also be the admin_or_service role\n\nassuming neturon has started added the service role this cycle as part of the SRBAC proejct goal.\n\nthat is phase 2 \"Isolate service-to-service APIs to the service role\"\nhttps://github.com/openstack/governance/blob/master/goals/selected/consistent-and-secure-rbac.rst#phase-2\n\nwhich is ment to be startedin 2023.1\nhttps://github.com/openstack/governance/blob/master/goals/selected/consistent-and-secure-rbac.rst#20231-release-timeline\nand completed in 2023.2","commit_id":"11d53124d84705f873c8285fc42fcec6f4109591"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4a96927af36b9844fe6d38106c901e74eb276d1a","unresolved":true,"context_lines":[{"line_number":69,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":70,"context_line":"        description\u003d\u0027Specify ``device_id`` attribute when creating a port\u0027,"},{"line_number":71,"context_line":"        operations\u003dACTION_POST,"},{"line_number":72,"context_line":"    ),"},{"line_number":73,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":74,"context_line":"        name\u003d\u0027create_port:device_owner\u0027,"},{"line_number":75,"context_line":"        check_str\u003dbase.policy_or("}],"source_content_type":"text/x-python","patch_set":4,"id":"36b6668b_aece49cc","line":72,"in_reply_to":"554920ea_660fe71e","updated":"2023-01-20 12:01:29.000000000","message":"Slawek, why do we need this?","commit_id":"11d53124d84705f873c8285fc42fcec6f4109591"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"44c1b51d12264e880bc68ed3bb16ae7ad8a3d26c","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":70,"context_line":"        description\u003d\u0027Specify ``device_id`` attribute when creating a port\u0027,"},{"line_number":71,"context_line":"        operations\u003dACTION_POST,"},{"line_number":72,"context_line":"    ),"},{"line_number":73,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":74,"context_line":"        name\u003d\u0027create_port:device_owner\u0027,"},{"line_number":75,"context_line":"        check_str\u003dbase.policy_or("}],"source_content_type":"text/x-python","patch_set":4,"id":"b977e908_79e625d9","line":72,"in_reply_to":"755b3946_8305695c","updated":"2023-06-28 13:53:15.000000000","message":"Ack","commit_id":"11d53124d84705f873c8285fc42fcec6f4109591"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"40c220a137c44c761a6f7dfb2f48b8a58d1757d5","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":70,"context_line":"        description\u003d\u0027Specify ``device_id`` attribute when creating a port\u0027,"},{"line_number":71,"context_line":"        operations\u003dACTION_POST,"},{"line_number":72,"context_line":"    ),"},{"line_number":73,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":74,"context_line":"        name\u003d\u0027create_port:device_owner\u0027,"},{"line_number":75,"context_line":"        check_str\u003dbase.policy_or("}],"source_content_type":"text/x-python","patch_set":4,"id":"554920ea_660fe71e","line":72,"in_reply_to":"9d1dc237_14327218","updated":"2022-10-19 14:56:17.000000000","message":"Done","commit_id":"11d53124d84705f873c8285fc42fcec6f4109591"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cb7b691bd33acfb112ad41772076a0c54c279cba","unresolved":true,"context_lines":[{"line_number":69,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":70,"context_line":"        description\u003d\u0027Specify ``device_id`` attribute when creating a port\u0027,"},{"line_number":71,"context_line":"        operations\u003dACTION_POST,"},{"line_number":72,"context_line":"    ),"},{"line_number":73,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":74,"context_line":"        name\u003d\u0027create_port:device_owner\u0027,"},{"line_number":75,"context_line":"        check_str\u003dbase.policy_or("}],"source_content_type":"text/x-python","patch_set":4,"id":"755b3946_8305695c","line":72,"in_reply_to":"fd141eae_6b3697f0","updated":"2023-01-20 13:23:02.000000000","message":"Yes, but this rule was never there. This is why I\u0027m asking this. We can\u0027t deprecate something that was never there before.","commit_id":"11d53124d84705f873c8285fc42fcec6f4109591"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"70c7df48920b17c59c14a5c7b835c3ea076ba2bd","unresolved":true,"context_lines":[{"line_number":379,"context_line":"                base.RULE_ADVSVC),"},{"line_number":380,"context_line":"            deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":381,"context_line":"            deprecated_since\u003dversionutils.deprecated.WALLABY)"},{"line_number":382,"context_line":"    ),"},{"line_number":383,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":384,"context_line":"        name\u003d\u0027update_port:device_owner\u0027,"},{"line_number":385,"context_line":"        check_str\u003dbase.policy_or("}],"source_content_type":"text/x-python","patch_set":4,"id":"c23f2dd1_83b532aa","line":382,"updated":"2022-10-17 09:12:14.000000000","message":"You should also add similar rule for update_port","commit_id":"11d53124d84705f873c8285fc42fcec6f4109591"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"40c220a137c44c761a6f7dfb2f48b8a58d1757d5","unresolved":false,"context_lines":[{"line_number":379,"context_line":"                base.RULE_ADVSVC),"},{"line_number":380,"context_line":"            deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":381,"context_line":"            deprecated_since\u003dversionutils.deprecated.WALLABY)"},{"line_number":382,"context_line":"    ),"},{"line_number":383,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":384,"context_line":"        name\u003d\u0027update_port:device_owner\u0027,"},{"line_number":385,"context_line":"        check_str\u003dbase.policy_or("}],"source_content_type":"text/x-python","patch_set":4,"id":"9eb329ce_358d7acc","line":382,"in_reply_to":"c23f2dd1_83b532aa","updated":"2022-10-19 14:56:17.000000000","message":"Done","commit_id":"11d53124d84705f873c8285fc42fcec6f4109591"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5046f463faefb6dd2ee521b6c25d1124f85f87f8","unresolved":true,"context_lines":[{"line_number":385,"context_line":"            deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":386,"context_line":"            deprecated_since\u003dversionutils.deprecated.WALLABY)"},{"line_number":387,"context_line":"    ),"},{"line_number":388,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":389,"context_line":"        name\u003d\u0027update_port:device_id\u0027,"},{"line_number":390,"context_line":"        check_str\u003dbase.ADMIN,"},{"line_number":391,"context_line":"        scope_types\u003d[\u0027project\u0027],"}],"source_content_type":"text/x-python","patch_set":8,"id":"16c1d219_e13217e7","line":388,"updated":"2023-01-20 12:39:15.000000000","message":"same here we shoudl be useing ADMIN_OR_SERVICE","commit_id":"0f17e611f55af49855d344b44660470a87adb4df"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"6f52c3be8b7cb6faf0e149944aa91db5ff5ff511","unresolved":true,"context_lines":[{"line_number":385,"context_line":"            deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":386,"context_line":"            deprecated_since\u003dversionutils.deprecated.WALLABY)"},{"line_number":387,"context_line":"    ),"},{"line_number":388,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":389,"context_line":"        name\u003d\u0027update_port:device_id\u0027,"},{"line_number":390,"context_line":"        check_str\u003dbase.ADMIN,"},{"line_number":391,"context_line":"        scope_types\u003d[\u0027project\u0027],"}],"source_content_type":"text/x-python","patch_set":8,"id":"cf0be687_4ac00074","line":388,"in_reply_to":"16c1d219_e13217e7","updated":"2023-01-20 13:12:54.000000000","message":"I have forgotten sorry. it\u0027s fixed now.","commit_id":"0f17e611f55af49855d344b44660470a87adb4df"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"44c1b51d12264e880bc68ed3bb16ae7ad8a3d26c","unresolved":false,"context_lines":[{"line_number":385,"context_line":"            deprecated_reason\u003dDEPRECATED_REASON,"},{"line_number":386,"context_line":"            deprecated_since\u003dversionutils.deprecated.WALLABY)"},{"line_number":387,"context_line":"    ),"},{"line_number":388,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":389,"context_line":"        name\u003d\u0027update_port:device_id\u0027,"},{"line_number":390,"context_line":"        check_str\u003dbase.ADMIN,"},{"line_number":391,"context_line":"        scope_types\u003d[\u0027project\u0027],"}],"source_content_type":"text/x-python","patch_set":8,"id":"52af740a_37ae47c1","line":388,"in_reply_to":"cf0be687_4ac00074","updated":"2023-06-28 13:53:15.000000000","message":"Ack","commit_id":"0f17e611f55af49855d344b44660470a87adb4df"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ddfc758fa3b20e71b7c33dc5f135e1b82bfee401","unresolved":true,"context_lines":[{"line_number":83,"context_line":"    ),"},{"line_number":84,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":85,"context_line":"        name\u003d\u0027create_port:device_id\u0027,"},{"line_number":86,"context_line":"        check_str\u003dbase.ADMIN_OR_SERVICE,"},{"line_number":87,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":88,"context_line":"        description\u003d\u0027Specify ``device_id`` attribute when creating a port\u0027,"},{"line_number":89,"context_line":"        operations\u003dACTION_POST,"}],"source_content_type":"text/x-python","patch_set":22,"id":"ad7e9b74_011c9251","line":86,"updated":"2025-04-11 09:41:25.000000000","message":"as per discussion during the PTG this should be changed for \"ADMIN_OR_SERVICE or PROJECT_MEMBER\"","commit_id":"2f195948f18b241cc956e6560f23f3d3cce9a2fc"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"e31c920f43bd10af6b1a0dbc151cc243bf0fafae","unresolved":true,"context_lines":[{"line_number":83,"context_line":"    ),"},{"line_number":84,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":85,"context_line":"        name\u003d\u0027create_port:device_id\u0027,"},{"line_number":86,"context_line":"        check_str\u003dbase.ADMIN_OR_SERVICE,"},{"line_number":87,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":88,"context_line":"        description\u003d\u0027Specify ``device_id`` attribute when creating a port\u0027,"},{"line_number":89,"context_line":"        operations\u003dACTION_POST,"}],"source_content_type":"text/x-python","patch_set":22,"id":"b3d5702c_47cbfdd9","line":86,"in_reply_to":"ad7e9b74_011c9251","updated":"2026-02-03 16:37:22.000000000","message":"We intentionally use only ADMIN_OR_SERVICE (without PROJECT_MEMBER) because allowing project members to set device_id is the security issue this patch addresses [1]. The device_id ties a port to a specific VM instance.\n\nIf regular users could set this, they could potentially hijack ports belonging to other VMs. Users who need to create ports for their VMs should use Nova, which will set device_id using its service token.\n\nI have found also the history of the discussion [2] and related to the explanation of sean in the bug report [3], I think we need more restriction about the port creation with device_id but maybe I forgot something in my test.\n\n[1] https://bugs.launchpad.net/neutron/+bug/1986969\n[2] https://meetings.opendev.org/meetings/neutron_drivers/2022/neutron_drivers.2022-08-26-14.00.log.html#l-149\n[3] https://bugs.launchpad.net/neutron/+bug/1986969/comments/10","commit_id":"2f195948f18b241cc956e6560f23f3d3cce9a2fc"}],"neutron/tests/unit/conf/policies/test_port.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"843391f78e58ae3786b3b3c51b1494cdba2f7a66","unresolved":true,"context_lines":[{"line_number":449,"context_line":"        self.context \u003d self.system_reader_ctx"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":""},{"line_number":452,"context_line":"class AdminTests(PortAPITestCase):"},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"    def setUp(self):"},{"line_number":455,"context_line":"        super().setUp()"}],"source_content_type":"text/x-python","patch_set":21,"id":"4e26369f_09751f4c","line":452,"updated":"2025-04-01 15:01:16.000000000","message":"You should also add unit tests for the Admin, ProjectManager, ProjectMember, ProjectReader and Service Role user","commit_id":"81342b4e8cea3931b1b2e9905ad0315bdc890ce4"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"bb8caa0ca3b98ef3808ffc20fca28f54c99c916c","unresolved":false,"context_lines":[{"line_number":449,"context_line":"        self.context \u003d self.system_reader_ctx"},{"line_number":450,"context_line":""},{"line_number":451,"context_line":""},{"line_number":452,"context_line":"class AdminTests(PortAPITestCase):"},{"line_number":453,"context_line":""},{"line_number":454,"context_line":"    def setUp(self):"},{"line_number":455,"context_line":"        super().setUp()"}],"source_content_type":"text/x-python","patch_set":21,"id":"80c1802c_a0f093ea","line":452,"in_reply_to":"4e26369f_09751f4c","updated":"2025-04-04 06:47:42.000000000","message":"Done, added to `AdminTests`, `ProjectManagerTests` and `ServiceRoleTests`. I assume it should be fine just to add it to `ProjectManagerTests` as both `ProjectMemberTests` and `ProjectReaderTests` inherit from that class.","commit_id":"81342b4e8cea3931b1b2e9905ad0315bdc890ce4"}],"releasenotes/notes/add-default-policy-on-create_port-for-device_id-parameter-78d1d5230d8dd3a8.yaml":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"70c7df48920b17c59c14a5c7b835c3ea076ba2bd","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add default policy on create_port for device_id parameter. The new policy"},{"line_number":5,"context_line":"    autorize only admin to use it."},{"line_number":6,"context_line":"    See bug `1986969 \u003chttps://bugs.launchpad.net/neutron/+bug/1986969\u003e`_"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"55a46dcd_f930d5a6","line":4,"range":{"start_line":4,"start_character":42,"end_line":4,"end_character":51},"updated":"2022-10-17 09:12:14.000000000","message":"nit: please put it into `` `` so it will be highlighted in the rendered html view","commit_id":"11d53124d84705f873c8285fc42fcec6f4109591"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"40c220a137c44c761a6f7dfb2f48b8a58d1757d5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add default policy on create_port for device_id parameter. The new policy"},{"line_number":5,"context_line":"    autorize only admin to use it."},{"line_number":6,"context_line":"    See bug `1986969 \u003chttps://bugs.launchpad.net/neutron/+bug/1986969\u003e`_"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"1d660f8c_13670020","line":4,"range":{"start_line":4,"start_character":42,"end_line":4,"end_character":51},"in_reply_to":"55a46dcd_f930d5a6","updated":"2022-10-19 14:56:17.000000000","message":"Done","commit_id":"11d53124d84705f873c8285fc42fcec6f4109591"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"026227bb0498d8641e83abbe7f4790aacd44f3b3","unresolved":true,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add default policy on create_port for ``device_id`` parameter. The"},{"line_number":5,"context_line":"    new policy autorize only admin to use it."},{"line_number":6,"context_line":"    See bug `1986969 \u003chttps://bugs.launchpad.net/neutron/+bug/1986969\u003e`_"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"8ea3a69d_31f4f749","line":5,"range":{"start_line":5,"start_character":15,"end_line":5,"end_character":44},"updated":"2023-12-01 17:49:12.000000000","message":"s/is only authorized for administrators","commit_id":"c114bfdfdd768386545a65d534d0dd1cdb3c70fd"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"e31c920f43bd10af6b1a0dbc151cc243bf0fafae","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add default policy on create_port for ``device_id`` parameter. The"},{"line_number":5,"context_line":"    new policy autorize only admin to use it."},{"line_number":6,"context_line":"    See bug `1986969 \u003chttps://bugs.launchpad.net/neutron/+bug/1986969\u003e`_"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"fc21d1ca_95506439","line":5,"range":{"start_line":5,"start_character":15,"end_line":5,"end_character":44},"in_reply_to":"8ea3a69d_31f4f749","updated":"2026-02-03 16:37:22.000000000","message":"Done","commit_id":"c114bfdfdd768386545a65d534d0dd1cdb3c70fd"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"bc168ead2e203e6b54f1b5ef524c6536772e30e1","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    Added new default policy for the ``device_id`` field when creating"},{"line_number":5,"context_line":"    or updating a port. The new policy is only authorized for administrators"},{"line_number":6,"context_line":"    and service users, users can no longer use the ``device_id`` field."},{"line_number":7,"context_line":"    See bug `1986969 \u003chttps://bugs.launchpad.net/neutron/+bug/1986969\u003e`_"}],"source_content_type":"text/x-yaml","patch_set":17,"id":"3a93570f_e228d29f","line":7,"updated":"2025-03-12 15:17:38.000000000","message":"should probably add a upgrade note here as well","commit_id":"2b73c58483bd450c6f1746d4d287b20aacd36930"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"e31c920f43bd10af6b1a0dbc151cc243bf0fafae","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Added new default policy for the ``device_id`` field when creating"},{"line_number":5,"context_line":"    or updating a port. The new policy is only authorized for administrators"},{"line_number":6,"context_line":"    and service users, users can no longer use the ``device_id`` field."},{"line_number":7,"context_line":"    See bug `1986969 \u003chttps://bugs.launchpad.net/neutron/+bug/1986969\u003e`_"}],"source_content_type":"text/x-yaml","patch_set":17,"id":"7c9d6b05_92c583d7","line":7,"in_reply_to":"3a93570f_e228d29f","updated":"2026-02-03 16:37:22.000000000","message":"Done","commit_id":"2b73c58483bd450c6f1746d4d287b20aacd36930"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b2f0819ad16509f4cee614cfc6e0f3bf9c219d25","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add default policy on create_port for ``device_id`` parameter. The"},{"line_number":5,"context_line":"    new policy autorize only admin to use it."},{"line_number":6,"context_line":"    See bug `1986969 \u003chttps://bugs.launchpad.net/neutron/+bug/1986969\u003e`_"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"a75a0b0f_e650baa6","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":65},"updated":"2026-02-03 08:04:41.000000000","message":"```\nSet default policy on ``create_port`` and ``update_port`` for ``device_id`` parameter\n```","commit_id":"cc36bd59da53957cb76840a352b3ba572e2a9b58"},{"author":{"_account_id":33607,"name":"Pierre Libeau","email":"pierre.libeau@ovhcloud.com","username":"plibeau"},"change_message_id":"e31c920f43bd10af6b1a0dbc151cc243bf0fafae","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add default policy on create_port for ``device_id`` parameter. The"},{"line_number":5,"context_line":"    new policy autorize only admin to use it."},{"line_number":6,"context_line":"    See bug `1986969 \u003chttps://bugs.launchpad.net/neutron/+bug/1986969\u003e`_"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"ac3e8b89_81a11807","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":65},"in_reply_to":"a75a0b0f_e650baa6","updated":"2026-02-03 16:37:22.000000000","message":"Done","commit_id":"cc36bd59da53957cb76840a352b3ba572e2a9b58"}]}
