)]}'
{"nova/tests/fake_libvirt_utils.py":[{"author":{"_account_id":2468,"name":"unicell","email":"unicell@gmail.com","username":"unicell"},"change_message_id":"0400452eb38813ff513e8668e0003149d606abac","unresolved":false,"context_lines":[{"line_number":18,"context_line":"import StringIO"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from nova.openstack.common import cfg"},{"line_number":21,"context_line":"from nova.virt.libvirt import utils as libvirtutils_orig"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2B1Kc%3D","line":21,"updated":"2013-02-18 16:12:18.000000000","message":"Just nitpick, using \"libvirtutils\" instead of \"libvirtutils_orig\" should be much more intuitive to me.\n\nIn test_libvirt.py, it also imported as libvirt_utils","commit_id":"533bd2307a807bd6c7c466988c3b6f1f85a9929d"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"143a7478959d49814137b9f968e6b0cf30346504","unresolved":false,"context_lines":[{"line_number":18,"context_line":"import StringIO"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from nova.openstack.common import cfg"},{"line_number":21,"context_line":"from nova.virt.libvirt import utils as libvirtutils_orig"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2BzYI%3D","line":21,"in_reply_to":"AAAAM3%2F%2B1Kc%3D","updated":"2013-02-18 22:31:40.000000000","message":"Done","commit_id":"533bd2307a807bd6c7c466988c3b6f1f85a9929d"}],"nova/tests/test_libvirt.py":[{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"7eb6ea512fc0c9d29d12334cc37e0fbefbf4c1a2","unresolved":false,"context_lines":[{"line_number":137,"context_line":"    def setUp(self):"},{"line_number":138,"context_line":"        super(CacheConcurrencyTestCase, self).setUp()"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        temp_dir \u003d tempfile.mkdtemp()"},{"line_number":141,"context_line":"        self.flags(instances_path\u003dtemp_dir)"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        # utils.synchronized() will create the lock_path for us if it"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2By8w%3D","line":140,"updated":"2013-02-19 01:23:56.000000000","message":"It doesn\u0027t look like this gets cleaned up.\n\nI think I may recall a fixture to help with temp dir cleanup?","commit_id":"b82e5c6597cd8e6298096fbee441d4fbe680c972"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"145c17ec907b0e4c81ca15d4b4812c7dd5eee78a","unresolved":false,"context_lines":[{"line_number":137,"context_line":"    def setUp(self):"},{"line_number":138,"context_line":"        super(CacheConcurrencyTestCase, self).setUp()"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"        temp_dir \u003d tempfile.mkdtemp()"},{"line_number":141,"context_line":"        self.flags(instances_path\u003dtemp_dir)"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        # utils.synchronized() will create the lock_path for us if it"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2Bwbc%3D","line":140,"in_reply_to":"AAAAM3%2F%2By8w%3D","updated":"2013-02-19 21:36:14.000000000","message":"Done","commit_id":"b82e5c6597cd8e6298096fbee441d4fbe680c972"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"fa8ed63b20e31cf52244cf62f1b24a1ad60e33b9","unresolved":false,"context_lines":[{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        # Make sure the instances directory is cleaned up too"},{"line_number":176,"context_line":"        if os.path.exists(self.instances_dir):"},{"line_number":177,"context_line":"            shutil.rmtree(self.instances_dir)"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        super(CacheConcurrencyTestCase, self).tearDown()"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAM3%2F%2BwXI%3D","line":177,"updated":"2013-02-19 21:58:57.000000000","message":"Instead of doing this manually, try:\n\n        self.tempdir \u003d self.useFixture(fixtures.TempDir()).path\n\nand get automagic cleanup.  See example usage in nova/tests/network/test_manager.py","commit_id":"61d6e058f61ef2b53afa11a4eaf1c990def7f0fb"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"41c8f0bcc01dc1d88d600dda1776f6ce7561798f","unresolved":false,"context_lines":[{"line_number":174,"context_line":""},{"line_number":175,"context_line":"        # Make sure the instances directory is cleaned up too"},{"line_number":176,"context_line":"        if os.path.exists(self.instances_dir):"},{"line_number":177,"context_line":"            shutil.rmtree(self.instances_dir)"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        super(CacheConcurrencyTestCase, self).tearDown()"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAM3%2F%2BwV8%3D","line":177,"in_reply_to":"AAAAM3%2F%2BwXI%3D","updated":"2013-02-19 22:09:52.000000000","message":"Done","commit_id":"61d6e058f61ef2b53afa11a4eaf1c990def7f0fb"}],"nova/tests/test_virt_drivers.py":[{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"7eb6ea512fc0c9d29d12334cc37e0fbefbf4c1a2","unresolved":false,"context_lines":[{"line_number":188,"context_line":"    def setUp(self):"},{"line_number":189,"context_line":"        super(_VirtDriverTestCase, self).setUp()"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"        self.temp_dir \u003d tempfile.mkdtemp()"},{"line_number":192,"context_line":"        self.flags(instances_path\u003dself.temp_dir)"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        self.connection \u003d importutils.import_object(self.driver_module,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2By8k%3D","line":191,"updated":"2013-02-19 01:23:56.000000000","message":"cleanup?","commit_id":"b82e5c6597cd8e6298096fbee441d4fbe680c972"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"145c17ec907b0e4c81ca15d4b4812c7dd5eee78a","unresolved":false,"context_lines":[{"line_number":188,"context_line":"    def setUp(self):"},{"line_number":189,"context_line":"        super(_VirtDriverTestCase, self).setUp()"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"        self.temp_dir \u003d tempfile.mkdtemp()"},{"line_number":192,"context_line":"        self.flags(instances_path\u003dself.temp_dir)"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        self.connection \u003d importutils.import_object(self.driver_module,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2BwbU%3D","line":191,"in_reply_to":"AAAAM3%2F%2By8k%3D","updated":"2013-02-19 21:36:14.000000000","message":"This one is cleaned up in the tearDown() below.","commit_id":"b82e5c6597cd8e6298096fbee441d4fbe680c972"}],"nova/virt/libvirt/utils.py":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"5edd8781688fe8585a3e405ee8195291f0832bee","unresolved":false,"context_lines":[{"line_number":531,"context_line":"    :returns: a path to store information about that instance"},{"line_number":532,"context_line":"    \"\"\""},{"line_number":533,"context_line":"    pre_grizzly_name \u003d os.path.join(CONF.instances_path, instance[\u0027name\u0027])"},{"line_number":534,"context_line":"    if forceold:"},{"line_number":535,"context_line":"        return pre_grizzly_name"},{"line_number":536,"context_line":""},{"line_number":537,"context_line":"    new_name \u003d os.path.join(CONF.instances_path, instance[\u0027uuid\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2Bz1s%3D","line":534,"updated":"2013-02-18 20:08:00.000000000","message":"seems simpler to do:\n\nif forceold or os.path.exists(pre_grizzly_name):","commit_id":"533bd2307a807bd6c7c466988c3b6f1f85a9929d"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"143a7478959d49814137b9f968e6b0cf30346504","unresolved":false,"context_lines":[{"line_number":531,"context_line":"    :returns: a path to store information about that instance"},{"line_number":532,"context_line":"    \"\"\""},{"line_number":533,"context_line":"    pre_grizzly_name \u003d os.path.join(CONF.instances_path, instance[\u0027name\u0027])"},{"line_number":534,"context_line":"    if forceold:"},{"line_number":535,"context_line":"        return pre_grizzly_name"},{"line_number":536,"context_line":""},{"line_number":537,"context_line":"    new_name \u003d os.path.join(CONF.instances_path, instance[\u0027uuid\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2BzYQ%3D","line":534,"in_reply_to":"AAAAM3%2F%2Bz1s%3D","updated":"2013-02-18 22:31:40.000000000","message":"Done","commit_id":"533bd2307a807bd6c7c466988c3b6f1f85a9929d"}]}
