You see failures like the following:
[2020-06-16T11:54:00+08:00] FATAL: Mixlib::ShellOut::ShellCommandFailed: chef_client_updater[update chef-client] (chef_client_updater::default line 20) had an error: Mixlib::ShellOut::ShellCommandFailed: chef_gem[mixlib-install] (C:/chef/cache/cookbooks/chef_client_updater/providers/default.rb line 34) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with , but received '2'
Because you are trying to use the Chef Client Updater cookbook throughout an estate which does not have broad Internet access.
An airgapped Chef estate.
If you direct your attention to the properties section of the Chef Client Updater public README on GitHub, you'll see the following listed:
download_url_override - The direct URL for the Chef Infra Client package.
checksum - The SHA-256 checksum of the Chef Infra Client package from the direct URL.
rubygems_url - The location to source rubygems. Replaces the default https://www.rubygems.org.
handle_zip_download_url - Url to the Handle zip archive used by Windows. Used to override the default in airgapped environments. default: https://download.sysinternals.com/files/Handle.zip (Note that you can also override the default['chef_client_updater']['handle_exe_path'] attribute if you already have that binary somewhere on your system)
You'll have to configure these, at minimum, in order to successfully upgrade Chef Client in an airgapped environment. The work to set up the required internal mirrors and artifact stores lies outside of the scope of this article, and is the responsibility of the user.