wsgi code ties all middleware consumers to Eventlet

Bug #1020569 reported by Adam Young
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Identity (keystone)
Fix Released
Medium
Adam Young

Bug Description

RIght now, the Monkeypatch call is in the imports of keystone/common/wsgi.py. Recently, a bug fix added in the monkeypatch of "threading" This has a couple of implications:

1. The integrated debuggers are now is incapable of stepping through code. They cannot switch threads anymore.
2. Any other program that pulls in the middleware pieces is going to be monkey patched.

The first one is acceptable. The work around is to remove the monkey patch of threading when you are working with this code.

The second one is a little more serious. Assuming that the middleware is only going to be called from Eventlet code is probably going to cause trouble for someone in the future. Specifically, it should be possible to call the auth_token middleware from Nova/Glance running under HTTPD or some other wsgi container. Also, If third party integrators are going to write code that uses the middleware, that might be a stand alone Python program, and not want to use Eventlet. Even the CLI is now eventlet specific, and I don't think that is what we want.

The Eventlet code should be triggered by calling the keystone-all executable so it is only used if we are running a Keystone server explicitly.

Adam Young (ayoung)
Changed in keystone:
assignee: nobody → Adam Young (ayoung)
Joseph Heck (heckj)
Changed in keystone:
status: New → Triaged
importance: Undecided → Medium
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to keystone (master)

Fix proposed to branch: master
Review: https://review.openstack.org/9292

Changed in keystone:
status: Triaged → In Progress
Alan Pevec (apevec)
description: updated
Revision history for this message
Rafael Durán Castañeda (rafadurancastaneda) wrote :

This would fix bug 967440 too.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to keystone (master)

Reviewed: https://review.openstack.org/9292
Committed: http://github.com/openstack/keystone/commit/81cb2ab2f5b7bdcd372491731750687e31c15ae2
Submitter: Jenkins
Branch: master

commit 81cb2ab2f5b7bdcd372491731750687e31c15ae2
Author: Adam Young <email address hidden>
Date: Tue Jul 3 16:22:13 2012 -0400

    Move monkey patch to keystone-all startup.

    bug 1020569

    Change-Id: I26c467dc6d96476f2a44b875bddf2cf3aec41859

Changed in keystone:
status: In Progress → Fix Committed
Revision history for this message
Alan Pevec (apevec) wrote :

> Recently, a bug fix added in the monkeypatch of "threading"

This was bug 1012381 which was backported to stable/essex so this one needs too.

tags: added: essex-backport
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to keystone (stable/essex)

Fix proposed to branch: stable/essex
Review: https://review.openstack.org/10359

Revision history for this message
Alan Pevec (apevec) wrote :

After discussing on IRC, stable/essex backport proposal was abandoned.

tags: removed: essex-backport
Thierry Carrez (ttx)
Changed in keystone:
milestone: none → folsom-3
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in keystone:
milestone: folsom-3 → 2012.2
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.