Page MenuHomePhabricator

Quibble 0.0.30 misses quibble/mediawiki/local_settings.php
Closed, ResolvedPublic

Description

And that fails due to

Database was successfully set up
MediaWiki has been successfully installed. You can now visit <> to view your wiki. If you have questions, check out our frequently asked questions list: <https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ> or use one of the support forums linked on that page.
Traceback (most recent call last):
  File "/usr/local/bin/quibble", line 11, in <module>
    load_entry_point('quibble==0.0.0', 'console_scripts', 'quibble')()
  File "/usr/local/lib/python3.5/dist-packages/quibble/cmd.py", line 573, in main
    cmd.execute()
  File "/usr/local/lib/python3.5/dist-packages/quibble/cmd.py", line 470, in execute
    self.mw_install()
  File "/usr/local/lib/python3.5/dist-packages/quibble/cmd.py", line 317, in mw_install
    with open(quibblesettings) as qf:
FileNotFoundError: [Errno 2] No such file or directory: '/usr/local/lib/python3.5/dist-packages/quibble/mediawiki/local_settings.php'
INFO:backend.MySQL:Terminating MySQL
Build step 'Execute shell' marked build as failure

Seems to be due to a change in MANIFEST.in and various versions of setuptools not playing well together https://gerrit.wikimedia.org/r/#/c/integration/quibble/+/494805/

Event Timeline

Change 500469 had a related patch set uploaded (by Hashar; owner: Hashar):
[integration/quibble@master] Fix package_data inclusion for old setuptools

https://gerrit.wikimedia.org/r/500469

Change 500469 merged by jenkins-bot:
[integration/quibble@master] Fix package_data inclusion for old setuptools

https://gerrit.wikimedia.org/r/500469

With Jessie, pip3 install git+https://gerrit.wikimedia.org/r/integration/quibble.git@0.0.30#egg=quibble gives me:

warning: no files found matching 'quibble/mediawiki'
warning: no files found matching '*.php'

https://gerrit.wikimedia.org/r/500469 has been an attempt to solve it and apparently it seems to work based on releng/ci-jessie container:

# rm -fR /usr/local/lib/python3.4/dist-packages/quibble*
# pip3 install git+https://gerrit.wikimedia.org/r/integration/quibble.git#egg=quibble && find / -name local_settings.php
...
/usr/local/lib/python3.4/dist-packages/quibble/mediawiki/local_settings.php

So tentatively that fixed it?

Change 500482 had a related patch set uploaded (by Hashar; owner: Hashar):
[integration/config@master] docker: try to rebuild quibble-jessie with 0.0.31

https://gerrit.wikimedia.org/r/500482

$ docker run --rm -it --entrypoint=find docker-registry.wikimedia.org/releng/quibble-jessie:0.0.31 /usr/local -name local_settings.php
/usr/local/lib/python3.4/dist-packages/quibble/mediawiki/local_settings.php

Change 500490 had a related patch set uploaded (by Hashar; owner: Hashar):
[integration/quibble@master] Fix prepend due to missing ?> in LocalSettings.php

https://gerrit.wikimedia.org/r/500490

Change 500490 merged by jenkins-bot:
[integration/quibble@master] Fix prepend due to missing ?> in LocalSettings.php

https://gerrit.wikimedia.org/r/500490

Change 500482 merged by jenkins-bot:
[integration/config@master] docker: rebuild for Quibble 0.0.31

https://gerrit.wikimedia.org/r/500482

Eventually locally that worked for me T219786#5074879 but the images still do not have the local_settings.php file:

$ for x in $(docker images|grep quibble|grep '0\.0\.31'|awk '{ print $1 ":" $2 }'); do echo $x; sudo docker run --rm -it --entrypoint=find "$x" -name local_settings.php; done;
docker-registry.discovery.wmnet/releng/quibble-fresnel:0.0.31-1
docker-registry.discovery.wmnet/releng/quibble-stretch-php71:0.0.31
docker-registry.discovery.wmnet/releng/quibble-stretch-bundle:0.0.31
docker-registry.discovery.wmnet/releng/quibble-jessie-php56:0.0.31
docker-registry.discovery.wmnet/releng/quibble-jessie-php55:0.0.31
docker-registry.discovery.wmnet/releng/quibble-stretch-php72:0.0.31
docker-registry.discovery.wmnet/releng/quibble-stretch-php70:0.0.31
docker-registry.discovery.wmnet/releng/quibble-jessie-hhvm:0.0.31
docker-registry.discovery.wmnet/releng/quibble-jessie:0.0.31
docker-registry.discovery.wmnet/releng/quibble-stretch-php73:0.0.31
docker-registry.discovery.wmnet/releng/quibble-fresnel:0.0.31
docker-registry.discovery.wmnet/releng/quibble-stretch-hhvm:0.0.31
docker-registry.discovery.wmnet/releng/quibble-stretch:0.0.31

Then Quibble 0.0.31 should have fc14b20e65c9a6c7b28f8dee9568406ce8795876:

--- a/quibble/cmd.py
+++ b/quibble/cmd.py
@@ -319,7 +319,7 @@ class QuibbleCmd(object):
 
             installed_conf = lf.read()
             lf.seek(0, 0)
-            lf.write(quibble_conf + installed_conf)
+            lf.write(quibble_conf + '\n?>' + installed_conf)
         self.copylog(localsettings, 'LocalSettings.php')
         subprocess.check_call(['php', '-l', localsettings])

And the published container docker-registry.wikimedia.org/releng/quibble-stretch:0.0.31 does not have that code. Quibble is installed from git using the latest tag using:

&& LATEST_TAG=$(git ls-remote --refs --tags https://gerrit.wikimedia.org/r/p/integration/quibble.git|cut -f2|cut -d/ -f3|sort --version-sort -r|head -n1) \
&& pip3 install git+https://gerrit.wikimedia.org/r/p/integration/quibble.git@"${LATEST_TAG}"#egg=quibble \

But the Gerrit repository does not have the 0.0.31 when using git ls-remote --refs but it does show in Gerrit at https://gerrit.wikimedia.org/r/#/admin/projects/integration/quibble,tags?filter=0.0.31 and that points at fc14b20e65c9a6c7b28f8dee9568406ce8795876

The https remote being used lacks the tag:

diff -u <(git ls-remote --refs --tags ssh://gerrit.wikimedia.org:29418/integration/quibble.git) <(git ls-remote --refs --tags https://gerrit.wikimedia.org/r/p/integration/quibble.git)
--- /dev/fd/63	2019-04-01 22:03:37.003109686 +0200
+++ /dev/fd/62	2019-04-01 22:03:37.003109686 +0200
@@ -21,7 +21,6 @@
 1ac8fe353a8b7bbf5b31e6094ef06ee459c553a3	refs/tags/0.0.28
 14c03dc9f910ee102be33dc0bc6386f5d4a13754	refs/tags/0.0.3
 6ddc6d508cb554e6443ff72648da3ea8a3253fff	refs/tags/0.0.30
-fc14b20e65c9a6c7b28f8dee9568406ce8795876	refs/tags/0.0.31
 c2ba3f52a6de642038346bc9c82a0c89d441c057	refs/tags/0.0.4
 8b7580f4be11769b23b378818a924cdae2c4dfce	refs/tags/0.0.5
 5a9117a3603af60b4f77dab7ff508ceb23618f11	refs/tags/0.0.6

Mentioned in SAL (#wikimedia-releng) [2019-04-01T20:10:48Z] <hashar> gerrit: flush-caches --cache git_tags # some tag got stalled when querying over https - T219786

Had to flush Gerrit internal cache for git tags. I guess I now have to rebuild all images :-(

Change 500568 had a related patch set uploaded (by Hashar; owner: Hashar):
[integration/config@master] docker: rebuild Quibble containers to get 0.0.31

https://gerrit.wikimedia.org/r/500568

Change 500568 merged by jenkins-bot:
[integration/config@master] docker: rebuild Quibble containers to get 0.0.31

https://gerrit.wikimedia.org/r/500568

docker-registry.discovery.wmnet/releng/quibble-stretch-php71:0.0.31-1
/usr/local/lib/python3.5/dist-packages/quibble/mediawiki/local_settings.php
docker-registry.discovery.wmnet/releng/quibble-jessie-hhvm:0.0.31-1
/usr/local/lib/python3.4/dist-packages/quibble/mediawiki/local_settings.php
docker-registry.discovery.wmnet/releng/quibble-stretch-hhvm:0.0.31-1
/usr/local/lib/python3.5/dist-packages/quibble/mediawiki/local_settings.php
docker-registry.discovery.wmnet/releng/quibble-stretch-bundle:0.0.31-1
/usr/local/lib/python3.5/dist-packages/quibble/mediawiki/local_settings.php
docker-registry.discovery.wmnet/releng/quibble-fresnel:0.0.31-2
/usr/local/lib/python3.5/dist-packages/quibble/mediawiki/local_settings.php
docker-registry.discovery.wmnet/releng/quibble-jessie-php56:0.0.31-1
/usr/local/lib/python3.4/dist-packages/quibble/mediawiki/local_settings.php
docker-registry.discovery.wmnet/releng/quibble-stretch-php70:0.0.31-1
/usr/local/lib/python3.5/dist-packages/quibble/mediawiki/local_settings.php
docker-registry.discovery.wmnet/releng/quibble-jessie-php55:0.0.31-1
/usr/local/lib/python3.4/dist-packages/quibble/mediawiki/local_settings.php
docker-registry.discovery.wmnet/releng/quibble-stretch-php72:0.0.31-1
/usr/local/lib/python3.5/dist-packages/quibble/mediawiki/local_settings.php
docker-registry.discovery.wmnet/releng/quibble-jessie:0.0.31-1
/usr/local/lib/python3.4/dist-packages/quibble/mediawiki/local_settings.php
docker-registry.discovery.wmnet/releng/quibble-stretch-php73:0.0.31-1
/usr/local/lib/python3.5/dist-packages/quibble/mediawiki/local_settings.php
docker-registry.discovery.wmnet/releng/quibble-stretch:0.0.31-1
/usr/local/lib/python3.5/dist-packages/quibble/mediawiki/local_settings.php