Bug 518277

Summary: central_processing="1" set & virsh="1" for vm resource results in S/Lang Script Error during clusvcadm -M <svc> -m <node>
Product: [Fedora] Fedora Reporter: Thomas Sjolshagen <thomas.sjolshagen>
Component: clusterAssignee: Fabio Massimo Di Nitto <fdinitto>
Status: CLOSED UPSTREAM QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 11CC: agk, cfeist, fdinitto, lhh, nenad, peter, swhiteho
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-01-07 18:43:08 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Thomas Sjolshagen 2009-08-19 17:36:06 UTC
Description of problem:

When attempting to migrate (live) a vm cluster resource from one node to another in the cluster using "clusvcadm -M <svc_name> -m <member>", the operation fails with the following error messages:

Trying to migrate service:svc1 to node2...S/Lang Script Error

In /var/log/messages:

Aug 14 16:44:08 node2 rgmanager[3210]: [S/Lang] Variable Uninitialized Error
Aug 14 16:44:08 node2 rgmanager[3210]: [S/Lang] Script Execution Failure

According to Lon Hohberger (lhh@redhat.com), this represents a known issue:

<quote from="linux-cluster@redhat.com"> 

You can't mix central_processing + migrate operation right now.

The central_processing mode _requires_ synchronous operation, but with
the older (Xen) tools, the man page explicitly documents that most
operations were asynchronous - consequently, 'xm migrate' may or may not
have completed at the time the command returned.

With current virsh agent, we can fix this behavior because the virsh
operations (including migrate) are expected to be synchronous.

I talked with the libvirt developers about this recently - the fact that
virsh operations are synchronous (despite also being documented to be
asynchronous [GRRRRR] in the virsh man page) -greatly- simplifies the
steps we must take surrounding VM migration, so we can fix it now that
we use virsh instead of 'xm' 

</quote>

Version-Release number of selected component (if applicable):

cman-3.0.0-20.fc11.x86_64
rgmanager-3.0.0-20.fc11.x86_64
resource-agents-3.0.0-12.fc11.noarch

How reproducible:

All the time -> see above quote.

Steps to Reproduce:
1. Configure cluster.conf with a vm resource using virsh and with central_processing turned on for the resource manager.
e.g:

<rm log_level="7" central_processing="1">

and 

<vm name="kvm02" migrate="live" snapshot="/cluster/kvm-guests/snapshots" use_virsh="1" hypervisor="qemu">

2. clusvcadm -M kvm02 -m <node>
  
Actual results:

Trying to migrate service:svc1 to node2...S/Lang Script Error

In /var/log/messages:

Aug 14 16:44:08 node2 rgmanager[3210]: [S/Lang] Variable Uninitialized Error
Aug 14 16:44:08 node2 rgmanager[3210]: [S/Lang] Script Execution Failure

Expected results:

That the service is live-migrated to the other node w/o failure.

Additional info: N/A