Hi,
Here is a question about starting of subsequent VMs.
In the function of "start" from the class of XendDomain which is in the module of xen.xend.XendDomain, there's a pair of operations acquiring and releasing threading.RLock, which is like following:
def domain_start(self, domid, start_paused = True):
self.domains_lock.acquire()
....
self.domains_lock.release()
The confine of the locked area is quite large, in fact it covers nearly all the function, which would cause most time in the serial scene when I actually call the start interface subsequently in hope that VMs would be parallel started.
The first question is:
I am wondering why here is so wide a lock for the thread, which would also block other operations :define, delete for instance.
When I tried to remove the lock, and started 10 VMs subsequently, following error occured:
libvir: Xen Daemon error : POST operation failed: xend_post: error from xen daemon: (xend.err "(3, 'No such process')"), exact error number is 500
The last sentence is printed by the debug information which is added by myself in order to catch the exact error number from http.py
Now here is the second question which is in fact derived from the first one:
Why these error messages? I can not find the original reason from the logs, neither syslog nor xend.log .
I would appreciate you so much if any help be given. Thanks a lot!