<div dir="ltr">Hi Daniel,<div><br></div><div>I feel it's best not to trigger automatic recovery actions when a host fails. The complexity of developing heuristics to deal with all the technologies OpenNebula leverages would be enormous. And the commands you had to run in this particular case might change in future Open vSwitch releases...</div><div><br></div><div>That said, I would personally do this outside of OpenNebula, in an rc.local sort of place. But if you really want to do this within OpenNebula you can always create a probe that is executed with all the other IM actions, that checks if Open vSwitch is up and healthy, and otherwise fixes it. </div><div><br></div><div>cheers,</div><div>Jaime</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Oct 13, 2014 at 10:02 AM, Daniel Dehennin <span dir="ltr"><<a href="mailto:daniel.dehennin@baby-gnu.org" target="_blank">daniel.dehennin@baby-gnu.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
<br>
We had a power failure on a test ONE 4.8, the frontend and the two hosts<br>
crashed.<br>
<br>
I can not resume nor boot the powered off VMs, libvirt told me:<br>
<br>
<br>
    error : virNetDevOpenvswitchRemovePort:187 : Unable to delete port (null) from OVS: Operation not permitted<br>
    error : virCommandWait:2426 : internal error: Child process (ovs-vsctl<br>
        --timeout=5 -- --may-exist add-port inetrnal vnet0 -- set Interface<br>
        vnet0 'external-ids:attached-mac="02:00:c0:a8:00:6e"' -- set<br>
        Interface vnet0<br>
        'external-ids:iface-id="2a9321ad-2b7e-4ca5-9c81-a3f54d04807b"' --<br>
        set Interface vnet0<br>
        'external-ids:vm-id="c486c111-e3fe-4338-99b0-8eed4c043cff"' -- set<br>
        Interface vnet0 external-ids:iface-status=active) unexpected exit<br>
        status 1: ovs-vsctl: "--may-exist add-port internal vnet0" but vnet0<br>
        is actually attached to bridge external<br>
<br>
<br>
To come back to normal, I had to run the following command:<br>
<br>
    for switch in external internal<br>
    do<br>
        for port in $(ovs-vsctl list-ports $switch | grep '^vnet')<br>
        do<br>
            ovs-vsctl del-port $switch $port<br>
        done<br>
    done<br>
<br>
Any idea to perform such operation automatically after a recovery?<br>
<br>
Regards.<br>
<span class="HOEnZb"><font color="#888888">--<br>
Daniel Dehennin<br>
Récupérer ma clef GPG: gpg --recv-keys 0xCC1E9E5B7A6FE2DF<br>
Fingerprint: 3E69 014E 5C23 50E8 9ED6  2AAD CC1E 9E5B 7A6F E2DF<br>
</font></span><br>_______________________________________________<br>
Users mailing list<br>
<a href="mailto:Users@lists.opennebula.org">Users@lists.opennebula.org</a><br>
<a href="http://lists.opennebula.org/listinfo.cgi/users-opennebula.org" target="_blank">http://lists.opennebula.org/listinfo.cgi/users-opennebula.org</a><br>
<br></blockquote></div><br></div><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div>Jaime Melis<br>Project Engineer<br>OpenNebula - Flexible Enterprise Cloud Made Simple<br><a href="http://www.OpenNebula.org" target="_blank">www.OpenNebula.org</a> | <a href="mailto:jmelis@opennebula.org" target="_blank">jmelis@opennebula.org</a></div></div></div>