Page MenuHomePhabricator

Execution of config_version command `/vagrant/puppet/extra/config-version` failed
Open, MediumPublic

Description

After installing a new MediaWiki-Vagrant box, I get Error: No such file or directory - /vagrant/logs and then Error: Execution of config_version command /vagrant/puppet/extra/config-version` failed`. I am using Vagrant 1.6.5 and VirtualBox 4.3.10. Full log:

1gtisza@GergoTisza:~/Wikimedia/vagrant$ git clone ssh://tgr@gerrit.wikimedia.org:29418/mediawiki/vagrant Sentry
2Cloning into 'Sentry'...
3remote: Counting objects: 1365, done
4remote: Finding sources: 100% (740/740)
5remote: Getting sizes: 100% (458/458)
6remote: Compressing objects: 100% (154475/154475)
7remote: Total 8237 (delta 224), reused 8102 (delta 222)
8Receiving objects: 100% (8237/8237), 2.00 MiB | 2.16 MiB/s, done.
9Resolving deltas: 100% (3972/3972), done.
10Checking connectivity... done.
11gtisza@GergoTisza:~/Wikimedia/vagrant$ cd Sentry
12gtisza@GergoTisza:~/Wikimedia/vagrant/Sentry$ git submodule update --init --recursive
13Submodule 'puppet/modules/cdh' (https://gerrit.wikimedia.org/r/operations/puppet/cdh) registered for path 'puppet/modules/cdh'
14Submodule 'puppet/modules/mariadb' (https://gerrit.wikimedia.org/r/operations/puppet/mariadb) registered for path 'puppet/modules/mariadb'
15Submodule 'puppet/modules/nginx' (https://gerrit.wikimedia.org/r/operations/puppet/nginx) registered for path 'puppet/modules/nginx'
16Submodule 'puppet/modules/wikimetrics' (https://gerrit.wikimedia.org/r/operations/puppet/wikimetrics) registered for path 'puppet/modules/wikimetrics'
17Cloning into 'puppet/modules/cdh'...
18remote: Counting objects: 112, done
19remote: Finding sources: 100% (25/25)
20remote: Getting sizes: 100% (17/17)
21remote: Compressing objects: 100% (87473/87473)
22remote: Total 1312 (delta 4), reused 1298 (delta 4)
23Receiving objects: 100% (1312/1312), 274.34 KiB | 0 bytes/s, done.
24Resolving deltas: 100% (683/683), done.
25Checking connectivity... done.
26Submodule path 'puppet/modules/cdh': checked out '65335f7d027c635065966a15a7b4467c1ce311b5'
27Cloning into 'puppet/modules/mariadb'...
28remote: Counting objects: 26, done
29remote: Finding sources: 100% (18/18)
30remote: Getting sizes: 100% (8/8)
31remote: Compressing objects: 100% (4224/4224)
32remote: Total 70 (delta 6), reused 66 (delta 6)
33Unpacking objects: 100% (70/70), done.
34Checking connectivity... done.
35Submodule path 'puppet/modules/mariadb': checked out 'b5690999702552cc7fea48b2206f4bb92191d8ca'
36Cloning into 'puppet/modules/nginx'...
37remote: Total 61 (delta 0), reused 61 (delta 0)
38Unpacking objects: 100% (61/61), done.
39Checking connectivity... done.
40Submodule path 'puppet/modules/nginx': checked out '10a1e925fa707654102f39092b46a64c61710614'
41Cloning into 'puppet/modules/wikimetrics'...
42remote: Counting objects: 40, done
43remote: Finding sources: 100% (19/19)
44remote: Getting sizes: 100% (12/12)
45remote: Compressing objects: 100% (23171/23171)
46remote: Total 263 (delta 4), reused 253 (delta 4)
47Receiving objects: 100% (263/263), 57.59 KiB | 0 bytes/s, done.
48Resolving deltas: 100% (118/118), done.
49Checking connectivity... done.
50Submodule path 'puppet/modules/wikimetrics': checked out '5f416bbce4188914f48a044a8df09f1c34b07183'
51gtisza@GergoTisza:~/Wikimedia/vagrant/Sentry$ ./set
52settings.d/ setup.sh
53gtisza@GergoTisza:~/Wikimedia/vagrant/Sentry$ ./setup.sh
54Plugin vagrant-vbguest is already installed
55Installing plugin mediawiki-vagrant-0.2.1.gem
56- Installing the 'mediawiki-vagrant-0.2.1.gem' plugin. This can take a few minutes...
57- Installed the plugin 'mediawiki-vagrant (0.2.1)'!
58Your git/Gerrit username
59Enter 'anonymous' for anonymous access, leave blank to manage it yourself
60git_user: tgr
61
62
63You're all set! Simply run `vagrant up` to boot your new environment.
64gtisza@GergoTisza:~/Wikimedia/vagrant/Sentry$ vagrant up
65Bringing machine 'default' up with 'virtualbox' provider...
66==> default: Importing base box 'trusty-cloud'...
67==> default: Matching MAC address for NAT networking...
68==> default: Setting the name of the VM: Sentry_default_1418951730562_51656
69==> default: Clearing any previously set forwarded ports...
70==> default: Pruning invalid NFS exports. Administrator privileges will be required...
71==> default: Clearing any previously set network interfaces...
72==> default: Preparing network interfaces based on configuration...
73 default: Adapter 1: nat
74 default: Adapter 2: hostonly
75==> default: Forwarding ports...
76 default: 80 => 8080 (adapter 1)
77 default: 22 => 2222 (adapter 1)
78==> default: Running 'pre-boot' VM customizations...
79==> default: Booting VM...
80==> default: Waiting for machine to boot. This may take a few minutes...
81 default: SSH address: 127.0.0.1:2222
82 default: SSH username: vagrant
83 default: SSH auth method: private key
84 default: Warning: Connection timeout. Retrying...
85 default: Warning: Remote connection disconnect. Retrying...
86==> default: Machine booted and ready!
87GuestAdditions 4.3.10 running --- OK.
88==> default: Checking for guest additions in VM...
89==> default: Setting hostname...
90==> default: Configuring and enabling network interfaces...
91==> default: Exporting NFS shared folders...
92==> default: Preparing to edit /etc/exports. Administrator privileges will be required...
93nfsd running
94==> default: Mounting NFS shared folders...
95==> default: Mounting shared folders...
96 default: /tmp/vagrant-puppet-5/manifests => /home/gtisza/Wikimedia/vagrant/Sentry/puppet/manifests
97 default: /tmp/vagrant-puppet-5/modules-0 => /home/gtisza/Wikimedia/vagrant/Sentry/puppet/modules
98==> default: Running provisioner: lsb_check...
99==> default: Running provisioner: puppet...
100==> default: Running Puppet with site.pp...
101==> default: stdin: is not a tty
102==> default: Error: No such file or directory - /vagrant/logs
103==> default: Info: Loading facts in /tmp/vagrant-puppet-5/modules-0/stdlib/lib/facter/pe_version.rb
104==> default: Info: Loading facts in /tmp/vagrant-puppet-5/modules-0/stdlib/lib/facter/pe_version.rb
105==> default: Info: Loading facts in /tmp/vagrant-puppet-5/modules-0/stdlib/lib/facter/facter_dot_d.rb
106==> default: Info: Loading facts in /tmp/vagrant-puppet-5/modules-0/stdlib/lib/facter/facter_dot_d.rb
107==> default: Info: Loading facts in /tmp/vagrant-puppet-5/modules-0/stdlib/lib/facter/puppet_vardir.rb
108==> default: Info: Loading facts in /tmp/vagrant-puppet-5/modules-0/stdlib/lib/facter/puppet_vardir.rb
109==> default: Info: Loading facts in /tmp/vagrant-puppet-5/modules-0/stdlib/lib/facter/root_home.rb
110==> default: Info: Loading facts in /tmp/vagrant-puppet-5/modules-0/stdlib/lib/facter/root_home.rb
111==> default: Error: Execution of config_version command `/vagrant/puppet/extra/config-version` failed: Execution of '/vagrant/puppet/extra/config-version' returned 1: on node mediawiki-vagrant.dev
112==> default: Error: Execution of config_version command `/vagrant/puppet/extra/config-version` failed: Execution of '/vagrant/puppet/extra/config-version' returned 1: on node mediawiki-vagrant.dev
113==> default: Error: Execution of config_version command `/vagrant/puppet/extra/config-version` failed: Execution of '/vagrant/puppet/extra/config-version' returned 1: on node mediawiki-vagrant.dev
114==> default: Error: Execution of config_version command `/vagrant/puppet/extra/config-version` failed: Execution of '/vagrant/puppet/extra/config-version' returned 1: on node mediawiki-vagrant.dev
115The SSH command responded with a non-zero exit status. Vagrant
116assumes that this means the command failed. The output for this command
117should be in the log above. Please read the output to determine what
118went wrong.
119gtisza@GergoTisza:~/Wikimedia/vagrant/Sentry$ vagrant --version
120Vagrant 1.6.5
121gtisza@GergoTisza:~/Wikimedia/vagrant/Sentry$ vboxmanage --version
1224.3.10_Ubuntur93012

Event Timeline

Tgr raised the priority of this task from to Needs Triage.
Tgr updated the task description. (Show Details)
Tgr added a project: MediaWiki-Vagrant.
Tgr changed Security from none to None.
Tgr subscribed.

It seems that the NFS mount for /vagrant is not set up, the errors are only a consequence of that.

Debug log:

The behavior is somewhat erratic, sometimes it just hangs on the NFS setup step without any error message and keeps sending SSH keepalives forever.

Can be worked around by vagrant config nfs_shares no (although at the cost of some performance hit I suppose).

This only affects new vagrant boxes, I can bring up the old ones fine.

A plain vagrant box (via vagrant init hashicorp/precise32 / vagrant up) brings NFS up successfully but then dies with a seemingly unrelated error that is very similar to this. The workaround described here fixes that. The same workaround does not help with MediaWiki-vagrant boxes.

Given that I can bring up old boxes (which still involves an NFS init step) and install new non-MW vagrant boxes, but cannot install new MW-vagrant boxes, I think the problem is at least with MW-vagrant, not just vagrant/virtualbox.

In T84961#937199, @Tgr wrote:

A plain vagrant box (via vagrant init hashicorp/precise32 / vagrant up) brings NFS up successfully but then dies with a seemingly unrelated error that is very similar to this. The workaround described here fixes that. The same workaround does not help with MediaWiki-vagrant boxes.

Did you configure this plain vagrant box to use NFS for sharing? The default is to use the built-in sharing mechanism of the VM container, which is what vagrant config nfs_shares no does to MediaWiki-Vagrant.

bd808 triaged this task as Medium priority.Dec 30 2014, 2:06 AM

Did you configure this plain vagrant box to use NFS for sharing? The default is to use the built-in sharing mechanism of the VM container, which is what vagrant config nfs_shares no does to MediaWiki-Vagrant.

After initializing another box from the same base and adding

config.vm.network :private_network, ip: '10.11.12.111'
config.vm.network :forwarded_port, guest: 80, host: 7070, id: 'http'
config.vm.synced_folder ".", "/vagrant", type: "nfs"

to Vagrantfile, spinning it up still works (no error this time) and I can see the contents of the host folder in /vagrant on the guest.