Pete Zaitcev (zaitcev) wrote,
Pete Zaitcev

OpenStack Swift drops WebOb

This actually happened back in September, but it didn't click as blogworthy back then. So: we dropped WebOb for an in-tree module for 1.7.x.

The main reason was the trouble with WebOb being gratiously incompatible with itself, that came to the head with the WebOb 1.2. I am afraid myself screwing the pooch on that was a factor. Since Fedora Rawhide F18 came out with WebOb 1.2 and Swift blew up on it, I saw an opportunity to be productive and patch it over. Later, a guy from Korea, Iryong, joined in and did half of the coding. I thought I tested the patch well, but when it was committed, regressions started happening. Greg Holt came very close to requesting the whole thing being rescinded. The story dragged on long enough for Mike Barton just cut the whole gordian knot by throwing out not just my patch, but the whole WebOb. Good riddance, I say. I wish I was daring enough to do it myself.

The funniest part is that OpenStack's reliance on WebOb 1.0.8 was the reason why we had to package it in EPEL. If only I knew how this was going to turn out, we could possibly do something like that across OpenStack and avoid having two WebObs in RHEL 6. But nobody had Mike's vision.

I would not say that WebOb has poor governance or stewardship or whatever. They easily accepted my patch for BYTES= in HTTP Ranges:, so they are user-facing. But their policy of gratious incompatibility was detrimental for us in Swift, and the value we extracted from WebOb was small (look at size of Mike's replacement).

Now John started talking about getting rid of Eventlet. Woo hoo.

  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded