Closed tknerr closed 7 years ago
Googling doesn't help too much, the only stuff I'm finding are logs from travis-ci: http://www.google.com/search?q="AptRepository+already+exists!+Deprecation+class+overwrites+LWRP+resource+apt_repository+from+cookbook+apt"
This appears to be coming from Chef::Platform::HandlerMap in 12.4.1, though it isn't obvious why ChefSpec is triggering these warnings. FWIW, I see similar errors using the sudo cookbook. @jkeiser, can you shed any light on why we've begun to see these messages?
Thanks!
I'm getting similar warning for a custom LWRP
[2015-10-01T10:16:47+01:00] WARN: You declared a new resource #<Class:0x007fa901bac690> for resource #{resource_name}, but it comes alphabetically after LWRP resource #{resource_name} from cookbook #{cookbook_name} and has the same filters ({}), so it will not be used. Use override: true if you want to use it for #{resource_name}.
[2015-10-01T10:16:47+01:00] WARN: #{resource_name} already exists! Deprecation class overwrites LWRP resource #{resource_name} from cookbook #{cookbook_name}
I've also noticed that this warning only comes when I use ChefSpec::Runner
runner = ChefSpec::ServerRunner.new do |node, server|
ChefSpec::SoloRunner
doesn't go around whining about this.
Hope this helps to narrow down the issue a bit.
Is this still present with the recently released Chefspec 4.4.0 version? Am 01.10.2015 11:46 vorm. schrieb "Deepu Mohan Puthrote" < notifications@github.com>:
I'm getting similar warning for a custom LWRP
[2015-10-01T10:16:47+01:00] WARN: You declared a new resource #Class:0x007fa901bac690 for resource #{resource_name}, but it comes alphabetically after LWRP resource #{resource_name} from cookbook #{cookbook_name} and has the same filters ({}), so it will not be used. Use override: true if you want to use it for #{resource_name}. [2015-10-01T10:16:47+01:00] WARN: #{resource_name} already exists! Deprecation class overwrites LWRP resource #{resource_name} from cookbook #{cookbook_name}
I've also noticed that this warning only comes when I use ChefSpec::Runner
runner = ChefSpec::ServerRunner.new do |node, server|
ChefSpec::SoloRunner doesn't go around whining about this.
Hope this helps to narrow down the issue a bit.
— Reply to this email directly or view it on GitHub https://github.com/chef-cookbooks/apt/issues/163#issuecomment-144679318.
@tknerr, yes I can confirm I'm still seeing this with ChefSpec 4.4.0
(Posted in issue 642 above, reposting here) Hey all, a hack workaround for this is to redirect stdout during the chefspec converge, and restore it afterwards. Code:
let (:chef_run) do
# Redirecting stdout to suppress 'Deprecation class overwrites LWRP' noise.
# (ref https://github.com/sethvargo/chefspec/issues/642)
old_std_out = $stdout.clone
$stdout.reopen('tmp_std_out.txt', 'w')
result = chef_runner.converge(described_recipe)
$stdout.reopen(old_std_out)
File.read('tmp_std_out.txt').each_line do |lin|
puts lin unless lin =~ /Deprecation class overwrites LWRP resource/
end
File.delete('tmp_std_out.txt')
result
end
We'll be solving this soon by using compat_resource to provide the update and repository functionality. This aligns the code base with core chef and eliminates double code loading
We've removed the sources from this cookbook so you shouldn't see this warnings in the 6.0 release now.
I recently noticed that I'm getting lots of these warnings when using the apt cookbook:
This is using Chef 12.4.1 with chef zero provisioner, happening during a chefspec run