coderanger / kitchen-sync

Test Kitchen transport plugin to speed up tests.
Apache License 2.0
81 stars 24 forks source link

Be specific to errors when verify fails due to missing spec directory #22

Open isuftin opened 8 years ago

isuftin commented 8 years ago

With no test fixture for my specific suite, verify fails with cryptic message..

$ tree test
test
└── integration
    ├── default
    │   └── serverspec
    │       ├── dependencies_spec.rb
    │       ├── install_server_spec.rb
    │       └── users_spec.rb
    └── helpers
        └── serverspec
            └── spec_helper.rb

11 directories, 11 files
$ kitchen verify default-w-stig-centos-67-vbox-sftp-transport
-----> Starting Kitchen (v1.8.0)
-----> Verifying <default-w-stig-centos-67-vbox-sftp-transport>...
       Preparing files for transfer
       Transferring files to <default-w-stig-centos-67-vbox-sftp-transport>
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: Failed to complete #verify action: [Net::SFTP::StatusException (2, "no such file")]
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
>>>>>> Also try running `kitchen diagnose --all` for configuration

When adding the proper testing directory, works fine..

$ tree test
test
└── integration
    ├── default
    │   └── serverspec
    │       ├── dependencies_spec.rb
    │       ├── install_server_spec.rb
    │       └── users_spec.rb
    ├── default-w-stig
    │   └── serverspec
    │       ├── dependencies_spec.rb
    │       ├── install_server_spec.rb
    │       └── users_spec.rb
    └── helpers
        └── serverspec
            └── spec_helper.rb
$ kitchen verify default-w-stig-centos-67-vbox-sftp-transport
-----> Starting Kitchen (v1.8.0)
-----> Verifying <default-w-stig-centos-67-vbox-sftp-transport>...
       Preparing files for transfer
-----> Installing Busser (busser)
Fetching: thor-0.19.0.gem (100%)
       Successfully installed thor-0.19.0
Fetching: busser-0.7.1.gem (100%)
       Successfully installed busser-0.7.1
       2 gems installed
       Installing Busser plugins: busser-serverspec
       Plugin serverspec installed (version 0.5.9)
-----> Running postinstall for serverspec plugin
[...]

The error indication does not provide the information needed to fix the issue. Not sure if this is the responsibility of this plugin or not.

coderanger commented 8 years ago

Can you run with -l debug to get a real error traceback?

thomasv314 commented 7 years ago

I just hit this error, I changed the name of a kitchen suite and didn't rename the test suite.

Here's a backtrace:

D      ------Exception-------
D      Class: Kitchen::ActionFailed
D      Message: 1 actions failed.
>>>>>>     Failed to complete #verify action: [Net::SFTP::StatusException (2, "no such file")] on v1-ubuntu-1404
D      ----------------------
D      ------Backtrace-------
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/command.rb:183:in `report_errors'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/command.rb:174:in `run_action'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/command/action.rb:36:in `block in call'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/2.3.0/benchmark.rb:293:in `measure'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/command/action.rb:34:in `call'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/cli.rb:53:in `perform'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/cli.rb:187:in `block (2 levels) in <class:CLI>'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/cli.rb:334:in `invoke_task'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/bin/kitchen:13:in `block in <top (required)>'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/errors.rb:171:in `with_friendly_errors'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/bin/kitchen:13:in `<top (required)>'
D      /usr/local/var/rbenv/versions/2.3.1/bin/kitchen:23:in `load'
D      /usr/local/var/rbenv/versions/2.3.1/bin/kitchen:23:in `<top (required)>'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.14.6/lib/bundler/cli/exec.rb:74:in `load'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.14.6/lib/bundler/cli/exec.rb:74:in `kernel_load'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.14.6/lib/bundler/cli/exec.rb:27:in `run'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.14.6/lib/bundler/cli.rb:335:in `exec'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor.rb:359:in `dispatch'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.14.6/lib/bundler/cli.rb:20:in `dispatch'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.14.6/lib/bundler/vendor/thor/lib/thor/base.rb:440:in `start'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.14.6/lib/bundler/cli.rb:11:in `start'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.14.6/exe/bundle:32:in `block in <top (required)>'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.14.6/lib/bundler/friendly_errors.rb:121:in `with_friendly_errors'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.14.6/exe/bundle:24:in `<top (required)>'
D      /usr/local/var/rbenv/versions/2.3.1/bin/bundle:23:in `load'
D      /usr/local/var/rbenv/versions/2.3.1/bin/bundle:23:in `<main>'
D      ----End Backtrace-----
D      -Composite Exception--
D      Class: Kitchen::ActionFailed
D      Message: Failed to complete #verify action: [Net::SFTP::StatusException (2, "no such file")] on v1-ubuntu-1404
D      ----------------------
D      ------Backtrace-------
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/net-sftp-2.1.2/lib/net/sftp/session.rb:846:in `wait_for'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/net-sftp-2.1.2/lib/net/sftp/session.rb:498:in `mkdir!'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/kitchen-sync-2.1.2/lib/kitchen/transport/sftp.rb:96:in `sftp_upload!'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/kitchen-sync-2.1.2/lib/kitchen/transport/sftp.rb:84:in `block (2 levels) in upload'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/2.3.0/benchmark.rb:308:in `realtime'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/kitchen-sync-2.1.2/lib/kitchen/transport/sftp.rb:83:in `block in upload'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/kitchen-sync-2.1.2/lib/kitchen/transport/sftp.rb:76:in `each'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/kitchen-sync-2.1.2/lib/kitchen/transport/sftp.rb:76:in `upload'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/verifier/base.rb:74:in `block in call'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/transport/base.rb:89:in `initialize'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/kitchen-sync-2.1.2/lib/kitchen/transport/sftp.rb:45:in `new'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/kitchen-sync-2.1.2/lib/kitchen/transport/sftp.rb:45:in `create_new_connection'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/transport/ssh.rb:90:in `connection'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/verifier/base.rb:70:in `call'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:434:in `block in verify_action'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:527:in `synchronize_or_call'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:489:in `block in action'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/2.3.0/benchmark.rb:293:in `measure'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:488:in `action'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:426:in `verify_action'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:359:in `block in transition_to'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:358:in `each'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:358:in `transition_to'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:157:in `verify'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/command.rb:197:in `public_send'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/command.rb:197:in `run_action_in_thread'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/command.rb:169:in `block (2 levels) in run_action'
D      ----End Backtrace-----
D      ---Nested Exception---
D      Class: Kitchen::ActionFailed
D      Message: Failed to complete #verify action: [Net::SFTP::StatusException (2, "no such file")]
D      ----------------------
D      ------Backtrace-------
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/net-sftp-2.1.2/lib/net/sftp/session.rb:846:in `wait_for'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/net-sftp-2.1.2/lib/net/sftp/session.rb:498:in `mkdir!'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/kitchen-sync-2.1.2/lib/kitchen/transport/sftp.rb:96:in `sftp_upload!'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/kitchen-sync-2.1.2/lib/kitchen/transport/sftp.rb:84:in `block (2 levels) in upload'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/2.3.0/benchmark.rb:308:in `realtime'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/kitchen-sync-2.1.2/lib/kitchen/transport/sftp.rb:83:in `block in upload'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/kitchen-sync-2.1.2/lib/kitchen/transport/sftp.rb:76:in `each'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/kitchen-sync-2.1.2/lib/kitchen/transport/sftp.rb:76:in `upload'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/verifier/base.rb:74:in `block in call'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/transport/base.rb:89:in `initialize'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/kitchen-sync-2.1.2/lib/kitchen/transport/sftp.rb:45:in `new'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/kitchen-sync-2.1.2/lib/kitchen/transport/sftp.rb:45:in `create_new_connection'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/transport/ssh.rb:90:in `connection'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/verifier/base.rb:70:in `call'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:434:in `block in verify_action'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:527:in `synchronize_or_call'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:489:in `block in action'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/2.3.0/benchmark.rb:293:in `measure'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:488:in `action'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:426:in `verify_action'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:359:in `block in transition_to'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:358:in `each'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:358:in `transition_to'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/instance.rb:157:in `verify'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/command.rb:197:in `public_send'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/command.rb:197:in `run_action_in_thread'
D      /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-1.15.0/lib/kitchen/command.rb:169:in `block (2 levels) in run_action'
D      ----End Backtrace-----
amontalban commented 6 years ago

Bumped with this same bug (I didn't had the test folder)