summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* turboize arrayslcg/turbo-mergeLamont Granquist2017-10-171-10/+36
| | | | Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* turbo attribute mergingLamont Granquist2017-10-161-1/+16
| | | | Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* Per-container deep merge cachingLamont Granquist2017-10-098-152/+311
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replaces the one-big top level deep merge cache with individual deep merge caches in every container. The Immutable container state becomes the deep merge cache. - Does not use a pure decorator style approach since that failed before because of ruby internals breaking things like `===` and `=~` on decorated objects, so we inherit (ultimately from Hash + Array). - The state being the container state is useful in ruby since APIs on Hash and Array poke around in internal state to make things fast. If we inherit from Hash/Array but don't have the correct internal state things go wonky. - Throwing away the internal state is equivalent to flushing the cache. - Since we throw away all linked objects when we do that, we flush at every level below the level being flushed (which is correct semantics). - If a user has a pointer to an old immutable object from a sub-level, that isn't mutated so the old object still contains the old view of the data (which I think is correct, although I have some doubts that its necessary, but it came along free for the ride). - When we reset the cache we do mutate the cache being reset, which might change data in held references. If this becomes an issue the fix would be to reset the cache at the level above by creating a new, "empty" ImmutableHash/ImmutableArray object and inserting it into the deep_merge_cache datastructure instead of clearing the internal state of the child object. I don't know practically how anyone would hit this, though, so would prefer to wait on doing that work until we see an actual bug report. - Because of the way ruby pokes around internally there's some weirdnesses like the pre-generation of the cache for all the values of a subarray when #each is called, which is due to the way that ruby walks through array-serialized hashes when called like: `Array#each { key, value| ... }` (which is an undocumented(?) thing in ruby). Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* Bump version to 13.5.15 by Chef Expeditorv13.5.15Chef Expeditor2017-10-095-11/+12
|
* Merge pull request #6481 from chef/ksubrama/SUSTAIN-731Kartik Null Cating-Subramanian2017-10-092-10/+38
|\ | | | | [SUSTAIN-731] Don't spin in powershell module that launches chef processes
| * Don't spin in powershell module that launches chef processesksubrama/SUSTAIN-731Kartik Null Cating-Subramanian2017-10-062-10/+38
| | | | | | | | Signed-off-by: Kartik Null Cating-Subramanian <ksubramanian@chef.io>
* | Bump version to 13.5.14 by Chef Expeditorv13.5.14Chef Expeditor2017-10-065-11/+12
| |
* | Merge pull request #6476 from b1-systems/masterLamont Granquist2017-10-063-1/+14
|\ \ | | | | | | Add allow_downgrade to zypper_package resource
| * \ Merge branch 'master' of https://github.com/b1-systems/chefEike Waldt2017-10-060-0/+0
| |\ \ | | | | | | | | | | | | Signed-off-by: Eike Waldt <waldt@b1-systems.de>
| | * \ Merge branch 'master' of https://github.com/chef/chefEike Waldt2017-10-062-2/+2
| | |\ \ | | | |/
| | * | add allow_downgrade to zypper_package resourceEike Waldt2017-10-053-1/+14
| | | | | | | | | | | | | | | | Signed-off-by: Eike Waldt <waldt@b1-systems.de>
| * | | add allow_downgrade to zypper_package resourceEike Waldt2017-10-063-1/+14
| | |/ | |/| | | | | | | Signed-off-by: Eike Waldt <waldt@b1-systems.de>
* | | Bump version to 13.5.13 by Chef Expeditorv13.5.13Chef Expeditor2017-10-065-11/+12
| | |
* | | Merge pull request #6478 from chef/jjh/chef11-cb-artifact-404Josh Hudson2017-10-061-1/+1
|\ \ \ | |/ / |/| | Remove cookbook_artifacts from CHEF_11_OSS_STATIC_OBJECTS
| * | Remove cookbook_artifacts from CHEF_11_OSS_STATIC_OBJECTSjjh/chef11-cb-artifact-404Josh Hudson2017-10-061-1/+1
|/ / | | | | | | Signed-off-by: Josh Hudson <jhudson@chef.io>
* | Merge pull request #6479 from chef/tm/chefstylinateThom May2017-10-052-2/+2
|\ \ | |/ |/| fix chefstyle violations
| * fix chefstyle violationstm/chefstylinateThom May2017-10-052-2/+2
|/ | | | Signed-off-by: Thom May <thom@chef.io>
* Bump version to 13.5.12 by Chef Expeditorv13.5.12Chef Expeditor2017-10-055-11/+12
|
* Merge pull request #6469 from sanditiffin/CHEF-3058Thom May2017-10-054-0/+96
|\ | | | | Prevent creation of data bags named node, role, client or environment
| * Don't allow creation of data bags named node, role, client or environment ↵Sandra Tiffin2017-10-042-0/+84
| | | | | | | | | | | | | | | | via 'knife upload'. (Fixes the ChefFS code path for data bag creation, for https://github.com/chef/chef/issues/3058). Signed-off-by: Sandra Tiffin <sandi.tiffin@gmail.com>
| * Don't allow creation of data bags named node, role, client or environment.Sandra Tiffin2017-10-042-0/+12
|/ | | | Signed-off-by: Sandra Tiffin <sandi.tiffin@gmail.com>
* Bump version to 13.5.11 by Chef Expeditorv13.5.11Chef Expeditor2017-10-045-11/+12
|
* Merge pull request #6435 from NaomiReeves/fix_dnf_resourceThom May2017-10-032-2/+7
|\ | | | | dnf_resource: be more specific for rhel packages
| * fix testsNaomi Reeves2017-09-291-1/+4
| | | | | | | | Signed-off-by: Naomi Reeves <naomi.c.reeves@gmail.com>
| * dnf_resource: be more specific for rhel packagesNaomi Reeves2017-09-291-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | With #6351 and #6377, the DNF package provider was fixed to use yum by default on RHEL 7, but the resource was still calling the DNF provider if it happened to be installed. We want to use the default of yum for RHEL 7, and only use DNF if we call `set_priority_map` directly. Signed-off-by: Naomi Reeves <naomi.c.reeves@gmail.com> Resolves: Unexpectedly switching package managers
* | Bump version to 13.5.10 by Chef Expeditorv13.5.10Chef Expeditor2017-10-035-11/+12
| |
* | Merge pull request #6470 from chef/tm/route_testsThom May2017-10-032-1/+3
|\ \ | | | | | | [Route unit tests]: Ensure we go down the new file path
| * | [Route unit tests]: Ensure we go down the new file pathtm/route_testsThom May2017-10-032-1/+3
| | | | | | | | | | | | | | | | | | This should make us more robust in the face of the enemy Signed-off-by: Thom May <thom@chef.io>
* | | Bump version to 13.5.9 by Chef Expeditorv13.5.9Chef Expeditor2017-10-035-11/+12
| | |
* | | Merge pull request #6466 from coderanger/help-commasLamont Granquist2017-10-036-6/+6
|\ \ \ | |/ / |/| | Tweak the knife banners for multi-arg commands.
| * | Tweak the knife banners for multi-arg commands.Noah Kantrowitz2017-10-026-6/+6
| | | | | | | | | | | | | | | | | | We don't actually use commas in command lines. Signed-off-by: Noah Kantrowitz <noah@coderanger.net>
* | | Bump version to 13.5.8 by Chef Expeditorv13.5.8Chef Expeditor2017-10-035-11/+12
| | |
* | | Merge pull request #6428 from chef/jcowie_package_upgrade_fixesJon Cowie2017-10-0310-24/+111
|\ \ \ | | | | | | | | Fixes to package upgrade behaviour
| * | | Change version_requirement_already_satisfied method to call ↵jcowie_package_upgrade_fixesJon Cowie2017-09-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | target_version_already_installed Signed-off-by: Jon Cowie <jcowie@chef.io>
| * | | Add version_equals? method to windows providerJon Cowie2017-09-221-0/+4
| | | | | | | | | | | | | | | | Signed-off-by: Jon Cowie <jcowie@chef.io>
| * | | Cater for Windows package managers using the version string "latest"Jon Cowie2017-09-222-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | Some windows package managers use the version string "latest" - when this happens, have version_compare always return 0, as we can't reliably tell what version number we're looking at. Signed-off-by: Jon Cowie <jcowie@chef.io>
| * | | Fixes to package upgrade behaviourJon Cowie2017-09-228-25/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit introduces fixes to the behaviour of the various providers of the "package" resource (and subtypes like dnf_package etc) when a more recent version of the package has been installed than that present in an available repository or file source and "action :upgrade" is called against the package. Currently, a number of package providers will attempt to downgrade a package under this scenario, where the desired action should be to recognise that a more up to date version is already installed and do nothing. I've introduced a ```version_compare``` method to the package superclass which by default uses ```Gem::Version``` comparison with spaceship-operator semantics to ensure that an upgrade is attempted only when the candidate version is not older than the current version. Additionally, this commit introduces a method called ```version_equals?``` which is functionally identical to ```target_version_already_installed?``` (and that method now in fact calls ```version_equals?```. This has been done to clarify the purpose and functionality of that method, but since it's a public API, deprecation of the old method name will have to be done more gradually. Signed-off-by: Jon Cowie <jcowie@chef.io>
* | | | Bump version to 13.5.7 by Chef Expeditorv13.5.7Chef Expeditor2017-10-035-11/+12
| | | |
* | | | Merge pull request #6410 from chef/zypper_gpg_keyTim Smith2017-10-034-21/+236
|\ \ \ \ | | | | | | | | | | Import the zypper GPG key before templating the repo
| * | | | Add more specszypper_gpg_keyTim Smith2017-09-281-9/+65
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Tim Smith <tsmith@chef.io>
| * | | | Allow specifying the cookbook for the source templateTim Smith2017-09-283-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also fix the cookbook_file lookup logic missing a method it needed for file based keys Signed-off-by: Tim Smith <tsmith@chef.io>
| * | | | shell_out -> shell_out!Tim Smith2017-09-281-1/+1
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Tim Smith <tsmith@chef.io>
| * | | | Install the key using the cached copyTim Smith2017-09-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid double downloading the key Signed-off-by: Tim Smith <tsmith@chef.io>
| * | | | Remove run_command usage in shell_outTim Smith2017-09-281-2/+2
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Tim Smith <tsmith@chef.io>
| * | | | Use apt-like gpg key management to avoid notificationsTim Smith2017-09-282-5/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Download the key to the cache Grab the key's fingerprint Check to see if that fingerprint is in the RPM database Add it if it's not Signed-off-by: Tim Smith <tsmith@chef.io>
| * | | | Add a few yard commentsTim Smith2017-09-281-0/+3
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Tim Smith <tsmith@chef.io>
| * | | | Run everything with --quiet and --non-interactive and move gpg importTim Smith2017-09-281-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GPG import doesn't actually work here. Signed-off-by: Tim Smith <tsmith@chef.io>
| * | | | Update the spec for the platform based provider matchingTim Smith2017-09-281-9/+11
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Tim Smith <tsmith@chef.io>
| * | | | Import the zypper GPG key before templating the repoTim Smith2017-09-281-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This prevents failures when the key is unknown. This way is *simple*, but I'm not a fan of the way the :before notification results in double template logging. I'm open to a better way that provides some idempotency to the key import. Signed-off-by: Tim Smith <tsmith@chef.io>
* | | | | Update CHANGELOG.md to reflect the promotion of 13.5.3 to stableChef Expeditor2017-10-032-16/+20
| |_|/ / |/| | |