[one-users] VM in unknown state never gets updated

Ruben S. Montero rsmontero at opennebula.org
Thu Dec 6 11:09:46 PST 2012


Hi

I think this is the expected behavior, the problem here is the drivers
"lying" to OpenNebula. This what happens:

1.- Users issue a live migration. The live migration fails (driver exits 1)
2.- OpenNebula detects a failed migration and assumes the VM is
RUNNING in the original host
3.- OpenNebula polls the VM and it can find it, so it move it to the
unknown state
4.- OpenNebula keeps polling the VM and looking for it in the initial host

There is no way for OpenNebula to know that the VM has leaved the
host. Probably the only way is changing 2, and assume that the live
migration succeeded. However in a normal (failure) situation when the
hypervisor fails the live-migration the VM keeps running in the
original host.

So what happens if post-migrate fail? I'd say that given that the VM
is running on the new host it does not make sense to rollback the
operation and I think we should always exit 0 the post-migrate
script...

What do you think?

Ruben


On Thu, Dec 6, 2012 at 4:19 AM, Gary S. Cuozzo <gary at isgsoftware.net> wrote:
> As a note, I manually migrated the VM back to the original host and ONE did
> pick up on it and put it back to the running state so that I can manage it
> again.  I think it would be good though if ONE could find it on any host and
> not just the host it originally ran on.
> gary
>
> ________________________________
> From: "Gary S. Cuozzo" <gary at isgsoftware.net>
> To: users at lists.opennebula.org
> Sent: Wednesday, December 5, 2012 10:04:34 PM
> Subject: [one-users] VM in unknown state never gets updated
>
>
> Hello,
> I'm testing my TM driver and using the pre/postmigrate scripts in 3.8.1.
> Due to a bug in the postmigrate script, I have a VM that successfully
> migrated from one host to the other, but since the postmigrate returned
> non-zero status, the migration was considered to be failed by ONE and the VM
> was put into the UNKOWN state.  I figured ONE would eventually poll the
> hosts and realize that the VM was running and update the state of the VM as
> well as the host it's running on.  It never picked up on it though.
>
> It seems like ONE should be able to recover from this since it should be
> able to poll the hosts and find out that it is running on one of them.  Is
> there some way to tell ONE to update the state?  Or tell it to scan for it?
>
> Since it's just a test VM I can just delete & recreate it, but I think this
> is a use case that ONE should be able to handle.
>
> Any thoughts?
>
> Cheers,
> gary
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opennebula.org
> http://lists.opennebula.org/listinfo.cgi/users-opennebula.org
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opennebula.org
> http://lists.opennebula.org/listinfo.cgi/users-opennebula.org
>



-- 
Ruben S. Montero, PhD
Project co-Lead and Chief Architect
OpenNebula - The Open Source Solution for Data Center Virtualization
www.OpenNebula.org | rsmontero at opennebula.org | @OpenNebula



More information about the Users mailing list