)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"b62cf089f3d4120d49de6c78499542033f4c77b4","unresolved":false,"context_lines":[{"line_number":7,"context_line":"libvirt: Don\u0027t misuse InstanceNotFound exception"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"InstanceNotFound in a generic exception and should contain only Nova"},{"line_number":10,"context_line":"instance IDs in the response: not things like libvirt IDs. Resolve this"},{"line_number":11,"context_line":"by only every returning InternalErrors from libvirt layers."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I43d608a629b3dba204264f1db97fb35b205aee85"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba0121b8_12e58336","line":10,"updated":"2016-03-29 16:31:19.000000000","message":"I\u0027m little bit mitigate by that change. We are actually passing the real instance UUID or name to InstanceNotFound:\n\n  guest.uuid \u003d\u003d instance.uuid\n  guest.name \u003d\u003d instance.name\n\nBut I really think that a clean should be done to have separated layers of specific exceptions for virt drivers.\n\nThe tree should be something like:\n\n  nova/exception.py\n  nova/virt/exception.py\n  nova/virt/libvirt/exception.py\n\nI\u0027m currently working on something related in part of the bp libvirt-clean.","commit_id":"fedf0aa267bfd9ac0d226680cadde60ef739e689"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":20996,"name":"Avinash Raghavendra","email":"avinash.raghavendra@ericsson.com","username":"eragavi"},"change_message_id":"00396c21d005ace9eff51192ff1370251a0f44e8","unresolved":false,"context_lines":[{"line_number":9808,"context_line":"    @mock.patch.object(objects.Instance, \u0027save\u0027)"},{"line_number":9809,"context_line":"    def test_immediate_delete(self, mock_save):"},{"line_number":9810,"context_line":"        def fake_get_domain(instance):"},{"line_number":9811,"context_line":"            raise exception.InternalError("},{"line_number":9812,"context_line":"                \u0027Instance %(id)s could not be found\u0027 % {\u0027id\u0027: instance.uuid})"},{"line_number":9813,"context_line":""},{"line_number":9814,"context_line":"        def fake_delete_instance_files(instance):"},{"line_number":9815,"context_line":"            pass"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba0121b8_5287fb60","line":9812,"range":{"start_line":9811,"start_character":27,"end_line":9812,"end_character":77},"updated":"2016-03-29 16:30:04.000000000","message":"this conflicts with your commit message saying that it should only contain nova instance IDs.","commit_id":"fedf0aa267bfd9ac0d226680cadde60ef739e689"},{"author":{"_account_id":20996,"name":"Avinash Raghavendra","email":"avinash.raghavendra@ericsson.com","username":"eragavi"},"change_message_id":"00396c21d005ace9eff51192ff1370251a0f44e8","unresolved":false,"context_lines":[{"line_number":9904,"context_line":"            mock_get_domain, mock_teardown_container, mock_cleanup):"},{"line_number":9905,"context_line":"        self.flags(virt_type\u003d\u0027lxc\u0027, group\u003d\u0027libvirt\u0027)"},{"line_number":9906,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":9907,"context_line":"        mock_get_domain.side_effect \u003d exception.InternalError("},{"line_number":9908,"context_line":"            \u0027Instance %(id)s could not be found\u0027 % {\u0027id\u0027: instance.uuid})"},{"line_number":9909,"context_line":""},{"line_number":9910,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)"},{"line_number":9911,"context_line":"        network_info \u003d []"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba0121b8_d2930ba2","line":9908,"range":{"start_line":9907,"start_character":8,"end_line":9908,"end_character":73},"updated":"2016-03-29 16:30:04.000000000","message":"this conflicts with your commit message saying that it should only contain nova instance IDs.","commit_id":"fedf0aa267bfd9ac0d226680cadde60ef739e689"},{"author":{"_account_id":20996,"name":"Avinash Raghavendra","email":"avinash.raghavendra@ericsson.com","username":"eragavi"},"change_message_id":"00396c21d005ace9eff51192ff1370251a0f44e8","unresolved":false,"context_lines":[{"line_number":10713,"context_line":""},{"line_number":10714,"context_line":"    def test_undefine_domain_with_not_found_instance(self):"},{"line_number":10715,"context_line":"        def fake_get_domain(self, instance):"},{"line_number":10716,"context_line":"            raise exception.InternalError("},{"line_number":10717,"context_line":"                \u0027Instance %(id)s could not be found\u0027 % {\u0027id\u0027: instance.uuid})"},{"line_number":10718,"context_line":""},{"line_number":10719,"context_line":"        self.stubs.Set(host.Host, \u0027get_domain\u0027, fake_get_domain)"},{"line_number":10720,"context_line":"        self.mox.StubOutWithMock(fakelibvirt.libvirtError, \"get_error_code\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba0121b8_b2f3f709","line":10717,"range":{"start_line":10716,"start_character":12,"end_line":10717,"end_character":77},"updated":"2016-03-29 16:30:04.000000000","message":"this conflicts with your commit message saying that it should only contain nova instance IDs.","commit_id":"fedf0aa267bfd9ac0d226680cadde60ef739e689"},{"author":{"_account_id":20996,"name":"Avinash Raghavendra","email":"avinash.raghavendra@ericsson.com","username":"eragavi"},"change_message_id":"00396c21d005ace9eff51192ff1370251a0f44e8","unresolved":false,"context_lines":[{"line_number":12536,"context_line":""},{"line_number":12537,"context_line":"        with test.nested("},{"line_number":12538,"context_line":"            mock.patch.object(host.Host, \u0027get_domain\u0027,"},{"line_number":12539,"context_line":"                              side_effect\u003dexception.InternalError(msg)),"},{"line_number":12540,"context_line":"            mock.patch.object(drvr, \u0027_disconnect_volume\u0027)"},{"line_number":12541,"context_line":"        ) as (_get_domain, _disconnect_volume):"},{"line_number":12542,"context_line":"            connection_info \u003d {\u0027driver_volume_type\u0027: \u0027fake\u0027}"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba0121b8_d2daeb77","line":12539,"range":{"start_line":12539,"start_character":52,"end_line":12539,"end_character":72},"updated":"2016-03-29 16:30:04.000000000","message":"this conflicts with your commit message saying that it should only contain nova instance IDs.","commit_id":"fedf0aa267bfd9ac0d226680cadde60ef739e689"}],"nova/tests/unit/virt/libvirt/test_host.py":[{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"403fc01daaeeea2bbd794d4a0074c3e152d2d435","unresolved":false,"context_lines":[{"line_number":436,"context_line":"                          self.host._get_domain_by_name,"},{"line_number":437,"context_line":"                          \"wibble\")"},{"line_number":438,"context_line":""},{"line_number":439,"context_line":"        fake_lookup.assert_called_once_with(\"wibble\")"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"    @mock.patch.object(host.Host, \"_get_domain_by_name\")"},{"line_number":442,"context_line":"    def test_get_domain(self, fake_get_domain):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_970fa9e0","side":"PARENT","line":439,"updated":"2016-12-13 17:10:57.000000000","message":"You\u0027ve lost this assertion.","commit_id":"b7255cb320c662b0b3e5a8fc7e7bbe7ded945d16"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"83cb8d182dbfb09a1755dc492ef56a18afb22f40","unresolved":false,"context_lines":[{"line_number":436,"context_line":"                          self.host._get_domain_by_name,"},{"line_number":437,"context_line":"                          \"wibble\")"},{"line_number":438,"context_line":""},{"line_number":439,"context_line":"        fake_lookup.assert_called_once_with(\"wibble\")"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"    @mock.patch.object(host.Host, \"_get_domain_by_name\")"},{"line_number":442,"context_line":"    def test_get_domain(self, fake_get_domain):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_83fbaec0","side":"PARENT","line":439,"in_reply_to":"1a6eadb0_1e365152","updated":"2016-12-14 18:48:29.000000000","message":"Done","commit_id":"b7255cb320c662b0b3e5a8fc7e7bbe7ded945d16"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"59019e6f3dd77d541263791f3fb448f32f0cec33","unresolved":false,"context_lines":[{"line_number":436,"context_line":"                          self.host._get_domain_by_name,"},{"line_number":437,"context_line":"                          \"wibble\")"},{"line_number":438,"context_line":""},{"line_number":439,"context_line":"        fake_lookup.assert_called_once_with(\"wibble\")"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"    @mock.patch.object(host.Host, \"_get_domain_by_name\")"},{"line_number":442,"context_line":"    def test_get_domain(self, fake_get_domain):"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_1e365152","side":"PARENT","line":439,"in_reply_to":"1a6eadb0_970fa9e0","updated":"2016-12-13 17:44:40.000000000","message":"I dropped it on purpose thinking it was already validated on #425. I can readd, however","commit_id":"b7255cb320c662b0b3e5a8fc7e7bbe7ded945d16"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"7b8ad56ada8081470a80418554fd73851048d208","unresolved":false,"context_lines":[{"line_number":427,"context_line":"    @mock.patch.object(fakelibvirt.virConnect, \"lookupByName\")"},{"line_number":428,"context_line":"    def test_get_domain_raises(self, fake_lookup):"},{"line_number":429,"context_line":""},{"line_number":430,"context_line":"        class fake_instance(object):"},{"line_number":431,"context_line":"            uuid \u003d \"123\""},{"line_number":432,"context_line":"            name \u003d \"wibble\""},{"line_number":433,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_1757e6ce","line":430,"updated":"2016-12-14 14:49:27.000000000","message":"@sfinucan: just do:\n\n inst \u003d objects.Instance(uuid\u003duuids.instance, name\u003d\"wibble\")","commit_id":"b52a11afa89520307cebb04cf5a00b612c274961"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"403fc01daaeeea2bbd794d4a0074c3e152d2d435","unresolved":false,"context_lines":[{"line_number":427,"context_line":"    @mock.patch.object(fakelibvirt.virConnect, \"lookupByName\")"},{"line_number":428,"context_line":"    def test_get_domain_raises(self, fake_lookup):"},{"line_number":429,"context_line":""},{"line_number":430,"context_line":"        class fake_instance(object):"},{"line_number":431,"context_line":"            uuid \u003d \"123\""},{"line_number":432,"context_line":"            name \u003d \"wibble\""},{"line_number":433,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_7704cd14","line":430,"updated":"2016-12-13 17:10:57.000000000","message":"Why not use an actual Instance object as above?","commit_id":"b52a11afa89520307cebb04cf5a00b612c274961"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"83cb8d182dbfb09a1755dc492ef56a18afb22f40","unresolved":false,"context_lines":[{"line_number":427,"context_line":"    @mock.patch.object(fakelibvirt.virConnect, \"lookupByName\")"},{"line_number":428,"context_line":"    def test_get_domain_raises(self, fake_lookup):"},{"line_number":429,"context_line":""},{"line_number":430,"context_line":"        class fake_instance(object):"},{"line_number":431,"context_line":"            uuid \u003d \"123\""},{"line_number":432,"context_line":"            name \u003d \"wibble\""},{"line_number":433,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_a3718a78","line":430,"in_reply_to":"1a6eadb0_1757e6ce","updated":"2016-12-14 18:48:29.000000000","message":"Done","commit_id":"b52a11afa89520307cebb04cf5a00b612c274961"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"59019e6f3dd77d541263791f3fb448f32f0cec33","unresolved":false,"context_lines":[{"line_number":427,"context_line":"    @mock.patch.object(fakelibvirt.virConnect, \"lookupByName\")"},{"line_number":428,"context_line":"    def test_get_domain_raises(self, fake_lookup):"},{"line_number":429,"context_line":""},{"line_number":430,"context_line":"        class fake_instance(object):"},{"line_number":431,"context_line":"            uuid \u003d \"123\""},{"line_number":432,"context_line":"            name \u003d \"wibble\""},{"line_number":433,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_1ee811b4","line":430,"in_reply_to":"1a6eadb0_7704cd14","updated":"2016-12-13 17:44:40.000000000","message":"It gives me an error about the \u0027uuid\u0027 field not being \"lazy loadable\". I can only assume this is due to the fact it\u0027s not backed by a DB?","commit_id":"b52a11afa89520307cebb04cf5a00b612c274961"},{"author":{"_account_id":9555,"name":"Matthew Booth","email":"mbooth@redhat.com","username":"MatthewBooth"},"change_message_id":"403fc01daaeeea2bbd794d4a0074c3e152d2d435","unresolved":false,"context_lines":[{"line_number":437,"context_line":"            error_code\u003dfakelibvirt.VIR_ERR_NO_DOMAIN,"},{"line_number":438,"context_line":"            error_domain\u003dfakelibvirt.VIR_FROM_QEMU)"},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"        with testtools.ExpectedException(exception.InstanceNotFound):"},{"line_number":441,"context_line":"            self.host.get_domain(fake_instance())"},{"line_number":442,"context_line":""},{"line_number":443,"context_line":"    @mock.patch.object(fakelibvirt.virConnect, \"lookupByName\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6eadb0_3cc6ba67","line":440,"updated":"2016-12-13 17:10:57.000000000","message":"Didn\u0027t know about that one!","commit_id":"b52a11afa89520307cebb04cf5a00b612c274961"}],"nova/virt/fake.py":[{"author":{"_account_id":20996,"name":"Avinash Raghavendra","email":"avinash.raghavendra@ericsson.com","username":"eragavi"},"change_message_id":"00396c21d005ace9eff51192ff1370251a0f44e8","unresolved":false,"context_lines":[{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    def get_info(self, instance):"},{"line_number":321,"context_line":"        if instance.uuid not in self.instances:"},{"line_number":322,"context_line":"            raise exception.InternalError("},{"line_number":323,"context_line":"                \u0027Instance %(id)s could not be found\u0027 % {\u0027id\u0027: instance.uuid})"},{"line_number":324,"context_line":"        i \u003d self.instances[instance.uuid]"},{"line_number":325,"context_line":"        return hardware.InstanceInfo(state\u003di.state,"},{"line_number":326,"context_line":"                                     max_mem_kb\u003d0,"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba0121b8_72379fb0","line":323,"range":{"start_line":322,"start_character":28,"end_line":323,"end_character":77},"updated":"2016-03-29 16:30:04.000000000","message":"this conflicts with your commit message saying that it should only contain nova instance IDs.","commit_id":"fedf0aa267bfd9ac0d226680cadde60ef739e689"}],"nova/virt/libvirt/guest.py":[{"author":{"_account_id":20996,"name":"Avinash Raghavendra","email":"avinash.raghavendra@ericsson.com","username":"eragavi"},"change_message_id":"00396c21d005ace9eff51192ff1370251a0f44e8","unresolved":false,"context_lines":[{"line_number":407,"context_line":"        except libvirt.libvirtError as ex:"},{"line_number":408,"context_line":"            error_code \u003d ex.get_error_code()"},{"line_number":409,"context_line":"            if error_code \u003d\u003d libvirt.VIR_ERR_NO_DOMAIN:"},{"line_number":410,"context_line":"                raise exception.InternalError("},{"line_number":411,"context_line":"                    \u0027Instance %(instance_id)s could not be found\u0027 %"},{"line_number":412,"context_line":"                    {\u0027instance_id\u0027: self.uuid})"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"            msg \u003d (_(\u0027Error from libvirt while getting domain info for \u0027"},{"line_number":415,"context_line":"                     \u0027%(instance_name)s: [Error Code %(error_code)s] %(ex)s\u0027) %"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba0121b8_72a15fa9","line":412,"range":{"start_line":410,"start_character":22,"end_line":412,"end_character":47},"updated":"2016-03-29 16:30:04.000000000","message":"this conflicts with your commit message saying that it should only contain nova instance IDs.","commit_id":"fedf0aa267bfd9ac0d226680cadde60ef739e689"}]}
