)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"ce6ba5a6d39188c1a2f188ee88f2332911be885c","unresolved":true,"context_lines":[{"line_number":26,"context_line":"PASS: New admin user of a different project but has no roles, admin"},{"line_number":27,"context_line":"      or reader in the admin project is denied all access"},{"line_number":28,"context_line":"PASS: dcmanager user behaves like existing admin."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Change-Id: I0d924b91583efb8191202f142f12d8f151f6feec"},{"line_number":31,"context_line":"Story: 2010149"},{"line_number":32,"context_line":"Task: 46119"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"77198962_455c45eb","line":29,"updated":"2022-08-25 15:34:18.000000000","message":"Horizon GUI access should be verified as well","commit_id":"640e7f19703279e5fcc2db3ee553aa1c5e39be6c"},{"author":{"_account_id":21776,"name":"Jerry Sun","email":"jerry.sun@windriver.com","username":"jerrysun"},"change_message_id":"59a74dcf03a1d8ae906a4d7853dff5f7ac9111f9","unresolved":false,"context_lines":[{"line_number":26,"context_line":"PASS: New admin user of a different project but has no roles, admin"},{"line_number":27,"context_line":"      or reader in the admin project is denied all access"},{"line_number":28,"context_line":"PASS: dcmanager user behaves like existing admin."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Change-Id: I0d924b91583efb8191202f142f12d8f151f6feec"},{"line_number":31,"context_line":"Story: 2010149"},{"line_number":32,"context_line":"Task: 46119"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"4c4fa3cb_90941a70","line":29,"in_reply_to":"77198962_455c45eb","updated":"2022-08-25 16:56:16.000000000","message":"Done","commit_id":"640e7f19703279e5fcc2db3ee553aa1c5e39be6c"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":33487,"name":"João Victor Portal","display_name":"J. Portal","email":"Joao.VictorPortal@windriver.com","username":"jvportal"},"change_message_id":"3975b3921df93594a442a2ac5e5043f9db67906e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"8fcf0564_d2e7b422","updated":"2022-08-25 16:35:26.000000000","message":"I reviewed this change, I\u0027m waiting the comments to be addressed to add a +1.","commit_id":"640e7f19703279e5fcc2db3ee553aa1c5e39be6c"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"3f90fe3e9de014aa2f6582434b095ff3ae439e33","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"7627019c_51cb7f59","updated":"2022-08-26 13:36:41.000000000","message":"Recommend better inline documentation of the policy flow through the various UpdateStrategyAPI; at least until the classes are better structured to make the inheritance clearer.","commit_id":"cfabb7eb90ccd2d6a42ecf93579bf3a47ca142ca"},{"author":{"_account_id":21776,"name":"Jerry Sun","email":"jerry.sun@windriver.com","username":"jerrysun"},"change_message_id":"bb55a3a3074050aef9418e7841a6d944fdfc6493","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"4f082e3c_e27ac4b1","in_reply_to":"7627019c_51cb7f59","updated":"2022-08-26 13:44:56.000000000","message":"i added it to the sw_update_strategy_policy.py because i think that\u0027s the best place for it...","commit_id":"cfabb7eb90ccd2d6a42ecf93579bf3a47ca142ca"}],"nfv/nfv-vim/nfv_vim/api/acl/policies/sw_update_strategy_policy.py":[{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"26fa07b074722c920c61a3aa1f916c6229669a7f","unresolved":true,"context_lines":[{"line_number":23,"context_line":"    base.RuleDefault("},{"line_number":24,"context_line":"        name\u003dPOLICY_ROOT % \u0027post\u0027,"},{"line_number":25,"context_line":"        check_str\u003d\u0027rule:\u0027 + base.ADMIN_IN_SYSTEM_PROJECTS,"},{"line_number":26,"context_line":"        description\u003d\"Apply sw_update_strategy\","},{"line_number":27,"context_line":"    )"},{"line_number":28,"context_line":"]"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"e5ffde98_193644de","line":26,"range":{"start_line":26,"start_character":21,"end_line":26,"end_character":27},"updated":"2022-08-25 18:55:32.000000000","message":"Create ?\n\nWhere is  \u0027delete\u0027 or \u0027apply\u0027 handled ?","commit_id":"eac89686e2ff31f2e5a8e3b529a469f90cc9f990"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"914d26256bdfeb6258d24d5343fc1e8ab3648282","unresolved":true,"context_lines":[{"line_number":23,"context_line":"    base.RuleDefault("},{"line_number":24,"context_line":"        name\u003dPOLICY_ROOT % \u0027post\u0027,"},{"line_number":25,"context_line":"        check_str\u003d\u0027rule:\u0027 + base.ADMIN_IN_SYSTEM_PROJECTS,"},{"line_number":26,"context_line":"        description\u003d\"Apply sw_update_strategy\","},{"line_number":27,"context_line":"    )"},{"line_number":28,"context_line":"]"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da396c6e_f0d11cc3","line":26,"range":{"start_line":26,"start_character":21,"end_line":26,"end_character":27},"in_reply_to":"c0c7adee_91a052db","updated":"2022-08-25 19:41:12.000000000","message":"Ok, I\u0027d recommend a code comment so its clearer in the future.  Should also run a patch strategy from create through apply to completion to verify the patch is applied as expected.","commit_id":"eac89686e2ff31f2e5a8e3b529a469f90cc9f990"},{"author":{"_account_id":21776,"name":"Jerry Sun","email":"jerry.sun@windriver.com","username":"jerrysun"},"change_message_id":"68b1c3bb2bde44d915ad2422930e409d2c4e3706","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    base.RuleDefault("},{"line_number":24,"context_line":"        name\u003dPOLICY_ROOT % \u0027post\u0027,"},{"line_number":25,"context_line":"        check_str\u003d\u0027rule:\u0027 + base.ADMIN_IN_SYSTEM_PROJECTS,"},{"line_number":26,"context_line":"        description\u003d\"Apply sw_update_strategy\","},{"line_number":27,"context_line":"    )"},{"line_number":28,"context_line":"]"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"322e7d45_8567beb3","line":26,"range":{"start_line":26,"start_character":21,"end_line":26,"end_character":27},"in_reply_to":"da396c6e_f0d11cc3","updated":"2022-08-25 19:55:51.000000000","message":"I added a comment.\nI\u0027ve tested the patch strategy create, delete, show, apply, and abort, and ensured it gets through my changes (admin is allowed on all, reader allowed on show). I don\u0027t think testing the apply completely is needed, since that part of the code was not changed. It would also not be fair to not test the other commands like fw_update, kube_upgrade, kube_rootca_update, sw_patch_strategy. Lots of testing overhead for behavior that was not changed by this commit.","commit_id":"eac89686e2ff31f2e5a8e3b529a469f90cc9f990"},{"author":{"_account_id":21776,"name":"Jerry Sun","email":"jerry.sun@windriver.com","username":"jerrysun"},"change_message_id":"c21a3a25dce47699e089390b478e3d5bdc550f4c","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    base.RuleDefault("},{"line_number":24,"context_line":"        name\u003dPOLICY_ROOT % \u0027post\u0027,"},{"line_number":25,"context_line":"        check_str\u003d\u0027rule:\u0027 + base.ADMIN_IN_SYSTEM_PROJECTS,"},{"line_number":26,"context_line":"        description\u003d\"Apply sw_update_strategy\","},{"line_number":27,"context_line":"    )"},{"line_number":28,"context_line":"]"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"c0c7adee_91a052db","line":26,"range":{"start_line":26,"start_character":21,"end_line":26,"end_character":27},"in_reply_to":"e5ffde98_193644de","updated":"2022-08-25 19:11:20.000000000","message":"there\u0027s a bit of a disconnect between the commands and the controller methods. Here, sw_update_strategy controller only handles the \"post\" method. That\u0027s why I have the rules only handle the \"post\". The description is because the \"post\" method of the controller refers to the \"apply\" cli command from sw-manager.\nThe sw-manager delete, add, and show are handled by other classes. It\u0027s a bit confusing. But basically, the controller class for sw_update_strategy only handles the \"post\" method, so I removed the others, as they are not being used.","commit_id":"eac89686e2ff31f2e5a8e3b529a469f90cc9f990"}],"nfv/nfv-vim/nfv_vim/api/controllers/v1/orchestration/sw_update/_sw_update_strategy.py":[{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"ce6ba5a6d39188c1a2f188ee88f2332911be885c","unresolved":true,"context_lines":[{"line_number":444,"context_line":"        \"\"\"Check policy rules for each action of this controller.\"\"\""},{"line_number":445,"context_line":"        # this handles the apply and abort requests"},{"line_number":446,"context_line":"        if method_name \u003d\u003d \"post\":"},{"line_number":447,"context_line":"            policy.check(sw_update_strategy_policy.POLICY_ROOT % \"apply_abort\", {},"},{"line_number":448,"context_line":"                           auth_context_dict, exc\u003dpolicy.PolicyForbidden)"},{"line_number":449,"context_line":"        else:"},{"line_number":450,"context_line":"            policy.check(\u0027admin_in_system_projects\u0027, {}, auth_context_dict)"}],"source_content_type":"text/x-python","patch_set":2,"id":"f99f16f2_8f5c003d","line":447,"range":{"start_line":447,"start_character":66,"end_line":447,"end_character":77},"updated":"2022-08-25 15:34:18.000000000","message":"The \"post\" method policy check should be more aptly named (from apply_abort) or split out as create/\u0027post\u0027","commit_id":"640e7f19703279e5fcc2db3ee553aa1c5e39be6c"},{"author":{"_account_id":21776,"name":"Jerry Sun","email":"jerry.sun@windriver.com","username":"jerrysun"},"change_message_id":"59a74dcf03a1d8ae906a4d7853dff5f7ac9111f9","unresolved":false,"context_lines":[{"line_number":444,"context_line":"        \"\"\"Check policy rules for each action of this controller.\"\"\""},{"line_number":445,"context_line":"        # this handles the apply and abort requests"},{"line_number":446,"context_line":"        if method_name \u003d\u003d \"post\":"},{"line_number":447,"context_line":"            policy.check(sw_update_strategy_policy.POLICY_ROOT % \"apply_abort\", {},"},{"line_number":448,"context_line":"                           auth_context_dict, exc\u003dpolicy.PolicyForbidden)"},{"line_number":449,"context_line":"        else:"},{"line_number":450,"context_line":"            policy.check(\u0027admin_in_system_projects\u0027, {}, auth_context_dict)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3110fc5d_8fff4456","line":447,"range":{"start_line":447,"start_character":66,"end_line":447,"end_character":77},"in_reply_to":"f99f16f2_8f5c003d","updated":"2022-08-25 16:56:16.000000000","message":"Done","commit_id":"640e7f19703279e5fcc2db3ee553aa1c5e39be6c"}]}
