[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] xl list -l doesn't work for incoming domain



On 11/12/2014 09:52 AM, Ian Campbell wrote:
> On Wed, 2014-11-12 at 09:48 -0500, Zhigang Wang wrote:
>> On 11/12/2014 09:40 AM, Ian Campbell wrote:
>>> On Wed, 2014-11-12 at 09:36 -0500, Zhigang Wang wrote:
>>>> Also I want clarify one thing: the @introduceDomain watch is triggered at 
>>>> the same
>>>> time for xm/xend and xl: when VM fully migrated.
>>>>
>>>> The different between xm/xend and xl is: xend will populate destination 
>>>> side VM 
>>>> xenstore entries at the beginning of migration.
>>>
>>> Do you mean *before* @introduceDomain has triggered?
>>
>> Yes, from my test. I didn't check the code logic yet.
> 
> I think anything which is trying to inspect the state of a domain before
> the corresponding @introduceDomain and expecting anything more complex
> than the fact of that domain's existence is broken.
...
> IOW the json associated with such a domain should be:
>     {
>         "domid": 123,
>         "config": {}
>     }
> Or even
>     {
>         "domid": 123,
>     }
> 
> No more or less.

Here is the xl list output:

    # xl list
    Name                                          ID   Mem VCPUs      State   
Time(s)
    Domain-0                                       0   856     4     r-----    
2758.9
    0004fb00000600003f327a843a5f2b72--incoming     7   131     1     --p---     
  0.0

So we don't even want to match the two results?
 
>> I designed a test: set eth0 to low speed:
>>
>>     $ ethtool -s eth0 speed 10 duplex half
>>
>> and then migrate the VM. I can see the watch been triggered very late 
>> (couple minutes later after migration).
> 
> A couple of minutes after *starting* the migration (i.e. the couple of
> minutes is just the time taken to migrate) or a couple of minutes after
> *finishing* the migration (which would be unfortunate and should be
> investigated).

Sorry I didn't say it clearly. I mean couple minutes after the migration 
started, but before the migration finish.

From xend code xend/XendDomainInfo.py:


    def completeRestore(self, store_mfn, console_mfn):

        log.debug("XendDomainInfo.completeRestore")

        self.store_mfn = store_mfn
        self.console_mfn = console_mfn

        self._introduceDomain()
        self.image = image.create(self, self.info)
        if self.image:
            self.image.createDeviceModel(True)
        self._storeDomDetails()
        self._registerWatches()
        self.refreshShutdown()

        log.debug("XendDomainInfo.completeRestore done")

It seems the self._introduceDomain() does called at the end of migration after 
memory transfer.

Thanks,

Zhigang



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.