Bug 1196188

Summary: Vagrant doesn't recognize plugins vagrant-lxc and vagrant-libvirt
Product: [Fedora] Fedora Reporter: Casey <me+bugs>
Component: vagrantAssignee: Vít Ondruch <vondruch>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 21CC: jstribny, madam, thrcka, vondruch
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-02-25 13:52:17 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Casey 2015-02-25 13:00:06 UTC
Despite having installed all the packages below, vagrant doesn’t recognize that the lxc and virt plugins are installed.

$rpm -qa | grep vagrant
vagrant-lxc-doc-1.1.0-7.fc21.noarch
vagrant-lxc-1.1.0-7.fc21.noarch
vagrant-libvirt-doc-0.0.24-3.fc21.noarch
vagrant-libvirt-0.0.24-3.fc21.noarch
vagrant-1.7.2-1.x86_64

$ sudo vagrant plugin list
vagrant-share (1.1.3, system)

Also,  I've removed {$HOME|/root}/.vagrant.d, but the problem persists.

Is there some other configuration step needed to register the plugins?



I saw in #1194597, that there is a vagrant in updates-testing, but I can't get it to install:

# yum update --enablerepo=updates-testing vagrant-1.7.2-3.fc21
<snip>
Package(s) vagrant-1.7.2-3.fc21 available, but not installed.

Comment 1 Vít Ondruch 2015-02-25 13:14:02 UTC
What is the content of /var/lib/vagrant/plugins.json file?

Have you get this version of Vagrant directly installed, or have you previously different version of Vagrant later updated to 1.7? I suspect the later is the case ...

Comment 2 Casey 2015-02-25 13:29:37 UTC
Ok, Vít , thanks, you put me on the right track.

The /var/lib/vagrant/plugins.json file didn't exist, but the problem was indeed a broken earlier install of vagrant.

I've now fixed the issue, and my local vagrant recognizes the plugins.


Apparently I had some vestiges of an older version of vagrant that I installed (3rd party, not via an RPM IIRC).

For others, this is what I did to fix it:

Remove vagrant and all related packages
$ sudo dnf remove vagrant

Remove the older vagrant
$ sudo rm -rf /opt/vagrant

Remove my local vagrant dir (WARNING: you'll lose your boxes)
$ rm -rf ~/.vagrant.d

Check to make sure all vagrant stuff was removed:
$ sudo updatedb 
$ sudo locate vagrant  # make sure nothing is returned

Reinstall vagrant and plugins: 
$ sudo dnf install vagrant-1.7.2-3.fc21.noarch.rpm vagrant-lxc-doc vagrant-libvirt-doc

vagrant plugin list
vagrant-libvirt (0.0.24, system)
vagrant-lxc (1.1.0, system)

And the plugins json file:
$ cat  /var/lib/vagrant/plugins.json
{"version":"1","installed":{"vagrant-lxc":{"ruby_version":"2.1.5","vagrant_version":"1.7.2","gem_version":"","require":"","sources":[]},"vagrant-libvirt":{"ruby_version":"2.1.5","vagrant_version":"1.7.2","gem_version":"","require":"","sources":[]}}}

Previous vagrant users that migrate to the system packages need to be sure to clean the old install.

You can mark the bug INVALID/CLOSED.

Comment 3 Casey 2015-02-25 13:46:05 UTC
Quick followup question: Using the system vagrant, are we supposed to install other plugins with sudo?

I ask, because I get this error when running:

$ vagrant plugin install vagrant-hostsupdater

Errno::EPERM: Operation not permitted @ chmod_internal - /usr/share/vagrant/bin/vagrant

Bundler, the underlying system Vagrant uses to install plugins,
reported an error. The error is shown below. These errors are usually
caused by misconfigured plugin installations or transient network
issues. The error from Bundler is:

An error occurred while installing vagrant (1.7.2), and Bundler cannot continue.
Make sure that `gem install vagrant -v '1.7.2'` succeeds before bundling.

Comment 4 Vít Ondruch 2015-02-25 13:52:17 UTC
(In reply to Casey Link from comment #2)
I originally suspected that something wrong might happened to plugins.json during update or since there are written vangrant versions, that vagrant might refuse the plugins.json as incompatible.

But anyway, glad that this was another issue.


(In reply to Casey Link from comment #3)
> Quick followup question: Using the system vagrant, are we supposed to
> install other plugins with sudo?

No, since they should be installed to your local directory.

> 
> I ask, because I get this error when running:
> 
> $ vagrant plugin install vagrant-hostsupdater
> 
> Errno::EPERM: Operation not permitted @ chmod_internal -
> /usr/share/vagrant/bin/vagrant

Would you mind to report this as separate issue? I was not doing update to the latest version myself, so this will need some investigation. Thx.

Comment 5 Michael Adam 2015-02-25 17:39:12 UTC
(In reply to Vít Ondruch from comment #4)
> (In reply to Casey Link from comment #2)
> I originally suspected that something wrong might happened to plugins.json
> during update or since there are written vangrant versions, that vagrant
> might refuse the plugins.json as incompatible.
> 
> But anyway, glad that this was another issue.
> 
> 
> (In reply to Casey Link from comment #3)
> > Quick followup question: Using the system vagrant, are we supposed to
> > install other plugins with sudo?
> 
> No, since they should be installed to your local directory.

Right, and what is more doing it with sudo only installs them
under /root/.vagrant.d/ which is of no use to other users.

> > I ask, because I get this error when running:
> > 
> > $ vagrant plugin install vagrant-hostsupdater
> > 
> > Errno::EPERM: Operation not permitted @ chmod_internal -
> > /usr/share/vagrant/bin/vagrant
> 
> Would you mind to report this as separate issue? I was not doing update to
> the latest version myself, so this will need some investigation. Thx.

Yes, please report a new issue.
I can confirm that there is this issue with the 1.7.2 RPMs.

Vít: Do you not have the issue with the 1.6.5 ones?

Michael