)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"08393d414bfa44f0289ab258f1c25a1def6a852a","unresolved":false,"context_lines":[{"line_number":12,"context_line":"InstanceNotFound. That commit fix the issue by handling that exception"},{"line_number":13,"context_line":"and returning to user the that the operating system is still"},{"line_number":14,"context_line":"rebooting."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I06f58f3e8cc0f895d6a95fb43d42d4d0da20b49b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5a8bc5a2_006cc4ce","line":15,"updated":"2016-09-26 12:14:32.000000000","message":"This could do with a bug report describing the full steps to reproduce the problem as its not clear from the code.","commit_id":"f7401ec5c201e005a60e46063f92bd267637fc7e"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"55af83f5a5492748bf4f6ba57cd4a2e29de7e9dd","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sahid Orentino Ferdjaoui \u003csahid.ferdjaoui@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-11-10 07:08:04 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"libvirt: fix uncaugth exception during soft reboot"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"During soft reboot, instance can be in ACTIVE state where the domain"},{"line_number":10,"context_line":"in not defined in libvirtd, that case happen when domain is hard"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9a629dbe_517f6baa","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":50},"updated":"2016-11-10 13:34:46.000000000","message":"I think that title is misleading, this patch is mostly about changing behavior of hard reboot, imo","commit_id":"ec1dad8b76e4d0629acf36b453e9ea0925117a7a"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"0b666918eed1286534304071ecc739ce47d99802","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sahid Orentino Ferdjaoui \u003csahid.ferdjaoui@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-11-10 07:08:04 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"libvirt: fix uncaugth exception during soft reboot"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"During soft reboot, instance can be in ACTIVE state where the domain"},{"line_number":10,"context_line":"in not defined in libvirtd, that case happen when domain is hard"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9a629dbe_9861bfd6","line":7,"in_reply_to":"9a629dbe_517f6baa","updated":"2016-11-14 10:43:15.000000000","message":"Yes It\u0027s true I will update the commit message, so far i wanted to see what CI saying","commit_id":"ec1dad8b76e4d0629acf36b453e9ea0925117a7a"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"55af83f5a5492748bf4f6ba57cd4a2e29de7e9dd","unresolved":false,"context_lines":[{"line_number":13,"context_line":"In this commit we will avoid re-creating the domain in sense of Nova"},{"line_number":14,"context_line":"to simply destroy it and create it in sense of libvirt which is"},{"line_number":15,"context_line":"basically a power-off/power-on."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I06f58f3e8cc0f895d6a95fb43d42d4d0da20b49b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9a629dbe_b137e7fd","line":16,"updated":"2016-11-10 13:34:46.000000000","message":"consider filing bug for this, so we at least could track backporting process.","commit_id":"ec1dad8b76e4d0629acf36b453e9ea0925117a7a"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"0b666918eed1286534304071ecc739ce47d99802","unresolved":false,"context_lines":[{"line_number":13,"context_line":"In this commit we will avoid re-creating the domain in sense of Nova"},{"line_number":14,"context_line":"to simply destroy it and create it in sense of libvirt which is"},{"line_number":15,"context_line":"basically a power-off/power-on."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I06f58f3e8cc0f895d6a95fb43d42d4d0da20b49b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"9a629dbe_b85e8310","line":16,"in_reply_to":"9a629dbe_b137e7fd","updated":"2016-11-14 10:43:15.000000000","message":"Sure","commit_id":"ec1dad8b76e4d0629acf36b453e9ea0925117a7a"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"08393d414bfa44f0289ab258f1c25a1def6a852a","unresolved":false,"context_lines":[{"line_number":2214,"context_line":"            # rebooting, Nova is considering that the instance is"},{"line_number":2215,"context_line":"            # ACTIVE. If user request a new soft reboot, get_guest is"},{"line_number":2216,"context_line":"            # going to raise an InstanceNotFound exception (domain"},{"line_number":2217,"context_line":"            # considered as an inactive state)."},{"line_number":2218,"context_line":"            raise exception.InstanceOperatingSystemRebooting()"},{"line_number":2219,"context_line":""},{"line_number":2220,"context_line":"        state \u003d guest.get_power_state(self._host)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_c04e5c6e","line":2217,"updated":"2016-09-26 12:14:32.000000000","message":"A guest operating system initiated reboot will be invisible to Nova.\n\nAre you\u0027re referring to possibility of an earlier \"_hard_reboot\" still being processed by Nova at the same time as this _soft_reboot is taking place ?\n\nIf so, I wonder if it would be better to fix it in a different way. \n\neg at line 2271, we\u0027re undefining the guest XML on disk, before we call _create_domain_and_network which will re-define the XML on disks.  This is fairly pointless as libvirt does not care if the old XML exists on disk or not - it\u0027ll happily overwrite it.\n\nSo we could just remove the \u0027undefine\u0027 call at line 2271. This removes the window in which get_guest() can raise InstanceNotFound","commit_id":"f7401ec5c201e005a60e46063f92bd267637fc7e"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"dd94c6661048a8e1b7d0cf5c5694795c2a90b726","unresolved":false,"context_lines":[{"line_number":2214,"context_line":"            # rebooting, Nova is considering that the instance is"},{"line_number":2215,"context_line":"            # ACTIVE. If user request a new soft reboot, get_guest is"},{"line_number":2216,"context_line":"            # going to raise an InstanceNotFound exception (domain"},{"line_number":2217,"context_line":"            # considered as an inactive state)."},{"line_number":2218,"context_line":"            raise exception.InstanceOperatingSystemRebooting()"},{"line_number":2219,"context_line":""},{"line_number":2220,"context_line":"        state \u003d guest.get_power_state(self._host)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_0c858dcd","line":2217,"in_reply_to":"5a8bc5a2_06700ea3","updated":"2016-09-27 15:20:06.000000000","message":"Yes, we can make a try,...","commit_id":"f7401ec5c201e005a60e46063f92bd267637fc7e"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"c8d26d469c0606e8380c31a19f5dc15a331fee67","unresolved":false,"context_lines":[{"line_number":2214,"context_line":"            # rebooting, Nova is considering that the instance is"},{"line_number":2215,"context_line":"            # ACTIVE. If user request a new soft reboot, get_guest is"},{"line_number":2216,"context_line":"            # going to raise an InstanceNotFound exception (domain"},{"line_number":2217,"context_line":"            # considered as an inactive state)."},{"line_number":2218,"context_line":"            raise exception.InstanceOperatingSystemRebooting()"},{"line_number":2219,"context_line":""},{"line_number":2220,"context_line":"        state \u003d guest.get_power_state(self._host)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_06700ea3","line":2217,"in_reply_to":"5a8bc5a2_0bb81774","updated":"2016-09-27 14:43:38.000000000","message":"That\u0027s a good question. From a libvirt POV that should certainly be sufficient. The question is whether it has impact on other parts of nova - particularly whether we\u0027d upset Neutron - eg it might try to clean stuff up when it sees destroy(), causing the later start() to fail. I don\u0027t know if that\u0027s a real problem or not though - I guess you could put up a change that tries it and sees if CI tests fail","commit_id":"f7401ec5c201e005a60e46063f92bd267637fc7e"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"5533d63b2c8085ee55b693b033bf4acbca84b0d1","unresolved":false,"context_lines":[{"line_number":2214,"context_line":"            # rebooting, Nova is considering that the instance is"},{"line_number":2215,"context_line":"            # ACTIVE. If user request a new soft reboot, get_guest is"},{"line_number":2216,"context_line":"            # going to raise an InstanceNotFound exception (domain"},{"line_number":2217,"context_line":"            # considered as an inactive state)."},{"line_number":2218,"context_line":"            raise exception.InstanceOperatingSystemRebooting()"},{"line_number":2219,"context_line":""},{"line_number":2220,"context_line":"        state \u003d guest.get_power_state(self._host)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_0bb81774","line":2217,"in_reply_to":"5a8bc5a2_1f32595f","updated":"2016-09-27 14:39:41.000000000","message":"Yes it is. I\u0027m still thinking about something, why do we have to \"regenerate\" the domain ? Can\u0027t we simply do a libvirt.destroy -\u003e libvirt.start in a hard reboot context ?","commit_id":"f7401ec5c201e005a60e46063f92bd267637fc7e"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"e55bd14b06180da8cf67fa01035a77f409f95572","unresolved":false,"context_lines":[{"line_number":2214,"context_line":"            # rebooting, Nova is considering that the instance is"},{"line_number":2215,"context_line":"            # ACTIVE. If user request a new soft reboot, get_guest is"},{"line_number":2216,"context_line":"            # going to raise an InstanceNotFound exception (domain"},{"line_number":2217,"context_line":"            # considered as an inactive state)."},{"line_number":2218,"context_line":"            raise exception.InstanceOperatingSystemRebooting()"},{"line_number":2219,"context_line":""},{"line_number":2220,"context_line":"        state \u003d guest.get_power_state(self._host)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_1f32595f","line":2217,"in_reply_to":"5a8bc5a2_53a86320","updated":"2016-09-26 15:01:09.000000000","message":"Ok, so in that case I think my earlier suggest is best - get rid of the \u0027undefine\u0027 call in hard_reboot as it serves no useful purpose, and creates this race","commit_id":"f7401ec5c201e005a60e46063f92bd267637fc7e"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"962afe8f10fea0a1efbbafac66ef4284a7e8171f","unresolved":false,"context_lines":[{"line_number":2214,"context_line":"            # rebooting, Nova is considering that the instance is"},{"line_number":2215,"context_line":"            # ACTIVE. If user request a new soft reboot, get_guest is"},{"line_number":2216,"context_line":"            # going to raise an InstanceNotFound exception (domain"},{"line_number":2217,"context_line":"            # considered as an inactive state)."},{"line_number":2218,"context_line":"            raise exception.InstanceOperatingSystemRebooting()"},{"line_number":2219,"context_line":""},{"line_number":2220,"context_line":"        state \u003d guest.get_power_state(self._host)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_53a86320","line":2217,"in_reply_to":"5a8bc5a2_66c3e089","updated":"2016-09-26 13:50:32.000000000","message":"I see, it\u0027s a bad interpretation of that bug in my side, the problem occur when hard_reboot following soft reboot so.","commit_id":"f7401ec5c201e005a60e46063f92bd267637fc7e"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"2c8d716dcf741e8700f071ad5b477395ba46a89e","unresolved":false,"context_lines":[{"line_number":2214,"context_line":"            # rebooting, Nova is considering that the instance is"},{"line_number":2215,"context_line":"            # ACTIVE. If user request a new soft reboot, get_guest is"},{"line_number":2216,"context_line":"            # going to raise an InstanceNotFound exception (domain"},{"line_number":2217,"context_line":"            # considered as an inactive state)."},{"line_number":2218,"context_line":"            raise exception.InstanceOperatingSystemRebooting()"},{"line_number":2219,"context_line":""},{"line_number":2220,"context_line":"        state \u003d guest.get_power_state(self._host)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_cb967def","line":2217,"in_reply_to":"5a8bc5a2_c04e5c6e","updated":"2016-09-26 12:42:35.000000000","message":"I\u0027m referring to a possible earlier soft reboot when guest os is not started. \n\nThe error is really on soft_reboot when we try to get the domain from libvirt: According to the documentation lookupByName/Id is going to return NULL on a \"inactive\" domain even if well defined (It seems that an \"inactive\" domain is when the guest os is not started).","commit_id":"f7401ec5c201e005a60e46063f92bd267637fc7e"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"7d0a1f59338f97ca94884ea40fbbe8a351297423","unresolved":false,"context_lines":[{"line_number":2214,"context_line":"            # rebooting, Nova is considering that the instance is"},{"line_number":2215,"context_line":"            # ACTIVE. If user request a new soft reboot, get_guest is"},{"line_number":2216,"context_line":"            # going to raise an InstanceNotFound exception (domain"},{"line_number":2217,"context_line":"            # considered as an inactive state)."},{"line_number":2218,"context_line":"            raise exception.InstanceOperatingSystemRebooting()"},{"line_number":2219,"context_line":""},{"line_number":2220,"context_line":"        state \u003d guest.get_power_state(self._host)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a8bc5a2_66c3e089","line":2217,"in_reply_to":"5a8bc5a2_cb967def","updated":"2016-09-26 12:46:20.000000000","message":"lookupByID will return NULL for inactive guests, becasue inactive guests do not have any ID.\n\nlookupByName will *not* return NULL if the guest has a persistent config on disk, and nova ensures that it does.\n\nA previous soft_reboot call should not have affected the config on disk - only a hard reboot call seems to affect that. So I don\u0027t see how you get the problem you describe.","commit_id":"f7401ec5c201e005a60e46063f92bd267637fc7e"}]}
