Eventlet Removal Logo
Eventlet Removal

OpenStack Eventlet Removal Resources

OpenStack has embarked on a significant technical initiative to remove Eventlet dependencies across all its components. This section provides resources, updates, and insights into this community-wide effort.

Why is OpenStack Removing Eventlet?

The OpenStack Technical Committee (TC) has established Eventlet removal as a top priority for several key reasons:

Python Evolution

Eventlet faces significant compatibility issues with all recent Python versions starting from Python 3.12. These challenges are further exacerbated by Python 3.13 and the PEP 703 "GILectomy" implementation, making migration critical for ensuring future compatibility.

Maintenance Challenges

Diminishing maintenance activity in the Eventlet project means bugs accumulate faster than they're fixed, creating reliability issues.

Compatibility Problems

Integration issues between Eventlet and important libraries like RabbitMQ cause persistent operational problems in OpenStack deployments.

Performance Optimization

Benchmarks have shown performance advantages with alternative concurrency implementations compared to Eventlet's approach.

OpenStack PTG Updates

The OpenStack Project Teams Gathering (PTG) events have featured significant discussions about Eventlet removal. Explore the documentation from these sessions to understand the community's approach and progress.

Updates from future PTGs will be added here

Project-Specific Resources

Different OpenStack projects have adopted various approaches to Eventlet removal. Below are examples and resources from specific components.

Additional project resources will be added as they become available

Current Migration Status Summary 🔗

The progress of Eventlet removal varies across OpenStack projects. Here's a high-level overview as of April 2026 (Hibiscus cycle):

Project Status Approach
Octavia Completed Migration completed since 2017 Show the migration history
Mistral Completed Migration completed since September 2025. Show the migration history
Ironic Completed Migration completed since August 2025. Show the migration history
Barbican Completed Migration completed since August 2025. Show the migration history
Heat Completed Migration completed since July 2025. Show the migration history
Cyborg Completed Eventlet-free since Gazpacho. Removed monkey patch, fixed DB deadlock, native WSGI server removed Show the migration history
Neutron Completed Migration completed in Gazpacho. Moved Oslo services to threading mode, removed all eventlet imports Show the migration history
Designate Completed Migration completed in Gazpacho. Full migration finished, major milestone achieved Show the migration history
Oslo Libraries In Progress Multiprocessing spawn support introduced, deprecated Eventlet features, oslo.db supports asyncio, oslo.service's threading backend implemented. Working on making eventlet dependencies optional Show the migration history
Glance In Progress Good shape. Removed eventlet from utils, unit tests use native threading. Client migration pending Show the migration history
Nova In Progress Service-by-service approach. Gazpacho: API, metadata, scheduler default to threading. Hibiscus: compute and conductor default to threading. Pending: console proxies Show the migration history
Cinder In Progress Volume and scheduler services operational with threading, aligned with recent Oslo services. Backup service in progress Show the migration history
Manila In Progress Advanced progress. Share manager migrated, Rally performance framework developed showing no significant regression. Planning functional tests for Hibiscus Show the migration history
Watcher In Progress All components migrated (API, Decision Engine, Applier). Switched to threading by default in early Hibiscus Show the migration history
Swift In Progress 100% functional tests passing, 99% unit tests passing. Working on erasure coding predictability challenges Show the migration history
Blazar In Progress Evaluating alternatives to Eventlet WSGI, gradual transition approach Show the migration history