Breaking Change in 12.4.0?

Before I raise an issue on this I wanted to check to see if what I’m seeing
is accurate.

As of today we are seeing several CI jobs failing for cookbooks with errors
like this:

NoMethodError
-------------
undefined method `a_method_in_my_library’ for LWRP resource
my_lwrp from cookbook my_cookbook

Reading through
https://www.chef.io/blog/2015/06/24/chef-client-12-4-0-released/ (the
section titled “LWRPs are no longer automatically placed in the
Chef::Resource namespace”) seems to be the key info. This implies it should
be nothing more than a deprecation, however it seems to be causing an
actual failure. Here is a snippet of what we are doing:

::Chef::Resource::MyLwrp.send(:include, ::My::Module)
my_lwrp ‘blah’ do
resource_file a_method_in_my_library
end

This works fine on 12.3.0 and only started failing as of 12.4.0. This feels
like a pretty common pattern and I think the deprecation message is fine,
but feels like this should continue to work in 12.4.0?

Thanks

Looks like a bug considering it worked before and now it does not. Can you
file an issue on Github. If you have reproducible test case, that would be
awesome.
Thanks,
Jay

On Thu, Jun 25, 2015 at 7:09 AM David Petzel davidpetzel@gmail.com wrote:

Before I raise an issue on this I wanted to check to see if what I’m
seeing is accurate.

As of today we are seeing several CI jobs failing for cookbooks with
errors like this:

NoMethodError
-------------
undefined method `a_method_in_my_library’ for LWRP resource
my_lwrp from cookbook my_cookbook

Reading through
https://www.chef.io/blog/2015/06/24/chef-client-12-4-0-released/ (the
section titled “LWRPs are no longer automatically placed in the
Chef::Resource namespace”) seems to be the key info. This implies it should
be nothing more than a deprecation, however it seems to be causing an
actual failure. Here is a snippet of what we are doing:

::Chef::Resource::MyLwrp.send(:include, ::My::Module)
my_lwrp ‘blah’ do
resource_file a_method_in_my_library
end

This works fine on 12.3.0 and only started failing as of 12.4.0. This
feels like a pretty common pattern and I think the deprecation message is
fine, but feels like this should continue to work in 12.4.0?

Thanks

Issue: https://github.com/chef/chef/issues/3607
Test Case: https://github.com/dpetzel/chef_12_4_lwrp_method_include

On Thu, Jun 25, 2015 at 11:30 AM, Jay Mundrawala jdm@chef.io wrote:

Looks like a bug considering it worked before and now it does not. Can you
file an issue on Github. If you have reproducible test case, that would be
awesome.
Thanks,
Jay

On Thu, Jun 25, 2015 at 7:09 AM David Petzel davidpetzel@gmail.com
wrote:

Before I raise an issue on this I wanted to check to see if what I’m
seeing is accurate.

As of today we are seeing several CI jobs failing for cookbooks with
errors like this:

NoMethodError
-------------
undefined method `a_method_in_my_library’ for LWRP resource
my_lwrp from cookbook my_cookbook

Reading through
https://www.chef.io/blog/2015/06/24/chef-client-12-4-0-released/ (the
section titled “LWRPs are no longer automatically placed in the
Chef::Resource namespace”) seems to be the key info. This implies it should
be nothing more than a deprecation, however it seems to be causing an
actual failure. Here is a snippet of what we are doing:

::Chef::Resource::MyLwrp.send(:include, ::My::Module)
my_lwrp ‘blah’ do
resource_file a_method_in_my_library
end

This works fine on 12.3.0 and only started failing as of 12.4.0. This
feels like a pretty common pattern and I think the deprecation message is
fine, but feels like this should continue to work in 12.4.0?

Thanks