)]}'
{"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"424fa559e0df802c688745a3d476cc0574fc4bf9","unresolved":false,"context_lines":[{"line_number":1248,"context_line":"    @mock.patch.object(host.Host,"},{"line_number":1249,"context_line":"                       \u0027has_min_version\u0027, return_value\u003dTrue)"},{"line_number":1250,"context_line":"    def test_set_admin_password_bad_hyp(self, mock_svc, mock_image):"},{"line_number":1251,"context_line":"        self.flags(virt_type\u003d\u0027foo\u0027, group\u003d\u0027libvirt\u0027)"},{"line_number":1252,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":1253,"context_line":"        mock_image.return_value \u003d {\"properties\": {"},{"line_number":1254,"context_line":"            \"hw_qemu_guest_agent\": \"yes\"}}"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_1bf30ba0","side":"PARENT","line":1251,"range":{"start_line":1251,"start_character":19,"end_line":1251,"end_character":27},"updated":"2016-06-06 09:01:38.000000000","message":"In production env, virt_type only accepts \u0027kvm\u0027, \u0027lxc\u0027, \u0027qemu\u0027, \u0027uml\u0027, \u0027xen\u0027, and \u0027parallels\u0027[1]. Otherwise a ValueError will be raised when read value of CONF.libvirt.virt_type, so virt_type with value \u0027foo\u0027 is invalid case.\n\n[1]https://github.com/openstack/nova/blob/master/nova/conf/libvirt.py#L46","commit_id":"725b110808d30a9036bccdbda997434b0e745388"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"fd0138ad3f6998b0f69dea4a4d20db56eab7dad4","unresolved":false,"context_lines":[{"line_number":1254,"context_line":"            \"hw_qemu_guest_agent\": \"yes\"}}"},{"line_number":1255,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)"},{"line_number":1256,"context_line":"        self.assertRaises(exception.SetAdminPasswdNotSupported,"},{"line_number":1257,"context_line":"                          drvr.set_admin_password, instance, \"123\")"},{"line_number":1258,"context_line":""},{"line_number":1259,"context_line":"    @mock.patch.object(host.Host,"},{"line_number":1260,"context_line":"                       \u0027has_min_version\u0027, return_value\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_35653645","side":"PARENT","line":1257,"updated":"2016-06-06 08:23:22.000000000","message":"Please don\u0027t delete this test - it is testing valid scenarios","commit_id":"725b110808d30a9036bccdbda997434b0e745388"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"30cbc80db895009e47d860cffb19556577f8ed3d","unresolved":false,"context_lines":[{"line_number":1254,"context_line":"            \"hw_qemu_guest_agent\": \"yes\"}}"},{"line_number":1255,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)"},{"line_number":1256,"context_line":"        self.assertRaises(exception.SetAdminPasswdNotSupported,"},{"line_number":1257,"context_line":"                          drvr.set_admin_password, instance, \"123\")"},{"line_number":1258,"context_line":""},{"line_number":1259,"context_line":"    @mock.patch.object(host.Host,"},{"line_number":1260,"context_line":"                       \u0027has_min_version\u0027, return_value\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_498ef4d0","side":"PARENT","line":1257,"in_reply_to":"7aa08908_35653645","updated":"2016-06-13 12:56:14.000000000","message":"don\u0027t remove this , use \u0027lxc\u0027 instead of \u0027foo\u0027","commit_id":"725b110808d30a9036bccdbda997434b0e745388"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"fd0138ad3f6998b0f69dea4a4d20db56eab7dad4","unresolved":false,"context_lines":[{"line_number":5621,"context_line":"                                    \"physical_block_size\": \"4096\"}"},{"line_number":5622,"context_line":"                          },"},{"line_number":5623,"context_line":"                          instance,"},{"line_number":5624,"context_line":"                          \"/dev/sda\")"},{"line_number":5625,"context_line":""},{"line_number":5626,"context_line":"    def _test_check_discard(self, mock_log, driver_discard\u003dNone,"},{"line_number":5627,"context_line":"                            bus\u003dNone, should_log\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_154f5abe","side":"PARENT","line":5624,"updated":"2016-06-06 08:23:22.000000000","message":"Likewise don\u0027t delete this","commit_id":"725b110808d30a9036bccdbda997434b0e745388"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"30cbc80db895009e47d860cffb19556577f8ed3d","unresolved":false,"context_lines":[{"line_number":5621,"context_line":"                                    \"physical_block_size\": \"4096\"}"},{"line_number":5622,"context_line":"                          },"},{"line_number":5623,"context_line":"                          instance,"},{"line_number":5624,"context_line":"                          \"/dev/sda\")"},{"line_number":5625,"context_line":""},{"line_number":5626,"context_line":"    def _test_check_discard(self, mock_log, driver_discard\u003dNone,"},{"line_number":5627,"context_line":"                            bus\u003dNone, should_log\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_89c29ce7","side":"PARENT","line":5624,"in_reply_to":"7aa08908_154f5abe","updated":"2016-06-13 12:56:14.000000000","message":"use \u0027lxc\u0027 instead of \u0027fake_type\u0027","commit_id":"725b110808d30a9036bccdbda997434b0e745388"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"fd0138ad3f6998b0f69dea4a4d20db56eab7dad4","unresolved":false,"context_lines":[{"line_number":16245,"context_line":"            {\"properties\": {"},{"line_number":16246,"context_line":"                \"hw_qemu_guest_agent\": \"yes\"}})"},{"line_number":16247,"context_line":"        self.assertRaises(exception.InstanceQuiesceNotSupported,"},{"line_number":16248,"context_line":"                          self.drvr._can_quiesce, instance, image_meta)"},{"line_number":16249,"context_line":""},{"line_number":16250,"context_line":"    @mock.patch.object(host.Host,"},{"line_number":16251,"context_line":"                       \u0027has_min_version\u0027, return_value\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_55c72212","side":"PARENT","line":16248,"range":{"start_line":16248,"start_character":70,"end_line":16248,"end_character":71},"updated":"2016-06-06 08:23:22.000000000","message":"Don\u0027t delete this.","commit_id":"725b110808d30a9036bccdbda997434b0e745388"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"30cbc80db895009e47d860cffb19556577f8ed3d","unresolved":false,"context_lines":[{"line_number":16245,"context_line":"            {\"properties\": {"},{"line_number":16246,"context_line":"                \"hw_qemu_guest_agent\": \"yes\"}})"},{"line_number":16247,"context_line":"        self.assertRaises(exception.InstanceQuiesceNotSupported,"},{"line_number":16248,"context_line":"                          self.drvr._can_quiesce, instance, image_meta)"},{"line_number":16249,"context_line":""},{"line_number":16250,"context_line":"    @mock.patch.object(host.Host,"},{"line_number":16251,"context_line":"                       \u0027has_min_version\u0027, return_value\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_69a81021","side":"PARENT","line":16248,"range":{"start_line":16248,"start_character":70,"end_line":16248,"end_character":71},"in_reply_to":"7aa08908_55c72212","updated":"2016-06-13 12:56:14.000000000","message":"use \u0027lxc\u0027 instead of \u0027xxx\u0027","commit_id":"725b110808d30a9036bccdbda997434b0e745388"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"fd0138ad3f6998b0f69dea4a4d20db56eab7dad4","unresolved":false,"context_lines":[{"line_number":4721,"context_line":"        self.flags(virt_type\u003d\"kvm\","},{"line_number":4722,"context_line":"                   cpu_mode\u003d\u0027none\u0027,"},{"line_number":4723,"context_line":"                   group\u003d\u0027libvirt\u0027,"},{"line_number":4724,"context_line":"                   enforce_type\u003dTrue)"},{"line_number":4725,"context_line":""},{"line_number":4726,"context_line":"        self.test_instance[\u0027kernel_id\u0027] \u003d \"fake_kernel_id\""},{"line_number":4727,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_f5e28e9e","line":4724,"updated":"2016-06-06 08:23:22.000000000","message":"Why are you adding enforce_type to this","commit_id":"f4d690428b61382f4b557e739ad56770bf39b617"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"424fa559e0df802c688745a3d476cc0574fc4bf9","unresolved":false,"context_lines":[{"line_number":4721,"context_line":"        self.flags(virt_type\u003d\"kvm\","},{"line_number":4722,"context_line":"                   cpu_mode\u003d\u0027none\u0027,"},{"line_number":4723,"context_line":"                   group\u003d\u0027libvirt\u0027,"},{"line_number":4724,"context_line":"                   enforce_type\u003dTrue)"},{"line_number":4725,"context_line":""},{"line_number":4726,"context_line":"        self.test_instance[\u0027kernel_id\u0027] \u003d \"fake_kernel_id\""},{"line_number":4727,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_1ba02b9f","line":4724,"in_reply_to":"7aa08908_f5e28e9e","updated":"2016-06-06 09:01:38.000000000","message":"self.flags call CONF.override method in https://github.com/openstack/nova/blob/master/nova/test.py#L285\n\nHere config option cpu_mode only accept four values \u0027host-model\u0027, \u0027host-passthrough\u0027, \u0027custom\u0027 and \u0027none\u0027. See\nhttps://github.com/openstack/nova/blob/master/nova/conf/libvirt.py#L159\n\nNone is not a valid value, enfore_type can ensure override value is valid.  I passed enforce_type to method flags in https://review.openstack.org/#/c/325743/1/nova/test.py\n\n \nFor more details, please see  https://launchpad.net/bugs/1517839","commit_id":"f4d690428b61382f4b557e739ad56770bf39b617"}]}
