)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"e6bb96ceb5db4369cff3a43a13fe1e635056275c","unresolved":false,"context_lines":[{"line_number":1077,"context_line":""},{"line_number":1078,"context_line":"        network_info \u003d self._get_instance_nw_info(context, instance_ref)"},{"line_number":1079,"context_line":"        # FIX!!: make not delete _resize"},{"line_number":1080,"context_line":"        # may be good to add driver.revert_resize method"},{"line_number":1081,"context_line":"        self.driver.destroy(instance_ref, network_info)"},{"line_number":1082,"context_line":"        topic \u003d self.db.queue_get_for(context, FLAGS.compute_topic,"},{"line_number":1083,"context_line":"                migration_ref[\u0027source_compute\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAEH%2F%2F9iI%3D","line":1080,"updated":"2012-01-26 22:41:05.000000000","message":"I\u0027m not sure what the first line means\nSecond line should probably be:\n# TODO(nati): May be good to add driver.revert_resize method.","commit_id":"54215496908acf18a6419741b22a8be6b7dceb2b"}],"nova/tests/test_libvirt.py":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"e6bb96ceb5db4369cff3a43a13fe1e635056275c","unresolved":false,"context_lines":[{"line_number":2009,"context_line":"            return None"},{"line_number":2010,"context_line":""},{"line_number":2011,"context_line":""},{"line_number":2012,"context_line":"class FakeLibvirt(object):"},{"line_number":2013,"context_line":""},{"line_number":2014,"context_line":"    class libvirtError(Exception):"},{"line_number":2015,"context_line":"        def __init__(self, message\u003dNone):"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAEH%2F%2F9iU%3D","line":2012,"updated":"2012-01-26 22:41:05.000000000","message":"There is already a fakelibvirt implementation in nova/tests/fakelibvirt.py.  Would it be possible to use that (perhaps with a few modifications) instead of recreating fakes here?","commit_id":"54215496908acf18a6419741b22a8be6b7dceb2b"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"8e57b94ffe74ae1aec875074c4e946b221a92602","unresolved":false,"context_lines":[{"line_number":1980,"context_line":"        self.exe_flag \u003d False"},{"line_number":1981,"context_line":""},{"line_number":1982,"context_line":"        self.temp_path \u003d os.path.join(flags.FLAGS.instances_path,"},{"line_number":1983,"context_line":"                                 \u0027instance-00000001/\u0027, \u0027\u0027)"},{"line_number":1984,"context_line":"        try:"},{"line_number":1985,"context_line":"            os.makedirs(self.temp_path)"},{"line_number":1986,"context_line":"        except Exception:"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAEn%2F%2F%2BMI%3D","line":1983,"updated":"2012-02-07 02:56:50.000000000","message":"It would be nice if this string could line-up with \"flags\" on the line  above","commit_id":"5fe0dcd2730e51c50880f27dc1a4d0d4c01032d6"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"8e57b94ffe74ae1aec875074c4e946b221a92602","unresolved":false,"context_lines":[{"line_number":2061,"context_line":"        utils.execute(\u0027mkdir\u0027, \u0027-p\u0027, target)"},{"line_number":2062,"context_line":""},{"line_number":2063,"context_line":"        ref \u003d self.libvirtconnection._destroy(ins_ref, None, cleanup\u003dFalse,"},{"line_number":2064,"context_line":"                cleanup_resize\u003dTrue)"},{"line_number":2065,"context_line":"        self.assertEqual(True, ref)"},{"line_number":2066,"context_line":"        self.assertTrue(not os.path.exists(target))"},{"line_number":2067,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAEn%2F%2F%2BME%3D","line":2064,"updated":"2012-02-07 02:56:50.000000000","message":"cleanup_resize aligns below ins_ref?","commit_id":"5fe0dcd2730e51c50880f27dc1a4d0d4c01032d6"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"8e57b94ffe74ae1aec875074c4e946b221a92602","unresolved":false,"context_lines":[{"line_number":2139,"context_line":""},{"line_number":2140,"context_line":"        ins_ref \u003d self._create_instance()"},{"line_number":2141,"context_line":"        \"\"\" dest is different host case \"\"\""},{"line_number":2142,"context_line":"        out \u003d self.libvirtconnection.migrate_disk_and_power_off( \\"},{"line_number":2143,"context_line":"               None, ins_ref, \u002710.0.0.2\u0027, None, None)"},{"line_number":2144,"context_line":"        self.assertEquals(out, disk_info_text)"},{"line_number":2145,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAEn%2F%2F%2BMA%3D","line":2142,"updated":"2012-02-07 02:56:50.000000000","message":"No need for backslash continuation.","commit_id":"5fe0dcd2730e51c50880f27dc1a4d0d4c01032d6"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"8e57b94ffe74ae1aec875074c4e946b221a92602","unresolved":false,"context_lines":[{"line_number":2144,"context_line":"        self.assertEquals(out, disk_info_text)"},{"line_number":2145,"context_line":""},{"line_number":2146,"context_line":"        \"\"\" dest is same host case \"\"\""},{"line_number":2147,"context_line":"        out \u003d self.libvirtconnection.migrate_disk_and_power_off( \\"},{"line_number":2148,"context_line":"               None, ins_ref, \u002710.0.0.1\u0027, None, None)"},{"line_number":2149,"context_line":"        self.assertEquals(out, disk_info_text)"},{"line_number":2150,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAEn%2F%2F%2BL8%3D","line":2147,"updated":"2012-02-07 02:56:50.000000000","message":"No need for backslash continuation.","commit_id":"5fe0dcd2730e51c50880f27dc1a4d0d4c01032d6"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"8e57b94ffe74ae1aec875074c4e946b221a92602","unresolved":false,"context_lines":[{"line_number":2256,"context_line":""},{"line_number":2257,"context_line":"        ins_ref \u003d self._create_instance()"},{"line_number":2258,"context_line":"        libvirt_xml_path \u003d os.path.join(flags.FLAGS.instances_path,"},{"line_number":2259,"context_line":"                                         ins_ref[\u0027name\u0027], \u0027libvirt.xml\u0027)"},{"line_number":2260,"context_line":"        f \u003d open(libvirt_xml_path, \u0027w\u0027)"},{"line_number":2261,"context_line":"        f.close()"},{"line_number":2262,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAEn%2F%2F%2BL4%3D","line":2259,"updated":"2012-02-07 02:56:50.000000000","message":"ins_ref aligns with flags?","commit_id":"5fe0dcd2730e51c50880f27dc1a4d0d4c01032d6"}],"nova/tests/test_virt_drivers.py":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"e6bb96ceb5db4369cff3a43a13fe1e635056275c","unresolved":false,"context_lines":[{"line_number":464,"context_line":""},{"line_number":465,"context_line":"    def test_migrate_disk_and_power_off(self):"},{"line_number":466,"context_line":"        # there is lack of fake stuff to execute this method. so pass."},{"line_number":467,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAEH%2F%2F9iY%3D","line":467,"updated":"2012-01-26 22:41:05.000000000","message":"can we just remove this method?","commit_id":"54215496908acf18a6419741b22a8be6b7dceb2b"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"989bed75d027d353fcf56b1cde59f39236f0441d","unresolved":false,"context_lines":[{"line_number":463,"context_line":"            nova.virt.libvirt.firewall.libvirt \u003d self.saved_libvirt"},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"    def test_migrate_disk_and_power_off(self):"},{"line_number":466,"context_line":"        # there is lack of fake stuff to execute this method. so pass."},{"line_number":467,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAEH%2F%2F8Pg%3D","line":466,"updated":"2012-02-01 20:06:39.000000000","message":"This is needed to override a test in a superclass, correct?  Could you decorate this method with @test.skip_test() with an appropriate message indicating the reason?","commit_id":"cfcdce141e87b31700b324b799bba86ad4a1f715"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"cd3d3393bb27bbaf0c0050482c0446a216051fb4","unresolved":false,"context_lines":[{"line_number":469,"context_line":"            nova.virt.libvirt.connection.libvirt_utils \u003d self.saved_libvirt"},{"line_number":470,"context_line":"            nova.virt.libvirt.firewall.libvirt \u003d self.saved_libvirt"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"    @test.skip_test(\"Test nothing ,but this method \\"},{"line_number":473,"context_line":"                          needed to override super class.\")"},{"line_number":474,"context_line":"    def test_migrate_disk_and_power_off(self):"},{"line_number":475,"context_line":"        # there is lack of fake stuff to execute this method. so pass."}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAEn%2F%2F%2BYs%3D","line":472,"updated":"2012-02-06 20:58:20.000000000","message":"slash doesn\u0027t work in the middle  of a quote do \"\n\"","commit_id":"697852e9a7d75dede62955776a4c8d7c1d0d8f7e"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"8e57b94ffe74ae1aec875074c4e946b221a92602","unresolved":false,"context_lines":[{"line_number":470,"context_line":"            nova.virt.libvirt.firewall.libvirt \u003d self.saved_libvirt"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"    @test.skip_test(\"Test nothing ,but this method \\"},{"line_number":473,"context_line":"                          needed to override super class.\")"},{"line_number":474,"context_line":"    def test_migrate_disk_and_power_off(self):"},{"line_number":475,"context_line":"        # there is lack of fake stuff to execute this method. so pass."},{"line_number":476,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAEn%2F%2F%2BL0%3D","line":473,"updated":"2012-02-07 02:56:50.000000000","message":"_\n \"Test nothing ,but this method\"\n \"needed to override super class.\")\n\nshould do it.","commit_id":"5fe0dcd2730e51c50880f27dc1a4d0d4c01032d6"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"12413127a215bd14601d95965da897ef1aedd671","unresolved":false,"context_lines":[{"line_number":470,"context_line":"            nova.virt.libvirt.firewall.libvirt \u003d self.saved_libvirt"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"    @test.skip_test(\"Test nothing ,but this method \\"},{"line_number":473,"context_line":"                          needed to override super class.\")"},{"line_number":474,"context_line":"    def test_migrate_disk_and_power_off(self):"},{"line_number":475,"context_line":"        # there is lack of fake stuff to execute this method. so pass."},{"line_number":476,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAEn%2F%2F%2BC8%3D","line":473,"in_reply_to":"AAAAEn%2F%2F%2BL0%3D","updated":"2012-02-07 17:20:18.000000000","message":"A couple of other subtleties here: the comma should go immediately after \u0027nothing\u0027, and there should be a space before the first closing quotation mark.  So, this should be something like this:\n\n    @test.skip_test(\"Test nothing, but this method \"\n                    \"needed to override superclass.\")","commit_id":"5fe0dcd2730e51c50880f27dc1a4d0d4c01032d6"}],"nova/virt/fake.py":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"e6bb96ceb5db4369cff3a43a13fe1e635056275c","unresolved":false,"context_lines":[{"line_number":146,"context_line":"    def migrate_disk_and_power_off(self, context, instance, dest,"},{"line_number":147,"context_line":"                                   instance_type, network_info\u003dNone):"},{"line_number":148,"context_line":"        pass"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    def finish_revert_migration(self, instance, network_info\u003dNone):"},{"line_number":151,"context_line":"        pass"},{"line_number":152,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAEH%2F%2F9h8%3D","line":149,"updated":"2012-01-26 22:41:05.000000000","message":"I assume these were set to None because there are tests that are calling without passing network_info.  Better to take away the \u003dNone and fix the tests to pass in some fake info (or just pas None in the tests)","commit_id":"54215496908acf18a6419741b22a8be6b7dceb2b"}],"nova/virt/libvirt/connection.py":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"e6bb96ceb5db4369cff3a43a13fe1e635056275c","unresolved":false,"context_lines":[{"line_number":307,"context_line":"                 cleanup\u003dTrue, cleanup_resize\u003dTrue):"},{"line_number":308,"context_line":"        instance_name \u003d instance[\u0027name\u0027]"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"        # cleanup_resize indicates cleanup \u003cinstance\u003e_resize dir."},{"line_number":311,"context_line":"        # if not cleanup, keep \u003cinstance\u003e dir (ie. confirm_resize)"},{"line_number":312,"context_line":"        if cleanup_resize and not cleanup:"},{"line_number":313,"context_line":"            self._cleanup_resize(instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAEH%2F%2F9h0%3D","line":310,"updated":"2012-01-26 22:41:05.000000000","message":"add a NOTE(nati): here?","commit_id":"54215496908acf18a6419741b22a8be6b7dceb2b"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"e6bb96ceb5db4369cff3a43a13fe1e635056275c","unresolved":false,"context_lines":[{"line_number":1983,"context_line":"        # copy disks to destination"},{"line_number":1984,"context_line":"        # if disk type is qcow2, convert to raw then send to dest."},{"line_number":1985,"context_line":"        # rename instance dir to +_resize at first for using"},{"line_number":1986,"context_line":"        # shared storage for instance dir (eg. NFS)."},{"line_number":1987,"context_line":"        same_host \u003d (dest \u003d\u003d self.get_host_ip_addr())"},{"line_number":1988,"context_line":"        inst_base \u003d \"%s/%s\" % (FLAGS.instances_path, instance[\u0027name\u0027])"},{"line_number":1989,"context_line":"        inst_base_resize \u003d inst_base + \"_resize\""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAEH%2F%2F9hw%3D","line":1986,"updated":"2012-01-26 22:41:05.000000000","message":"I would like to avoid having to do this conversion. Seems like we could just copy the backing file as well (or download it from glance) if it doesn\u0027t exist. Then we could just copy the smaller files.  Also, this doesn\u0027t copy the kernel and ramdisk. The code for pre_block_migration does all of these things, perhaps we should have an extra call to the destination host where we end up calling pre_block_migration to set up all of these things.\n\nThe tricky part here is how do we do the resize of the filesystem.  I think we can download a new version of the backing file, use disk.extend per usual to make the file the proper size, then use qemu-img rebase to change the backing file.  This part is kind of complicated so it can go in a later branch.","commit_id":"54215496908acf18a6419741b22a8be6b7dceb2b"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"e6bb96ceb5db4369cff3a43a13fe1e635056275c","unresolved":false,"context_lines":[{"line_number":2055,"context_line":"                            instance[\u0027ephemeral_gb\u0027] * 1024 * 1024 * 1024)"},{"line_number":2056,"context_line":"            if FLAGS.use_cow_images:"},{"line_number":2057,"context_line":"                # back to qcow2 (no backing_file though) so that snapshot"},{"line_number":2058,"context_line":"                # will be available"},{"line_number":2059,"context_line":"                path_qcow \u003d info[\u0027path\u0027] + \u0027_qcow\u0027"},{"line_number":2060,"context_line":"                utils.execute(\u0027qemu-img\u0027, \u0027convert\u0027, \u0027-f\u0027, \u0027raw\u0027,"},{"line_number":2061,"context_line":"                        \u0027-O\u0027, \u0027qcow2\u0027, info[\u0027path\u0027], path_qcow)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAEH%2F%2F9hs%3D","line":2058,"updated":"2012-01-26 22:41:05.000000000","message":"The above idea would also mean we don\u0027t have to convert it back afterwards.","commit_id":"54215496908acf18a6419741b22a8be6b7dceb2b"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"8e57b94ffe74ae1aec875074c4e946b221a92602","unresolved":false,"context_lines":[{"line_number":2075,"context_line":"                if info[\u0027type\u0027] \u003d\u003d \u0027qcow2\u0027:"},{"line_number":2076,"context_line":"                    tmp_path \u003d from_path + \"_rbase\""},{"line_number":2077,"context_line":"                    utils.execute(\u0027qemu-img\u0027, \u0027convert\u0027, \u0027-f\u0027, \u0027qcow2\u0027,"},{"line_number":2078,"context_line":"                              \u0027-O\u0027, \u0027raw\u0027, from_path, tmp_path)"},{"line_number":2079,"context_line":"                    if same_host:"},{"line_number":2080,"context_line":"                        utils.execute(\u0027mv\u0027, tmp_path, info[\u0027path\u0027])"},{"line_number":2081,"context_line":"                    else:"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAEn%2F%2F%2BLo%3D","line":2078,"updated":"2012-02-07 02:56:50.000000000","message":"align \u0027-O\u0027 with \u0027qemu-img\u0027","commit_id":"5fe0dcd2730e51c50880f27dc1a4d0d4c01032d6"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"8e57b94ffe74ae1aec875074c4e946b221a92602","unresolved":false,"context_lines":[{"line_number":2132,"context_line":"                # will be available"},{"line_number":2133,"context_line":"                path_qcow \u003d info[\u0027path\u0027] + \u0027_qcow\u0027"},{"line_number":2134,"context_line":"                utils.execute(\u0027qemu-img\u0027, \u0027convert\u0027, \u0027-f\u0027, \u0027raw\u0027,"},{"line_number":2135,"context_line":"                        \u0027-O\u0027, \u0027qcow2\u0027, info[\u0027path\u0027], path_qcow)"},{"line_number":2136,"context_line":"                utils.execute(\u0027mv\u0027, path_qcow, info[\u0027path\u0027])"},{"line_number":2137,"context_line":""},{"line_number":2138,"context_line":"        xml \u003d self.to_xml(instance, network_info)"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAEn%2F%2F%2BLk%3D","line":2135,"updated":"2012-02-07 02:56:50.000000000","message":"align \u0027-O\u0027 with \u0027qemu-img\u0027","commit_id":"5fe0dcd2730e51c50880f27dc1a4d0d4c01032d6"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"change_message_id":"8e57b94ffe74ae1aec875074c4e946b221a92602","unresolved":false,"context_lines":[{"line_number":2144,"context_line":"        # TODO(oda): injecting files is not necessary"},{"line_number":2145,"context_line":"        self._create_image(context, instance, xml,"},{"line_number":2146,"context_line":"                                      network_info\u003dnetwork_info,"},{"line_number":2147,"context_line":"                                      block_device_info\u003dNone)"},{"line_number":2148,"context_line":""},{"line_number":2149,"context_line":"        domain \u003d self._create_new_domain(xml)"},{"line_number":2150,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAEn%2F%2F%2BLg%3D","line":2147,"updated":"2012-02-07 02:56:50.000000000","message":"Align these two lines with context.","commit_id":"5fe0dcd2730e51c50880f27dc1a4d0d4c01032d6"}],"nova/virt/libvirt/utils.py":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"e6bb96ceb5db4369cff3a43a13fe1e635056275c","unresolved":false,"context_lines":[{"line_number":88,"context_line":"    out, err \u003d execute(FLAGS.qemu_img, \u0027info\u0027, path)"},{"line_number":89,"context_line":"    backing_file \u003d [i.split(\u0027actual path:\u0027)[1].strip()[:-1]"},{"line_number":90,"context_line":"        for i in out.split(\u0027\\n\u0027) if 0 \u003c\u003d i.find(\u0027backing file\u0027)]"},{"line_number":91,"context_line":"    if len(backing_file) \u003d\u003d 0:"},{"line_number":92,"context_line":"        backing_file \u003d \"\""},{"line_number":93,"context_line":"    else:"},{"line_number":94,"context_line":"        backing_file \u003d os.path.basename(backing_file[0])"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAEH%2F%2F9hc%3D","line":91,"updated":"2012-01-26 22:41:05.000000000","message":"could be just if not backing_file.  Also, why return an empty string instead of None?","commit_id":"54215496908acf18a6419741b22a8be6b7dceb2b"}],"nova/virt/xenapi_conn.py":[{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"e6bb96ceb5db4369cff3a43a13fe1e635056275c","unresolved":false,"context_lines":[{"line_number":204,"context_line":"        # TODO(Vek): Need to pass context in for access to auth_token"},{"line_number":205,"context_line":"        self._vmops.confirm_migration(migration, instance, network_info)"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    def finish_revert_migration(self, instance, network_info\u003dNone):"},{"line_number":208,"context_line":"        \"\"\"Finish reverting a resize, powering back on the instance\"\"\""},{"line_number":209,"context_line":"        # NOTE(vish): Xen currently does not use network info."},{"line_number":210,"context_line":"        self._vmops.finish_revert_migration(instance)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAEH%2F%2F9hU%3D","line":207,"updated":"2012-01-26 22:41:05.000000000","message":"probably best to remove the None here and fix anything that is calling it without a parameter","commit_id":"54215496908acf18a6419741b22a8be6b7dceb2b"}]}
