| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
|
|
|
|
| |
Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|\
| |
| | |
[SUSTAIN-731] Don't spin in powershell module that launches chef processes
|
| |
| |
| |
| | |
Signed-off-by: Kartik Null Cating-Subramanian <ksubramanian@chef.io>
|
| | |
|
|\ \
| | |
| | | |
Add allow_downgrade to zypper_package resource
|
| |\ \
| | | |
| | | |
| | | | |
Signed-off-by: Eike Waldt <waldt@b1-systems.de>
|
| | |\ \
| | | |/ |
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Eike Waldt <waldt@b1-systems.de>
|
| | |/
| |/|
| | |
| | | |
Signed-off-by: Eike Waldt <waldt@b1-systems.de>
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Remove cookbook_artifacts from CHEF_11_OSS_STATIC_OBJECTS
|
|/ /
| |
| |
| | |
Signed-off-by: Josh Hudson <jhudson@chef.io>
|
|\ \
| |/
|/| |
fix chefstyle violations
|
|/
|
|
| |
Signed-off-by: Thom May <thom@chef.io>
|
| |
|
|\
| |
| | |
Prevent creation of data bags named node, role, client or environment
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|/
|
|
| |
Signed-off-by: Sandra Tiffin <sandi.tiffin@gmail.com>
|
| |
|
|\
| |
| | |
dnf_resource: be more specific for rhel packages
|
| |
| |
| |
| | |
Signed-off-by: Naomi Reeves <naomi.c.reeves@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
|\ \
| | |
| | | |
[Route unit tests]: Ensure we go down the new file path
|
| | |
| | |
| | |
| | |
| | |
| | | |
This should make us more robust in the face of the enemy
Signed-off-by: Thom May <thom@chef.io>
|
| | | |
|
|\ \ \
| |/ /
|/| | |
Tweak the knife banners for multi-arg commands.
|
| | |
| | |
| | |
| | |
| | |
| | | |
We don't actually use commas in command lines.
Signed-off-by: Noah Kantrowitz <noah@coderanger.net>
|
| | | |
|
|\ \ \
| | | |
| | | | |
Fixes to package upgrade behaviour
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
target_version_already_installed
Signed-off-by: Jon Cowie <jcowie@chef.io>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Jon Cowie <jcowie@chef.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Import the zypper GPG key before templating the repo
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Tim Smith <tsmith@chef.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Also fix the cookbook_file lookup logic missing a method it needed for file based keys
Signed-off-by: Tim Smith <tsmith@chef.io>
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Tim Smith <tsmith@chef.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Avoid double downloading the key
Signed-off-by: Tim Smith <tsmith@chef.io>
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Tim Smith <tsmith@chef.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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>
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Tim Smith <tsmith@chef.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
GPG import doesn't actually work here.
Signed-off-by: Tim Smith <tsmith@chef.io>
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Tim Smith <tsmith@chef.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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>
|
| |_|/ /
|/| | | |
|