Last modified: 2014-07-25 02:45:51 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T61904, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 59904 - MediaWiki vagrant doesn't work with VMWare Fusion provider
MediaWiki vagrant doesn't work with VMWare Fusion provider
Status: RESOLVED FIXED
Product: MediaWiki-Vagrant
Classification: Unclassified
General (Other open bugs)
unspecified
All All
: Unprioritized normal
: ---
Assigned To: Ori Livneh
:
Depends on: 64448
Blocks:
  Show dependency treegraph
 
Reported: 2014-01-10 12:50 UTC by Tyler Romeo
Modified: 2014-07-25 02:45 UTC (History)
4 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments
mods for VMWare (1.21 KB, patch)
2014-04-29 21:47 UTC, Mark A. Hershberger
Details

Description Tyler Romeo 2014-01-10 12:50:28 UTC
So I purchased Vagrant's proprietary VMWare Fusion provider (figured I'd support them since their product is mostly open source), but apparently MediaWiki's Vagrant config simply does not work with the VMWare provider.

At first the issue was just that it could not find a compatible box, since the precise-cloud box from Ubuntu is only for virtualbox. So I went into the Vagrantfile and changed the box to precise64 instead (the default box). And then I got this error:

Bringing machine 'default' up with 'vmware_fusion' provider...
[default] Cloning VMware VM: 'precise64'. This can take some time...
[default] Verifying vmnet devices are healthy...
[default] Deleting the VM...
[default] Running cleanup tasks for 'puppet' provisioner...
/Users/parent5446/Documents/vagrant/lib/mediawiki-vagrant/middleware.rb:9:in `call': undefined method `version' for #<HashiCorp::VagrantVMwarefusion::Driver::Fusion:0x00000101c0cc20> (NoMethodError)
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/builtin/lock.rb:51:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/builder.rb:116:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/runner.rb:69:in `block in run'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/util/busy.rb:19:in `busy'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/runner.rb:69:in `run'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/builtin/call.rb:51:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Users/parent5446/.vagrant.d/gems/gems/vagrant-vmware-fusion-2.2.7/lib/vagrant-vmware-fusion/action_farm.rb:80:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Users/parent5446/.vagrant.d/gems/gems/vagrant-vmware-fusion-2.2.7/lib/vagrant-vmware-fusion/action_farm.rb:969:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/builder.rb:116:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/runner.rb:69:in `block in run'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/util/busy.rb:19:in `busy'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/runner.rb:69:in `run'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/builtin/call.rb:51:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Users/parent5446/.vagrant.d/gems/gems/vagrant-vmware-fusion-2.2.7/lib/vagrant-vmware-fusion/action_farm.rb:1183:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Users/parent5446/.vagrant.d/gems/gems/vagrant-vmware-fusion-2.2.7/lib/vagrant-vmware-fusion/action_farm.rb:246:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Users/parent5446/.vagrant.d/gems/gems/vagrant-vmware-fusion-2.2.7/lib/vagrant-vmware-fusion/action_farm.rb:1048:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Users/parent5446/.vagrant.d/gems/gems/vagrant-vmware-fusion-2.2.7/lib/vagrant-vmware-fusion/action_farm.rb:423:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/builtin/handle_box_url.rb:24:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/builder.rb:116:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/runner.rb:69:in `block in run'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/util/busy.rb:19:in `busy'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/runner.rb:69:in `run'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/builtin/call.rb:51:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Users/parent5446/.vagrant.d/gems/gems/vagrant-vmware-fusion-2.2.7/lib/vagrant-vmware-fusion/action_farm.rb:1183:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/builtin/lock.rb:42:in `block in call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/builtin/lock.rb:27:in `open'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/builtin/lock.rb:27:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Users/parent5446/.vagrant.d/gems/gems/vagrant-vmware-fusion-2.2.7/lib/vagrant-vmware-fusion/action_farm.rb:108:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Users/parent5446/.vagrant.d/gems/gems/vagrant-vmware-fusion-2.2.7/lib/vagrant-vmware-fusion/action_farm.rb:246:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/builtin/config_validate.rb:25:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/warden.rb:34:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/builder.rb:116:in `call'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/runner.rb:69:in `block in run'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/util/busy.rb:19:in `busy'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/action/runner.rb:69:in `run'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/machine.rb:147:in `action'
	from /Applications/Vagrant/embedded/gems/gems/vagrant-1.4.2/lib/vagrant/batch_action.rb:63:in `block (2 levels) in run'
Comment 1 Mark A. Hershberger 2014-03-03 23:28:03 UTC
Removing the following line in middleware.rb appears to make this provider work:

  $FACTER['provider_version'] = env[:machine].provider.driver.version

I can't find provider_version used anywhere.
Comment 2 Tyler Romeo 2014-03-04 00:29:02 UTC
That alone does not fix it. There are numerous other problems, primarily because our puppet configuration is so reliant on the box it is based on.
Comment 3 Mark A. Hershberger 2014-03-04 00:59:13 UTC
Sure, but that is what the bug is about.  I'm going through the bugs so I can provide this for a client.  If you see any that I miss, please pester me.
Comment 4 Gerrit Notification Bot 2014-03-04 01:02:05 UTC
Change 116676 had a related patch set uploaded by MarkAHershberger:
Remove reference to provider.driver.version

https://gerrit.wikimedia.org/r/116676
Comment 5 Ori Livneh 2014-03-04 04:55:30 UTC
(In reply to Mark A. Hershberger from comment #1)
> Removing the following line in middleware.rb appears to make this provider
> work:
> 
>   $FACTER['provider_version'] = env[:machine].provider.driver.version
> 
> I can't find provider_version used anywhere.

It's used in <puppet/modules/virtualbox/manifests/init.pp>.
Comment 6 Mark A. Hershberger 2014-03-04 16:05:58 UTC
(In reply to Ori Livneh from comment #5)
> It's used in <puppet/modules/virtualbox/manifests/init.pp>.

Since that is obviously a virtualbox-specific instance, and I don't know enough about how to fix it, would the following work?

-  content => $::provider_version,
+  content => env[:machine].provider.driver.version,
Comment 7 Mark A. Hershberger 2014-03-04 16:11:54 UTC
(Also, I did report the problem to Hashicorp, but they say it is a MW-Vagrant problem.  So much for uniform interfaces.)
Comment 8 Gerrit Notification Bot 2014-03-22 18:49:09 UTC
Change 120239 had a related patch set uploaded by BryanDavis:
Remove reference to provider.driver.version and virtualbox class

https://gerrit.wikimedia.org/r/120239
Comment 9 Gerrit Notification Bot 2014-03-22 18:51:15 UTC
Change 120239 abandoned by BryanDavis:
Remove reference to provider.driver.version and virtualbox class

Reason:
This was supposed to be a revision of Ia6bc4f2e53eaa8110509a4053f4ac51a650dfada, not a new patch.

https://gerrit.wikimedia.org/r/120239
Comment 10 Gerrit Notification Bot 2014-03-25 17:33:09 UTC
Change 116676 merged by jenkins-bot:
Remove reference to provider.driver.version and virtualbox class

https://gerrit.wikimedia.org/r/116676
Comment 11 Ori Livneh 2014-04-16 01:45:44 UTC
Mark, can this be closed now?
Comment 12 Tyler Romeo 2014-04-16 03:56:46 UTC
Well the bug hasn't really been fixed yet...
Comment 13 Mark A. Hershberger 2014-04-16 14:30:28 UTC
(In reply to Ori Livneh from comment #11)
> Mark, can this be closed now?

Not yet.  I'll return to it in a bit.
Comment 14 Mark A. Hershberger 2014-04-29 21:46:38 UTC
Still working on it, but with the latest mediawiki-vmware it mostly works.

Since I can't commit from my current location -- I should learn how to commit using http and a proxy -- I'll attach a diff with my current modifications that I think could help other people.
Comment 15 Mark A. Hershberger 2014-04-29 21:47:34 UTC
Created attachment 15245 [details]
mods for VMWare
Comment 16 Mark A. Hershberger 2014-05-10 13:36:29 UTC
This appears to be working now.  Think it was fixed upstream, but it is working.
Comment 17 Tyler Romeo 2014-05-10 18:58:06 UTC
How? I tried this with the box in the attachment, and it gives a large error output, beginning with saying that add-apt-repository is not installed (which is true, because the box doesn't have it). And of course using the normal precise-cloud box doesn't work because it's only for virtualbox.
Comment 18 Mark A. Hershberger 2014-05-11 09:09:24 UTC
Note that the separate bug for add-apt-repository was not the initial cause of this bug.   You're right that it it keeps some boxes from working.
Comment 19 Gerrit Notification Bot 2014-06-10 15:21:04 UTC
Change 138610 had a related patch set uploaded by Parent5446:
Added parent directory creation for /var/lib/cloud/instance

https://gerrit.wikimedia.org/r/138610
Comment 20 Tyler Romeo 2014-06-10 20:46:58 UTC
Fixed as of Ibc0dd5e45d97bc7f72bfde6f090f2ad8ae41013d
Comment 21 Tyler Romeo 2014-07-10 17:53:48 UTC
...and it doesn't work again. It cannot find the HHVM packages.

Seriously, changes should be tested for compatibility.
Comment 22 Bryan Davis 2014-07-10 18:16:23 UTC
(In reply to Tyler Romeo from comment #21)
> ...and it doesn't work again. It cannot find the HHVM packages.

Can you provide some additional details? Is /etc/apt/sources.list.d/wikimedia.list not populated in your guest VM? Which commit of mw-vagrant are you trying? There was a very recent fix for the initial `apt-get update` not running before packages were installed.

> Seriously, changes should be tested for compatibility.

Reviews are welcome, but I think you and Mark may be the only vmware users.
Comment 23 Tyler Romeo 2014-07-10 18:53:10 UTC
:/ I figured it out. I was using a custom box since mediawiki-vagrant does not yet vary the box based on provider. I needed to switch to an Ubuntu Trusty box rather than Precise.

In case anybody runs into the same problem, I ended up using PuPHPet's trusty box: https://vagrantcloud.com/puphpet/ubuntu1404-x64
Comment 24 Gerrit Notification Bot 2014-07-20 04:59:59 UTC
Change 147880 had a related patch set uploaded by Brion VIBBER:
Fetch a working trusty box on VMWare Fusion provider

https://gerrit.wikimedia.org/r/147880
Comment 25 Gerrit Notification Bot 2014-07-20 15:45:39 UTC
Change 147880 merged by jenkins-bot:
Fetch a working trusty box on VMWare Fusion provider

https://gerrit.wikimedia.org/r/147880
Comment 26 Bryan Davis 2014-07-25 02:45:51 UTC
Re-closing after gerrit reopened for a related commit. Feel free to reopen if we have additional outstanding issues I'm not aware of.

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links