oslo.service is going through a lot of churn right now as part of the eventlet migration. We recently noticed that some unrelated WSGI routing code had been inadvertently deprecated, and moved to undeprecate this [1]. In the long-term, however, this code doesn't really belong in oslo.service and should be moved elsewhere. I took a stab at bootstrapping an oslo.wsgi package, and after some hacking I arrived at a dependencies list containing the following: * Paste [2] * PasteDeploy [3] * Routes [4] * WebOb [5] As some of you might know, all of these packages are minimally maintained bordering on unmaintained. I'm not entirely sure we want to want to bootstrap a new project using these libraries as opposed to migrating off of them. My question is this: how important is the pastedeploy framework and the paste.ini files nowadays, particularly for deployers? While their use is relatively consistent across projects (see below), not every service uses them and for those that don't, I personally haven't heard complaints about their absence. Rather than migrating the pastedeploy stuff elsewhere, would it make more sense for affected projects to simply define a static set of middleware (with some config knobs for those we want to be able to enable/disable) and call it a day? Cheers, Stephen PS: This topic came up about 18 months ago [6], but we don't appear to have reached a conclusion. Thus my bringing it up again. [1] https://review.opendev.org/c/openstack/oslo.service/+/954055 [2] https://pypi.org/project/Paste/#history [3] https://pypi.org/project/PasteDeploy/#history [4] https://pypi.org/project/Routes/#history [5] https://pypi.org/project/WebOb/#history [6] https://lists.openstack.org/archives/list/openstack-discuss@lists.openstack.... --- fwict, the following services all rely on this combo to build their own frameworks, with Nova most likely the progenitor in each case (I'm guessing) * Nova * Barbican * Cinder * Designate * Freezer * Glance * Heat * Manila * Monasca * Neutron * Swift * Trove * Vitrage * Watcher The following services do *not* use these libraries: * Cyborg (pecan) * Ironic (pecan) * Keystone (Flask + Flask-RESTful, with some webob) * Magnum (pecan) * Masakari (homegrown framework using webob) * Zaqar (falcon) * Zun (Flask)