)]}'
{"etc/placement/README-policy.yaml.txt":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"a9fb9ff29f570956421204db5c53d6ae2e7984e0","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"For a pre-generated example of the latest placement policy.yaml, see:"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"    https://docs.openstack.org/nova/latest/configuration/sample-placement-policy.html"}],"source_content_type":"text/plain","patch_set":4,"id":"3f79a3b5_f543b269","line":11,"updated":"2018-10-02 12:45:58.000000000","message":"When we get our docs jobs properly publishing this will need to change.","commit_id":"c425af7d36e8a8c585c660974c24c64b7aa7ef9e"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"e5a9067a6f31d6a656ac0b471bfa13b400608c41","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"For a pre-generated example of the latest placement policy.yaml, see:"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"    https://docs.openstack.org/nova/latest/configuration/sample-placement-policy.html"}],"source_content_type":"text/plain","patch_set":4,"id":"3f79a3b5_9cc59e0c","line":11,"in_reply_to":"3f79a3b5_f543b269","updated":"2018-10-04 01:18:56.000000000","message":"Right.","commit_id":"c425af7d36e8a8c585c660974c24c64b7aa7ef9e"}],"etc/placement/policy-generator.conf":[{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"7aa7ae7f3a7b881aaa23899d5320a0aab135680f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":"output_file \u003d etc/placement/policy.yaml.sample."},{"line_number":3,"context_line":"namespace \u003d placement"}],"source_content_type":"text/plain","patch_set":2,"id":"3f79a3b5_24bc3305","line":2,"range":{"start_line":2,"start_character":46,"end_line":2,"end_character":47},"updated":"2018-09-12 01:28:11.000000000","message":"redundant \".\"","commit_id":"e085e4018e2b5380f78b002d54aa98d3bf10dbae"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"9d709e9739bd2defba33afb584108f1add7dea8a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":"# TODO: When placement is split out of the nova repo, this can change to"},{"line_number":3,"context_line":"# etc/placement/policy.yaml.sample."},{"line_number":4,"context_line":"output_file \u003d etc/nova/placement-policy.yaml.sample"},{"line_number":5,"context_line":"namespace \u003d placement"}],"source_content_type":"text/plain","patch_set":3,"id":"3f79a3b5_87d41feb","side":"PARENT","line":4,"updated":"2018-09-12 15:14:16.000000000","message":"Since presumably this means there will already be \u0027placement-policy.yaml\u0027 files out in the world do we want to support both or be explicit like we\u0027re being with placement.conf?","commit_id":"7e7dc3b9305e9f309400b6c827778d21262fe0df"}],"placement/conf/placement.py":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"9d709e9739bd2defba33afb584108f1add7dea8a","unresolved":false,"context_lines":[{"line_number":38,"context_line":"is determined."},{"line_number":39,"context_line":"\"\"\"),"},{"line_number":40,"context_line":"    # TODO(mriedem): When placement is split out of nova, this should be"},{"line_number":41,"context_line":"    # deprecated since then [oslo_policy]/policy_file can be used."},{"line_number":42,"context_line":"    cfg.StrOpt("},{"line_number":43,"context_line":"        \u0027policy_file\u0027,"},{"line_number":44,"context_line":"        # This default matches what is in"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_07024f70","side":"PARENT","line":41,"updated":"2018-09-12 15:14:16.000000000","message":"Are we happy to just remove it or should we deprecate it as described here?","commit_id":"7e7dc3b9305e9f309400b6c827778d21262fe0df"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"e3fd682755e9306f191ad26f39e3356ca47c6d00","unresolved":false,"context_lines":[{"line_number":38,"context_line":"is determined."},{"line_number":39,"context_line":"\"\"\"),"},{"line_number":40,"context_line":"    # TODO(mriedem): When placement is split out of nova, this should be"},{"line_number":41,"context_line":"    # deprecated since then [oslo_policy]/policy_file can be used."},{"line_number":42,"context_line":"    cfg.StrOpt("},{"line_number":43,"context_line":"        \u0027policy_file\u0027,"},{"line_number":44,"context_line":"        # This default matches what is in"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_ef6a05ea","side":"PARENT","line":41,"in_reply_to":"3f79a3b5_07024f70","updated":"2018-10-02 11:06:05.000000000","message":"Just deprecate it is better than removing it, IMO. I removed this change from this patch.","commit_id":"7e7dc3b9305e9f309400b6c827778d21262fe0df"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"a9fb9ff29f570956421204db5c53d6ae2e7984e0","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        \u0027policy_file\u0027,"},{"line_number":44,"context_line":"        # This default matches what is in"},{"line_number":45,"context_line":"        # etc/placement/policy-generator.conf"},{"line_number":46,"context_line":"        default\u003d\u0027policy.yaml\u0027,"},{"line_number":47,"context_line":"        help\u003d\u0027The file that defines placement policies. This can be an \u0027"},{"line_number":48,"context_line":"             \u0027absolute path or relative to the configuration file.\u0027),"},{"line_number":49,"context_line":"    cfg.StrOpt("}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_d50eb63b","line":46,"updated":"2018-10-02 12:45:58.000000000","message":"Is the intent to do the deprecation of this in a different patch?","commit_id":"c425af7d36e8a8c585c660974c24c64b7aa7ef9e"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"d66f5610e86d9bf15a86f3e5ab0e645c0873f1a0","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        \u0027policy_file\u0027,"},{"line_number":44,"context_line":"        # This default matches what is in"},{"line_number":45,"context_line":"        # etc/placement/policy-generator.conf"},{"line_number":46,"context_line":"        default\u003d\u0027policy.yaml\u0027,"},{"line_number":47,"context_line":"        help\u003d\u0027The file that defines placement policies. This can be an \u0027"},{"line_number":48,"context_line":"             \u0027absolute path or relative to the configuration file.\u0027),"},{"line_number":49,"context_line":"    cfg.StrOpt("}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_6b81d7f9","line":46,"in_reply_to":"3f79a3b5_223a24c3","updated":"2018-10-04 06:26:22.000000000","message":"[later] ...It seems that in oslo_policy[1] the `[oslo_policy]/policy_file` is registered with \"deprecated_group\u003d\u0027DEFAULT\u0027\", so we can move all the options in [placement] to [DEFAULT] at first, and then move only `policy_file` option from [DEFAULT] to [oslo_policy] group. Thoughts?\n\n[1] https://github.com/openstack/oslo.policy/blob/5dc2ab7bcda39b0eab2da06f346f3a2ca1603e83/oslo_policy/opts.py#L41","commit_id":"c425af7d36e8a8c585c660974c24c64b7aa7ef9e"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"4c88913d0941d1c8765eaa853f6025e312ad7e35","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        \u0027policy_file\u0027,"},{"line_number":44,"context_line":"        # This default matches what is in"},{"line_number":45,"context_line":"        # etc/placement/policy-generator.conf"},{"line_number":46,"context_line":"        default\u003d\u0027policy.yaml\u0027,"},{"line_number":47,"context_line":"        help\u003d\u0027The file that defines placement policies. This can be an \u0027"},{"line_number":48,"context_line":"             \u0027absolute path or relative to the configuration file.\u0027),"},{"line_number":49,"context_line":"    cfg.StrOpt("}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_223a24c3","line":46,"in_reply_to":"3f79a3b5_bc965aee","updated":"2018-10-04 01:38:31.000000000","message":"To make clear my comments, I\u0027m assuming that we should prepare some periods where we support both configuration. \"Just documenting this\" is okay if we can agree that we only support [placcement]/policy_file in Stein release and we only support [oslo_policy]/policy_file in T+ releases.\n\n...Or can we make [oslo_policy]/policy_file defaults to None only in placement project? That might work. We can check if it has a value and if it doesn\u0027t then fall back to [placement]/policy_file. Thoughts?","commit_id":"c425af7d36e8a8c585c660974c24c64b7aa7ef9e"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"e5a9067a6f31d6a656ac0b471bfa13b400608c41","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        \u0027policy_file\u0027,"},{"line_number":44,"context_line":"        # This default matches what is in"},{"line_number":45,"context_line":"        # etc/placement/policy-generator.conf"},{"line_number":46,"context_line":"        default\u003d\u0027policy.yaml\u0027,"},{"line_number":47,"context_line":"        help\u003d\u0027The file that defines placement policies. This can be an \u0027"},{"line_number":48,"context_line":"             \u0027absolute path or relative to the configuration file.\u0027),"},{"line_number":49,"context_line":"    cfg.StrOpt("}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_bc965aee","line":46,"in_reply_to":"3f79a3b5_d50eb63b","updated":"2018-10-04 01:18:56.000000000","message":"Yes, I thought about it. But I didn\u0027t because...\n\nBecause I agree that documenting deprecation here is easy, but deprecation itself looks not that easy to me. That said, since both [placement]/policy_file and [oslo_policy]/policy_file default to non-None value, in the policy.py file how do we know which to use? There we have no way which is set by operators. Any ideas?","commit_id":"c425af7d36e8a8c585c660974c24c64b7aa7ef9e"}],"placement/tests/unit/test_policy.py":[{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"7aa7ae7f3a7b881aaa23899d5320a0aab135680f","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from oslo_config import cfg"},{"line_number":16,"context_line":"from oslo_config import fixture as config_fixture"},{"line_number":17,"context_line":"from oslo_policy import policy as oslo_policy"},{"line_number":18,"context_line":"from oslo_policy import opts as policy_opts"},{"line_number":19,"context_line":"import testtools"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from placement import context"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_e4339bc3","line":18,"updated":"2018-09-12 01:28:11.000000000","message":"PEP8: move it to L17","commit_id":"e085e4018e2b5380f78b002d54aa98d3bf10dbae"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"7aa7ae7f3a7b881aaa23899d5320a0aab135680f","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        CONF([], default_config_files\u003d[])"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def test_modified_policy_reloads(self):"},{"line_number":41,"context_line":"        \"\"\"Creates a temporary placement-policy.yaml file and tests"},{"line_number":42,"context_line":"        authorizations against a fake rule between updates to the physical"},{"line_number":43,"context_line":"        policy file."},{"line_number":44,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_44e04f27","line":41,"range":{"start_line":41,"start_character":31,"end_line":41,"end_character":52},"updated":"2018-09-12 01:28:11.000000000","message":"policy.yaml","commit_id":"e085e4018e2b5380f78b002d54aa98d3bf10dbae"}]}
