Page MenuHomePhabricator

swift-proxy not starting on ms-fe2009 due to missing python-monotonic
Closed, ResolvedPublic

Description

Noticed while investigating T294136, swift-proxy was failing on freshly provisioned ms-fe2009 due to missing python-monotonic (though python3-monotonic was installed). I suspect this a "recent" regression though with latest versions of swift package (and related). I've installed python-monotonic manually to verify and swift-proxy then indeed starts as expected

Event Timeline

Ah, so I guess not in production, that leaves me less worried. Sorry, I searched for ms-fe and monotonic but couldn't find this ticket.

OK, I know what the problem is (at least at one level). Our swift front-ends use a bit of middleware wmf.rewrite which is shipped by us from puppet; that calls import monotonic. But there's nothing to say that python-monotonic (or python3-monotonic) should be installed from swift front-ends as far as I can see.

I'm not sure what was causing python-monotonic to get installed in the past, but it might have just been luck! I'll have a look at puppetizing this.

@fgiunchedi while investigating this, I find in modules/swift/files/python3.9/SwiftMedia/README the note

The files in the wmf directory come from the svn repo for the SwiftMedia extension. That is the canonical copy; any changes here should be copied there as well.

I can only find signs of a long-deleted https://www.mediawiki.org/wiki/Extension:SwiftMedia ...? If this is now part of code MW could we move the rewriting work there?

Change 744827 had a related patch set uploaded (by MVernon; author: MVernon):

[operations/puppet@production] swift::proxy: install python{3,}-monotonic

https://gerrit.wikimedia.org/r/744827

Change 744827 merged by MVernon:

[operations/puppet@production] swift::proxy: install python{3,}-monotonic

https://gerrit.wikimedia.org/r/744827

OK, I know what the problem is (at least at one level). Our swift front-ends use a bit of middleware wmf.rewrite which is shipped by us from puppet; that calls import monotonic. But there's nothing to say that python-monotonic (or python3-monotonic) should be installed from swift front-ends as far as I can see.

I'm not sure what was causing python-monotonic to get installed in the past, but it might have just been luck! I'll have a look at puppetizing this.

@fgiunchedi while investigating this, I find in modules/swift/files/python3.9/SwiftMedia/README the note

The files in the wmf directory come from the svn repo for the SwiftMedia extension. That is the canonical copy; any changes here should be copied there as well.

I can only find signs of a long-deleted https://www.mediawiki.org/wiki/Extension:SwiftMedia ...? If this is now part of code MW could we move the rewriting work there?

AFAIK rewrite in puppet is now the canonical place for this work, i.e. SwiftMedia is no longer

Change 745271 had a related patch set uploaded (by MVernon; author: MVernon):

[operations/puppet@production] swift: update README for rewrite middleware

https://gerrit.wikimedia.org/r/745271

AFAIK rewrite in puppet is now the canonical place for this work, i.e. SwiftMedia is no longer

OK, I've put in a CR to update the READMEs, then I think we can close this.

Change 745271 merged by MVernon:

[operations/puppet@production] swift: update README for rewrite middleware

https://gerrit.wikimedia.org/r/745271