)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"a2ca49736d6eb1c9f060767a43da876b64ed4377","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Amir Mofakhar \u003camofakhar@op5.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-12-15 12:11:03 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Implemented a policy enforcement engine"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Task: 5872"},{"line_number":10,"context_line":"Story: 2001316"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"df87a7cf_caed29b8","line":7,"updated":"2017-12-15 13:19:51.000000000","message":"Please add some information about the content of the change.","commit_id":"f2fccd9a6f019ea86a87d13b930a5087fa8c4c42"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"2e5d33a644dc021258cd081f0c030f68fdbb3ea5","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Amir Mofakhar \u003camofakhar@op5.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-12-15 12:11:03 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Implemented a policy enforcement engine"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Task: 5872"},{"line_number":10,"context_line":"Story: 2001316"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"df87a7cf_7d227254","line":7,"in_reply_to":"df87a7cf_caed29b8","updated":"2017-12-18 13:44:12.000000000","message":"Done","commit_id":"f2fccd9a6f019ea86a87d13b930a5087fa8c4c42"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"a2ca49736d6eb1c9f060767a43da876b64ed4377","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Implemented a policy enforcement engine"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Task: 5872"},{"line_number":10,"context_line":"Story: 2001316"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ic5402ba0986416c9386c1dc3fc1559f148ea9625"},{"line_number":13,"context_line":"Signed-off-by: Amir Mofakhar \u003camofakhar@op5.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"df87a7cf_4a37d94e","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":14},"updated":"2017-12-15 13:19:51.000000000","message":"Please add this change as a new task to this [1] story.\n\n[1] https://storyboard.openstack.org/#!/story/2001233","commit_id":"f2fccd9a6f019ea86a87d13b930a5087fa8c4c42"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"2e5d33a644dc021258cd081f0c030f68fdbb3ea5","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Implemented a policy enforcement engine"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Task: 5872"},{"line_number":10,"context_line":"Story: 2001316"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ic5402ba0986416c9386c1dc3fc1559f148ea9625"},{"line_number":13,"context_line":"Signed-off-by: Amir Mofakhar \u003camofakhar@op5.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"df87a7cf_9d1f3607","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":14},"in_reply_to":"df87a7cf_4a37d94e","updated":"2017-12-18 13:44:12.000000000","message":"Done","commit_id":"f2fccd9a6f019ea86a87d13b930a5087fa8c4c42"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"1b40e1eab53729cc72b6659b1da7db968d287159","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Implemented a policy enforcement engine"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Under monasca_common/policy an enforcement engine is added for using oslo.policy in the other monasca projects."},{"line_number":10,"context_line":"There are same methods as enforcement enging currently is used in nova and keystone projects."},{"line_number":11,"context_line":"Also added unit tests under tests/policy for testing implemented methods."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Task: 6105"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"df87a7cf_c7d62ef3","line":10,"range":{"start_line":10,"start_character":23,"end_line":10,"end_character":70},"updated":"2017-12-19 14:04:30.000000000","message":"[...] as in enforcement engines currently used in nova [...]","commit_id":"1dc5c20eb83f9a1a8939582fe75f0f5e162fd7b4"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"cbd5151ce9a672ec1c3b36aa680886802a0369b8","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Implemented a policy enforcement engine"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Under monasca_common/policy an enforcement engine is added for using oslo.policy in the other monasca projects."},{"line_number":10,"context_line":"There are same methods as enforcement enging currently is used in nova and keystone projects."},{"line_number":11,"context_line":"Also added unit tests under tests/policy for testing implemented methods."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Task: 6105"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"df87a7cf_a2a0b8f5","line":10,"range":{"start_line":10,"start_character":23,"end_line":10,"end_character":70},"in_reply_to":"df87a7cf_c7d62ef3","updated":"2017-12-19 14:21:06.000000000","message":"Done","commit_id":"1dc5c20eb83f9a1a8939582fe75f0f5e162fd7b4"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"1b40e1eab53729cc72b6659b1da7db968d287159","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Implemented a policy enforcement engine"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Under monasca_common/policy an enforcement engine is added for using oslo.policy in the other monasca projects."},{"line_number":10,"context_line":"There are same methods as enforcement enging currently is used in nova and keystone projects."},{"line_number":11,"context_line":"Also added unit tests under tests/policy for testing implemented methods."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Task: 6105"},{"line_number":14,"context_line":"Story: 2001233"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"df87a7cf_e7ec92bc","line":11,"range":{"start_line":9,"start_character":0,"end_line":11,"end_character":73},"updated":"2017-12-19 14:04:30.000000000","message":"Please wrap at 72 characters.","commit_id":"1dc5c20eb83f9a1a8939582fe75f0f5e162fd7b4"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"cbd5151ce9a672ec1c3b36aa680886802a0369b8","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Implemented a policy enforcement engine"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Under monasca_common/policy an enforcement engine is added for using oslo.policy in the other monasca projects."},{"line_number":10,"context_line":"There are same methods as enforcement enging currently is used in nova and keystone projects."},{"line_number":11,"context_line":"Also added unit tests under tests/policy for testing implemented methods."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Task: 6105"},{"line_number":14,"context_line":"Story: 2001233"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"df87a7cf_42a1acf6","line":11,"range":{"start_line":9,"start_character":0,"end_line":11,"end_character":73},"in_reply_to":"df87a7cf_e7ec92bc","updated":"2017-12-19 14:21:06.000000000","message":"Done","commit_id":"1dc5c20eb83f9a1a8939582fe75f0f5e162fd7b4"}],"monasca_common/policy_engine/__init__.py":[{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"a2ca49736d6eb1c9f060767a43da876b64ed4377","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"df87a7cf_0a223102","updated":"2017-12-15 13:19:51.000000000","message":"Other projects use `policy` or `policies` as the package name. The spec document [1] uses `monasca_common.policy`. Please stay consistent.\n\n[1] https://review.openstack.org/#/c/511245/3/specs/queens/approved/implement-oslo-policy.rst@50","commit_id":"f2fccd9a6f019ea86a87d13b930a5087fa8c4c42"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"2e5d33a644dc021258cd081f0c030f68fdbb3ea5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"df87a7cf_0090a049","in_reply_to":"df87a7cf_0a223102","updated":"2017-12-18 13:44:12.000000000","message":"Done","commit_id":"f2fccd9a6f019ea86a87d13b930a5087fa8c4c42"}],"monasca_common/policy_engine/policy.py":[{"author":{"_account_id":19853,"name":"Nguyen Hung Phuong","email":"phuongnh@vn.fujitsu.com","username":"phuongnh"},"change_message_id":"fe25942ce89e96771de2e36d73858b982d2418ee","unresolved":false,"context_lines":[{"line_number":145,"context_line":"        LOG.exception(\u0027Policy not registered\u0027)"},{"line_number":146,"context_line":"        raise"},{"line_number":147,"context_line":"    except Exception:"},{"line_number":148,"context_line":"        LOG.debug(\u0027Policy check for %(action)s failed with credentials \u0027 "},{"line_number":149,"context_line":"                  \u0027%(credentials)s\u0027,"},{"line_number":150,"context_line":"                  {\u0027action\u0027: action, \u0027credentials\u0027: credentials})"},{"line_number":151,"context_line":"        raise"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff82abbf_8d9a6db6","line":148,"range":{"start_line":148,"start_character":72,"end_line":148,"end_character":73},"updated":"2017-11-28 09:55:02.000000000","message":"please remove white space at the end","commit_id":"91f200d776533497e8f7ba0c8d4705bc66821715"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"fe281382c25e4739f9842a920b4ccd69198ddf16","unresolved":false,"context_lines":[{"line_number":145,"context_line":"        LOG.exception(\u0027Policy not registered\u0027)"},{"line_number":146,"context_line":"        raise"},{"line_number":147,"context_line":"    except Exception:"},{"line_number":148,"context_line":"        LOG.debug(\u0027Policy check for %(action)s failed with credentials \u0027 "},{"line_number":149,"context_line":"                  \u0027%(credentials)s\u0027,"},{"line_number":150,"context_line":"                  {\u0027action\u0027: action, \u0027credentials\u0027: credentials})"},{"line_number":151,"context_line":"        raise"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff82abbf_5e1bad71","line":148,"range":{"start_line":148,"start_character":72,"end_line":148,"end_character":73},"in_reply_to":"ff82abbf_8d9a6db6","updated":"2017-11-28 12:00:39.000000000","message":"Done","commit_id":"91f200d776533497e8f7ba0c8d4705bc66821715"},{"author":{"_account_id":12542,"name":"Johannes Grassler","email":"jgr-launchpad@btw23.de","username":"jgrassler"},"change_message_id":"35a7593829a137676ac5a75250cee4d99abc14f9","unresolved":false,"context_lines":[{"line_number":36,"context_line":"_ENFORCER \u003d None"},{"line_number":37,"context_line":"# oslo_policy will read the policy configuration file again when the file"},{"line_number":38,"context_line":"# is changed in runtime so the old policy rules will be saved to"},{"line_number":39,"context_line":"# saved_file_rules and used to compare with new rules to determine the"},{"line_number":40,"context_line":"# rules whether were updated."},{"line_number":41,"context_line":"saved_file_rules \u003d []"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"df87a7cf_0d458217","line":39,"updated":"2017-12-14 16:53:17.000000000","message":"nit: determine whether","commit_id":"69247be03aaa5510a7872e4fd0c860dfc5333dbf"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"5370bfbb19fece951083d9211d749730bac481e6","unresolved":false,"context_lines":[{"line_number":36,"context_line":"_ENFORCER \u003d None"},{"line_number":37,"context_line":"# oslo_policy will read the policy configuration file again when the file"},{"line_number":38,"context_line":"# is changed in runtime so the old policy rules will be saved to"},{"line_number":39,"context_line":"# saved_file_rules and used to compare with new rules to determine the"},{"line_number":40,"context_line":"# rules whether were updated."},{"line_number":41,"context_line":"saved_file_rules \u003d []"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"df87a7cf_162ee5a4","line":39,"in_reply_to":"df87a7cf_0d458217","updated":"2017-12-15 08:40:14.000000000","message":"Done","commit_id":"69247be03aaa5510a7872e4fd0c860dfc5333dbf"}],"monasca_common/tests/policy/test_policy.py":[{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"a2ca49736d6eb1c9f060767a43da876b64ed4377","unresolved":false,"context_lines":[{"line_number":190,"context_line":"            old_policy, new_policy, default_rule, self.context)"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"        mock_warning.assert_called_once_with(\"Start using the new \""},{"line_number":193,"context_line":"                                             \"action \u0027{0}\u0027. The existing action \u0027{1}\u0027 is being deprecated and \""},{"line_number":194,"context_line":"                                             \"will be removed in future release.\".format(new_policy,"},{"line_number":195,"context_line":"                                                                                         old_policy))"},{"line_number":196,"context_line":"        self.assertTrue(using_old_action)"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    def test_verify_deprecated_policy_using_new_action(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"df87a7cf_6d2d1745","line":195,"range":{"start_line":193,"start_character":45,"end_line":195,"end_character":101},"updated":"2017-12-15 13:19:51.000000000","message":"nit: wrap to 80 characters.","commit_id":"f2fccd9a6f019ea86a87d13b930a5087fa8c4c42"},{"author":{"_account_id":26733,"name":"Amir Mofakhar","email":"amir@mofakhar.info","username":"amofakhar"},"change_message_id":"2e5d33a644dc021258cd081f0c030f68fdbb3ea5","unresolved":false,"context_lines":[{"line_number":190,"context_line":"            old_policy, new_policy, default_rule, self.context)"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"        mock_warning.assert_called_once_with(\"Start using the new \""},{"line_number":193,"context_line":"                                             \"action \u0027{0}\u0027. The existing action \u0027{1}\u0027 is being deprecated and \""},{"line_number":194,"context_line":"                                             \"will be removed in future release.\".format(new_policy,"},{"line_number":195,"context_line":"                                                                                         old_policy))"},{"line_number":196,"context_line":"        self.assertTrue(using_old_action)"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    def test_verify_deprecated_policy_using_new_action(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"df87a7cf_a0c8d4a7","line":195,"range":{"start_line":193,"start_character":45,"end_line":195,"end_character":101},"in_reply_to":"df87a7cf_6d2d1745","updated":"2017-12-18 13:44:12.000000000","message":"Done","commit_id":"f2fccd9a6f019ea86a87d13b930a5087fa8c4c42"}]}
