Last modified: 2014-08-12 21:25:15 UTC
I submitted Gerrit change #153625 primarily to test Addshore's enabling JS and PHP linters for the labs/toollabs repository, but this triggered an error in the labs-toollabs-debian-glue test (cf. https://integration.wikimedia.org/ci/job/labs-toollabs-debian-glue/70/console). Build #69 succeeded on July 25th (cf. https://integration.wikimedia.org/ci/job/labs-toollabs-debian-glue/69/consoleFull). The only difference source-wise between Gerrit change #153625 and patch set #2 of Gerrit change #104397 should be insignificant (one extra comment for debian/changelog, some changes in misctools/rmtools and src/take.cc). The console log seems to fail around: | [...] | 17:02:41 + echo '*** Updating cowbuilder cow base ***' | 17:02:41 *** Updating cowbuilder cow base *** | 17:02:41 + sudo DIST= ARCH=amd64 cowbuilder --update --basepath /var/cache/pbuilder/base-precise-amd64.cow --configfile=/tmp/tmp.mqs0MRaNa9 | 17:02:42 sudo: sorry, you are not allowed to set the following environment variables: DIST, ARCH | [...] Other *-debian-glue tests seem to fail with sudo as well, for example https://integration.wikimedia.org/ci/view/Ops-DebGlue/job/operations-debs-kafka-debian-glue/84/console: | [...] | 20:03:56 + echo '*** Creating cowbuilder base /var/cache/pbuilder/base-precise-amd64.cow for arch amd64 and distribution precise ***' | 20:03:56 *** Creating cowbuilder base /var/cache/pbuilder/base-precise-amd64.cow for arch amd64 and distribution precise *** | 20:03:56 + sudo cowbuilder --create --basepath /var/cache/pbuilder/base-precise-amd64.cow --distribution precise --debootstrapopts --arch --debootstrapopts amd64 --debootstrapopts --variant=buildd --configfile=/tmp/tmp.C9AUuR3UjE --hookdir /usr/share/jenkins-debian-glue/pbuilder-hookdir/ | 20:03:56 sudo: no tty present and no askpass program specified | 20:03:56 Sorry, try again. | 20:03:56 sudo: no tty present and no askpass program specified | 20:03:56 Sorry, try again. | 20:03:56 sudo: no tty present and no askpass program specified | 20:03:56 Sorry, try again. | 20:03:56 sudo: 3 incorrect password attempts | 20:03:56 + '[' 1 -eq 0 ']' | 20:03:56 + bailout 1 'Error: Failed to create cowbuilder base /var/cache/pbuilder/base-precise-amd64.cow.' | 20:03:56 + '[' -n 1 ']' | 20:03:56 + EXIT=1 | 20:03:56 + '[' -n 'Error: Failed to create cowbuilder base /var/cache/pbuilder/base-precise-amd64.cow.' ']' | 20:03:56 + echo 'Error: Failed to create cowbuilder base /var/cache/pbuilder/base-precise-amd64.cow.' | 20:03:56 Error: Failed to create cowbuilder base /var/cache/pbuilder/base-precise-amd64.cow. | [...] Other tests are "aborted by anonymous" (cf. https://integration.wikimedia.org/ci/view/Ops-DebGlue/job/mathoidsvc-debian-glue/45/console): | [...] | 13:25:24 *** Updating cowbuilder cow base *** | 13:25:24 + sudo DIST= ARCH=amd64 cowbuilder --update --basepath /var/cache/pbuilder/base-precise-amd64.cow --configfile=/tmp/tmp.xCl10S2Zzj | 13:25:25 Build was aborted | 13:25:25 Aborted by anonymous | 13:25:25 Recording test results | 13:25:25 Terminated | 13:25:25 + '[' 143 -eq 0 ']' | 13:25:25 + bailout 1 'Error: Failed to update cowbuilder base /var/cache/pbuilder/base-precise-amd64.cow.' | 13:25:25 + '[' -n 1 ']' | 13:25:25 + EXIT=1 | 13:25:25 + '[' -n 'Error: Failed to update cowbuilder base /var/cache/pbuilder/base-precise-amd64.cow.' ']' | 13:25:25 + echo 'Error: Failed to update cowbuilder base /var/cache/pbuilder/base-precise-amd64.cow.' | 13:25:25 Error: Failed to update cowbuilder base /var/cache/pbuilder/base-precise-amd64.cow. | [...]
The job ran on a Precise instance and the relevant issue is: + COWBUILDER_BASE=/var/cache/pbuilder/base-precise-amd64.cow + echo '*** No COWBUILDER_BASE set, using /var/cache/pbuilder/base-precise-amd64.cow as cowbuilder base.cow ***' *** No COWBUILDER_BASE set, using /var/cache/pbuilder/base-precise-amd64.cow as cowbuilder base.cow *** I have updated Jenkins Debian Glue from 0.8.1 to 10.0, I guess that env variable is not properly set.
Ah: 00:00:07.535 + sudo DIST= ARCH=amd64 cowbuilder --update --basepath /var/cache/pbuilder/base-precise-amd64.cow --configfile=/tmp/tmp.mqs0MRaNa9 00:00:08.149 sudo: sorry, you are not allowed to set the following environment variables: DIST, ARCH The jenkins-deploy user is missing some sudo permissions :-/
I have changed the sudo policy for the jenkins-deploy user at https://wikitech.wikimedia.org/wiki/Special:NovaSudoer to keep the ARCH environment variable: - env_keep+="DEB_* DIST" + env_keep+="DEB_*" +env_keep+=DIST +env_keep+=ARCH I had to have each env variable listed on its own line due to a bug somewhere in the chain between wikitech and LDAP :-] I have manually retriggered the job in Jenkins and it seems to be working https://integration.wikimedia.org/ci/job/labs-toollabs-debian-glue/75/console You can probably have it run again by commenting in Gerrit 'recheck'. Else send a new patchset by amending the commit summary. I also enabled the sudo policy on all host of the 'integration' labs project. So I guess we are fine now :-] Thank you to have filled a bug.
Indeed, it seems to work now. Merci!
Next time I get Jenkins Debian Glue upgraded, I should retrigger a bunch of Jenkins jobs to make sure they are still working properly :-]