)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":20870,"name":"Alex Kavanagh","email":"alex@ajkavanagh.co.uk","username":"ajkavanagh"},"change_message_id":"ff3ba9303949596c772b593fb3ac908fd1fea463","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"f8fab507_f4945f0c","updated":"2023-10-26 11:40:19.000000000","message":"LGTM; the validate_fixed_subnet() is basically the same is validate_fixed_network() so seems like a sane approach.","commit_id":"791bd9ac9cc137a54aa4c3f274c1ad1288c096e9"},{"author":{"_account_id":2424,"name":"Felipe Reyes","email":"felipe.reyes@canonical.com","username":"freyes"},"change_message_id":"00af62c1374bdd9635e20716bf99c64020b8f788","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"8c95c970_2fbadcb0","updated":"2023-11-24 13:51:56.000000000","message":"Jake, this version of the patch addresses your feedback. Is there any chance you (or someone else) reviews this other patch on magnum-ui? - https://review.opendev.org/c/openstack/magnum-ui/+/898007 . Thanks.","commit_id":"af4b14a0610c5d2d4b8287d140e9bb42ad3c97e1"},{"author":{"_account_id":8064,"name":"Jake Yip","email":"jake.yip@ardc.edu.au","username":"jake"},"change_message_id":"428ad32ec1e6e221c1c5af2c04146f185855fb58","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"96fd9d5c_61bb1df9","in_reply_to":"8c95c970_2fbadcb0","updated":"2023-11-27 06:18:50.000000000","message":"Thanks Felipe, I\u0027m not good in UI, I will approach other Cores or possibly horizon devs for help.\n\nFailing which I\u0027m happy to merge if it can pass tests.","commit_id":"af4b14a0610c5d2d4b8287d140e9bb42ad3c97e1"}],"magnum/api/attr_validator.py":[{"author":{"_account_id":8064,"name":"Jake Yip","email":"jake.yip@ardc.edu.au","username":"jake"},"change_message_id":"c5f19331a29cdc7a7645acf7239a49fbb46110a3","unresolved":true,"context_lines":[{"line_number":118,"context_line":"    return network_id"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"def validate_fixed_subnet(cli, fixed_network, fixed_subnet):"},{"line_number":122,"context_line":"    \"\"\"Validate fixed subnet\"\"\""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    count \u003d 0"}],"source_content_type":"text/x-python","patch_set":3,"id":"6d8d95ef_ddcfa9e6","line":121,"range":{"start_line":121,"start_character":0,"end_line":121,"end_character":60},"updated":"2023-10-25 10:55:13.000000000","message":"I think for simplicity we should validate existence here. Please see bug for more discussion.\n\nHappy to chat over this in Magnum meeting, or via DM.","commit_id":"791bd9ac9cc137a54aa4c3f274c1ad1288c096e9"},{"author":{"_account_id":8064,"name":"Jake Yip","email":"jake.yip@ardc.edu.au","username":"jake"},"change_message_id":"168abcec4968579ba73308269b5b1baa764a685d","unresolved":true,"context_lines":[{"line_number":118,"context_line":"    return network_id"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"def validate_fixed_subnet(cli, fixed_network, fixed_subnet):"},{"line_number":122,"context_line":"    \"\"\"Validate fixed subnet\"\"\""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    count \u003d 0"}],"source_content_type":"text/x-python","patch_set":3,"id":"aaf50982_c3a16576","line":121,"range":{"start_line":121,"start_character":0,"end_line":121,"end_character":60},"in_reply_to":"3d8bc839_b52da67b","updated":"2023-10-27 03:02:46.000000000","message":"that will be the ideal case. However, I think we should split that up for ease of review.\n\nfor sake of simplicity, I proposed to keep this change simple and just follow what validate_network is - \u0027fixed_subnet is set and appears in list_subnets\u0027, so we don\u0027t need special handling in the for loop in `validate_os_resources()`\n\nI like to validate them both together, but it requires a bit more work if we want to do it nicely, so we can kick it to a future review. As you have found the current structure doesn\u0027t allow us to easily validate multiple attr with a bunch of if/else statements.\n\nwhat do you think?","commit_id":"791bd9ac9cc137a54aa4c3f274c1ad1288c096e9"},{"author":{"_account_id":2424,"name":"Felipe Reyes","email":"felipe.reyes@canonical.com","username":"freyes"},"change_message_id":"85f3ab35fe4d0451c0d2388d405f6f764a435bfc","unresolved":true,"context_lines":[{"line_number":118,"context_line":"    return network_id"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"def validate_fixed_subnet(cli, fixed_network, fixed_subnet):"},{"line_number":122,"context_line":"    \"\"\"Validate fixed subnet\"\"\""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    count \u003d 0"}],"source_content_type":"text/x-python","patch_set":3,"id":"3d8bc839_b52da67b","line":121,"range":{"start_line":121,"start_character":0,"end_line":121,"end_character":60},"in_reply_to":"6d8d95ef_ddcfa9e6","updated":"2023-10-26 13:47:16.000000000","message":"Thanks for taking the time to review this change, Jake.\n\nI read https://bugs.launchpad.net/ubuntu/+source/magnum/+bug/2038109/comments/9 , by existence you mean \"fixed_subnet is set and fixed_subnet really belongs to the fixed_network defined (unless fixed_network is empty)\"?","commit_id":"791bd9ac9cc137a54aa4c3f274c1ad1288c096e9"},{"author":{"_account_id":2424,"name":"Felipe Reyes","email":"felipe.reyes@canonical.com","username":"freyes"},"change_message_id":"d3edc6bcf71ada7198ffbe1b974b29940935e7bc","unresolved":true,"context_lines":[{"line_number":118,"context_line":"    return network_id"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"def validate_fixed_subnet(cli, fixed_network, fixed_subnet):"},{"line_number":122,"context_line":"    \"\"\"Validate fixed subnet\"\"\""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    count \u003d 0"}],"source_content_type":"text/x-python","patch_set":3,"id":"e4730ad6_b72b5e7d","line":121,"range":{"start_line":121,"start_character":0,"end_line":121,"end_character":60},"in_reply_to":"aaf50982_c3a16576","updated":"2023-11-24 13:30:04.000000000","message":"I agree, I will update the patch.","commit_id":"791bd9ac9cc137a54aa4c3f274c1ad1288c096e9"},{"author":{"_account_id":2424,"name":"Felipe Reyes","email":"felipe.reyes@canonical.com","username":"freyes"},"change_message_id":"bb1860e7342de597161c7b546e09a388e2d5affd","unresolved":false,"context_lines":[{"line_number":118,"context_line":"    return network_id"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"def validate_fixed_subnet(cli, fixed_network, fixed_subnet):"},{"line_number":122,"context_line":"    \"\"\"Validate fixed subnet\"\"\""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    count \u003d 0"}],"source_content_type":"text/x-python","patch_set":3,"id":"222c2875_03731deb","line":121,"range":{"start_line":121,"start_character":0,"end_line":121,"end_character":60},"in_reply_to":"e4730ad6_b72b5e7d","updated":"2023-12-06 22:35:54.000000000","message":"Done","commit_id":"791bd9ac9cc137a54aa4c3f274c1ad1288c096e9"}],"magnum/common/exception.py":[{"author":{"_account_id":8064,"name":"Jake Yip","email":"jake.yip@ardc.edu.au","username":"jake"},"change_message_id":"428ad32ec1e6e221c1c5af2c04146f185855fb58","unresolved":true,"context_lines":[{"line_number":353,"context_line":"class FixedSubnetNotFound(ResourceNotFound):"},{"line_number":354,"context_line":"    \"\"\"The code here changed to 400 according to the latest document.\"\"\""},{"line_number":355,"context_line":"    message \u003d _(\"Unable to find fixed subnet %(subnet)s \""},{"line_number":356,"context_line":"                \"in network %(network)s.\")"},{"line_number":357,"context_line":"    code \u003d 400"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"b29ad969_db969733","line":356,"range":{"start_line":356,"start_character":0,"end_line":356,"end_character":42},"updated":"2023-11-27 06:18:50.000000000","message":"need to back out the changes here too.","commit_id":"af4b14a0610c5d2d4b8287d140e9bb42ad3c97e1"},{"author":{"_account_id":2424,"name":"Felipe Reyes","email":"felipe.reyes@canonical.com","username":"freyes"},"change_message_id":"bb1860e7342de597161c7b546e09a388e2d5affd","unresolved":false,"context_lines":[{"line_number":353,"context_line":"class FixedSubnetNotFound(ResourceNotFound):"},{"line_number":354,"context_line":"    \"\"\"The code here changed to 400 according to the latest document.\"\"\""},{"line_number":355,"context_line":"    message \u003d _(\"Unable to find fixed subnet %(subnet)s \""},{"line_number":356,"context_line":"                \"in network %(network)s.\")"},{"line_number":357,"context_line":"    code \u003d 400"},{"line_number":358,"context_line":""},{"line_number":359,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"38093048_cee4c2a6","line":356,"range":{"start_line":356,"start_character":0,"end_line":356,"end_character":42},"in_reply_to":"b29ad969_db969733","updated":"2023-12-06 22:35:54.000000000","message":"Done","commit_id":"af4b14a0610c5d2d4b8287d140e9bb42ad3c97e1"}]}
