suggestion goal for zed: getting swift and glance to support uwsgi
Hi, As you may know, almost all of OpenStack now supports running on UWSGI. However, 2 projects remain incompatible with it: Glance and Swift. I've heard that it's now fixed with Glance, but I haven't checked the fact for myself. Has anyone already run Glance (with Swift as backend) under uwsgi, instead of eventlet? What's the status? Has all of the remaining issues been tackled? As for Swift, while upstream has even examples on how to run Swift over uwsgi, experience (in heavy load production) demonstrated that there are many issues running under uwsgi. That's a shame, because the uwsgi server makes most services (proxy, object, container and account servers) run twice as fast. Currently, the proxy and object servers aren't following the RFCs, and are incompatible with uwsgi, especially when chunks are involved (SLO/DLO in the pipeline). Also, it doesn't look like the Swift servers are thread safe. Switching to more than one thread just fails under heavy load. As a result, in production, we had to run double the amount of servers to handle the load. That's a huge waste of resources, IMO. It'd be great if upstream took it seriously to propose a uwsgi binary by default, and if the CI was using it. Note that I've already proposed such a patch [1], but it received zero votes, and not really getting attention upstream. Your thoughts anyone? Cheers, Thomas Goirand (zigo) P.S: This is just a suggestion for the work in the next cycle, I don't think I have the bandwidth to work on each individual project, and that my time is better spent on what I do best: Debian packaging of OpenStack and cluster deployment integration. [1] https://review.opendev.org/c/openstack/swift/+/821192
Well, at very least in Xena I still do experience issues with uwsgi. It mostly depends on clients though and if they do support chunking properly. For example python-openstackclient works properly, but if you use python-glanceclient with ceph backend, as example, you will hit issues. And other projects, like heat, do still use glanceclient. Also interoperable import still was not working with uwsgi. I have not tested it on Yoga, but haven't saw patches that was aiming to fix it either. I think you have also missed to mention neutron, that does not really work with uwsgi and ovn as a ml2 driver. Not sure if that was fixed on Zed, but as of Yoga it was known not to work. вс, 2 окт. 2022 г., 18:00 Thomas Goirand <zigo@debian.org>:
I've heard that it's now fixed with Glance, but I haven't checked the fact for myself. Has anyone already run Glance (with Swift as backend) under uwsgi, instead of eventlet? What's the status? Has all of the remaining issues been tackled?
On 10/2/22 19:33, Dmitriy Rabotyagov wrote:
I think you have also missed to mention neutron, that does not really work with uwsgi and ovn as a ml2 driver. Not sure if that was fixed on Zed, but as of Yoga it was known not to work.
To be honest, I never tried using OVN, so I didn't know. We've been using Neutron with uwsgi since at least rocky, without a glitch though. Why such a regression then? :( Cheers, Thomas Goirand (zigo)
participants (2)
-
Dmitriy Rabotyagov
-
Thomas Goirand