Page MenuHomePhabricator

Varnish fails to provision
Closed, DuplicatePublic

Description

I'm trying to enable flow from my Windows host using MediaWiki-Vagrant. This results in errors. There is something wrong with libpcre3-dev.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald TranscriptApr 9 2016, 12:32 PM

I tried

vagrant ssh
sudo apt-get install libpcre3 libpcre3-dev

and tried to provision again, which results in

==> default: Notice: /Stage[main]/Varnish/Exec[build_xkey]/returns: /tmp/build-xkey.sh: line 6: ./autogen.sh: No such file or directory

On another machine, a laptop, with a fresh install of Ubuntu, I replicated the error with enabling Varnish:

Error: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install libpcre3-dev' returned 100: Reading package lists...


followed by

Error: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install libpcre3-dev' returned 100: Reading package lists...

Hi Bryan, could you have a look into this please?

The https://gerrit.wikimedia.org/r/#/c/282911/ patch linked from T132337 doesnot solve the above reprted problem. Please reopen, I get exactly the same error after applying the patch.

bd808 reopened this task as Open.Apr 14 2016, 6:08 PM

The https://gerrit.wikimedia.org/r/#/c/282911/ patch linked from T132337 doesnot solve the above reprted problem. Please reopen, I get exactly the same error after applying the patch.

The /tmp/build-xkey.sh: line 6: ./autogen.sh: No such file or directory error is a duplicate of T132337 and should be fixed by the change to mediawiki/vagrant.git. Applying that change will require something like:

$ cd mediawiki-vagrant
$ git pull
$ vagrant provision

The other interesting bit in the log data you originally submitted is:

==> default: The following NEW packages will be installed:
==> default:   libpcre3-dev libpcrecpp0
==> default: The following packages will be DOWNGRADED:
==> default:   libpcre3

This seems to say that you have a newer version of libpcre3 installed than the version of libpcre3-dev that is trying to install. That in turn is forcing a downgrade of the libpcre3 package which Puppet is afraid to do automatically for you. The WMF apt repo looks to have version "1:8.31-2ubuntu2.1+wm1" of both packages and those are the versions which are installed on all my testing servers:

$ dpkg -l|grep ^ii|awk '{printf "%-20s %s\n", $2, $3}'|grep libpcre3
libpcre3:amd64       1:8.31-2ubuntu2.1+wm1
libpcre3-dev:amd64   1:8.31-2ubuntu2.1+wm1

(i had done a git pull before my last message)
after

vagrant ssh
sudo apt-get install libpcre3 libpcre3-dev
exit

I get a message about the downgrade you mention
and then varnish does provision

@AdHuikeshoven when you said you replicated with a fresh install, did you enable the flow role before you did the initial vagrant up or had you provisioned a basic VM with the default wiki first and then vagrant roles enable flow; vagrant provision? I ask because I'm wondering what would have led to having the non-WMF version of libpcre3 installed initially.

As a complete aside, the complexity of the current flow role is quite daunting. @Mattflaschen, I wonder if there is a way we can split it up into "basic flow" and the full set of roles that your team wants to use for development?

AdHuikeshoven closed this task as Resolved.EditedApr 14 2016, 7:59 PM
AdHuikeshoven claimed this task.

Regarding your question: I did a vagrant up before enabling flow.
On my Windows desktop it works now, and also on my Ubuntu laptop.

As a complete aside, the complexity of the current flow role is quite daunting. @Mattflaschen, I wonder if there is a way we can split it up into "basic flow" and the full set of roles that your team wants to use for development?

Filed as T133629: Split Flow role.