Eventlet Removal Logo
Eventlet Removal

Sequencing the Migration

This chapter aims to give you an overview of the various timeline of the migration. From your point of view. From the life cycle of Eventlet point of view and its integration with versions of CPython. And to finish from the point of view of the migration of OpenStack.

Your Migration 🔗

The Gantt diagram below aims to give you an overview of how the removal of Eventlet from your deliverable could looks if started at 2025 March 19th.

%%{init: {'theme': 'dark', 'gantt': {'titleColor': '#ffffff', 'sectionColor': '#ffffff', 'taskColor': '#ffffff', 'taskTextColor': '#ffffff'}}}%% gantt title Hypothetical Eventlet Migration Plan For Your Deliverables dateFormat YYYY-MM-DD axisFormat %d/%m/%Y todayMarker stroke:red section Preparation Locate usages :prep1, 2025-03-19, 7d Audit code :prep2, after prep1, 14d Check disablable :prep3, after prep2, 3d section Alternatives Assess app structure :choice1, after prep3, 5d Evaluate integration :choice2, after choice1, 5d Make decision :milestone, after choice2, 0d section Organization Isolate parts :org1, after choice2, 10d Services first :org2, after org1, 3d section Migration Implement deprecation :mig1, after org2, 14d Migrate executors :mig2, after mig1, 21d Migrate monkey patching :mig3, after mig2, 28d section Validation Regression testing :val1, after mig3, 14d Gradual deployment :val2, after val1, 14d Removing requirements :val3, after val2, 2d

How Is Sequenced the Global Retirement Of Eventlet 🔗

The Gantt diagram below aims to give you an overview of the global retirement plan of Eventlet and what support and next steps you should expect.

Support of Eventlet will end by April 2027. Past this date if your migration is not finished, you will have to pin your requirements and you will have to stick to the CPython versions supported by the version of Eventlet you are using. We strongly recommend you to not pass over this date.

%%{init: {'theme': 'dark', 'gantt': {'titleColor': '#ffffff', 'sectionColor': '#ffffff', 'taskColor': '#ffffff', 'taskTextColor': '#ffffff'}}}%% gantt title Eventlet's Retirement Plan dateFormat YYYY-MM-DD axisFormat %d/%m/%Y todayMarker stroke:red section Preparation Propose Eventlet's retirement :prep1, 2023-12-08, 4w Discuss about the terms of retirement :prep2, 2024-01-01, 14d Document the migration :prep3, after prep2, 52w Maintenance mode :prep4, after prep2, 166w Final retirement :prep5, after prep4, 4w section Compatibility Implementing Support for Python 3.12 :alt1, after prep2, 10w Implementing Support for AsyncIO :alt2, after alt1, 20w Implementing Support for Python 3.13 :alt3, after alt2, 15w Implementing Support for Python 3.14 :alt4, after alt3, 45w Remove Support for Python 3.9 :alt5, after alt4, 4w Implementing Support for Python 3.15 :alt6, after alt5, 45w Remove Support for Python 3.10 :alt7, after alt6, 4w section Support Stop supporting new features :sta1, 2024-02-01, 164w Deprecating not AsyncIO hubs :sta2, 2025-04-01, 54w Stop supporting not AsyncIO hubs :sta3, 2026-04-01, 51w Stop fixing bugs :sta4, 2027-01-01, 12w

How Is Sequenced the abandon of Eventlet in OpenStack 🔗

The Gantt diagram below aims to give you an overview of the Eventlet removal plan OpenStack and what support and next steps you should expect.

%%{init: {'theme': 'dark', 'gantt': {'titleColor': '#ffffff', 'sectionColor': '#ffffff', 'taskColor': '#ffffff', 'taskTextColor': '#ffffff'}}}%% gantt title OpenStack's Migration Plan dateFormat YYYY-MM-DD axisFormat %d/%m/%Y todayMarker stroke:red section Migration Discuss the Eventlet problem :prep1, 2023-11-20, 2w Propose a community goal :prep2, after prep1, 34w Select the community goal :prep3, after prep2, 15w Start officially the migration :prep4, after prep3, 2w Prepare Oslo (deprecate/ new drivers) :prep5, after prep4, 24w Accelerate the migration of services :prep6, 2025-04-04, 52w Remove deprecated parts of services :prep7, 2026-04-01, 27w Cleans up Eventlet from services :prep8, 2026-10-01, 12w Remove deprecated parts of libraries :prep9, after prep8, 12w Drop Eventlet from requirements :prep10, after prep9, 2w