diff options
author | Bryan McLellan <btm@loftninjas.org> | 2014-04-01 08:08:04 -0400 |
---|---|---|
committer | Bryan McLellan <btm@loftninjas.org> | 2014-04-01 08:08:04 -0400 |
commit | 932d7656ff4d8afcb672359b1d622d64a4adc15e (patch) | |
tree | 5fbbfce4a89c424cf57b00a137ff22e291a170e1 | |
parent | 01db2c5d35f7052d01e2e30b02f3ff7439414ba3 (diff) | |
download | chef-932d7656ff4d8afcb672359b1d622d64a4adc15e.tar.gz |
Empty UPPER_CASE files for next release
-rw-r--r-- | CHANGELOG.md | 70 | ||||
-rw-r--r-- | CONTRIBUTIONS.md | 32 | ||||
-rw-r--r-- | DOC_CHANGES.md | 279 | ||||
-rw-r--r-- | RELEASE_NOTES.md | 185 |
4 files changed, 2 insertions, 564 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 016a933f0d..31b4972179 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,72 +2,6 @@ ## Unreleased -* Including a recipe from a cookbook not in the dependency graph logs - a MissingCookbookDependency warning. Fixes CHEF-4367. -* Improves syntax check speed for Ruby 1.9+, especially when using bundler. -* Send X-Remote-Request-Id header in order to be able to correlate actions during a single run. -* Fix for CHEF-5048. -* Fix for CHEF-5052. -* Fix for CHEF-5018. -* Add --validator option to `knife client create` to be able to create validator clients via knife. -* Add --delete-validators option to `knife client delete` in order to prevent accidental deletion of validator clients. -* Add --delete-validators option to `knife client bulk delete` in order to prevent accidental deletion of validator clients. -* Add -r / --runlist option to chef-client which permanently sets or changes the run_list of a node. -* CHEF-5030: clean up debian ifconfig provider code -* CHEF-5001: spec tests for multiple rollbacks -* Added ohai7 'machinename' attribute as source of `node_name` information -* CHEF-4773: add ruby-shadow support to Mac and FreeBSD distros -* Service Provider for MacOSX now supports `enable` and `disable` -* CHEF-5086: Add reboot_pending? helper to DSL -* Upgrade ohai to 7.0.0.rc.0 -* Make the initial bootstrap message more user friendly (CHEF-5102) -* Correctly handle exceptions in formatters when exception.message is nil (CHEF-4743) -* Fix convergence message in deploy provider (CHEF-4929) -* Make group resource idempotent when gid is specified as a string. (CHEF-4927) -* Non-dupable elements are now handled when duping attribute arrays. (CHEF-4799) -* ruby-shadow is not installed on cygwin platform anymore. (CHEF-4946) -* Upgrade chef-zero to 2.0, remove native-compiled puma as chef dependency. (CHEF-4901/CHEF-5005) -* Don't honor splay when sent USR1 signal. -* Don't set log_level in client.rb by default (CHEF-3698) -* Add IBM PowerKVM to Platform map. (CHEF-5135) -* Cookbook metadata now allows boolean and numeric attributes. (CHEF-4075) -* Knife ssh uses cloud port attribute when available. (CHEF-4962) -* Client info and debug logs now contain cookbook versions in addition to cookbook names. (CHEF-4643) -* ShellOut mixin now exposes a method to capture the live stream during command execution. (CHEF-5017) -* Service provider is now aware of maintenance state on Solaris. (CHEF-4990) -* Refactor Chef::Util::FileEdit to indicate the purpose of the former file_edited, now unwritten_changes?. (CHEF-3714) -* Fixed FileEdit#insert_line_if_no_match to match multiple times. (CHEF-4173) -* Hide passwords in error messages from the Subversion resource. (CHEF-4680) -* The dpkg package provider now supports epoch versions. (CHEF-1752) -* Multiple missing dependencies are now listed on knife cookbook upload. (CHEF-4851) -* Add a public file_edited? method to Chef::Util::FileEdit. (CHEF-3714) -* Package provider defaults to IPS provider on Solaris 5.11+ (CHEF-5037) -* Chef::REST works with frozen options. (CHEF-5064) -* Service provider now uses Systemd on ArchLinux. (CHEF-4905) -* Support knife node run_list add --before. (CHEF-3812) -* Don't destructively merge subhashes in hash_only_merge!. (CHEF-4918) -* Display correct host name in knife ssh error message (CHEF-5029) -* Knife::UI#confirm now has a default_choice option. (CHEF-5057) -* Add knife 'ssl check' and 'ssl fetch' commands for debugging SSL errors. (CHEF-4711) -* Usermod group provider is only used on OpenSuse. (OHAI-339) -* Add knife 'ssl check' and 'ssl fetch' commands for debugging SSL errors (CHEF-4711) -* Cron resource accepts a weekday attribute as a symbol. (CHEF-4848) -* Cron resource accepts special strings, e.g. @reboot (CHEF-2816) -* Call WIN32OLE.ole_initialize before using WMI (CHEF-4888) -* Fix TypeError when calling dup on un-dupable objects in DeepMerge -* Add optional client-side generation of client keys during registration (CHEF-4373) -* Restore warning for the overlay feature in `knife cookbook upload`, - which was accidentally removed in 11.0.0. -* Don't save the run_list during `node.save` when running with override run list. (CHEF-4443) -* Enable Content-Length validation for Chef::HTTP::Simple and fix issues around it. (CHEF-5041, CHEF-5100) -* Windows MSI Package Provider (CHEF-5087) -* Fix mount resource when device is a relative symlink (CHEF-4957) -* Increase bootstrap log_level when knife -V -V is set (CHEF-3610) -* Knife cookbook test should honor chefignore (CHEF-4203) -* Fix ImmutableMash and ImmutableArray to_hash and to_a methods (CHEF-5132) -* guard_interpreter attribute: use powershell\_script, other script resources in guards (CHEF-4553) -* Fix for CHEF-5169: add require for chef/config_fetcher +## Last Release: 11.12.0 RC1 (03/31/2014) -## Last Release: 11.10.0 (02/06/2014) - -http://docs.opscode.com/release/11-10/release_notes.html +http://www.getchef.com/blog/2014/03/31/release-candidates-chef-client-11-12-0-10-32-0/ diff --git a/CONTRIBUTIONS.md b/CONTRIBUTIONS.md index 9daf7afb40..97c9f2b973 100644 --- a/CONTRIBUTIONS.md +++ b/CONTRIBUTIONS.md @@ -6,35 +6,3 @@ Example Contribution: --> # Chef Client Contributions: -* **jonlives**: Changed the order of recipe and cookbook name setting. Fixes CHEF-5052. -* **jaymzh**: Added support for `enable` and `disable` to MacOSX service provider. -* **bossmc**: Made formatters more resilient to nil exception messages. -* **valodzka**: Fixed the convergence message in deploy provider. -* **linkfanel**: Made attribute arrays able to handle non-dupable elements while being duped. -* **linkfanel**: Removed ruby-shadow installation on cygwin platform. -* **lbragstad**: Add IBM PowerKVM to platform map. -* **slantview**: Allow boolean and numerics in cookbook metadata. -* **jeffmendoza**: Made knife to use cloud attribute for port when available. -* **ryotarai**: Added a method to capture IO for live stream. -* **sawanoboly**: Fixed service provider to be aware of maintenance state on Solaris. -* **cbandy**: Refactored Chef::Util::FileEdit. -* **cbandy**: Fixed insert_line_if_no_match to run multiple times. -* **pavelbrylov**: Modified subversion resource to hide password from error messages. -* **eherot**: Add support for epoch versions to the dpkg package provider. -* **jdmurphy**: Display all missing dependencies when uploading cookbooks. -* **nkrinner**: Add a public file_edited? method to Chef::Util::FileEdit. -* **ccope**: Made package provider to use IPS provider in Solaris 5.11+ -* **josephholsten**: Changed Chef::REST to be able to handle frozen options. -* **andreasrs**: Changed service provider to use Systemd on ArchLinux. -* **eherot**: Add support for epoch versions to the dpkg package provider. -* **jdmurphy**: Display all missing dependencies when uploading cookbooks. -* **nkrinner**: Add a public file_edited? method to Chef::Util::FileEdit. -* **jjasghar**: Output correct host name in knife ssh error message. -* **esigler**: Added default_choice option to Knife::UI#confirm. -* **DracoAter**: Add support to the Cron resource for special strings, e.g. @reboot. -* **ryotarai**: Add support to the Cron resource for weekday passed as a symbol. -* **thommay **: Made sure that `node.save` doesn't save the run_list when chef is running with override-run-list. -* **Maxime Caumartin**: Fix mount resource when device is a relative symlink. -* **jessehu**: Increase bootstrap log_level when knife -V -V is set -* **mveitas**: knife cookbook test honors chefignore -* **zuazo**: Fix ImmutableMash and ImmutableArray to_hash and to_a methods diff --git a/DOC_CHANGES.md b/DOC_CHANGES.md index f29d6ab132..b1121e2bf4 100644 --- a/DOC_CHANGES.md +++ b/DOC_CHANGES.md @@ -6,282 +6,3 @@ Example Doc Change: Description of the required change. --> -# Chef Client Doc Changes: - -### --validator option for `knife client create` -Boolean value. If set to true, knife creates a validator client o.w. it creates a user client. Default is false. - -### --delete-validators for `knife client delete` -Option that is required to be specified if user is attempting to delete a validator client. No effect while deleting a user client. - -### --delete-validators for `knife client bulk delete` -Option that is required to be specified if user is attempting to delete a validator client. If not specified users cannot delete a client if it's validator client. If specified knife asks users for confirmation of deleting clients and validator clients seperately. Some examples for scripting: - -To delete all non-validator clients: -`knife client bulk delete regexp --yes` - -To delete all clients including validators: -`knife client bulk delete regexp --delete-validators --yes` - -### -r / --runlist option for chef-client -Option similar to `-o` which sets or changes the run_list of a node permanently. - -### knife bootstrap -V -V - -Running ```knife bootstrap -V -V``` will run the initial chef-client with a log level of debug. - -### knife cookbook test - -```knife cookbook test``` respects chefignore files when selecting which files to test. - -### OHAI 7 Upgrade -Unless there are major issues, 11.12.0 will include OHAI 7. We already have ohai 7 docs in place. We probably need to add some notes to ohai 6 notes that one should now use the newer version when possible. - -### New knife command: `knife ssl check [URI]` - -The `knife ssl check` command is used to check or troubleshoot SSL -configuration. When run without arguments, it tests whether chef/knife -can verify the Chef server's SSL certificate. Otherwise it connects to -the server specified by the given URL. - -Examples: - -* Check knife's configuration against the chef-server: `knife ssl check` -* Check chef-client's configuration: `knife ssl check -c /etc/chef/client.rb` -* Check whether an external server's SSL certificate can be verified: - `knife ssl check https://www.getchef.com` - -### New knife command: `knife ssl fetch [URI]` - -The `knife ssl fetch` command is used to copy certificates from an HTTPS -server to the `trusted_certs_dir` of knife or `chef-client`. If the -certificates match the hostname of the remote server, this command is -all that is required for knife or chef-client to verify the remote -server in the future. WARNING: `knife` has no way to determine whether -the certificates were tampered with in transit. If that happens, -knife/chef-client will trust potentially forged/malicious certificates -until they are deleted from the `trusted_certs_dir`. Users are *VERY STRONGLY* -encouraged to verify the authenticity of the certificates downloaded -with `knife fetch` by some trustworthy means. - -Examples: - -* Fetch the chef server's certificates for use with knife: - `knife ssl fetch` -* Fetch the chef server's certificates for use with chef-client: - `knife ssl fetch -c /etc/chef/client.rb` -* Fetch the certificates from an arbitrary server: - `knife ssl fetch https://www.getchef.com` - -### OpenSUSE and SUSE differentiation - -With the recent change in OHAI to differentiate between SUSE (or SLES - SUSE Enterprise Linux Server) and OpenSUSE we need to update our docs to reflect following (quoting btm): - -* Platform SUSE should be changed to OpenSUSE everywhere that it previously meant OpenSUSE but said SUSE. -* Keeping SLES as platform SUSE is still a bit confusing, but that's the least horrible path we chose. -* It's all still very confusing. :) - -This page is an example but we probably want to search for `suse` in our doc repo and see if there is anywhere else. - -http://docs.opscode.com/dsl_recipe_method_platform_family.html - -### Cron Resource - -The weekday attribute now accepts the weekday as a symbol, e.g. :monday or :thursday. - -The new time attribute takes special time values specified by cron as a symbol, such as :reboot or :monthly. - -### SSL Verification Warnings - -Chef 11.12 emits verbose warnings when configured to not verify SSL -certificates. Though not verifying certificates is currently the default -setting, this is unsecure and a future release of Chef will change the -default setting so that SSL certificates are verified. - -Users are encouraged to resolve these warnings by adding the following -to their configuration files (client.rb or solo.rb): - -`ssl_verify_mode :verify_peer` - -This setting will check that the certificate presented by HTTPS servers -is signed by a trusted authority. By default, the on-premises Enterprise -Chef and Open Source Chef server use a self-signed certificate that -chef-client will not be able to verify, which will result in SSL errors -when connecting to the server. To check SSL connectivity with the -server, users can use the `knife ssl check` command. If the server is -configured to use an untrusted self-signed certificate, users can -configure chef-client to trust the remote server by copying the server's -certificate to the `trusted_certs_dir`. The `knife ssl fetch` command -can be used to automate this process; however, `knife` is not able to -determine whether certificates downloaded with `knife ssl fetch` have -been tampered with during the download, so users should verify the -authenticity of any certificates downloaded this way. - -If a user absolutely cannot enable certificate verification and wishes -to suppress SSL warnings, they can use HTTP instead of HTTPS as a -workaround. This is highly discouraged. If some behavior of Chef -prevents a user from enabling SSL certificate verification, they are -encouraged to file a bug report. - -### New Configuration Option: `local_key_generation` - -Chef 11.x servers support client-side generation of keys when creating -new clients. Generating the keys on the client provides two benefits: 1) -the private key never travels over the network, which improves security; -2) the CPU load imposed by key creation is moved to the node and -distributed, which allows the server to handle more concurrent client -registrations. - -For compatibility reasons, this feature is opt-in, but will likely be -the default or even only behavior in Chef 12. - -To enable it, add this to client.rb before running chef-client on a node -for the first time: - -``` -local_key_generation true -``` - -The default value of this setting is `false` - -*NOTE:* Chef servers that implement the 10.x API do not support this -feature. Enabling this on a client that connects to a 10.X API server -will cause client registration to silently fail. Don't do it. - -### Windows Installer (MSI) Package Provider - -The windows_package provider installs and removes Windows Installer (MSI) packages. -This provider utilizies the ProductCode extracted from the MSI package to determine -if the package is currently installed. - -You may use the ```package``` resource to use this provider, and you must use the -```package``` resource if you are also using the windows cookbook, which contains -the windows_package LWRP. - -#### Example - -``` -package "7zip" do - action :install - source 'C:\7z920.msi' -end -``` - -#### Actions -* :install -* :remove - -#### Attributes -* source - The location of the package to install. Default value: the ```name``` of the resource. -* options - Additional options that are passed to msiexec. -* installer_type - The type of package being installed. Can be auto-detected. Currently only :msi is supported. -* timeout - The time in seconds allowed for the package to successfully be installed. Defaults to 600 seconds. -* returns - Return codes that signal a successful installation. Defaults to 0. - -### New resource attribute: `guard_interpreter` -All resources have a new attribute, `guard_interpreter`, which specifies a -Chef script resource that should be used to evaluate a string command -passed to a guard. Any attributes of the evaluating resource may be specified in -the options that normally follow the guard's command string argument. For example: - - # Tell Chef to use bash to interpret the guard string. - # Then we can use a guard command that is valid for bash - # but not for csh for instance - bash 'backupsettings' do - guard_interpreter :bash - code 'cp ~/appsettings.json ~/backup/appsettings.json' - not_if '[[ -e ./appsettings.json ]]', :cwd => '~/backup' - end - -The argument for `guard_interpreter` may be set to any of the following values: -* The symbol name for a Chef Resource derived from the Chef `script` resource - such as `:bash`, `:powershell_script`, etc. -* The symbol `:default` which means that a resource is not used to evaluate - the guard command argument, it is simply executed by the default shell as in - previous releases of Chef. - -By default, `guard_interpreter` is set to `:default` in this release. - -#### Attribute inheritance with `guard_interpreter` - -When `guard_interpreter` is not set to `:default`, the resource that evaluates the command will -also inherit certain attribute values from the resource that contains the -guard. - -Inherited attributes for all `script` resources are: - -* `:cwd` -* `:environment` -* `:group` -* `:path` -* `:user` -* `:umask` - -For the `powershell_script` resource, the following attribute is inherited: -* `:architecture` - -Inherited attributes may be overridden by specifying the same attribute as an -argument to the guard itself. - -#### Guard inheritance example - -In the following example, the `:environment` hash only needs to be set once -since the `bash` resource that execute the guard will inherit the same value: - - script "javatooling" do - environment {"JAVA_HOME" => '/usr/lib/java/jdk1.7/home'} - code 'java-based-daemon-ctl.sh -start' - not_if 'java-based-daemon-ctl.sh -test-started' # No need to specify environment again - end - -### New `powershell_script` resource attribute: `convert_boolean_return` - -The `powershell_script` resource has a new attribute, `convert_boolean_return` -that causes the script interpreter to return 0 if the last line of the command -evaluted by PowerShell results in a boolean PowerShell data type that is true, or 1 if -it results in a boolean PowerShell data type that is false. For example, the -following two fragments will run successfully without error: - - powershell_script 'false' do - code '$false' - end - - powershell_script 'true' do - code '$true' - end - -But when `convert_boolean_return` is set to `true`, the "true" case above will -still succeed, but the false case will raise an exception: - - # Raises an exception - powershell_script 'false' do - convert_boolean_return true - code '$false' - end - -When used at recipe scope, the default value of `convert_boolean_return` is -`false` in this release. However, if `guard_interpreter` is set to -`:powershell_script`, the guard expression will be evaluted with a -`powershell_script` resource that has the `convert_boolean_return` attribute -set to `true`. - -#### Guard command example - -The behavior of `convert_boolean_return` is similar to the "$?" -expression's value after use of the `test` command in Unix-flavored shells and -its translation to an exit code for the shell. Since this attribute is set to -`true` when `powershell_script` is used via the `guard_interpreter` to -evaluate the guard expression, the behavior of `powershell_script` is very -similar to guards executed with Unix shell interpreters as seen below: - - bash 'make_safe_backup' do - code 'cp ~/data/nodes.json ~/data/nodes.bak' - not_if 'test -e ~/data/nodes.bak' - end - - # convert_boolean_return is true by default in guards - powershell_script 'make_safe_backup' do - guard_interpreter :powershell_script - code 'cp ~/data/nodes.json ~/data/nodes.bak' - not_if 'test-path ~/data/nodes.bak' - end diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index a4796c3e5a..dbde23c0fb 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -8,188 +8,3 @@ Details about the thing that changed that needs to get included in the Release N --> # Chef Client Release Notes: -#### `knife ssl check` and `knife ssl fetch` Commands - -As part of our process to transition to verifying SSL certificates by -default, we've added knife commands to help you test (and fix, if -needed) your SSL configuration. - -`knife ssl check` makes an SSL connection to your Chef server or any -other HTTPS server and tells you if the server presents a valid -certificate. If the certificate is not valid, knife will give further -information about the cause and some instructions on how to remedy the -issue. For example, if your Chef server uses an untrusted self-signed -certificate: - -``` -ERROR: The SSL certificate of chefserver.test could not be -verified -Certificate issuer data: -/C=US/ST=WA/L=Seattle/O=YouCorp/OU=Operations/CN=chefserver.test/emailAddress=you@example.com - -Configuration Info: - -OpenSSL Configuration: -* Version: OpenSSL 1.0.1e 11 Feb 2013 -* Certificate file: /usr/local/etc/openssl/cert.pem -* Certificate directory: /usr/local/etc/openssl/certs -Chef SSL Configuration: -* ssl_ca_path: nil -* ssl_ca_file: nil -* trusted_certs_dir: "/Users/ddeleo/.chef/trusted_certs" - -TO FIX THIS ERROR: - -If the server you are connecting to uses a self-signed certificate, you -must -configure chef to trust that server's certificate. - -By default, the certificate is stored in the following location on the -host -where your chef-server runs: - - /var/opt/chef-server/nginx/ca/SERVER_HOSTNAME.crt - -Copy that file to you trusted_certs_dir (currently: /home/user/.chef/trusted_certs) -using SSH/SCP or some other secure method, then re-run this command to confirm -that the server's certificate is now trusted. -``` - -`knife ssl fetch` allows you to automatically fetch a server's -certificates to your trusted certs directory. This provides an easy way -to configure chef to trust your self-signed certificates. Note that -knife cannot verify that the certificates haven't been tampered with, so -you should verify their content after downloading. - - -#### Unsecure SSL Verification Mode Now Triggers a Warning - -When `ssl_verify_mode` is set to `:verify_none`, Chef will print a -warning. Use `knife ssl check` to test SSL connectivity and then add -`ssl_verify_mode :verify_peer` to your configuration file to fix the -warning. Though `:verify_none` is currently the default, this will be -changed in a future release, so users are encouraged to be proactive in -testing and updating their SSL configuration. - -#### Chef Solo Missing Dependency Warning ([CHEF-4367](https://tickets.opscode.com/browse/CHEF-4367)) - -Chef 11.0 introduced ordered evaluation of non-recipe files in -cookbooks, based on the dependencies specified in your cookbooks' -metadata. This was a huge improvement on the previous behavior for all -chef users, but it also introduced a problem for chef-solo users: -because of the way chef-solo works, it was possible to use -`include_recipe` to load a recipe from a cookbook without specifying the -dependency in the metadata. This would load the recipe without having -evaluated the associated attributes, libraries, LWRPs, etc. in that -recipe's cookbook, and the recipe would fail to load with errors that -did not suggest the actual cause of the failure. - -We've added a check to `include_recipe` so that attempting to include a -recipe which is not a dependency of any cookbook specified in the run -list will now log a warning with a message describing the problem and -solution. In the future, this warning will become an error. - -#### Windows MSI Package Provider - -The first windows package provider has been added to core Chef. It supports Windows Installer (MSI) files only, -and maintains idempotency by using the ProductCode from inside the MSI to determine if the products installation state. - -``` -package "install 7zip" do - action :install - source 'c:\downloads\7zip.msi' -end -``` - -You can continue to use the windows_package LWRP from the windows cookbook alongside this provider. - -#### reboot_pending? - -We have added a ```reboot_pending?``` method to the recipe DSL. This method returns true or false if the operating system -has a rebooting pending due to updates and a reboot being necessary to complete the installation. It does not report if a reboot has been requested, e.g. if someone has scheduled a restart using shutdown. It currently supports Windows and Ubuntu Linux. - -``` -Chef::Log.warn "There is a pending reboot, which will affect this Chef run" if reboot_pending? - -execute "Install Application" do - command 'C:\application\setup.exe' - not_if { reboot_pending? } -end -``` - -#### FileEdit - -Chef::Util::FileEdit has been refactored into a Chef::Util::Editor class. The existing class continues to manage the files being edited while the new class handles the actual modification of the data. -Along with this refactor, #insert_line_if_no_match can now manipulate a file multiple times. FileEdit also now has a #file_edited? method that can be used to tell if changes were made to the file on disk. - -#### DeepMerge sub-hash precedence bugfix ([CHEF-4918](https://tickets.opscode.com/browse/CHEF-4918)) - -We discovered a bug where Chef incorrectly merged override attribute sub-hashes that were at least three levels deep as normal attributes. -This has been corrected, and is not expected to cause any behavior change -If you're an advanced user of attribute precedence, you may find some attributes were saved to your node object that you hadn't expected. - -#### Cron Resource - -The weekday attribute now accepts the weekday as a symbol, e.g. :monday or :thursday. -There is a new attribute named ```time``` that takes special cron time values as a symbol, such as :reboot or :monthly. - -#### `guard_interpreter` attribute - -All Chef resources now support the `guard_interpreter` attribute, which -enables you to use a Chef `script` such as `bash`, `powershell_script`, -`perl`, etc., to evaluate the string command passed to a -guard (i.e. `not_if` or `only_if` attribute). This addresses the related ticket -[CHEF-4553](https://tickets.opscode.com/browse/CHEF-4453) which is concerned -with the usability of the `powershell_script` resource, but also benefits -users of resources like `python`, `bash`, etc: - - # See CHEF-4553 -- let powershell_script execute the guard - powershell_script 'make_logshare' do - guard_interpreter :powershell_script - code 'new-smbshare logshare $env:systemdrive\\logs' - not_if 'get-smbshare logshare' - end - -#### `convert_boolean_return` attribute for `powershell_script` - -When set to `true`, the `convert_boolean_return` attribute will allow any script executed by -`powershell_script` that exits with a PowerShell boolean data type to convert -PowerShell boolean `$true` to exit status 0 and `$false` to exit status 1. - -The new attribute defaults to `false` except when the `powershell_script` resource is executing script passed to a guard attribute -via the `guard_interpreter` attribute in which case it is `true` by default. - -#### knife bootstrap log_level - -Running ```knife bootstrap -V -V``` will run the initial chef-client with a log level of debug. - -#### knife cookbook test - -Knife cookbook test now respects [chefignore files](http://docs.opscode.com/essentials_repository.html#chefignore-files), allowing you to exclude unrelated ruby code such as unit tests. - -#### Miscellaneous - -* The subversion resource will now mask plaintext passwords in error output. -* The debian pkg provider now supports epochs in the version string. -* When a cookbook upload is missing multiple dependencies, all of them are now listed. -* knife node run_list add now supports a --before option. - -#### OHAI 7 - -After spending 3 months in the RC stage, OHAI 7 is now included in Chef Client 11.10.0. Note that Chef Client 10.32.0 still includes OHAI 6. - -For more information about the changes in OHAI 7 please see our previous blog post [here](http://www.getchef.com/blog/2014/01/20/ohai-7-0-release-candidate/). - -# Chef Client Breaking Changes: - -#### OpenSuse and Suse Differentiation - -The Ohai version currently included in Chef reports both SUSE and OpenSUSE platforms as "suse" and the way to differentiate between these two platforms has been to use the version numbers. But since SUSE version numbers have caught up with OpenSUSE, it's not possible to differentiate between these platforms anymore. - -This issue is being resolved in Ohai 7 that is included in the current release of Chef Client by reporting these two platforms separately. This resolves the overall problem however it's a breaking change in the sense that OpenSUSE platforms will be reported as "opensuse" as the platform. - -Normally Chef would require a major version bump for this change but since the original scenario is currently broken we've decided to include this change without a major version bump in Chef. - -If you need to differentiate between OpenSUSE and SUSE in your cookbooks, please make sure the differentiation logic is updated to use the new :platform attribute values rather than the :platform_version in your cookbooks before upgrading to this version. - -None. |