ironic-api is single threaded

Bug #1279206 reported by aeva black
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ironic
Fix Released
High
aeva black

Bug Description

The API service is single threaded. It's not even using greenthreads, so it blocks on any rpcapi.call().

aeva black (tenbrae)
Changed in ironic:
status: New → Triaged
importance: Undecided → High
milestone: none → icehouse-3
aeva black (tenbrae)
description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to ironic (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/72851

aeva black (tenbrae)
Changed in ironic:
assignee: nobody → Devananda van der Veen (devananda)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to ironic (master)

Reviewed: https://review.openstack.org/72069
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=1da73ef2ba4e5bafaee95016b63c7fda5f788227
Submitter: Jenkins
Branch: master

commit 1da73ef2ba4e5bafaee95016b63c7fda5f788227
Author: Devananda van der Veen <email address hidden>
Date: Sat Feb 8 00:20:45 2014 -0800

    Add samples to serve API through Apache mod_wsgi

    The default API service (ironic.cmd.api) uses the wsgiref library.

    Some deployers may want to serve the API through apache/httpd instead.

    This patch adds application hooks to use with mod_wsgi, and a sample
    apache2 config file to demonstrate its use with debian-based distros.

    Change-Id: I44cd8e0941c350a6e5c16cf2d068c3e8d684ab47
    Related-bug: #1279206

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Reviewed: https://review.openstack.org/72851
Committed: https://git.openstack.org/cgit/openstack/ironic/commit/?id=10e4b1458350422f487a77918d99e824afbe4141
Submitter: Jenkins
Branch: master

commit 10e4b1458350422f487a77918d99e824afbe4141
Author: Devananda van der Veen <email address hidden>
Date: Tue Feb 11 22:12:03 2014 -0800

    Make ironic-api not single threaded

    The ironic-api service is an instance of wsgiref
    simple_server.WSGIServer. This derives from SocketServer.TCPServer,
    which requires that SocketServer.ThreadingMixIn be mixed in for it to
    become thread'able, however this was not being done when starting the
    WSGIServer.

    This patch creates a ThreadedSimpleServer class, which is just a mix
    of ThreadingMixIn and WSGIServer, so that the ironic-api process
    does not block on network IO.

    Change-Id: I9d686765edb4975519840a51d3beeb2be797a4fa
    Related-bug: #1279206

aeva black (tenbrae)
Changed in ironic:
status: Triaged → Fix Committed
Thierry Carrez (ttx)
Changed in ironic:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in ironic:
milestone: icehouse-3 → 2014.1
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.