Page MenuHomePhabricator

[OPS] forward-port wikimedia-task-appserver & wikimedia-job-runner to precise
Closed, ResolvedPublic


The TimedMediaHandler extension seems to require ffmpeg2theora version 0.27 at a minimum whereas Ubuntu Lucid provides 0.24:

$ apt-cache policy ffmpeg2theora

Installed: (none)
Candidate: 0.24-2build2
Version table:
   0.24-2build2 0
      500 lucid/universe Packages


Similarly the extensions requires ffmpeg 0.6.1 whereas Ubuntu Lucid provides 0.5.1:

$ apt-cache policy ffmpeg

Installed: (none)
Candidate: 4:0.5.1-1ubuntu1.3
Version table:
   4:0.5.1-1ubuntu1.3 0
      500 lucid-updates/main Packages
      500 lucid-security/main Packages
   4:0.5.1-1ubuntu1 0
      500 lucid/main Packages


The ffmpeg2theora has been added to operation/puppet test branch with . ffmpeg was already there.

This bug is about backporting newest versions to Lucid.

Version: unspecified
Severity: normal



Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 12:28 AM
bzimport set Reference to bz37043.

jgerber wrote:

we need ffmpeg2theora > 0.27 and ffmpeg > 0.6.1 and libvpx (which requires a newer version of yasm)

I have backported those packages and put in a ppa at

what needs to to be done to get those into

Thanks for the backporting. Any reason to not upgrade the transcoders to precise instead, though?

jgerber wrote:

It was not clear so far if that is an option for deployment, versions in precise are known to work so that would be the best solution if possible.

Since we want the 'beta' cluster to be on par with production, we are blocked with lucid.

The backports from would probably need to be rebuild on WMF boxes and made available on

Assigning to Faidon. I do not have access to nor do I know the preferred ops process to add a Debian package there (rebuild first? Just copy it?).

  1. To add a newer ffmpeg2theora we also need to add a newer ffmpeg and its libraries (libavcodec, libavutils, libpostproc etc.).

ffmpeg2theora was not being used before, but as far as I can see, ffmpeg is installed into production imagescaler systems (not sure if it's actually being used though). This means that an ffmpeg/ffmpeg2theora upload to has a potential of breaking production, especially considering ffmpeg's record of breaking ABI and user options and if being done without prior testing (which I have no way to do).

  1. The ppa has ffmpeg2theora 0.28, while precise has 0.27; TMH is reported to work with 0.27, so I think we should go with a straight backport, rather than have custom-built newer version, as to have less external packages/backports when we move to precise.
  1. I'm not really sure I understand why we can't go with precise here. Our systems (puppet, apt etc.) have already been prepared for precise and precise is already being used into production on some systems. Moreover, TMH is a new feature that is not present in production, so I can't see the argument of "cloning production" for that. FFmpeg aside, shouldn't we target precise for new features anyway?

It's quite possible that I'm missing things in all of the above points, please bear with me :-)

It is indeed probably going to be easier to use precise. I will reinstall the job runner using precise.

For reference:

I have installed jobrunner05 with precise. Puppetd now complains about wikimedia.* packages not being available:

Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install wikimedia-task-appserver' returned 100: Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package wikimedia-task-appserver

/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install wikimedia-job-runner' returned 100: Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package wikimedia-job-runner

So the choice is either:

  • Make a ffmpeg 0.27 / ffmpeg2theora for Lucid
  • Port the wikimedia-* packages to Precise

I am keeping jobrunner05 around for you to experiment :)

As discussed on IRC, I believe the second choice is the way forward and I'll work on it ASAP.

Indeed the best approach. No point having someone wasting time back porting a package we will eventually drop "soon".

Antoine prepared a precise instance last week in betalabs. However, since precise is quite new, we didn't have wikimedia-task-appserver & wikimedia-job-runner in the precise section of our apt repository.

This was copied on Friday, but it turned out that this also required the forward-porting of php5-fss & php5-wmerrors. I did some cleanup work on these packages on svn and forward-ported them. The two wikimedia role packages were now installed successfully on deployment-jobrunner05.

There are some other packages missing from precise (most notably, our custom-built php5 version) but this is not blocking this task, so we shouldn't track it here.

Antoine, please confirm and close the bug :-)

I have rebooted jobrunner05, it looks like it is working well and actually trying to process jobs.

apt show the following precise version of ffmpeg packages:

ffmpeg 4:0.8.1-0ubuntu1
ffmpeg2theora 0.27-1.1ubuntu1