Matt Meier created CLOUDSTACK-10383:
---------------------------------------
Summary: VMs won't start - large "ip rule show" in virtual router
hitting python Popen.wait() issue
Key: CLOUDSTACK-10383
URL: https://issues.apache.org/jira/browse/CLOUDSTACK-10383
Project: CloudStack
Issue Type: Bug
Security Level: Public (Anyone can view this level - this is the default.)
Components: Virtual Router
Affects Versions: 4.11.0.0
Reporter: Matt Meier
XenServer cluster that's hosting client VMs with public IP's in a basic
network. Fairly simple setup.
Faced an issue where VMs weren't starting at all. No idea why, last logs in
management-server.log seemed to indicate it was stalling at virtual router.
With enough time I'd receive a timeout.
Logged-in to virtual router, saw last line "Adding route table" (CsRoute.py).
After some debugging it was determined that CsHelper.execute("ip rule show")
would freeze. This happened at: *p.wait()* (CsHelper.py). Python documentation
showed:
*Warning This will deadlock when using stdout=PIPE and/or stderr=PIPE and the
child process generates enough output to a pipe such that it blocks waiting for
the OS pipe buffer to accept more data. Use communicate() to avoid that.*
Commented-out the wait command, then cut and paste *result =
p.communicate()[0]* (slightly below) in its place.
Everything now works fine and VMs are again starting.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)