Missing vagrant 2.2.7 tar.xz package

Hi, is there a particular reason why vagrant 2.2.7 does not include the tar.xz package?

although there is a ‘dev’ version of th tar.xz package: https://github.com/hashicorp/vagrant-installers/releases/tag/v2.2.7%2Bmaster which i currently use (but its ‘complaining’ that there is a newer version available)

i’m asking because due to several other issues i used to go with the tar.xz package on fedora (31), which covered all my needs so far.
(problems with libvirt plugin, fedora packed vagrant has no winrm support, …)

thanks,
Sebastian

Maybe you would be more interested in using the Linux package? It comes with a single binary for running Vagrant. Also, is there a reason why the official Centos package doesn’t cover your needs?

thanks for your answer brian,

unfortunately the centos rpm does not work with fedora (31) - at least not for me
i can successfully install the vagrant-libvirt plugin, but as soon as i want to start a vm using libvirt i get the following error:

/opt/vagrant/embedded/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require': /lib64/libssh.so.4: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b - /home/sml/.vagrant.d/gems/2.4.9/gems/ruby-libvirt-0.7.1/lib/_libvirt.so (LoadError)
	from /opt/vagrant/embedded/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /home/sml/.vagrant.d/gems/2.4.9/gems/ruby-libvirt-0.7.1/lib/libvirt.rb:11:in `<top (required)>'
	from /opt/vagrant/embedded/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /opt/vagrant/embedded/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /home/sml/.vagrant.d/gems/2.4.9/gems/fog-libvirt-0.7.0/lib/fog/libvirt.rb:4:in `<top (required)>'
	from /opt/vagrant/embedded/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /opt/vagrant/embedded/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /home/sml/.vagrant.d/gems/2.4.9/gems/vagrant-libvirt-0.0.45/lib/vagrant-libvirt/driver.rb:1:in `<top (required)>'
	from /opt/vagrant/embedded/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /opt/vagrant/embedded/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /home/sml/.vagrant.d/gems/2.4.9/gems/vagrant-libvirt-0.0.45/lib/vagrant-libvirt/provider.rb:29:in `driver'
	from /home/sml/.vagrant.d/gems/2.4.9/gems/vagrant-libvirt-0.0.45/lib/vagrant-libvirt/provider.rb:101:in `state'
	from /opt/vagrant/embedded/gems/2.2.7/gems/vagrant-2.2.7/lib/vagrant/machine.rb:532:in `state'
	from /opt/vagrant/embedded/gems/2.2.7/gems/vagrant-2.2.7/lib/vagrant/machine.rb:146:in `initialize'
	from /opt/vagrant/embedded/gems/2.2.7/gems/vagrant-2.2.7/lib/vagrant/vagrantfile.rb:81:in `new'
	from /opt/vagrant/embedded/gems/2.2.7/gems/vagrant-2.2.7/lib/vagrant/vagrantfile.rb:81:in `machine'
	from /opt/vagrant/embedded/gems/2.2.7/gems/vagrant-2.2.7/lib/vagrant/environment.rb:715:in `machine'
	from /opt/vagrant/embedded/gems/2.2.7/gems/vagrant-2.2.7/lib/vagrant/plugin/v2/command.rb:180:in `block in with_target_vms'
	from /opt/vagrant/embedded/gems/2.2.7/gems/vagrant-2.2.7/lib/vagrant/plugin/v2/command.rb:204:in `block in with_target_vms'
	from /opt/vagrant/embedded/gems/2.2.7/gems/vagrant-2.2.7/lib/vagrant/plugin/v2/command.rb:186:in `each'
	from /opt/vagrant/embedded/gems/2.2.7/gems/vagrant-2.2.7/lib/vagrant/plugin/v2/command.rb:186:in `with_target_vms'
	from /opt/vagrant/embedded/gems/2.2.7/gems/vagrant-2.2.7/plugins/commands/up/command.rb:87:in `execute'
	from /opt/vagrant/embedded/gems/2.2.7/gems/vagrant-2.2.7/lib/vagrant/cli.rb:66:in `execute'
	from /opt/vagrant/embedded/gems/2.2.7/gems/vagrant-2.2.7/lib/vagrant/environment.rb:290:in `cli'
	from /opt/vagrant/embedded/gems/2.2.7/gems/vagrant-2.2.7/bin/vagrant:182:in `<main>'

see also here: e.g https://github.com/vagrant-libvirt/vagrant-libvirt/issues/1031

and im not using the vagrant package from the fedora repo, because it does not support winrm (id like to use some windows vms)

the reason im not using the single binary (linux package) is that i want to provide vagrant in a multi user environment with ‘preinstalled’ plugins, so not every user needs to install the plugins on his own.
this is done (in a quite ‘hacky’ way) by:

  • extracting the tar.xz package on fedora (or installing the rpm on centos),
  • installing the required plugins to a temporary VAGRANT_HOME (vagrant plugin install …),
  • moving the installed plugins to: /opt/vagrant/embedded/gems/$version/
  • moving the plugins.json to /opt/vagrant/embedded/

(i also tried to ‘inject’ the plugins to the single binary - which is iirc an appimage which extracts itself on runtime to a tmp directory - but failed doing that.)

sounds probably quite complicated and is surely not what vagrant should be used for?
but its working (at least for some tests…)

if you have any tips or a recommendation on how to achieve what i described above, im happy to hear. (and/or share more information if its not clear what i mean)

thanks
Sebastian

Greetings - I am running into all the same problems that @maennlse mentions - i also am using fedora 31. I suppose I could fall back to virtual box, but that seems not very optimal.

Is there a good path forward for fedora and libvirt users?

thanks

Brad

Just as an FYI - in response to a similar question posed in the vagrant-libvirt issue tracker, I was given this link: https://github.com/hashicorp/vagrant/issues/11020#issuecomment-540043472 to a solution for a similar problem in Fedora 30. The solution proposed by @jamesreynolds worked for me. The centos package for Vagrant with the vagrant-libvirt plugin works well now on my F31 workstation.

Brad

:tada: Thanks Brad for sharing this info. Indead this works perfectly for me.
Shame on me that i havent found that post on my own. :wink:

for everyone who stumbles across this post, here are the steps to ‘fix’ or better ‘workaround’ the issue:

fedora 31

install vagrant rpm

dnf install ./vagrant_2.2.7_x86_64.rpm

build libssh

  • enable source repos (!)
dnf download --source libssh
rpm2cpio libssh-0.9.3-1.fc31.src.rpm | cpio -idmV
tar xf libssh-0.9.3.tar.xz
mkdir build
cd build/
cmake ../libssh-0.9.3 -DOPENSSL_ROOT_DIR=/opt/vagrant/embedded/
make
cp lib/libssh.so* /opt/vagrant/embedded/lib64/

install plugins (local)

vagrant plugin install vagrant-libvirt vagrant-sshfs

(optional) install plugins (system)

cp -R ~/.vagrant.d/gems/*/* /opt/vagrant/embedded/gems/2.2.7/
cp ~/.vagrant.d/plugins.json /opt/vagrant/embedded/plugins.json
rm -rf ~/.vagrant.d/

check vagrant plugin installation

#> vagrant plugin list
vagrant-libvirt (0.0.45, system)
vagrant-sshfs (1.3.4, system)

btw. also tested this with the (pre-release) 2.2.8 rpm from (https://github.com/hashicorp/vagrant-installers/releases) which behaves the same as the 2.2.7 rpm.

once again, thanks Brad!