Skip to content
This repository has been archived by the owner on Mar 2, 2020. It is now read-only.

Vagrant 1.8.4 installs vagrant-winrm-syncedfolders 0.1.0 #8

Closed
takesson opened this issue Jun 29, 2016 · 11 comments
Closed

Vagrant 1.8.4 installs vagrant-winrm-syncedfolders 0.1.0 #8

takesson opened this issue Jun 29, 2016 · 11 comments

Comments

@takesson
Copy link
Contributor

Vagrant 1.8.4 installs the old version of winrm-syncedfolders (which does not work):

$ vagrant plugin install vagrant-winrm-syncedfolders --verbose
Installing the 'vagrant-winrm-syncedfolders' plugin. This can take a few minutes...
Warning: this Gemfile contains multiple primary sources. Using `source` more than once without a block is a security risk, and may result in installing unexpected gems. To resolve this warning, use a block to indicate which gems should come from the secondary source. To upgrade this warning to an error, run `bundle config disable_multisource true`.
Fetching source index from https://gems.hashicorp.com/
Fetching gem metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Resolving dependencies..........
Using builder 3.2.2
Using bundler 1.12.5
Using ffi 1.9.10
Using erubis 2.7.0
Using hashicorp-checkpoint 0.1.4
Using httpclient 2.8.0
Using i18n 0.7.0
Using rb-fsevent 0.9.7
Using little-plugger 1.1.4
Using log4r 1.1.10
Using multi_json 1.12.1
Using mime-types 1.25.1
Using mini_portile2 2.0.0
Using net-ssh 3.0.2
Using nori 2.6.0
Using rubyntlm 0.6.0
Using rubyzip 1.2.0
Using wdm 0.1.1
Installing vagrant-winrm-syncedfolders 0.1.0
Using gyoku 1.3.1
Using childprocess 0.5.9
Using gssapi 1.2.0
Using rb-inotify 0.9.7
Using rb-kqueue 0.2.4
Using logging 2.1.0
Using rest-client 1.6.9
Using nokogiri 1.6.7.1
Using net-scp 1.1.2
Using net-sftp 2.1.2
Using listen 3.0.8
Using winrm 1.8.1
Using vagrant-share 1.1.5
Using winrm-fs 0.3.2
Using vagrant 1.8.4
Installed the plugin 'vagrant-winrm-syncedfolders (0.1.0)'!
@takesson
Copy link
Contributor Author

Forcing 1.0.0 fails:

$ vagrant plugin install vagrant-winrm-syncedfolders --plugin-version 1.0.0 --verbose
Installing the 'vagrant-winrm-syncedfolders --version '1.0.0'' plugin. This can take a few minutes...
Warning: this Gemfile contains multiple primary sources. Using `source` more than once without a block is a security risk, and may result in installing unexpected gems. To resolve this warning, use a block to indicate which gems should come from the secondary source. To upgrade this warning to an error, run `bundle config disable_multisource true`.
Fetching source index from https://gems.hashicorp.com/
Fetching gem metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Fetching version metadata from https://rubygems.org/
Resolving dependencies.....................................
The plugin(s) can't be installed due to the version conflicts below.
This means that the plugins depend on a library version that conflicts
with other plugins or Vagrant itself, creating an impossible situation
where Vagrant wouldn't be able to load the plugins.

You can fix the issue by either removing a conflicting plugin or
by contacting a plugin author to see if they can address the conflict.

Vagrant could not find compatible versions for gem "winrm-fs":
  In Gemfile:
    vagrant (= 1.8.4) was resolved to 1.8.4, which depends on
      winrm-fs (~> 0.3.0)

    vagrant-winrm-syncedfolders (= 1.0.0) was resolved to 1.0.0, which depends on
      winrm-fs (~> 0.2.2)

@potashj
Copy link
Collaborator

potashj commented Jun 29, 2016

Hey @takesson,

Have you tried removing the winrm-fs line from our gemspec? I see you're already on the latest version of Vagrant, but take a look at this issue #7 (comment) and see maclennann's comment at the bottom. Please let me know if that does it.

@takesson
Copy link
Contributor Author

Thanks for the input @potashj

I have now tried removing winrm-fs from the gemspec and created a PR. Having difficulties testing because vagrant 1.8.4 refuses to install a plugin from local path. It works in vagrant 1.8.1 so I am now testing the approach of installing the new version (1.0.1) with vagrant 1.8.1 and then upgrading to 1.8.4.

@takesson
Copy link
Contributor Author

There are a couple of reports on the local install issue in vagrant 1.8.4:
hashicorp/vagrant#7493

There might also be further changes to winrm-fs version:
hashicorp/vagrant#7526

@takesson
Copy link
Contributor Author

I have now tested the approach:

  • Install vagrant 1.8.1
  • Install my locally built vagrant-winrm-syncedfolders
  • Upgrade to vagrant 1.8.4.
    • No complaints about winrm-fs version which happened with 1.0.0.
  • Unfortunately execution fails... perhaps winrm-fs 0.3.2 is a dead end.
==> default: Machine is booted and ready for use!
==> default: Uploading with WinRM: /var/lib/jenkins/jobs/chef-windows/workspace/cookbooks => C:/vagrant-chef/a24bbfb7bfde1396442a4c6ee395032b/cookbooks
==> default: Uploading with WinRM: /var/lib/jenkins/jobs/chef-windows/workspace/roles => C:/vagrant-chef/78e19cd412e3d18a7e72fe3022d2c4ee/roles
==> default: Uploading with WinRM: /var/lib/jenkins/jobs/chef-windows/workspace/nodes => C:/vagrant-chef/3d8f0fd28c76bc95d2692762500054b5/nodes
==> default: Uploading with WinRM: /var/lib/jenkins/jobs/chef-windows/workspace/test-nodes/windows-test1 => /vagrant
==> default: Installing Chef 12.10.24 Omnibus package...
==> default: Terminating the instance...
/opt/vagrant/embedded/gems/gems/winrm-fs-0.3.2/lib/winrm-fs/core/file_transporter.rb:306:in `block in make_files_hash': undefined method `end_with?' for #<Pathname:0x007f55c3d84850> (NoMethodError)
    from /opt/vagrant/embedded/gems/gems/winrm-fs-0.3.2/lib/winrm-fs/core/file_transporter.rb:304:in `each'
    from /opt/vagrant/embedded/gems/gems/winrm-fs-0.3.2/lib/winrm-fs/core/file_transporter.rb:304:in `make_files_hash'
    from /opt/vagrant/embedded/gems/gems/winrm-fs-0.3.2/lib/winrm-fs/core/file_transporter.rb:79:in `block in upload'
    from /opt/vagrant/embedded/lib/ruby/2.2.0/benchmark.rb:288:in `measure'
    from /opt/vagrant/embedded/gems/gems/winrm-fs-0.3.2/lib/winrm-fs/core/file_transporter.rb:78:in `upload'
    from /opt/vagrant/embedded/gems/gems/winrm-fs-0.3.2/lib/winrm-fs/file_manager.rb:112:in `block in upload'
    from /opt/vagrant/embedded/gems/gems/winrm-1.8.1/lib/winrm/winrm_service.rb:363:in `create_executor'
    from /opt/vagrant/embedded/gems/gems/winrm-fs-0.3.2/lib/winrm-fs/file_manager.rb:110:in `upload'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/communicators/winrm/shell.rb:76:in `upload'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/plugins/communicators/winrm/communicator.rb:173:in `upload'
    from /var/lib/jenkins/.vagrant.d/gems/gems/vagrant-omnibus-1.4.1/lib/vagrant-omnibus/action/install_chef.rb:161:in `block in install'
    from /var/lib/jenkins/.vagrant.d/gems/gems/vagrant-omnibus-1.4.1/lib/vagrant-omnibus/action/install_chef.rb:160:in `tap'
    from /var/lib/jenkins/.vagrant.d/gems/gems/vagrant-omnibus-1.4.1/lib/vagrant-omnibus/action/install_chef.rb:160:in `install'
    from /var/lib/jenkins/.vagrant.d/gems/gems/vagrant-omnibus-1.4.1/lib/vagrant-omnibus/action/install_chef.rb:58:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builtin/provision.rb:80:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builder.rb:116:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/runner.rb:66:in `block in run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/util/busy.rb:19:in `busy'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/runner.rb:66:in `run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builtin/call.rb:53:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call'
    from /var/lib/jenkins/.vagrant.d/gems/gems/vagrant-aws-0.7.0/lib/vagrant-aws/action/connect_aws.rb:43:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builtin/box_check_outdated.rb:36:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builtin/config_validate.rb:25:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builtin/handle_box.rb:56:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/warden.rb:34:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/builder.rb:116:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/runner.rb:66:in `block in run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/util/busy.rb:19:in `busy'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/action/runner.rb:66:in `run'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/machine.rb:225:in `action_raw'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/machine.rb:200:in `block in action'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/environment.rb:561:in `lock'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/machine.rb:186:in `call'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/machine.rb:186:in `action'
    from /opt/vagrant/embedded/gems/gems/vagrant-1.8.4/lib/vagrant/batch_action.rb:82:in `block (2 levels) in run'
    from /opt/vagrant/embedded/gems/gems/logging-2.1.0/lib/logging/diagnostic_context.rb:450:in `call'
    from /opt/vagrant/embedded/gems/gems/logging-2.1.0/lib/logging/diagnostic_context.rb:450:in `block in create_with_logging_context'

@takesson
Copy link
Contributor Author

This is the Pathname issue, should likely be fixed here.
hashicorp/vagrant#7459

@takesson
Copy link
Contributor Author

takesson commented Jun 30, 2016

Ok, to summarize:

@PrototypeGoneProd
Copy link

Hi @takesson

Thank you for the investigative work and summary. I see the commit you added to #9, which looks exactly right for fixing the String vs Pathname issue (compare to https://github.com/devopsgroup-io/vagrant-hostmanager/pull/199/files)

So, since it seems to be the case that we are currently at the mercy of chef-boneyard/vagrant-omnibus#130, I added myself as a subscriber to that issue in hopes that it might produce a fix faster. There is already a PR there ready to go but that project seems to be having some issues with its current Travis set up. It should only be a matter of time I think but you are free to subscribe on that ticket as well.

@jqassar
Copy link

jqassar commented Jul 15, 2016

I've set up a patch for the patch which passes Travis (needed rack to be restricted to ~> 1.6.)

tknerr added a commit to tknerr/vagrant-managed-servers that referenced this issue Sep 14, 2016
tknerr added a commit to tknerr/vagrant-managed-servers that referenced this issue Sep 14, 2016
tknerr added a commit to tknerr/vagrant-managed-servers that referenced this issue Sep 14, 2016
@takesson
Copy link
Contributor Author

Tested vagrant 1.8.5 (winrm-fs-0.3.2) in combination with vagrant-omnibus 1.5.0.

  • Installs vagrant-winrm-syncedfolders 0.1.0 by default. Seems to work in this combination.
  • Also 1.0.1 from PR Vagrant 1.8.4 compatibility #9 works in this combination.
  • The pathname fix is no longer required. Likely no harm though?

@chrisbaldauf
Copy link
Contributor

Published as version 1.0.1. Please let me know if this doesn't work for you and I'll gladly re-open.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants