)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"1abc35cda3aa9bbc9ce2098b80b1362dd6575160","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Daniel Genin \u003cDaniel.Genin@jhuapl.edu\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-12-01 12:16:49 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fixes live migration for volume backed instances"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Live migration fails for volume backed instances in LibvirtDriver"},{"line_number":10,"context_line":"because _is_shared_block_storage() incorrectly identifies volume"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"5a890539_31db88ee","line":7,"updated":"2014-12-02 15:22:20.000000000","message":"can you please prefix this with libvirt","commit_id":"14f361bee70778ee627ff5d05a93c8ab458b860a"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"fdd048200bfaa510ae729bc0f2a29786aa8203e6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Daniel Genin \u003cDaniel.Genin@jhuapl.edu\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-12-02 14:22:22 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fixes live migration for volume backed instances"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Live migration fails for volume backed instances in LibvirtDriver"},{"line_number":10,"context_line":"because _is_shared_block_storage() incorrectly identifies volume"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5a890539_af113f06","line":7,"updated":"2014-12-05 14:48:49.000000000","message":"I would just change the title to be libvirt specific, \"libvirt: Fixes live migration for volume backed instances\"","commit_id":"28e7ca2f8504aa7554697fc8937c5c3fd0ffd89b"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"fbc97fda532e7a388fab70c64e789bc20d02307e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Daniel Genin \u003cDaniel.Genin@jhuapl.edu\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-12-02 14:22:22 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fixes live migration for volume backed instances"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Live migration fails for volume backed instances in LibvirtDriver"},{"line_number":10,"context_line":"because _is_shared_block_storage() incorrectly identifies volume"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5a890539_38c11230","line":7,"in_reply_to":"5a890539_af113f06","updated":"2014-12-05 17:48:44.000000000","message":"Also requested by garyk on prior patch.","commit_id":"28e7ca2f8504aa7554697fc8937c5c3fd0ffd89b"},{"author":{"_account_id":7746,"name":"Dan Genin","email":"daniel.genin@jhuapl.edu","username":"DiG"},"change_message_id":"957e2d268153dca54a4a0615b5030d078e298cf0","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Daniel Genin \u003cDaniel.Genin@jhuapl.edu\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-12-02 14:22:22 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fixes live migration for volume backed instances"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Live migration fails for volume backed instances in LibvirtDriver"},{"line_number":10,"context_line":"because _is_shared_block_storage() incorrectly identifies volume"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3a961159_59097b30","line":7,"in_reply_to":"5a890539_af113f06","updated":"2014-12-09 13:53:45.000000000","message":"Done","commit_id":"28e7ca2f8504aa7554697fc8937c5c3fd0ffd89b"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"1abc35cda3aa9bbc9ce2098b80b1362dd6575160","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    Copyright 2010 OpenStack Foundation Copyright 2012 University Of Minho"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_d1308458","line":1,"updated":"2014-12-02 15:22:20.000000000","message":"why the change here?","commit_id":"14f361bee70778ee627ff5d05a93c8ab458b860a"},{"author":{"_account_id":7746,"name":"Dan Genin","email":"daniel.genin@jhuapl.edu","username":"DiG"},"change_message_id":"6607782d8171f81a92676be109640fd54fbecac5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#    Copyright 2010 OpenStack Foundation Copyright 2012 University Of Minho"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_f087315f","line":1,"in_reply_to":"5a890539_d1308458","updated":"2014-12-02 19:22:38.000000000","message":"Fat fingers","commit_id":"14f361bee70778ee627ff5d05a93c8ab458b860a"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"1abc35cda3aa9bbc9ce2098b80b1362dd6575160","unresolved":false,"context_lines":[{"line_number":5798,"context_line":"        return (mock_getsize, mock_lookup)"},{"line_number":5799,"context_line":""},{"line_number":5800,"context_line":"    def test_is_shared_block_storage_rbd(self):"},{"line_number":5801,"context_line":"        CONF.set_override(\u0027images_type\u0027, \u0027rbd\u0027, \u0027libvirt\u0027)"},{"line_number":5802,"context_line":"        bdi \u003d {\u0027block_device_mapping\u0027: []}"},{"line_number":5803,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":5804,"context_line":"        conn \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_110e8c8c","line":5801,"updated":"2014-12-02 15:22:20.000000000","message":"can you please use self.flags here (know it is not related to this patch)","commit_id":"14f361bee70778ee627ff5d05a93c8ab458b860a"},{"author":{"_account_id":7746,"name":"Dan Genin","email":"daniel.genin@jhuapl.edu","username":"DiG"},"change_message_id":"6607782d8171f81a92676be109640fd54fbecac5","unresolved":false,"context_lines":[{"line_number":5798,"context_line":"        return (mock_getsize, mock_lookup)"},{"line_number":5799,"context_line":""},{"line_number":5800,"context_line":"    def test_is_shared_block_storage_rbd(self):"},{"line_number":5801,"context_line":"        CONF.set_override(\u0027images_type\u0027, \u0027rbd\u0027, \u0027libvirt\u0027)"},{"line_number":5802,"context_line":"        bdi \u003d {\u0027block_device_mapping\u0027: []}"},{"line_number":5803,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":5804,"context_line":"        conn \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_307e196b","line":5801,"in_reply_to":"5a890539_110e8c8c","updated":"2014-12-02 19:22:38.000000000","message":"Done","commit_id":"14f361bee70778ee627ff5d05a93c8ab458b860a"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"1abc35cda3aa9bbc9ce2098b80b1362dd6575160","unresolved":false,"context_lines":[{"line_number":5826,"context_line":"        self.assertEqual(0, mock_get_instance_disk_info.call_count)"},{"line_number":5827,"context_line":""},{"line_number":5828,"context_line":"    def test_is_shared_block_storage_qcow2(self):"},{"line_number":5829,"context_line":"        CONF.set_override(\u0027images_type\u0027, \u0027qcow2\u0027, \u0027libvirt\u0027)"},{"line_number":5830,"context_line":"        bdi \u003d {\u0027block_device_mapping\u0027: []}"},{"line_number":5831,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":5832,"context_line":"        mock_get_instance_disk_info \u003d mock.Mock()"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_f17f40dd","line":5829,"updated":"2014-12-02 15:22:20.000000000","message":"please use self.flags","commit_id":"14f361bee70778ee627ff5d05a93c8ab458b860a"},{"author":{"_account_id":7746,"name":"Dan Genin","email":"daniel.genin@jhuapl.edu","username":"DiG"},"change_message_id":"6607782d8171f81a92676be109640fd54fbecac5","unresolved":false,"context_lines":[{"line_number":5826,"context_line":"        self.assertEqual(0, mock_get_instance_disk_info.call_count)"},{"line_number":5827,"context_line":""},{"line_number":5828,"context_line":"    def test_is_shared_block_storage_qcow2(self):"},{"line_number":5829,"context_line":"        CONF.set_override(\u0027images_type\u0027, \u0027qcow2\u0027, \u0027libvirt\u0027)"},{"line_number":5830,"context_line":"        bdi \u003d {\u0027block_device_mapping\u0027: []}"},{"line_number":5831,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":5832,"context_line":"        mock_get_instance_disk_info \u003d mock.Mock()"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a890539_709341a3","line":5829,"in_reply_to":"5a890539_f17f40dd","updated":"2014-12-02 19:22:38.000000000","message":"Done","commit_id":"14f361bee70778ee627ff5d05a93c8ab458b860a"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"03a5eee82129ce377a2cf99e3067af686cb24583","unresolved":false,"context_lines":[{"line_number":5188,"context_line":"        return dest_check_data"},{"line_number":5189,"context_line":""},{"line_number":5190,"context_line":"    def _is_shared_block_storage(self, instance, dest_check_data,"},{"line_number":5191,"context_line":"                                 block_device_info\u003dNone):"},{"line_number":5192,"context_line":"        \"\"\"Check if all block storage of an instance can be shared"},{"line_number":5193,"context_line":"        between source and destination of a live migration."},{"line_number":5194,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_5866debc","line":5191,"updated":"2014-12-05 17:45:24.000000000","message":"Why pass None as a default value?","commit_id":"28e7ca2f8504aa7554697fc8937c5c3fd0ffd89b"},{"author":{"_account_id":7746,"name":"Dan Genin","email":"daniel.genin@jhuapl.edu","username":"DiG"},"change_message_id":"957e2d268153dca54a4a0615b5030d078e298cf0","unresolved":false,"context_lines":[{"line_number":5188,"context_line":"        return dest_check_data"},{"line_number":5189,"context_line":""},{"line_number":5190,"context_line":"    def _is_shared_block_storage(self, instance, dest_check_data,"},{"line_number":5191,"context_line":"                                 block_device_info\u003dNone):"},{"line_number":5192,"context_line":"        \"\"\"Check if all block storage of an instance can be shared"},{"line_number":5193,"context_line":"        between source and destination of a live migration."},{"line_number":5194,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a961159_1918d380","line":5191,"in_reply_to":"5a890539_5866debc","updated":"2014-12-09 13:53:45.000000000","message":"I believe this is the only default that makes sense. And it is how every other function taking block_device_info kwarg is declared:)","commit_id":"28e7ca2f8504aa7554697fc8937c5c3fd0ffd89b"}]}
