[OpenStack-Infra] openstack CI infra

Jeremy Stanley fungi at yuggoth.org
Sun Jun 29 12:37:43 UTC 2014


On 2014-06-29 10:37:19 +0000 (+0000), Joshua Hesketh wrote:
> OpenStack handles that by using a dependant pipeline in zuul to
> gate on changes. You can read about it here:
> http://ci.openstack.org/zuul/gating.html
[...]

Though I think the question was about cross-project dependencies for
changes, something we're working on but for which we haven't
implemented a solution yet.

The short answer is that most of the time they're a bad idea,
because it implies you're developing your applications to require
tightly-coupled or possibly even lock-step upgrades, which is a
disservice to anyone who may be continuously deploying your
software. Where possible dependencies in feature changes between
interdependent projects should implement backward compatibility and
deprecation periods to ease these transitions instead.

Sometimes there's no way to get around it though, so at the moment
we deal with the problem through a combination of integration test
changes, notes in commit messages to core reviewers indicating the
order in which related changes to different projects have to merge,
manually -2'ing changes which shouldn't merge until we've confirmed
their dependencies are in place, and so on. Not ideal, which is why
we've discussed solutions (most of which either involve Zuul
analyzing specially-crafted commit message headers, or trying to
convince upstream Gerrit developers that there is a valid use case
for tracking some sort of metadata there).
-- 
Jeremy Stanley



More information about the OpenStack-Infra mailing list