Skip to main content

Deprecation: Deprecation of old shell_out APIs (CHEF-26)

[edit on GitHub]

The functionality of multiple old shell_out APIs has been collapsed into the shell_out API itself, and the old methods have been deprecated.

The shell_out_compact API has been migrated into shell_out, so those methods can be renamed. The functionality of shell_out_compact_timeout and shell_out_with_timeout have been migrated into shell_out for internal resources, and will be migrated into custom resources and LWRPs in Chef-15, in the meantime consumers should use shell_out with a timeout: new_resource.timeout option. The functionality of shell_out_with_systems_locale has been replaced by the default_env: false flag.

The “banged” versions of those APIs (e.g. shell_out_compact!) changes identically to use shell_out!.

Example

The following code examples need to be changed to the corresponding code below:

shell_out_compact('rpm', '-qa')
shell_out_compact_timeout('rpm', '-qa')
shell_out_with_timeout('rpm', '-qa')
shell_out_with_systems_locale('rpm', '-qa')

Remediation

You now need to use shell_out! instead:

shell_out('rpm', '-qa')
shell_out('rpm', '-qa', timeout: new_resource.timeout)
shell_out('rpm', '-qa', timeout: new_resource.timeout)
shell_out('rpm', '-qa', default_env: false)

Was this page helpful?