chef 17.9.46 → 17.9.52

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cc3b851be6c3acc8ad269703bdf6479e5eac51ba4ad1852619bd377eeefafa47
4
- data.tar.gz: cb57fe58ef00ff36438775b4abc2de16cb87dbe3703436d40b755ba203e147cb
3
+ metadata.gz: 944116661453cac4b29602c659f1f9ce7bb6e7c5b6742ab4d8982fdb7ccf9543
4
+ data.tar.gz: bbc55e863772d4e5d72d5936b2a034c43746502dea51734b9e1402b0055070e5
5
5
  SHA512:
6
- metadata.gz: b1586db08d540da3dc8eeeb7321527388ea896b7e8cbb791cb27a9e16086753d7cf0b1bf691b1d6613c88a6407dd25b5dd07d41553c00c3e1d1d2e7fa262f067
7
- data.tar.gz: 88e88ad061f92c9e1ece46981a63933b4d833a77c1277eb9c5eb904a6df6888ce2764e7270360b8a637b16bc031d97022ceeb3dc45983d8b2900469642b0e131
6
+ metadata.gz: bdb9b7dc0f162c740995850f6a32a32c618448cc5d475dba7d30acec38eaa2e98a259b3051f82d7ed63ba5000a9ac259b6c0643d1a7cc05b69bdb7d212d266f5
7
+ data.tar.gz: 17418b25e596b3bf1d9942357b99c23cf0e9ffdf3a74a57e1943d48c26f8efd410ca50fc1e64740c721e8a97761bcd3fe504a434ad80a2cb40f4adf3419b3b25
@@ -27,7 +27,7 @@ class Chef
27
27
 
28
28
  # Controls what is done with the resulting report after the Chef InSpec run.
29
29
  # Accepts a single string value or an array of multiple values.
30
- # Accepted values: 'chef-server-automate', 'chef-automate', 'json-file', 'audit-enforcer', 'cli'
30
+ # Accepted values: 'chef-server-automate', 'chef-automate', 'json-file', 'audit-enforcer', 'compliance-enforcer', 'cli'
31
31
  "reporter" => nil,
32
32
 
33
33
  # Controls if Chef InSpec profiles should be fetched from Chef Automate or Chef Infra Server
@@ -1,7 +1,7 @@
1
1
  class Chef
2
2
  module Compliance
3
3
  module Reporter
4
- class AuditEnforcer
4
+ class ComplianceEnforcer
5
5
  class ControlFailure < StandardError; end
6
6
 
7
7
  def send_report(report)
@@ -7,7 +7,7 @@ class Chef
7
7
  class Runner < EventDispatch::Base
8
8
  extend Forwardable
9
9
 
10
- SUPPORTED_REPORTERS = %w{chef-automate chef-server-automate json-file audit-enforcer cli}.freeze
10
+ SUPPORTED_REPORTERS = %w{chef-automate chef-server-automate json-file audit-enforcer compliance-enforcer cli}.freeze
11
11
  SUPPORTED_FETCHERS = %w{chef-automate chef-server}.freeze
12
12
 
13
13
  attr_accessor :run_id
@@ -300,7 +300,7 @@ class Chef
300
300
  require_relative "reporter/json_file"
301
301
  path = node.dig("audit", "json_file", "location")
302
302
  Chef::Compliance::Reporter::JsonFile.new(file: path)
303
- when "audit-enforcer"
303
+ when "audit-enforcer", "compliance-enforcer"
304
304
  require_relative "reporter/compliance_enforcer"
305
305
  Chef::Compliance::Reporter::ComplianceEnforcer.new
306
306
  when "cli"
data/lib/chef/resource.rb CHANGED
@@ -341,6 +341,7 @@ class Chef
341
341
  def subscribes(action, resources, timing = :delayed)
342
342
  resources = [resources].flatten
343
343
  resources.each do |resource|
344
+ validate_resource_spec!(resource)
344
345
  if resource.is_a?(String)
345
346
  resource = UnresolvedSubscribes.new(resource, run_context)
346
347
  end
data/lib/chef/version.rb CHANGED
@@ -23,7 +23,7 @@ require_relative "version_string"
23
23
 
24
24
  class Chef
25
25
  CHEF_ROOT = File.expand_path("..", __dir__)
26
- VERSION = Chef::VersionString.new("17.9.46")
26
+ VERSION = Chef::VersionString.new("17.9.52")
27
27
  end
28
28
 
29
29
  #
@@ -1,8 +1,8 @@
1
1
  require "spec_helper"
2
2
  require "chef/compliance/reporter/compliance_enforcer"
3
3
 
4
- describe Chef::Compliance::Reporter::AuditEnforcer do
5
- let(:reporter) { Chef::Compliance::Reporter::AuditEnforcer.new }
4
+ describe Chef::Compliance::Reporter::ComplianceEnforcer do
5
+ let(:reporter) { Chef::Compliance::Reporter::ComplianceEnforcer.new }
6
6
 
7
7
  it "does not raise error for a successful InSpec report" do
8
8
  report = {
@@ -44,6 +44,6 @@ describe Chef::Compliance::Reporter::AuditEnforcer do
44
44
 
45
45
  expect {
46
46
  reporter.send_report(report)
47
- }.to raise_error(Chef::Compliance::Reporter::AuditEnforcer::ControlFailure, "Audit c2 has failed. Aborting chef-client run.")
47
+ }.to raise_error(Chef::Compliance::Reporter::ComplianceEnforcer::ControlFailure, "Audit c2 has failed. Aborting chef-client run.")
48
48
  end
49
49
  end
@@ -300,27 +300,35 @@ describe Chef::Resource do
300
300
  end
301
301
 
302
302
  describe "subscribes" do
303
+ context "with syntax error in resources parameter" do
304
+ it "raises an exception immediately" do
305
+ expect do
306
+ resource.subscribes(:run, "typo[missing-closing-bracket")
307
+ end.to raise_error(Chef::Exceptions::InvalidResourceSpecification)
308
+ end
309
+ end
310
+
303
311
  it "should make resources appear in the actions hash of subscribed nodes" do
304
- run_context.resource_collection << Chef::Resource::ZenMaster.new("coffee")
312
+ run_context.resource_collection << Chef::Resource::ZenMaster.new("coffee", run_context)
305
313
  zr = run_context.resource_collection.find(zen_master: "coffee")
306
314
  resource.subscribes :reload, zr
307
315
  expect(zr.delayed_notifications.detect { |e| e.resource.name == "funk" && e.action == :reload }).not_to be_nil
308
316
  end
309
317
 
310
318
  it "should make resources appear in the actions hash of subscribed nodes" do
311
- run_context.resource_collection << Chef::Resource::ZenMaster.new("coffee")
319
+ run_context.resource_collection << Chef::Resource::ZenMaster.new("coffee", run_context)
312
320
  zr = run_context.resource_collection.find(zen_master: "coffee")
313
321
  resource.subscribes :reload, zr
314
322
  expect(zr.delayed_notifications.detect { |e| e.resource.name == resource.name && e.action == :reload }).not_to be_nil
315
323
 
316
- run_context.resource_collection << Chef::Resource::ZenMaster.new("bean")
324
+ run_context.resource_collection << Chef::Resource::ZenMaster.new("bean", run_context)
317
325
  zrb = run_context.resource_collection.find(zen_master: "bean")
318
326
  zrb.subscribes :reload, zr
319
327
  expect(zr.delayed_notifications.detect { |e| e.resource.name == resource.name && e.action == :reload }).not_to be_nil
320
328
  end
321
329
 
322
330
  it "should make subscribed resources be capable of acting immediately" do
323
- run_context.resource_collection << Chef::Resource::ZenMaster.new("coffee")
331
+ run_context.resource_collection << Chef::Resource::ZenMaster.new("coffee", run_context)
324
332
  zr = run_context.resource_collection.find(zen_master: "coffee")
325
333
  resource.subscribes :reload, zr, :immediately
326
334
  expect(zr.immediate_notifications.detect { |e| e.resource.name == resource.name && e.action == :reload }).not_to be_nil
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef
3
3
  version: !ruby/object:Gem::Version
4
- version: 17.9.46
4
+ version: 17.9.52
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Jacob
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-08 00:00:00.000000000 Z
11
+ date: 2022-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chef-config
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 17.9.46
19
+ version: 17.9.52
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 17.9.46
26
+ version: 17.9.52
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: chef-utils
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 17.9.46
33
+ version: 17.9.52
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 17.9.46
40
+ version: 17.9.52
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: train-core
43
43
  requirement: !ruby/object:Gem::Requirement