)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":642,"name":"Matt Dietz","email":"matthew.dietz@gmail.com","username":"cerberus"},"change_message_id":"24461be6d6caf63052283073e177a4f0eb108689","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Libvirt: Gracefully Handle Destroy Error For LXC"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When libvirt destroys a container it will attempt send a shutdown"},{"line_number":10,"context_line":"to the init process, then kill all of the procceses left over. If"},{"line_number":11,"context_line":"they don\u0027t die fast enough, libvirt will raise an error. The"},{"line_number":12,"context_line":"container will eventually die in most cases. So, instead of erroring"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da86d52c_620e4ee7","line":9,"updated":"2015-02-16 16:17:03.000000000","message":"attempt *to* send","commit_id":"54f7402bd5ec92104c99adc3b38d69ec579cf6b3"},{"author":{"_account_id":5387,"name":"Andrew Melton","email":"andrew.melton@rackspace.com","username":"andrew-melton"},"change_message_id":"d34f5edaa3b65055bebe9ff25bbef7ad1e523567","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Libvirt: Gracefully Handle Destroy Error For LXC"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When libvirt destroys a container it will attempt send a shutdown"},{"line_number":10,"context_line":"to the init process, then kill all of the procceses left over. If"},{"line_number":11,"context_line":"they don\u0027t die fast enough, libvirt will raise an error. The"},{"line_number":12,"context_line":"container will eventually die in most cases. So, instead of erroring"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da86d52c_ee1945d2","line":9,"in_reply_to":"da86d52c_620e4ee7","updated":"2015-02-16 18:10:37.000000000","message":"Done","commit_id":"54f7402bd5ec92104c99adc3b38d69ec579cf6b3"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"e1e1ca139024d06d05231259398d1d25387ba6b9","unresolved":false,"context_lines":[{"line_number":8439,"context_line":"        # NOTE(vish): verifies destroy doesn\u0027t raise if the instance disappears"},{"line_number":8440,"context_line":"        conn._destroy(instance)"},{"line_number":8441,"context_line":""},{"line_number":8442,"context_line":"    def test_private_destroy_lxc_processes_refused_to_die(self):"},{"line_number":8443,"context_line":"        self.flags(virt_type\u003d\u0027lxc\u0027, group\u003d\u0027libvirt\u0027)"},{"line_number":8444,"context_line":"        ex \u003d fakelibvirt.make_libvirtError("},{"line_number":8445,"context_line":"                libvirt.libvirtError, \"\","}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_fa23d0bb","line":8442,"updated":"2015-02-16 13:07:17.000000000","message":"these tests are kind of goofy, can you respin with @mock.patch for the things you want to stub instead?\n\nself.stubs shouldn\u0027t be needed here.","commit_id":"54f7402bd5ec92104c99adc3b38d69ec579cf6b3"},{"author":{"_account_id":5387,"name":"Andrew Melton","email":"andrew.melton@rackspace.com","username":"andrew-melton"},"change_message_id":"d34f5edaa3b65055bebe9ff25bbef7ad1e523567","unresolved":false,"context_lines":[{"line_number":8439,"context_line":"        # NOTE(vish): verifies destroy doesn\u0027t raise if the instance disappears"},{"line_number":8440,"context_line":"        conn._destroy(instance)"},{"line_number":8441,"context_line":""},{"line_number":8442,"context_line":"    def test_private_destroy_lxc_processes_refused_to_die(self):"},{"line_number":8443,"context_line":"        self.flags(virt_type\u003d\u0027lxc\u0027, group\u003d\u0027libvirt\u0027)"},{"line_number":8444,"context_line":"        ex \u003d fakelibvirt.make_libvirtError("},{"line_number":8445,"context_line":"                libvirt.libvirtError, \"\","}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_8e6b691e","line":8442,"in_reply_to":"da86d52c_fa23d0bb","updated":"2015-02-16 18:10:37.000000000","message":"Since I was patching an object created in the test, I had to use a context manager instead of the decorator.","commit_id":"54f7402bd5ec92104c99adc3b38d69ec579cf6b3"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"300e1a76c57f03225e0cbd8cf326683f644e0334","unresolved":false,"context_lines":[{"line_number":8460,"context_line":"        mock_info.state \u003d power_state.SHUTDOWN"},{"line_number":8461,"context_line":"        mock_get_info.return_value \u003d mock_info"},{"line_number":8462,"context_line":""},{"line_number":8463,"context_line":"        self.stubs.Set(conn._host, \u0027get_domain\u0027, mock_get_domain)"},{"line_number":8464,"context_line":"        self.stubs.Set(conn, \u0027get_info\u0027, mock_get_info)"},{"line_number":8465,"context_line":""},{"line_number":8466,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_b96b54f0","line":8463,"updated":"2015-02-13 19:22:11.000000000","message":"this is a bit dodgy. can we try and use mock here too if possible?","commit_id":"54f7402bd5ec92104c99adc3b38d69ec579cf6b3"},{"author":{"_account_id":5387,"name":"Andrew Melton","email":"andrew.melton@rackspace.com","username":"andrew-melton"},"change_message_id":"d34f5edaa3b65055bebe9ff25bbef7ad1e523567","unresolved":false,"context_lines":[{"line_number":8460,"context_line":"        mock_info.state \u003d power_state.SHUTDOWN"},{"line_number":8461,"context_line":"        mock_get_info.return_value \u003d mock_info"},{"line_number":8462,"context_line":""},{"line_number":8463,"context_line":"        self.stubs.Set(conn._host, \u0027get_domain\u0027, mock_get_domain)"},{"line_number":8464,"context_line":"        self.stubs.Set(conn, \u0027get_info\u0027, mock_get_info)"},{"line_number":8465,"context_line":""},{"line_number":8466,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_ce7561fb","line":8463,"in_reply_to":"da86d52c_b96b54f0","updated":"2015-02-16 18:10:37.000000000","message":"Done","commit_id":"54f7402bd5ec92104c99adc3b38d69ec579cf6b3"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"300e1a76c57f03225e0cbd8cf326683f644e0334","unresolved":false,"context_lines":[{"line_number":8480,"context_line":"        mock_get_domain.return_value \u003d mock_domain"},{"line_number":8481,"context_line":"        mock_domain.destroy.side_effect \u003d ex"},{"line_number":8482,"context_line":""},{"line_number":8483,"context_line":"        self.stubs.Set(conn._host, \u0027get_domain\u0027, mock_get_domain)"},{"line_number":8484,"context_line":""},{"line_number":8485,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":8486,"context_line":"        self.assertRaises(libvirt.libvirtError, conn._destroy, instance)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_1972a0e3","line":8483,"updated":"2015-02-13 19:22:11.000000000","message":"same as above","commit_id":"54f7402bd5ec92104c99adc3b38d69ec579cf6b3"},{"author":{"_account_id":5387,"name":"Andrew Melton","email":"andrew.melton@rackspace.com","username":"andrew-melton"},"change_message_id":"d34f5edaa3b65055bebe9ff25bbef7ad1e523567","unresolved":false,"context_lines":[{"line_number":8480,"context_line":"        mock_get_domain.return_value \u003d mock_domain"},{"line_number":8481,"context_line":"        mock_domain.destroy.side_effect \u003d ex"},{"line_number":8482,"context_line":""},{"line_number":8483,"context_line":"        self.stubs.Set(conn._host, \u0027get_domain\u0027, mock_get_domain)"},{"line_number":8484,"context_line":""},{"line_number":8485,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":8486,"context_line":"        self.assertRaises(libvirt.libvirtError, conn._destroy, instance)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_ee70650a","line":8483,"in_reply_to":"da86d52c_1972a0e3","updated":"2015-02-16 18:10:37.000000000","message":"Done","commit_id":"54f7402bd5ec92104c99adc3b38d69ec579cf6b3"}]}
