You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Matt Meier (JIRA)" <ji...@apache.org> on 2018/06/14 09:05:00 UTC

[jira] [Created] (CLOUDSTACK-10383) VMs won't start - large "ip rule show" in virtual router hitting python Popen.wait() issue

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)