QManager is conflicting for metal deployment with uWSGI
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
oslo.messaging |
New
|
Undecided
|
Unassigned |
Bug Description
QManager uses hostname and processname as default to identify path to /dev/shm file containing counter for queues to be re-used.
In case of metal deployments, where multiple services (ie nova and cinder) are running on the same host (so hostname is the same) and these services use uWSGI for serving API, a conflict arise, as process name for these services will be same as well (uwsgi).
This results in various issues, which can start from failures on attempt to access /dev/shm file (as it's owned by other service/user) and in some cases constantly fighting over same queues as counter can be incorrectly reset on previous service restart.
With that it also might be tricky to override `processname` in config, as same config file can be frequently used for cinder-api and cinder-scheduler at the same time. As config files can contain only static data, it might be not possible to have enough differentiation.
This is not an issue in any containerized deployment from other side, as hostname will be unique as well as shared memory should not intersect between workloads.
But it would be very nice to think about some different way of detecting processname by default.