)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"51ed96d03869c8c7ae5844b2714255f1cb763bcf","unresolved":true,"context_lines":[{"line_number":15,"context_line":"and so it is the only case."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Co-Authored-By: Mark Powers \u003cmarkpowers@uchicago.edu\u003e"},{"line_number":18,"context_line":"Co-Authored-By: Matt Crees \u003cmattc@stackhpc.com\u003e"},{"line_number":19,"context_line":"Closes-Bug: #2120655"},{"line_number":20,"context_line":"Change-Id: I4bb85d650f4d7f3534206f1c4690cef8eca0a4c2"},{"line_number":21,"context_line":"Signed-off-by: Matt Crees \u003cmattc@stackhpc.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1631b258_b1f36b64","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":47},"updated":"2025-08-19 14:44:24.000000000","message":"You can remove this line since you are the Git author.","commit_id":"a5f58874f66235981e92a3ac53b0cbbca30e2715"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"c3dd5433ddb24d7ed3bd33f7bba8d1d23233a41f","unresolved":false,"context_lines":[{"line_number":15,"context_line":"and so it is the only case."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Co-Authored-By: Mark Powers \u003cmarkpowers@uchicago.edu\u003e"},{"line_number":18,"context_line":"Co-Authored-By: Matt Crees \u003cmattc@stackhpc.com\u003e"},{"line_number":19,"context_line":"Closes-Bug: #2120655"},{"line_number":20,"context_line":"Change-Id: I4bb85d650f4d7f3534206f1c4690cef8eca0a4c2"},{"line_number":21,"context_line":"Signed-off-by: Matt Crees \u003cmattc@stackhpc.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"8c402305_44ef8b8a","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":47},"in_reply_to":"1631b258_b1f36b64","updated":"2025-08-19 14:55:23.000000000","message":"Done","commit_id":"a5f58874f66235981e92a3ac53b0cbbca30e2715"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"51ed96d03869c8c7ae5844b2714255f1cb763bcf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"910a8c64_9ab5e216","updated":"2025-08-19 14:44:24.000000000","message":"Minor comments","commit_id":"a5f58874f66235981e92a3ac53b0cbbca30e2715"}],"blazar/tests/test_policy.py":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"650bf2e206a700a27e85afcf88795c412aa2551a","unresolved":true,"context_lines":[{"line_number":22,"context_line":"from blazar import policy"},{"line_number":23,"context_line":"from blazar import tests"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"import unittest.mock as mock"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"CONF \u003d cfg.CONF"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"e3575409_cc6a6e9c","line":25,"range":{"start_line":25,"start_character":0,"end_line":25,"end_character":28},"updated":"2025-08-21 07:27:13.000000000","message":"This import should be at the top, since a standard library import.","commit_id":"1827ac7c6ff274813ea4592236056c100ab1207e"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"6ebfa7283fbaafe1f5eb585adc05854794797134","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from blazar import policy"},{"line_number":23,"context_line":"from blazar import tests"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"import unittest.mock as mock"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"CONF \u003d cfg.CONF"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"4eee9982_50d213e3","line":25,"range":{"start_line":25,"start_character":0,"end_line":25,"end_character":28},"in_reply_to":"e3575409_cc6a6e9c","updated":"2025-08-21 07:53:31.000000000","message":"Done","commit_id":"1827ac7c6ff274813ea4592236056c100ab1207e"}],"releasenotes/notes/fix-owner-policy-enforcement-57a6d71c37ffec3d.yaml":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"51ed96d03869c8c7ae5844b2714255f1cb763bcf","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixes a bug where any user could update/delete a lease from any project,"},{"line_number":5,"context_line":"    provided that they had the lease ID. When using the default policy"},{"line_number":6,"context_line":"    configuration, there is no way for a regular user to see lease IDs of in"},{"line_number":7,"context_line":"    another project. However, operators that are running the Resource"},{"line_number":8,"context_line":"    Availability Calendar may have overridden this policy, and so may be"},{"line_number":9,"context_line":"    vulnerable without this fix."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"c3af63a1_783ba386","line":6,"range":{"start_line":6,"start_character":71,"end_line":6,"end_character":76},"updated":"2025-08-19 14:44:24.000000000","message":"Remove \"in\"","commit_id":"a5f58874f66235981e92a3ac53b0cbbca30e2715"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"c3dd5433ddb24d7ed3bd33f7bba8d1d23233a41f","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixes a bug where any user could update/delete a lease from any project,"},{"line_number":5,"context_line":"    provided that they had the lease ID. When using the default policy"},{"line_number":6,"context_line":"    configuration, there is no way for a regular user to see lease IDs of in"},{"line_number":7,"context_line":"    another project. However, operators that are running the Resource"},{"line_number":8,"context_line":"    Availability Calendar may have overridden this policy, and so may be"},{"line_number":9,"context_line":"    vulnerable without this fix."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"56525700_0fba741a","line":6,"range":{"start_line":6,"start_character":71,"end_line":6,"end_character":76},"in_reply_to":"c3af63a1_783ba386","updated":"2025-08-19 14:55:23.000000000","message":"Done","commit_id":"a5f58874f66235981e92a3ac53b0cbbca30e2715"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"aab648df0a245a3a0174f5752f62b434cf534ee7","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":"    Fixes a bug where any user could update/delete a lease from any project,"},{"line_number":5,"context_line":"    provided that they had the lease ID. When using the default policy"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"fdee36c3_0adb2c6d","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":5},"updated":"2025-08-21 07:25:05.000000000","message":"Should we make this a `security` entry?","commit_id":"1827ac7c6ff274813ea4592236056c100ab1207e"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"6ebfa7283fbaafe1f5eb585adc05854794797134","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":"    Fixes a bug where any user could update/delete a lease from any project,"},{"line_number":5,"context_line":"    provided that they had the lease ID. When using the default policy"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"f536ec80_28a8db18","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":5},"in_reply_to":"fdee36c3_0adb2c6d","updated":"2025-08-21 07:53:31.000000000","message":"Done","commit_id":"1827ac7c6ff274813ea4592236056c100ab1207e"}],"test-requirements.txt":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"51ed96d03869c8c7ae5844b2714255f1cb763bcf","unresolved":true,"context_lines":[{"line_number":11,"context_line":"coverage!\u003d4.4,\u003e\u003d4.0 # Apache-2.0"},{"line_number":12,"context_line":"oslotest\u003e\u003d3.2.0 # Apache-2.0"},{"line_number":13,"context_line":"WebTest\u003e\u003d2.0.29 # MIT, for testing with pecan"},{"line_number":14,"context_line":"mock"}],"source_content_type":"text/plain","patch_set":2,"id":"df74d26b_6ac7b350","line":14,"updated":"2025-08-19 14:44:24.000000000","message":"mock is now part of the Python standard library, available as unittest.mock in Python 3.3 onwards. No need to add it to test-requirements.txt.","commit_id":"a5f58874f66235981e92a3ac53b0cbbca30e2715"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"c3dd5433ddb24d7ed3bd33f7bba8d1d23233a41f","unresolved":false,"context_lines":[{"line_number":11,"context_line":"coverage!\u003d4.4,\u003e\u003d4.0 # Apache-2.0"},{"line_number":12,"context_line":"oslotest\u003e\u003d3.2.0 # Apache-2.0"},{"line_number":13,"context_line":"WebTest\u003e\u003d2.0.29 # MIT, for testing with pecan"},{"line_number":14,"context_line":"mock"}],"source_content_type":"text/plain","patch_set":2,"id":"7680b37f_910bbe33","line":14,"in_reply_to":"df74d26b_6ac7b350","updated":"2025-08-19 14:55:23.000000000","message":"Done","commit_id":"a5f58874f66235981e92a3ac53b0cbbca30e2715"}]}
