There has been a problem. subunit is a dependency of the launchpad-developer-dependencies package, since it’s only there for running tests.
However, subunit is being imported by our core test support package,
lp.testing. That package is being imported by the webapp in
production. launchpad-developer-dependencies is not installed in
production, launchpad-dependencies is instead. Now that I’ve removed
subunit from our sourcecode dependencies, subunit is no longer installed
I broke the rollout.
The real problem, apparently, is that we are importing lp.testing in production. That problem always existed, but my patch made it known. And now that we know it, we can’t have unnecessary packages installed on our production systems. Not that installing subunit as a package would be any worse than running a production system that relies on really old non-packaged version, but sometimes you’ve got to draw a line in the sand. Across this line, you do not—
Anyway. Since installing subunit as a package is unacceptable, my patch must be reverted, as well as the ec2 test improvement I did based on it. I can land it again when we have fixed the “real” problem of production code importing test code.
Update: Just to be crystal clear, I’ve talked about this and the previous post with my manager before I posted. Both of us want to understand the underlying problems and solve them.