)]}'
{"nova/policy.py":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"0e64f012603b5a99b473084588248c0ca5c48b8f","unresolved":false,"context_lines":[{"line_number":34,"context_line":"               help\u003d_(\u0027Rule checked when requested rule is not found\u0027)),"},{"line_number":35,"context_line":"    cfg.StrOpt(\u0027policy_string\u0027,"},{"line_number":36,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":37,"context_line":"               help\u003d_(\u0027String containing JSON representing policy\u0027)),"},{"line_number":38,"context_line":"    ]"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAMH%2F%2FtB4%3D","line":37,"updated":"2012-11-29 16:59:51.000000000","message":"This doesn\u0027t look like something a user would ever want to set\n\nIf it\u0027s just a hook for tests, you don\u0027t need to add a user-visible config variable for it\n\ne.g. just have the tests set a global POLICY_STRING variable\n\nBut why not write it out to a temp file and exercise the policy file loading code?","commit_id":"259b930476e6b918a59b65cc08d2167ee4e3bd24"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"efb39650279e2f2b7456fbbe362b5617f23c90b2","unresolved":false,"context_lines":[{"line_number":34,"context_line":"               help\u003d_(\u0027Rule checked when requested rule is not found\u0027)),"},{"line_number":35,"context_line":"    cfg.StrOpt(\u0027policy_string\u0027,"},{"line_number":36,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":37,"context_line":"               help\u003d_(\u0027String containing JSON representing policy\u0027)),"},{"line_number":38,"context_line":"    ]"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAAMH%2F%2Fs3c%3D","line":37,"in_reply_to":"AAAAMH%2F%2FtB4%3D","updated":"2012-11-29 18:56:05.000000000","message":"Fair on the user-visible config variable - I can make that change.\n\nI started with the \"write a temp file\" approach - but ran in to a chicken-and-egg problem. To get the temp file approach to work properly, I need to get testresources and testr integrated - but to get those integrated, I need to get policy.json to not break how file paths work.\n\nSo what I\u0027d like to do is get this in, then get the testr work finished, then come back through and re-factor so that we are doing a temp file.\n\nYou\u0027re right about doing it via a non-user-visible variable though. *facepalm*","commit_id":"259b930476e6b918a59b65cc08d2167ee4e3bd24"}],"nova/tests/fake_flags.py":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"9585650f7da5b326c421a631da66e173fb13dec1","unresolved":false,"context_lines":[{"line_number":17,"context_line":"#    under the License."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from nova.openstack.common import cfg"},{"line_number":20,"context_line":"from nova.tests import fake_policy"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"CONF \u003d cfg.CONF"},{"line_number":23,"context_line":"CONF.import_opt(\u0027state_path\u0027, \u0027nova.config\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAMH%2F%2FsFs%3D","line":20,"updated":"2012-11-30 13:07:32.000000000","message":"This looks like an unused import - are you including it for some side-effect? If so, it\u0027s likely someone will just come along and try and remove it","commit_id":"581273dc64f8b6196913e6f12db3a4d0d53a83d2"}],"nova/tests/fake_policy.py":[{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"35e09a0a6cf3bc243f8c57c65d51fbd4855631c3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2010 United States Government as represented by the"},{"line_number":4,"context_line":"# Administrator of the National Aeronautics and Space Administration."},{"line_number":5,"context_line":"# All Rights Reserved."},{"line_number":6,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAMH%2F%2Ft6U%3D","line":3,"updated":"2012-11-28 22:10:34.000000000","message":"Is this the right copyright attribution for this file?  Should it be assigned to Openstack, LLC?","commit_id":"5aa8ef6e33b8ffde186071544969bca097eb00ff"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"7ab79de4fb86d765378e115e1d0180ce0f9f104a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2010 United States Government as represented by the"},{"line_number":4,"context_line":"# Administrator of the National Aeronautics and Space Administration."},{"line_number":5,"context_line":"# All Rights Reserved."},{"line_number":6,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAMH%2F%2FtmQ%3D","line":3,"in_reply_to":"AAAAMH%2F%2Ft6U%3D","updated":"2012-11-29 02:01:05.000000000","message":"Actually, this should be Copyright 2011 Rackspace. I\u0027ll fix it.","commit_id":"5aa8ef6e33b8ffde186071544969bca097eb00ff"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"9585650f7da5b326c421a631da66e173fb13dec1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2011 Rackspace Hosting"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAMH%2F%2FsFM%3D","line":3,"updated":"2012-11-30 13:07:32.000000000","message":"Hmm, this doesn\u0027t look right. There\u0027s literally one other file in the codebase that is Copyright \"Rackspace Hosting\" and that was from comstud a week ago\n\nBased on e.g. Icaf934037e790bde6ce2346746ce38b11134423b and I2951a0de3751bd2ec868e7a661070fed624e4af2 I\u0027d think\n\n  Copyright (c) 2012 OpenStack, LLC\n  All Rights Reserved.\n\nwould be the obvious choice","commit_id":"581273dc64f8b6196913e6f12db3a4d0d53a83d2"}],"nova/tests/policy_fixture.py":[{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"9585650f7da5b326c421a631da66e173fb13dec1","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    def setUp(self):"},{"line_number":26,"context_line":"        super(PolicyFixture, self).setUp()"},{"line_number":27,"context_line":"        nova.policy._POLICY_STRING_OVERRIDE \u003d fake_policy.policy_data"},{"line_number":28,"context_line":"        nova.policy.reset()"},{"line_number":29,"context_line":"        nova.policy.init()"},{"line_number":30,"context_line":"        self.addCleanup(nova.policy.reset)"}],"source_content_type":"text/x-python","patch_set":11,"id":"AAAAMH%2F%2FsFE%3D","line":27,"updated":"2012-11-30 13:07:32.000000000","message":"So you\u0027re saying you can\u0027t create a tempfile here and delete it in tearDown()\n\nWhy? I don\u0027t get it. Lots of other tests do it\n\nWould prefer to avoid adding the POLICY_STRING_OVERRIDE code path if we can","commit_id":"581273dc64f8b6196913e6f12db3a4d0d53a83d2"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"cd4ff9a21d355d1dabb22d74af5ab9d4b0110c4f","unresolved":false,"context_lines":[{"line_number":27,"context_line":"class PolicyFixture(fixtures.Fixture):"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def __init__(self):"},{"line_number":30,"context_line":"        super(PolicyFixture, self).__init__()"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    def setUp(self):"},{"line_number":33,"context_line":"        super(PolicyFixture, self).setUp()"}],"source_content_type":"text/x-python","patch_set":12,"id":"AAAAMX%2F%2F%2FU8%3D","line":30,"updated":"2012-12-03 16:55:30.000000000","message":"er…why the need for an explicit __init__() that only calls the superclass?","commit_id":"7544a0eea6bf8a7d55521aac5355bd8bd87aa142"}]}
