)]}'
{"placement/policy.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ebc686c3ecdc34f79b7423fec634f66361cd18ba","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    # This method is used by oslopolicy CLI scripts in order to generate policy"},{"line_number":53,"context_line":"    # files from overrides on disk and defaults in code. We can just pass an"},{"line_number":54,"context_line":"    # empty list and let oslo do the config lifting for us."},{"line_number":55,"context_line":"    cfg.CONF([], project\u003d\u0027placement\u0027)"},{"line_number":56,"context_line":"    init()"},{"line_number":57,"context_line":"    return _ENFORCER_PLACEMENT"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_2ad95227","line":55,"updated":"2018-09-25 21:27:55.000000000","message":"This just means pull the policy config from placement.conf right?","commit_id":"868e443b09b397637c17ecf92537d78fa3a52fd0"}],"placement/tests/unit/policy_fixture.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"3c57992485e155fdb76de1806bb8abc1e94771b2","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        super(PolicyFixture, self).setUp()"},{"line_number":29,"context_line":"        self.conf_fixture \u003d self.useFixture(config_fixture.Config(cfg.CONF))"},{"line_number":30,"context_line":"        policy_file \u003d paths.state_path_def("},{"line_number":31,"context_line":"            \u0027etc/placement/placement-policy.yaml\u0027)"},{"line_number":32,"context_line":"        self.conf_fixture.config(group\u003d\u0027placement\u0027, policy_file\u003dpolicy_file)"},{"line_number":33,"context_line":"        placement_policy.reset()"},{"line_number":34,"context_line":"        placement_policy.init()"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_0b3ebcb8","line":31,"range":{"start_line":31,"start_character":27,"end_line":31,"end_character":36},"updated":"2018-09-13 18:35:31.000000000","message":"do we get to call this policy.yaml?\n\n[Later] Okay, I see that\u0027s discussed here [1].\n\nAlso, where is that file? Did I see somewhere that it\u0027s a thing that users can (optionally) add? (/me doesn\u0027t understand policy-in-code stuff)\n\n[1] https://review.openstack.org/#/c/601866/","commit_id":"70bd35cc3380d5d17b234ea05b9f0543751dc2f1"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"1676b4977364c7a3059b26a4947573d2ab68310b","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        super(PolicyFixture, self).setUp()"},{"line_number":29,"context_line":"        self.conf_fixture \u003d self.useFixture(config_fixture.Config(cfg.CONF))"},{"line_number":30,"context_line":"        policy_file \u003d paths.state_path_def("},{"line_number":31,"context_line":"            \u0027etc/placement/placement-policy.yaml\u0027)"},{"line_number":32,"context_line":"        self.conf_fixture.config(group\u003d\u0027placement\u0027, policy_file\u003dpolicy_file)"},{"line_number":33,"context_line":"        placement_policy.reset()"},{"line_number":34,"context_line":"        placement_policy.init()"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_b21a8215","line":31,"range":{"start_line":31,"start_character":27,"end_line":31,"end_character":36},"in_reply_to":"3f79a3b5_0b3ebcb8","updated":"2018-09-14 19:28:46.000000000","message":"yeah, it doesn\u0027t have to exist","commit_id":"70bd35cc3380d5d17b234ea05b9f0543751dc2f1"}],"placement/tests/unit/test_policy.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"3c57992485e155fdb76de1806bb8abc1e94771b2","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        CONF([], default_config_files\u003d[])"},{"line_number":38,"context_line":"        policy.reset()"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def tearDown(self):"},{"line_number":41,"context_line":"        super(PlacementPolicyTestCase, self).tearDown()"},{"line_number":42,"context_line":"        policy.reset()"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def test_modified_policy_reloads(self):"},{"line_number":45,"context_line":"        \"\"\"Creates a temporary placement-policy.yaml file and tests"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_4b1fd45a","line":42,"range":{"start_line":40,"start_character":1,"end_line":42,"end_character":22},"updated":"2018-09-13 18:35:31.000000000","message":"or self.addCleanup(policy.reset) ?","commit_id":"70bd35cc3380d5d17b234ea05b9f0543751dc2f1"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"1676b4977364c7a3059b26a4947573d2ab68310b","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        CONF([], default_config_files\u003d[])"},{"line_number":38,"context_line":"        policy.reset()"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def tearDown(self):"},{"line_number":41,"context_line":"        super(PlacementPolicyTestCase, self).tearDown()"},{"line_number":42,"context_line":"        policy.reset()"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    def test_modified_policy_reloads(self):"},{"line_number":45,"context_line":"        \"\"\"Creates a temporary placement-policy.yaml file and tests"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_d2b37e09","line":42,"range":{"start_line":40,"start_character":1,"end_line":42,"end_character":22},"in_reply_to":"3f79a3b5_4b1fd45a","updated":"2018-09-14 19:28:46.000000000","message":"sure","commit_id":"70bd35cc3380d5d17b234ea05b9f0543751dc2f1"}]}
