)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"82b44e815d924779a558ce4f6d0a210f3abc7fd5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"778f6816_77660130","updated":"2022-08-11 16:27:44.000000000","message":"This is super awesome. What does this need to be an actual thing?","commit_id":"f6e1cb60dfbffcb2985c5fb026a6306e6b816241"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"2a0b05b73b8cbeb18e0634c25a7407abd191dd6f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d86987f2_72d7790e","in_reply_to":"778f6816_77660130","updated":"2022-08-15 17:40:35.000000000","message":"I *think* this would be it. Naturally, a whole set of tempest tests would be needed too. :\\\n\n*but*\n\nI think this would work...\n\nLuckily we have testing built in for the RBAC stuffs.","commit_id":"f6e1cb60dfbffcb2985c5fb026a6306e6b816241"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"957b2183cf20b6e92d0234fee6226f6279992526","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6d86002c_cda102ff","updated":"2022-08-22 13:29:57.000000000","message":"recheck log upload failure","commit_id":"bc8705c160234fec1af322ecbb5fe0ce5a0d35b8"}],"doc/source/admin/secure-rbac.rst":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"121e165f1927f96ce0657f0b78fd0a832df80695","unresolved":false,"context_lines":[{"line_number":271,"context_line":"Can I, a project admin, create a node?"},{"line_number":272,"context_line":"--------------------------------------"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"Starting in API version ``1.80``, the capability was added"},{"line_number":275,"context_line":"to allow users with an ``admin`` role to be able to create and"},{"line_number":276,"context_line":"delete their own nodes in Ironic."},{"line_number":277,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"dd2a0d06_432b6ab7","line":274,"updated":"2022-08-31 12:24:55.000000000","message":"nit: (Zed)","commit_id":"bc8705c160234fec1af322ecbb5fe0ce5a0d35b8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"121e165f1927f96ce0657f0b78fd0a832df80695","unresolved":false,"context_lines":[{"line_number":276,"context_line":"delete their own nodes in Ironic."},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"This functionality is enabled by default, and automatically"},{"line_number":279,"context_line":"imparts ``owner`` privileges to the created Bare Metal node."},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"This functionality can be disabled by setting"},{"line_number":282,"context_line":"``[api]project_admin_can_manage_own_nodes`` to ``False``."}],"source_content_type":"text/x-rst","patch_set":4,"id":"27ecae42_04d94fc9","line":279,"updated":"2022-08-31 12:24:55.000000000","message":"nit: the first time I see the word \"impart\" in my life, a more common word could be used (or is it just me?)","commit_id":"bc8705c160234fec1af322ecbb5fe0ce5a0d35b8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"121e165f1927f96ce0657f0b78fd0a832df80695","unresolved":false,"context_lines":[{"line_number":279,"context_line":"imparts ``owner`` privileges to the created Bare Metal node."},{"line_number":280,"context_line":""},{"line_number":281,"context_line":"This functionality can be disabled by setting"},{"line_number":282,"context_line":"``[api]project_admin_can_manage_own_nodes`` to ``False``."}],"source_content_type":"text/x-rst","patch_set":4,"id":"1d7b046a_fc3a2468","line":282,"updated":"2022-08-31 12:24:55.000000000","message":"nit-nit: an example with ..code-block::ini instead","commit_id":"bc8705c160234fec1af322ecbb5fe0ce5a0d35b8"}],"ironic/conf/api.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"121e165f1927f96ce0657f0b78fd0a832df80695","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                default\u003dTrue,"},{"line_number":91,"context_line":"                mutable\u003dTrue,"},{"line_number":92,"context_line":"                help\u003d_(\u0027If a project scoped administrative user is permitted \u0027"},{"line_number":93,"context_line":"                       \u0027to create/delte baremetal nodes in their project.\u0027)),"},{"line_number":94,"context_line":"]"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"opt_group \u003d cfg.OptGroup(name\u003d\u0027api\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f5f300f_7331d29d","line":93,"updated":"2022-08-31 12:24:55.000000000","message":"nit: delete","commit_id":"bc8705c160234fec1af322ecbb5fe0ce5a0d35b8"}],"ironic/tests/unit/api/controllers/v1/test_node.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"121e165f1927f96ce0657f0b78fd0a832df80695","unresolved":false,"context_lines":[{"line_number":4919,"context_line":"                                        str(api_v1.max_version())})"},{"line_number":4920,"context_line":"        self.assertEqual(\u0027catsay\u0027, result[\u0027owner\u0027])"},{"line_number":4921,"context_line":""},{"line_number":4922,"context_line":"    def test_create_node_owner_recorded_project_scope(self):"},{"line_number":4923,"context_line":"        ndict \u003d test_api_utils.post_get_test_node()"},{"line_number":4924,"context_line":"        response \u003d self.post_json(\u0027/nodes\u0027, ndict,"},{"line_number":4925,"context_line":"                                  headers\u003d{api_base.Version.string:"}],"source_content_type":"text/x-python","patch_set":4,"id":"671c6ff3_027af3b4","line":4922,"updated":"2022-08-31 12:24:55.000000000","message":"do we need a negative test as well?","commit_id":"bc8705c160234fec1af322ecbb5fe0ce5a0d35b8"}],"releasenotes/notes/node-creation-no-longer-scope-restricted-b455f66a751f10ec.yaml":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"84f302a8a5ac9aef31398c8e5971cc72faa4e11c","unresolved":true,"context_lines":[{"line_number":24,"context_line":"  - |"},{"line_number":25,"context_line":"    The API version has been increased to ``1.80`` in order to signify"},{"line_number":26,"context_line":"    the addition of additoinal Role Based Access Controls capabilities"},{"line_number":27,"context_line":"    around node creation and deletion. "}],"source_content_type":"text/x-yaml","patch_set":2,"id":"e843ba56_b9e0343d","line":27,"updated":"2022-08-16 14:16:57.000000000","message":"Nit: trailing whitespace","commit_id":"c0f67dc12d696287929c8c1199dc8bcbe4f5b711"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"e353c598337569a37caecb29ec36e9aaeeada1e2","unresolved":false,"context_lines":[{"line_number":24,"context_line":"  - |"},{"line_number":25,"context_line":"    The API version has been increased to ``1.80`` in order to signify"},{"line_number":26,"context_line":"    the addition of additoinal Role Based Access Controls capabilities"},{"line_number":27,"context_line":"    around node creation and deletion. "}],"source_content_type":"text/x-yaml","patch_set":2,"id":"72806169_49b46cc0","line":27,"in_reply_to":"e843ba56_b9e0343d","updated":"2022-08-16 20:47:05.000000000","message":"Done","commit_id":"c0f67dc12d696287929c8c1199dc8bcbe4f5b711"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"121e165f1927f96ce0657f0b78fd0a832df80695","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Adds the capability for a project scoped ``admin`` user to be able to"},{"line_number":5,"context_line":"    create nodes in Ironic, which are then manageable by the project scoped"},{"line_number":6,"context_line":"    ``admin`` user. Effectively, this is self service Bare Metal as a Service,"},{"line_number":7,"context_line":"    however more advanced fields such as drivers, chassies, are not available"},{"line_number":8,"context_line":"    to these users. This is controlled through an auto-population of the"},{"line_number":9,"context_line":"    Node ``owner`` field, and can be controlled through the"},{"line_number":10,"context_line":"    ``[api]project_admin_can_manage_own_nodes`` setting, which defaults to"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3097c46c_fbd440ae","line":7,"updated":"2022-08-31 12:24:55.000000000","message":"I assume you\u0027ve checked that ports work?","commit_id":"bc8705c160234fec1af322ecbb5fe0ce5a0d35b8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"121e165f1927f96ce0657f0b78fd0a832df80695","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    disabled using the ``[api]project_admin_can_manage_own_nodes`` setting."},{"line_number":23,"context_line":"upgrades:"},{"line_number":24,"context_line":"  - |"},{"line_number":25,"context_line":"    The API version has been increased to ``1.80`` in order to signify"},{"line_number":26,"context_line":"    the addition of additoinal Role Based Access Controls capabilities"},{"line_number":27,"context_line":"    around node creation and deletion."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"d2616847_21c1c277","line":25,"updated":"2022-08-31 12:24:55.000000000","message":"This is not an upgrade concern, I think the security section covers it enough.","commit_id":"bc8705c160234fec1af322ecbb5fe0ce5a0d35b8"}]}
