Public bug reported: When I fixed https://bugs.launchpad.net/nova/+bug/1478607 I found I can't remove those error instances which was failed when config xml.
This is because of following block: https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L894 When nova try to destroy instance, it will cleanup relative resources. if we enable serial console, nova will try to find ports, which was assigned to it, and release them. But the instance was created failed, therefore nova will throw nova instance not found. Yes, the block looks like it had handle instance not found exception. But the function of "_get_serial_ports_from_instance" has yield keyword. It will not raise exception immediately instead of raise exception when program try to iterator yielded items. Therefore instance not found exception will been raised at L894 instead of L889. You can checkout following sample code. http://www.tutorialspoint.com/execute_python_online.php?PID=0Bw_CjBb95KQMU05ycERQdUFfcms ** Affects: nova Importance: Undecided Assignee: lyanchih (lyanchih) Status: New ** Changed in: nova Assignee: (unassigned) => lyanchih (lyanchih) -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1480514 Title: Remove error instance fail when enable serial_consol Status in OpenStack Compute (nova): New Bug description: When I fixed https://bugs.launchpad.net/nova/+bug/1478607 I found I can't remove those error instances which was failed when config xml. This is because of following block: https://github.com/openstack/nova/blob/master/nova/virt/libvirt/driver.py#L894 When nova try to destroy instance, it will cleanup relative resources. if we enable serial console, nova will try to find ports, which was assigned to it, and release them. But the instance was created failed, therefore nova will throw nova instance not found. Yes, the block looks like it had handle instance not found exception. But the function of "_get_serial_ports_from_instance" has yield keyword. It will not raise exception immediately instead of raise exception when program try to iterator yielded items. Therefore instance not found exception will been raised at L894 instead of L889. You can checkout following sample code. http://www.tutorialspoint.com/execute_python_online.php?PID=0Bw_CjBb95KQMU05ycERQdUFfcms To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1480514/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp