)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"b500bab7a7baef5533cc20e33f65ed266454c7f3","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     wuhao \u003cwuhao@unitedstack.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-03-21 19:12:21 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VMs fail to start when force_config_drive\u003dAlways"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When force_config_drive\u003dAlways is set, VMs that did not previously"},{"line_number":10,"context_line":"have a config drive created for them will fail to start."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa32b979_491aaec7","line":7,"updated":"2015-06-24 09:02:57.000000000","message":"please repfix this with libvirt","commit_id":"c59cb7cb30a30ab0956130bd8447b4f97eca1f61"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"e93b0787c8cf69cd738811aabd9e7fc57dcffda5","unresolved":false,"context_lines":[{"line_number":14,"context_line":"2. Change force_config_drive\u003dTrue"},{"line_number":15,"context_line":"3. Restart nova-compute"},{"line_number":16,"context_line":"4. Stop the instance"},{"line_number":17,"context_line":"5. Attempt to start the instance"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Add function need_make_drive to check the instance config_drive"},{"line_number":20,"context_line":"setting is None, while the config_drive is needed. And remove the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa32b979_1f69388c","line":17,"updated":"2015-06-24 09:44:35.000000000","message":"I think we don\u0027t need reproduce steps in commit message.","commit_id":"c59cb7cb30a30ab0956130bd8447b4f97eca1f61"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"e93b0787c8cf69cd738811aabd9e7fc57dcffda5","unresolved":false,"context_lines":[{"line_number":21,"context_line":"config setting in the disk info when nova compute attempts to start"},{"line_number":22,"context_line":"an instance."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Fixes bug: 1356534"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: Ia1750bfa9ec096069ed08e7ac96b25a51e42a7b1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa32b979_5f4ca041","line":24,"updated":"2015-06-24 09:44:35.000000000","message":"s/Fixes bug: 1356534/Closes-bug: #1356534/","commit_id":"c59cb7cb30a30ab0956130bd8447b4f97eca1f61"}],"nova/tests/unit/test_configdrive2.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"1295df61e122e4c3eb7d2ba402e6313d01752767","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        self.assertFalse(configdrive.required_by(inst))"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    @mock.patch.object(configdrive, \u0027required_by\u0027, return_value\u003dFalse)"},{"line_number":108,"context_line":"    def test_config_drive_need_make_drive_requried_by_false(self,"},{"line_number":109,"context_line":"                                                            mock_required):"},{"line_number":110,"context_line":"        inst \u003d fake_instance.fake_instance_obj(context.get_admin_context())"},{"line_number":111,"context_line":"        inst.config_drive \u003d \u0027\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"5aa745d1_2ed80553","line":108,"updated":"2015-04-16 07:42:34.000000000","message":"typo \"requried\"","commit_id":"c59cb7cb30a30ab0956130bd8447b4f97eca1f61"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"e93b0787c8cf69cd738811aabd9e7fc57dcffda5","unresolved":false,"context_lines":[{"line_number":7882,"context_line":""},{"line_number":7883,"context_line":"        self.assertEqual(mock_get_guest_xml.call_count, 1)"},{"line_number":7884,"context_line":"        kwargs \u003d mock_get_guest_xml.call_args[0]"},{"line_number":7885,"context_line":"        self.assertEqual({\u0027mapping\u0027: {}, \u0027blah\u0027: \u0027blah\u0027}, kwargs[3])"},{"line_number":7886,"context_line":""},{"line_number":7887,"context_line":"    @mock.patch(\u0027nova.openstack.common.fileutils.ensure_tree\u0027)"},{"line_number":7888,"context_line":"    @mock.patch(\u0027nova.openstack.common.loopingcall.FixedIntervalLoopingCall\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa32b979_7f3de429","line":7885,"updated":"2015-06-24 09:44:35.000000000","message":"why don\u0027t use assert_called_once_with()?","commit_id":"c59cb7cb30a30ab0956130bd8447b4f97eca1f61"}],"nova/virt/configdrive.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"1295df61e122e4c3eb7d2ba402e6313d01752767","unresolved":false,"context_lines":[{"line_number":196,"context_line":"    \"\"\"Check the instance config_drive setting with default setting"},{"line_number":197,"context_line":"    \"\"\""},{"line_number":198,"context_line":"    if not instance.config_drive and required_by(instance):"},{"line_number":199,"context_line":"        return True"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"def update_instance(instance):"}],"source_content_type":"text/x-python","patch_set":3,"id":"5aa745d1_8b494bd3","line":199,"updated":"2015-04-16 07:42:34.000000000","message":"I think it would be simpler to\n\n return not instance.config_drive and required_by(instance)\n\ninstead of having this function return True or None","commit_id":"c59cb7cb30a30ab0956130bd8447b4f97eca1f61"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"1295df61e122e4c3eb7d2ba402e6313d01752767","unresolved":false,"context_lines":[{"line_number":2072,"context_line":"                                            block_device_info)"},{"line_number":2073,"context_line":""},{"line_number":2074,"context_line":"        # filter the disk config when the instance doesn\u0027t have one"},{"line_number":2075,"context_line":"        if configdrive.need_make_drive(instance):"},{"line_number":2076,"context_line":"            LOG.info(_LI(\u0027Missing config drive\u0027), instance\u003dinstance)"},{"line_number":2077,"context_line":"            disk_info[\u0027mapping\u0027].pop(\u0027disk.config\u0027)"},{"line_number":2078,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"5aa745d1_0e0f89e2","line":2075,"updated":"2015-04-16 07:42:34.000000000","message":"Based on the function name \u0027need_make_drive\u0027 I thought removal of the disk.config key from the mapping would result in a config drive being made. It might help to add a little to the comment stating this will prevent the driver from attempting to read the config drive. If this is common knowledge in this area of the code, feel free to ignore.","commit_id":"c59cb7cb30a30ab0956130bd8447b4f97eca1f61"}]}
