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

libraries/windows_updates.rb:18:in `[]': no implicit conversion of String into Integer (TypeError) #13

Closed
shyamdayals opened this issue Jun 22, 2019 · 9 comments

Comments

@shyamdayals
Copy link

Describe the bug

baseline scans works fine on Windows 2012 which is unsupported. But fails on Windows 2012 R2 with the following error.

Traceback (most recent call last):
27: from /usr/bin/inspec:122:in <main>' 26: from /usr/bin/inspec:122:in load'
25: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/inspec-3.2.6/bin/inspec:12:in <top (required)>' 24: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/thor-0.20.3/lib/thor/base.rb:466:in start'
23: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/thor-0.20.3/lib/thor.rb:387:in dispatch' 22: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in invoke_command'
21: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/thor-0.20.3/lib/thor/command.rb:27:in run' 20: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/inspec-3.2.6/lib/inspec/cli.rb:251:in exec'
19: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/inspec-3.2.6/lib/inspec/runner.rb:110:in run' 18: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/inspec-3.2.6/lib/inspec/runner.rb:103:in load'
17: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/inspec-3.2.6/lib/inspec/runner.rb:103:in each' 16: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/inspec-3.2.6/lib/inspec/runner.rb:104:in block in load'
15: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/inspec-3.2.6/lib/inspec/runner.rb:285:in register_rule' 14: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/inspec-3.2.6/lib/inspec/runner.rb:285:in flat_map'
13: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/inspec-3.2.6/lib/inspec/runner.rb:285:in each' 12: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/inspec-3.2.6/lib/inspec/runner.rb:286:in block in register_rule'
11: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/inspec-3.2.6/lib/inspec/runner.rb:278:in get_check_example' 10: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/inspec-3.2.6/lib/inspec/runner.rb:328:in add_resource'
9: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/inspec-3.2.6/lib/inspec/runner_rspec.rb:27:in example_group' 8: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:260:in block in define_example_group_method'
7: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:386:in subclass' 6: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/example_group.rb:422:in set_it_up'
5: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/metadata.rb:258:in create' 4: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/metadata.rb:133:in populate'
3: from /opt/inspec/embedded/lib/ruby/gems/2.5.0/gems/rspec-core-3.8.0/lib/rspec/core/metadata.rb:180:in build_description_from' 2: from libraries/windows_updates.rb:42:in to_s'
1: from libraries/windows_updates.rb:18:in title' libraries/windows_updates.rb:18:in []': no implicit conversion of String into Integer (TypeError)

@Stromweld
Copy link

I'm getting the same error on Windows 2016 using the windows-patch-baseline profile.

Running handlers:
[2020-04-08T15:18:09-05:00] WARN: DEPRECATION: InSpec Attributes are being renamed to InSpec Inputs to avoid confusion with Chef Attributes. Use :inputs in your kitchen.yml verifier config instead of :attributes.
[2020-04-08T15:18:12-05:00] ERROR: Report handler Chef::Handler::AuditReport raised #<TypeError: no implicit conversion of String into Integer>
[2020-04-08T15:18:12-05:00] ERROR: libraries/windows_updates.rb:18:in `[]'
[2020-04-08T15:18:12-05:00] ERROR: libraries/windows_updates.rb:18:in `title'
[2020-04-08T15:18:12-05:00] ERROR: libraries/windows_updates.rb:42:in `to_s'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/metadata.rb:179:in `build_description_from'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/metadata.rb:133:in `populate'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/metadata.rb:257:in `create'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:422:in `set_it_up'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:386:in `subclass'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:260:in `block in define_example_group_method'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/inspec-core-4.18.100/lib/inspec/runner_rspec.rb:28:in `example_group'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/inspec-core-4.18.100/lib/inspec/runner.rb:312:in `add_resource'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/inspec-core-4.18.100/lib/inspec/runner.rb:276:in `get_check_example'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/inspec-core-4.18.100/lib/inspec/runner.rb:284:in `block in register_rule'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/inspec-core-4.18.100/lib/inspec/runner.rb:283:in `each'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/inspec-core-4.18.100/lib/inspec/runner.rb:283:in `flat_map'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/inspec-core-4.18.100/lib/inspec/runner.rb:283:in `register_rule'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/inspec-core-4.18.100/lib/inspec/runner.rb:123:in `block in load'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/inspec-core-4.18.100/lib/inspec/runner.rb:122:in `each'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/inspec-core-4.18.100/lib/inspec/runner.rb:122:in `load'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/inspec-core-4.18.100/lib/inspec/runner.rb:129:in `run'
[2020-04-08T15:18:12-05:00] ERROR: C:/chef/cache/cookbooks/audit/files/default/handler/audit_report.rb:177:in `call'
[2020-04-08T15:18:12-05:00] ERROR: C:/chef/cache/cookbooks/audit/files/default/handler/audit_report.rb:82:in `report'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.9.17-universal-mingw32/lib/chef/handler.rb:256:in `run_report_unsafe'
[2020-04-08T15:18:12-05:00] ERROR: C:/chef/cache/cookbooks/audit/files/default/handler/audit_report.rb:100:in `run_report_safely'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.9.17-universal-mingw32/lib/chef/handler.rb:123:in `block in run_report_handlers'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.9.17-universal-mingw32/lib/chef/handler.rb:121:in `each'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.9.17-universal-mingw32/lib/chef/handler.rb:121:in `run_report_handlers'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.9.17-universal-mingw32/lib/chef/handler.rb:133:in `block in <class:Handler>'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.9.17-universal-mingw32/lib/chef/client.rb:417:in `block in run_completed_successfully'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.9.17-universal-mingw32/lib/chef/client.rb:416:in `each'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.9.17-universal-mingw32/lib/chef/client.rb:416:in `run_completed_successfully'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.9.17-universal-mingw32/lib/chef/client.rb:292:in `run'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.9.17-universal-mingw32/lib/chef/application.rb:320:in `run_with_graceful_exit_option'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.9.17-universal-mingw32/lib/chef/application.rb:296:in `block in run_chef_client'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.9.17-universal-mingw32/lib/chef/local_mode.rb:42:in `with_server_connectivity'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.9.17-universal-mingw32/lib/chef/application.rb:279:in `run_chef_client'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.9.17-universal-mingw32/lib/chef/application/base.rb:330:in `run_application'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.9.17-universal-mingw32/lib/chef/application.rb:68:in `run'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-bin-15.9.17/bin/chef-client:25:in `<top (required)>'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/bin/chef-client:192:in `load'
[2020-04-08T15:18:12-05:00] ERROR: C:/opscode/chef/bin/chef-client:192:in `<main>'
  - Chef::Handler::AuditReport
Running handlers complete

@Stromweld
Copy link

found this which may be the fix:

def title
  @data[0]['Title']
end

taken from this fork nandeshguru@60f2e6e

@danielcbright
Copy link

I've confirmed this is still an issue, I'm making a PR to address this today

This is what I see when I run the profile on a Windows 2019 box with no patches available:

[2020-04-23T06:46:01-07:00] ERROR: Report handler Chef::Handler::AuditReport raised #<TypeError: no implicit conversion of String into Integer>
[2020-04-23T06:46:01-07:00] ERROR: libraries/windows_updates.rb:18:in `[]'
[2020-04-23T06:46:01-07:00] ERROR: libraries/windows_updates.rb:18:in `title'
[2020-04-23T06:46:01-07:00] ERROR: libraries/windows_updates.rb:42:in `to_s'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/metadata.rb:179:in `build_description_from'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/metadata.rb:133:in `populate'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/metadata.rb:257:in `create'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:422:in `set_it_up'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:386:in `subclass'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:260:in `block in define_example_group_method'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/inspec-core-4.18.104/lib/inspec/runner_rspec.rb:28:in `example_group'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/inspec-core-4.18.104/lib/inspec/runner.rb:312:in `add_resource'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/inspec-core-4.18.104/lib/inspec/runner.rb:276:in `get_check_example'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/inspec-core-4.18.104/lib/inspec/runner.rb:284:in `block in register_rule'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/inspec-core-4.18.104/lib/inspec/runner.rb:283:in `each'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/inspec-core-4.18.104/lib/inspec/runner.rb:283:in `flat_map'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/inspec-core-4.18.104/lib/inspec/runner.rb:283:in `register_rule'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/inspec-core-4.18.104/lib/inspec/runner.rb:123:in `block in load'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/inspec-core-4.18.104/lib/inspec/runner.rb:122:in `each'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/inspec-core-4.18.104/lib/inspec/runner.rb:122:in `load'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/inspec-core-4.18.104/lib/inspec/runner.rb:129:in `run'
[2020-04-23T06:46:01-07:00] ERROR: c:/chef/cache/cookbooks/audit/files/default/handler/audit_report.rb:183:in `call'
[2020-04-23T06:46:01-07:00] ERROR: c:/chef/cache/cookbooks/audit/files/default/handler/audit_report.rb:82:in `report'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.10.12-universal-mingw32/lib/chef/handler.rb:256:in `run_report_unsafe'
[2020-04-23T06:46:01-07:00] ERROR: c:/chef/cache/cookbooks/audit/files/default/handler/audit_report.rb:100:in `run_report_safely'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.10.12-universal-mingw32/lib/chef/handler.rb:123:in `block in run_report_handlers'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.10.12-universal-mingw32/lib/chef/handler.rb:121:in `each'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.10.12-universal-mingw32/lib/chef/handler.rb:121:in `run_report_handlers'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.10.12-universal-mingw32/lib/chef/handler.rb:133:in `block in <class:Handler>'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.10.12-universal-mingw32/lib/chef/client.rb:426:in `block in run_completed_successfully'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.10.12-universal-mingw32/lib/chef/client.rb:425:in `each'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.10.12-universal-mingw32/lib/chef/client.rb:425:in `run_completed_successfully'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.10.12-universal-mingw32/lib/chef/client.rb:292:in `run'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.10.12-universal-mingw32/lib/chef/application.rb:320:in `run_with_graceful_exit_option'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.10.12-universal-mingw32/lib/chef/application.rb:296:in `block in run_chef_client'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.10.12-universal-mingw32/lib/chef/local_mode.rb:42:in `with_server_connectivity'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.10.12-universal-mingw32/lib/chef/application.rb:279:in `run_chef_client'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.10.12-universal-mingw32/lib/chef/application/base.rb:330:in `run_application'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-15.10.12-universal-mingw32/lib/chef/application.rb:68:in `run'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/embedded/lib/ruby/gems/2.6.0/gems/chef-bin-15.10.12/bin/chef-client:25:in `<top (required)>'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/bin/chef-client:194:in `load'
[2020-04-23T06:46:01-07:00] ERROR: C:/opscode/chef/bin/chef-client:194:in `<main>'
  - Chef::Handler::AuditReport
Running handlers complete
Chef Infra Client finished, 0/2 resources updated in 24 seconds

I need to test on other versions of Windows to make sure the fix works for 2012, 2016 and Windows 10

@danielcbright
Copy link

well I can't actually get it to error out reliably, can anyone share more specific circumstances in which this occurs?

@Stromweld
Copy link

Stromweld commented Apr 23, 2020

I'm running latest version of chef 15 and latest audit coobook with this profile set in the attributes. Instance is a Windows 2016 machine running on AWS ec2. Instance is standard windows image from marketplace.

Is there any other specific info you're looking for?

@Stromweld
Copy link

Stromweld commented Apr 23, 2020

Here's the attributes I'm overriding from defaults in the audit cookbook:

node.default['audit']['reporter'] = 'chef-server-automate'
node.default['audit']['fetcher'] = 'chef-server'
node.default['audit']['chef_node_attribute_enabled'] = true
# node.default['audit']['interval']['enabled'] = true
# node.default['audit']['interval']['time'] = 360
node.default['audit']['profiles'] = {
                                      windows_patch_base: {
                                        compliance: 'admin/windows-patch-baseline'
                                      },
                                    }

@bnwoods
Copy link

bnwoods commented Apr 27, 2020

Just to add my voice to the pile: this does not appear to fix the issue in the case when there are no patches available.

@Stromweld
Copy link

@rndmh3ro @chris-rock I was wondering if you guys may be able to help us on this one.

@schurzi
Copy link
Contributor

schurzi commented Sep 14, 2021

should be fixed by #26 if you still have problems, please comment

@schurzi schurzi closed this as completed Sep 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants