-
Bug
-
Resolution: Done
-
Critical
-
None
-
None
-
None
-
3
-
False
-
-
False
-
?
-
rhos-ops-platform-services-pidone
-
None
-
-
-
-
Sprint 9, Sprint 10
-
2
-
Critical
Description
The refactor introduced in commit `8c74d0718dc11ed5` removed the `ThreadGroup.max_threads` attribute and replaced it with `thread_pool_size`. Several OpenStack services, notably Heat, still rely on the old attribute and fail when upgrading to oslo.service >= 4.4.0.
This regression leads to cascading failures across dependent services — growing in impact much like a Fibonacci sequence: each failing component amplifies issues in others, resulting in an increasingly complex upgrade path.
A patch is now proposed to restore `max_threads` as a read-only, deprecated property that maps to `thread_pool_size` and emits a `DeprecationWarning`. Applications are expected to migrate to the new attribute.
Impact
- Breaks compatibility for services still using `ThreadGroup.max_threads`
- Prevents smooth upgrades to oslo.service 4.4.0 and later
- Causes service startup failures (e.g., Heat)
- Introduces cumulative dependency issues (Fibonacci-like propagation)
Proposed Fix
- Reintroduce `max_threads` as an alias to `thread_pool_size`
- Emit `DeprecationWarning` to encourage migration
- Document the change in release notes
- Plan removal of the deprecated attribute in a future cycle
Steps to Reproduce
- Upgrade to oslo.service >= 4.4.0
- Start a service still referencing `ThreadGroup.max_threads`
- Observe `AttributeError` on startup
Expected Behavior
Existing services continue functioning using `max_threads` until they migrate to `thread_pool_size`.
Environment
- oslo.service 4.4.0+
- Services depending on legacy `ThreadGroup.max_threads`