Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Require InSpec 2.2.64+ to support plugin v2 #254

Merged
merged 1 commit into from
Jun 5, 2020
Merged

Conversation

tas50
Copy link
Contributor

@tas50 tas50 commented Jun 4, 2020

Thanks for pointing this out @satyanash. This fixes #253

Signed-off-by: Tim Smith tsmith@chef.io

Thanks for pointing this out @satyanash. This fixes #253

Signed-off-by: Tim Smith <tsmith@chef.io>
@tas50 tas50 added the Expeditor: Bump Version Major Used by github.major_bump_labels to bump the Major version number. label Jun 4, 2020
@satyanash
Copy link

@tas50 manually specifying gem 'inspec', '2.2.64' fixes the require, but gives a different error:

Kitchen: Message: Could not load the 'inspec' verifier. Error: undefined method `resource_name' for main:Object

So, >= 2.2.64 may not be enough.

@satyanash
Copy link

Looks like kitchen-inspec will have to drop support for ruby 2.3. The last inspec version to support ruby 2.3 was 3.9.3. And specifying gem 'inspec', '3.9.3' still gives the following error:

Message: Could not load the 'inspec' verifier. Error: undefined method `resource_name' for main:Object

@tas50
Copy link
Contributor Author

tas50 commented Jun 4, 2020

@satyanash Can you give me a more complete stack trace on that errror?

@satyanash
Copy link

@tas50 More info on the setup:

kitchen-inspec  (1.3.2)
kitchen-dokken  (2.9.0)
test-kitchen    (2.5.1)
inspec          (3.9.3)

Here you go:

Kitchen: ---Nested Exception---
Kitchen: Class: NoMethodError
Kitchen: Message: undefined method `resource_name' for main:Object
Kitchen: ----------------------
Kitchen: ------Backtrace-------
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-2.5.1/lib/kitchen/plugin.rb:46:in `rescue in load'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-2.5.1/lib/kitchen/plugin.rb:35:in `load'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-2.5.1/lib/kitchen/verifier.rb:37:in `for_plugin'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-2.5.1/lib/kitchen/config.rb:339:in `new_verifier'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-2.5.1/lib/kitchen/config.rb:256:in `new_instance'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-2.5.1/lib/kitchen/config.rb:144:in `block in build_instances'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-2.5.1/lib/kitchen/config.rb:143:in `map'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-2.5.1/lib/kitchen/config.rb:143:in `with_index'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-2.5.1/lib/kitchen/config.rb:143:in `build_instances'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-2.5.1/lib/kitchen/config.rb:117:in `instances'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-2.5.1/lib/kitchen/command.rb:112:in `filtered_instances'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-2.5.1/lib/kitchen/command.rb:142:in `parse_subcommand'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-2.5.1/lib/kitchen/command/action.rb:35:in `block in call'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/2.3.0/benchmark.rb:293:in `measure'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-2.5.1/lib/kitchen/command/action.rb:34:in `call'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-2.5.1/lib/kitchen/cli.rb:52:in `perform'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-2.5.1/lib/kitchen/cli.rb:198:in `block (2 levels) in <class:CLI>'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/thor-0.20.3/lib/thor/command.rb:27:in `run'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in `invoke_command'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/thor-0.20.3/lib/thor/base.rb:466:in `start'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-2.5.1/bin/kitchen:13:in `block in <top (required)>'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-2.5.1/lib/kitchen/errors.rb:171:in `with_friendly_errors'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/test-kitchen-2.5.1/bin/kitchen:13:in `<top (required)>'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/bin/kitchen:23:in `load'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/bin/kitchen:23:in `<top (required)>'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:74:in `load'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:74:in `kernel_load'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:28:in `run'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-2.0.2/lib/bundler/cli.rb:465:in `exec'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-2.0.2/lib/bundler/cli.rb:27:in `dispatch'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-2.0.2/lib/bundler/cli.rb:18:in `start'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-2.0.2/exe/bundle:30:in `block in <top (required)>'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-2.0.2/lib/bundler/friendly_errors.rb:124:in `with_friendly_errors'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-2.0.2/exe/bundle:22:in `<top (required)>'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/bin/bundle:23:in `load'
Kitchen: /Users/satyanash/.rbenv/versions/2.3.1/bin/bundle:23:in `<main>'
Kitchen: ----End Backtrace-----

@satyanash
Copy link

satyanash commented Jun 5, 2020

@tas50 btw, I am able to get everything working for Ruby 2.3 with the following setup:

kitchen-inspec  (1.3.1)
kitchen-dokken  (2.9.0)
test-kitchen    (2.5.1)
inspec          (3.9.3)

So, most likely something changed in kitchen-inspec 1.3.2.

Copy link

@james-stocks james-stocks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @tas50 !
The major version boundary is a little odd since the breaking change (needing V2 plugins) was some time ago. I think it is best to bump it though.

@james-stocks james-stocks merged commit a31382a into master Jun 5, 2020
@james-stocks james-stocks deleted the inspec_2 branch June 5, 2020 08:53
@Annih
Copy link

Annih commented Jun 8, 2020

@james-stocks and @tas50, first thanks for that patch which properly follows sem-versioning.
Do you think something could be done for people blocked on v1? The 1.3.2 is broken due to the incorrect spec.

I think a yank would be too drastic, but a revert for a 1.3.3 could be great :D
What do you think?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Expeditor: Bump Version Major Used by github.major_bump_labels to bump the Major version number.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Incorrect lower bound specification for inspec dependency
4 participants