An example is the following pike-branch job which fails to install tripleo-heat-templates due to missing ansible-tripleo-ipsec package:
https://logs.rdoproject.org/66/549966/2/openstack-check/gate-tripleo-ci-centos-7-ovb-3ctlr_1comp-featureset001-pike-branch/Za6a30d8aaf8b4727b254f7984f36336b/undercloud/home/jenkins/install_built_repo.log.txt.gz
This is because the change (https://review.openstack.org/#/c/549966) depends on a change which depends on a change to tripleo-heat-templates. This tripleo-heat-templates change is on the master branch.
This leads to the build-test-packages role building a master based tripleo-heat-templates package, but then trying to install it on pike. However, we have added dependencies since pike that did not exist then, so the install fails.
I am filing this as a tech debt bug, since it is not some new breakage that we need to quickly fix. It seems fairly complicated to handle such a change in the '-branch' jobs.
One possible solution would be to check for a master change in one of the branched repos and not ever run these branch jobs in that case. I am not totally sure how to do that in zuul (or if it is possible).
Another solution would be to drop those changes from the change list. This would expose issues where we are not properly handling the release in quickstart. ie if we add a dependency in quickstart on some feature which is only on the master branch, then that dependency needs to be guarded by an 'if release'. By dropping the changes on master in the '-branch' jobs, we would be testing that.
In any case, I think this needs to be brought to a larger group to discuss these and other possible solutions to the issue. In the meantime, we just will have to ignore '-branch' jobs that have a branched repo change on master in the dependency chain.
This is an automated action. Bug status has been set to 'Incomplete' and target milestone has been removed due to inactivity. If you disagree please re-set these values and reach out to us on freenode #tripleo