Page MenuHomePhabricator

[upstream] Zuul cloner fails on extension jobs against a wmf branch
Closed, ResolvedPublic

Description

Build log of https://gerrit.wikimedia.org/r/162010 for UploadWizard @ wmf/1.24wmf22

When proposing a change for an extension against a wmf branch, Zuul cloner ends up setting the mediawiki/core repo to the extension repo and thus we no more have any mediawiki install.

The job thus fails with:

Could not open input file: maintenance/install.php

Zuul clone the repository in order:

zuul.CloneMapper:Mapping projects to workspace...

mediawiki/core -> src
mediawiki/vendor -> src/vendor
mediawiki/extensions/UploadWizard -> src/extensions/UploadWizard

In mediawiki/core wmf branch, src/extensions/UploadWizard is an existing directory (it is a submodule destination) and the git repository is actually mediawiki/core! So Zuul cloner ends up setting /src (where mediawiki/core lives) to point to UploadWizard and reset the content. The workspace /src/ ends up being simply UploadWizard.


Version: wmf-deployment
Severity: normal

Attached:

Details

Reference
bz71133

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 22 2014, 3:46 AM
bzimport set Reference to bz71133.

I am 100% focusing on this issue which is a bug/lack of feature in Zuul

Patch proposed upstream: https://review.openstack.org/#/c/123437/ Will let Zuul cloner clone a repo whenever /.git/ does not exist.

The patch I wrote fails with python2.6. I have no idea whether it is py2.6 only issue (GitPython could have a different behavior) or if it highlight a potential race condition which would end up hitting us.

Command line to reproduce (ex on lanthanum.eqiad.wmnet)

ZUUL_PIPELINE=gate-and-submit ZUUL_UUID=38f010811238413d8cf7f5769b50b1aa ZUUL_CHANGE_IDS=162010,1 ZUUL_PATCHSET=1 ZUUL_BRANCH=wmf/1.24wmf22 ZUUL_REF=refs/zuul/wmf/1.24wmf22/Zd1cf5a14be22471abd111a869e5e9af0 ZUUL_COMMIT=rEUWIe37096a1fade ZUUL_URL=git://zuul.eqiad.wmnet ZUUL_CHANGE=162010 ZUUL_CHANGES=mediawiki/extensions/UploadWizard:wmf/1.24wmf22:refs/changes/10/162010/1 ZUUL_PROJECT=mediawiki/extensions/UploadWizard /usr/local/bin/zuul-cloner --color --verbose --branch wmf/1.24wmf22 --map /srv/deployment/integration/slave-scripts/etc/zuul-clonemap.yaml https://gerrit.wikimedia.org/r/p mediawiki/core mediawiki/vendor mediawiki/extensions/UploadWizard --workspace src

Tested on integration-slave1001 with:

tox -e venv -- ZUUL_PIPELINE=gate-and-submit ZUUL_UUID=38f010811238413d8cf7f5769b50b1aa ZUUL_CHANGE_IDS=162010,1 ZUUL_PATCHSET=1 ZUUL_BRANCH=wmf/1.24wmf22 ZUUL_REF=refs/zuul/wmf/1.24wmf22/Zd1cf5a14be22471abd111a869e5e9af0 ZUUL_COMMIT=rEUWIe37096a1fade ZUUL_URL=git://zuul.eqiad.wmnet ZUUL_CHANGE=162010 ZUUL_CHANGES=mediawiki/extensions/UploadWizard:wmf/1.24wmf22:refs/changes/10/162010/1 ZUUL_PROJECT=mediawiki/extensions/UploadWizard zuul-cloner --color --verbose --branch wmf/1.24wmf22 --map /srv/deployment/integration/slave-scripts/etc/zuul-clonemap.yaml https://gerrit.wikimedia.org/r/p mediawiki/core mediawiki/vendor mediawiki/extensions/UploadWizard --workspace /tmp/hasharbug

I end up with:

$ find /tmp/hasharbug -type d -name .git
/tmp/hasharbug/.git
/tmp/hasharbug/vendor/.git
/tmp/hasharbug/extensions/UploadWizard/.git

\O/

I have applied the patch on gallium/lanthanum. Wiped the workspace and retriggered a previously failing build. It passes now: https://integration.wikimedia.org/ci/job/mwext-UploadWizard-testextension/43/console

Lowering priority. Upstream patch still pending though.

Switched mwext-UploadWizard-qunit back to use Zuul cloner ( https://gerrit.wikimedia.org/r/#/c/161459/ ). I have wiped the workspace and retriggered a wmf branch based change:

https://integration.wikimedia.org/ci/job/mwext-UploadWizard-qunit/397/console

$ find /srv/ssd/jenkins-slave/workspace/mwext-UploadWizard-qunit -type d -name .git
/srv/ssd/jenkins-slave/workspace/mwext-UploadWizard-qunit/src/.git
/srv/ssd/jenkins-slave/workspace/mwext-UploadWizard-qunit/src/extensions/UploadWizard/.git
/srv/ssd/jenkins-slave/workspace/mwext-UploadWizard-qunit/src/vendor/.git

All good.

Upgraded Zuul on all integration labs instances

This is fixed on our installation. Pending upstream patch to be merged in.

The patch I proposed to upstream https://review.openstack.org/#/c/123437/ was blocked because the tests under python2.6 were broken. The root cause is a different version of git being used there (before git 1.7.8) which broke an assertion.

I have updated my patch and it now passes :-]

Krinkle renamed this task from Zuul cloner: fails on extension jobs against a wmf branch to Zuul cloner fails on extension jobs against a wmf branch.Dec 18 2014, 11:48 PM
Krinkle changed the task status from Open to Stalled.
Krinkle added projects: Zuul, Upstream.
Krinkle set Security to None.
Krinkle unsubscribed.

It is no more an issue since I cherry picked the patch on our installation. But I am keeping the change open till upstream get it merged ( https://review.openstack.org/#/c/123437/ ).

greg renamed this task from Zuul cloner fails on extension jobs against a wmf branch to [upstream] Zuul cloner fails on extension jobs against a wmf branch.Mar 24 2015, 8:07 PM
Paladox subscribed.

This is now resolved since https://review.openstack.org/#/c/123437/ was merged upstream and was deployed here.