Hi Olaf,
yes you are right, it's my mistake. The patch is not complete.
After reading the managed SXP file the values of weight and cap are of
type string not of type int.
The original code (before my patch) overwrites these values with the given
weight/cap or
the default values. Both values have type int.
My patch leaves the values taken from managed SXP unchanged, if already set,
so they have type string not int!
I have to convert the values of weight/cap to int. I will extend the patch.
Thanks
Lutz
-----Original Message-----
From: Olaf Hering [mailto:olaf@xxxxxxxxx]
Sent: Friday, August 27, 2010 2:54 PM
To: Dube, Lutz
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-devel] [PATCH] Values of cpu_weight and cpu_cap are lost
after xend restart
On Tue, Aug 10, Dube, Lutz wrote:
> # HG changeset patch
> # User Lutz.Dube
> # Node ID ca2c8c262dbaa6b2521cec60af7cd688dabdf850
> # Parent 8992134dcfd0b9e1e86f4111e68a8aa48bd33c3c
> Values of cpu_weight and cpu_cap are lost after xend restart
>
> For managed domains in state 'halted' I always get default values
> for cpu_cap / cpu_weight after xend restart.
> This is because the names of parameters differ between a SXP file to
> create a VM (here the parameter names are cpu_cap / cpu_weight) and
> a SXP file of a managed VM (here vcpus_params (cap 0) (weight 0)).
> But XendConfig.py reads only cpu_cap / cpu_weight and if not found,
> default values are used.
>
> The patch reads first vcpus_params (cap, weight), if not found then cpu_cap,
> cpu_weight and if both parameters are missing it uses the default values.
Lutz,
does xen-unstable actually work for you after this change is applied?
xm start <guest> fails for me on SLES11, as first reported here:
http://lists.xensource.com/archives/html/xen-devel/2010-08/msg01461.html
My python skills are not good enough to fix it, and this change looks
like the only one between rev 21976:22019 that touches self.getWeight()
related code in XendDomainInfo.py
[2010-08-27 14:36:38 4654] ERROR (XendDomainInfo:488) VM start failed
Traceback (most recent call last):
File "/usr/lib64/python2.6/site-packages/xen/xend/XendDomainInfo.py", line
473, in start
XendTask.log_progress(0, 30, self._constructDomain)
File "/usr/lib64/python2.6/site-packages/xen/xend/XendTask.py", line 209, in
log_progress
retval = func(*args, **kwds)
File "/usr/lib64/python2.6/site-packages/xen/xend/XendDomainInfo.py", line
2618, in _constructDomain
assert type(weight) == int
AssertionError
Olaf
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|