nre-learning / antidote-selfmedicate

Configs and scripts for spinning up a local instance of Antidote on your laptop for testing and lesson development
Apache License 2.0
11 stars 19 forks source link

Fails with SCP error with vagrant 2.2.3 (on Debian stable) #55

Closed olberger closed 4 years ago

olberger commented 4 years ago

Trying to perform more tests, I've tried and launch vagrant up on my Debian stable box, which fails:

==> Antidote 0.4.0: Pruning invalid NFS exports. Administrator privileges will be required...
Traceback (most recent call last):
    126: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/batch_action.rb:82:in `block (2 levels) in run'
    125: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/machine.rb:194:in `action'
    124: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/machine.rb:194:in `call'
    123: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/environment.rb:614:in `lock'
    122: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/machine.rb:208:in `block in action'
    121: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/machine.rb:239:in `action_raw'
    120: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/runner.rb:66:in `run'
    119: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/util/busy.rb:19:in `busy'
    118: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/runner.rb:66:in `block in run'
    117: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/builder.rb:116:in `call'
    116: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
    115: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/providers/virtualbox/action/check_virtualbox.rb:26:in `call'
    114: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
    113: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/builtin/call.rb:53:in `call'
    112: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/runner.rb:66:in `run'
    111: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/util/busy.rb:19:in `busy'
    110: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/runner.rb:66:in `block in run'
    109: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/builder.rb:116:in `call'
    108: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
    107: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
    106: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
    105: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/builtin/handle_box.rb:56:in `call'
    104: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
    103: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
    102: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
    101: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/builtin/config_validate.rb:25:in `call'
    100: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     99: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/builtin/call.rb:53:in `call'
     98: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/runner.rb:66:in `run'
     97: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/util/busy.rb:19:in `busy'
     96: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/runner.rb:66:in `block in run'
     95: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/builder.rb:116:in `call'
     94: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     93: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
     92: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     91: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/providers/virtualbox/action/check_accessible.rb:18:in `call'
     90: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     89: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/providers/virtualbox/action/customize.rb:40:in `call'
     88: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     87: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/builtin/prepare_clone.rb:15:in `call'
     86: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     85: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/providers/virtualbox/action/prepare_clone_snapshot.rb:17:in `call'
     84: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     83: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/providers/virtualbox/action/import.rb:13:in `call'
     82: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/providers/virtualbox/action/import.rb:74:in `import'
     81: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     80: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/providers/virtualbox/action/discard_state.rb:15:in `call'
     79: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     78: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/providers/virtualbox/action/match_mac_address.rb:22:in `call'
     77: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     76: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
     75: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     74: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/providers/virtualbox/action/check_virtualbox.rb:26:in `call'
     73: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     72: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/builtin/config_validate.rb:25:in `call'
     71: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     70: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/builtin/box_check_outdated.rb:84:in `call'
     69: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     68: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/builtin/call.rb:53:in `call'
     67: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/runner.rb:66:in `run'
     66: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/util/busy.rb:19:in `busy'
     65: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/runner.rb:66:in `block in run'
     64: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/builder.rb:116:in `call'
     63: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     62: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
     61: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     60: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/builtin/call.rb:53:in `call'
     59: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/runner.rb:66:in `run'
     58: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/util/busy.rb:19:in `busy'
     57: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/runner.rb:66:in `block in run'
     56: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/builder.rb:116:in `call'
     55: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     54: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
     53: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     52: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/builtin/call.rb:53:in `call'
     51: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/runner.rb:66:in `run'
     50: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/util/busy.rb:19:in `busy'
     49: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/runner.rb:66:in `block in run'
     48: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/builder.rb:116:in `call'
     47: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     46: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
     45: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     44: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/providers/virtualbox/action/check_accessible.rb:18:in `call'
     43: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     42: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/providers/virtualbox/action/clean_machine_folder.rb:17:in `call'
     41: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     40: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/providers/virtualbox/action/set_name.rb:50:in `call'
     39: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     38: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/providers/virtualbox/action/clear_forwarded_ports.rb:15:in `call'
     37: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     36: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/builtin/provision.rb:103:in `call'
     35: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/builtin/provision.rb:103:in `each'
     34: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/builtin/provision.rb:126:in `block in call'
     33: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/builtin/provision.rb:126:in `call'
     32: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/environment.rb:526:in `hook'
     31: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/runner.rb:66:in `run'
     30: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/util/busy.rb:19:in `busy'
     29: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/runner.rb:66:in `block in run'
     28: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/builder.rb:116:in `call'
     27: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:34:in `call'
     26: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:95:in `block in finalize_action'
     25: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/warden.rb:95:in `call'
     24: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/lib/vagrant/action/builtin/provision.rb:138:in `run_provisioner'
     23: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/provisioners/file/provisioner.rb:5:in `provision'
     22: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/provisioners/file/provisioner.rb:5:in `tap'
     21: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/provisioners/file/provisioner.rb:44:in `block in provision'
     20: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/communicators/ssh/communicator.rb:293:in `upload'
     19: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/communicators/ssh/communicator.rb:707:in `scp_connect'
     18: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/communicators/ssh/communicator.rb:349:in `connect'
     17: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/communicators/ssh/communicator.rb:709:in `block in scp_connect'
     16: from /usr/share/rubygems-integration/all/gems/vagrant-2.2.3/plugins/communicators/ssh/communicator.rb:296:in `block in upload'
     15: from /usr/lib/ruby/vendor_ruby/net/scp.rb:284:in `upload!'
     14: from /usr/lib/ruby/vendor_ruby/net/ssh/connection/channel.rb:272:in `wait'
     13: from /usr/lib/ruby/vendor_ruby/net/ssh/connection/session.rb:181:in `loop'
     12: from /usr/lib/ruby/vendor_ruby/net/ssh/connection/session.rb:181:in `loop'
     11: from /usr/lib/ruby/vendor_ruby/net/ssh/connection/session.rb:181:in `block in loop'
     10: from /usr/lib/ruby/vendor_ruby/net/ssh/connection/session.rb:228:in `process'
      9: from /usr/lib/ruby/vendor_ruby/net/ssh/connection/event_loop.rb:29:in `process'
      8: from /usr/lib/ruby/vendor_ruby/net/ssh/connection/event_loop.rb:101:in `ev_preprocess'
      7: from /usr/lib/ruby/vendor_ruby/net/ssh/connection/event_loop.rb:101:in `each'
      6: from /usr/lib/ruby/vendor_ruby/net/ssh/connection/session.rb:249:in `ev_preprocess'
      5: from /usr/lib/ruby/vendor_ruby/net/ssh/connection/session.rb:549:in `dispatch_incoming_packets'
      4: from /usr/lib/ruby/vendor_ruby/net/ssh/connection/session.rb:682:in `channel_close'
      3: from /usr/lib/ruby/vendor_ruby/net/ssh/connection/session.rb:573:in `channel_closed'
      2: from /usr/lib/ruby/vendor_ruby/net/ssh/connection/channel.rb:610:in `do_close'
      1: from /usr/lib/ruby/vendor_ruby/net/scp.rb:365:in `block (3 levels) in start_command'
/usr/lib/ruby/vendor_ruby/net/scp.rb:398:in `await_response_state': scp: error: unexpected filename: . (Net::SCP::Error)

This looks very much like https://github.com/hashicorp/vagrant/issues/10662 which should hopefully be worked around easily... will report.

olberger commented 4 years ago

It seems this change makes it workaround the scp issue (see also https://github.com/hashicorp/vagrant/issues/10675)

--- a/Vagrantfile
+++ b/Vagrantfile
@@ -100,7 +100,8 @@ Vagrant.configure("2") do |config|

   # Copy selfmedicate and the manifests folder to the VM.
   config.vm.provision "file", source: "selfmedicate.sh", destination: "$HOME/selfmedicate.sh"
-  config.vm.provision "file", source: "manifests", destination: "$HOME/manifests"
+#  config.vm.provision "file", source: "manifests", destination: "$HOME/manifests"
+  config.vm.synced_folder "manifests", "/home/vagrant/manifests", type: "rsync"

   # Provisioning antidote vagrant vm
   # This will install docker, kubectl and minikube
olberger commented 4 years ago

FWIW, this is needed with libvirt provider too (core Vagrant, and not linked to hypervisor)

olberger commented 4 years ago

Maybe a simpler version could just be:

config.vm.synced_folder "manifests", "/home/vagrant/manifests"

Not so sure that rsync is supported everywhere (windows, for a start)... I tested with Linux and this seems sufficient.

Mierdin commented 4 years ago

Closed via #59