| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
In versions of Puppet 2.6.0-2.6.4, file bucket requests are of the
form md5/<checksum>/<path>. The path functionality has been removed,
however we still need to support requests coming from older clients.
Paired-with: Jesse Wolfe <jesse@puppetlabs.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Before saving to the file bucket, the file bucket dipper now checks to
make sure that no file with the given checksum is already present.
Paired-with: Jesse Wolfe <jesse@puppetlabs.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
In order to do this it was necessary to refactor FileBucketFile to
untangle responsibilities for computing paths, reading files, etc. In
the process, removed speculative generalizations and unused
functionality.
Paired-with: Jesse Wolfe <jesse@puppetlabs.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Added the ability for the indirector to handle REST HEAD requests.
These are done using a new indirector method, head(), which should
return true if find() would return a result and false if find() would
return nil.
Access control for the head method is the union of that for the find
and save methods. That is, if either find or save is allowed, then
head is allowed. This is necessary so that users will not have to
change their authconfig to take advantage of the new feature.
Paired-with: Jesse Wolfe <jesse@puppetlabs.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Moved the error handling logic surrounding the call to
Puppet::Indirector::Indirection#find_in_cache() into the
find_in_cache() method itself, so that won't need to be duplicated
when find_in_cache() is called from elsewhere.
Paired-with: Jesse Wolfe <jesse@puppetlabs.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Changed into a method that returns the exception to raised rather than
raising it.
Paired-with: Jesse Wolfe <jesse@puppetlabs.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
It is now possible to ask the filebucket to diff two files using a URL
of the form:
https://puppet/production/file_bucket_file/md5/{first file hash}?diff_with={second file hash}
The returned diff is a string, the output of the "diff" command.
Paired-with: Paul Berry <paul@puppetlabs.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
In the resource harness, we were calling insync? on all properties of
a resource, even if those properties weren't being managed. This was
unsafe. Changed to only call insync? on properties that are mentioned
in the manifest.
In addition, we discovered that the resource harness's computation of
desired_values was incorrect, and was consulting the current system
state rather than the desired state. Since this hash was
(erroneously) only being consulted to see if it included :ensure, this
didn't cause any obvious bugs. However it is now fixed.
Paired-with: Jesse Wolfe <jesse@puppetlabs.com>
|
|\| | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This report processor was unnecessarily using Puppet to create a
single directory. This was causing complex failures in any spec
dealing with reports.
Paired-With: Paul Berry
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* maint/2.6.next/inspect_audited_should_be_true:
maint: Inspect reports should have audited = true on events
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
Paired-with: Jesse Wolfe
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | | |
In 2.6.4 and earlier, "skipped" appeared only when true. A recent
change accidentally caused it to never appear. This change makes it
always appear.
|
| | | |
| | | |
| | | |
| | | | |
I accidentally committed a debug statement. Now I am removing it.
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Ruby's default #inspect method can lead to printing factorial-order
output for large graphs of objects. Since we have large graphs of
objects, this is not optimal.
This patch replaces a few well-connected objects' #inspect methods with
methods that produce reduced output, and are thus much faster.
Paired-With: Nick Lewis <nick@puppetlabs.com>
|
|\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
* ticket/2.6.next/5758:
(#5758) Verify that report events are correctly created
Prep work for #5758: set audited=true on all audit events
Prep work for #5758: clean up initializer for Puppet::Transaction::Event
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Previously, events would only have audited=true if auditing was
enabled AND there had been a change in an audited parameter.
Paired-with: Matt Robinson <matt@puppetlabs.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Puppet::Transaction::Event#initialize() contained unnecessary code
that allowed the properties of an event to be passed in as separate
arguments. This was never used.
Paired-with: Matt Robinson <matt@puppetlabs.com>
|
|\ \ \ \ \
| |/ / / /
|/| | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
If a resource is absent, then reporting that its properties are all
":absent" is not particularly correct. This patch makes the `inspect`
application's reports behave more like `apply` reports, and skip
properties other than :ensure for absent resources.
Reviewed-By: Nick Lewis <nick@puppetlabs.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
These new attributes save report processors from having to parse the
"resource" attribute.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Puppet::Resource::Status.
This attribute is only used for properly generating log messages and
was never intended to appear in reports.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The removed attributes are file, line, resource, tags,
source_description, and default_log_level. These attributes were all
redundant with those in Puppet::Resource::Status.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The attributes Puppet::Resource::Status#changed,
Puppet::Resource::Status#out_of_sync, and
Puppet::Transaction::Event#audited used to only appear in reports when
their state was true. Now they appear always.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
These methods previously stored the metrics as a side effect; now they
simply compute the metrics and return them.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Previously these metrics were omitted when their values were zero.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Renamed Puppet::Transaction::Report#calculate_metrics to
finalize_report, in preparation for adding more functionality to this
method.
Removed Puppet::Transaction#send_report and
Puppet::Transaction#generate_report. The former was never used, and
the latter was unnecessary.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
consistent.
Inspect reports now contain all the metrics that apply reports do, and
use the same code path for creating them.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This attribute was never intended to be serialized to YAML; it exists
merely as temporary storage for metrics that have not yet been placed
in the report's metrics attribute.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This was a feature that was present in 0.25.x and was inadvertently
dropped from 2.6.x.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This attribute was only relevant in reports, and in reports it was
redundant with Puppet::Transaction::Report#configuration_version and
Puppet::Transaction::Report#puppet_version.
|
| | | | | |
|
|/ / / / |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
File ctime and mtime are now implemented as read-only properties, so
they can be examined with audit.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- #change_count now only counts events that represent successful
changes. It does not count failures, audits, or noops.
- #changed is equivalent to #change_count > 0.
- #out_of_sync_count (a new attribute) counts all events except audits.
- #out_of_sync is equivalent to #out_of_sync_count > 0.
This should hopefully make the summary statistics in reports more useful.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
are tested
This patch removes the Puppet::Transaction::Change class and replaces
it with a method,
Puppet::Transaction::ResourceHarness#apply_parameter. The new code is
shorter, more thoroughly unit tested, and addresses known bugs in
the interaction between auditing and performing changes.
This code does not address drawbacks in the report output (for example
a resource is still flagged as changed even if it merely contains
audit information); those will be addressed in a follow-up patch.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Current report formats are:
0: 0.25 reports and earlier
1: 0.26.1 - 0.26.4 reports
2: 0.26.5 and beyond
Paired-With: Jesse Wolfe
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Puppet apply used to contain code that duplicated the functionality of
configurer.run. Refactored to share code.
Paired-with: Jesse Wolfe <jesse@puppetlabs.com>
|
|\ \ \ \
| |_|_|/
|/| | | |
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | | |
The #write method in lib/puppet/type/file/content.rb relies on the block
passed to #sum_stream getting executed. "none", "mtime", and "ctime"
aren't real checksums, so they violated that assumption and just
returned empty results. This patch causes that block to get executed.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
From the spec directory I found all the specs that fail when run on their own.
for TEST in `find . -name "*.rb" -type f`; do
spec $TEST > /dev/null 2>&1
if [[ $? != 0 ]]; then
echo $TEST
fi
done
All of them were cases of missing requires.
Paired-with: Nick Lewis <nick@puppetlabs.com>
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
An entire environment object was being stored in a string field,
causing the ZAML form of the environment to be stored. This was
over-ridden to return just the ZAML serialized version of the name.
Since the hosts model didn't know how to interpret a serialized
value, it just returned the ZAML string as the environment. This
patch stringifies the environment before putting it in the hosts
table, which stores it properly.
This patch also introduces a new method of testing using Tableless
ActiveRecord models, which emulate their database schema. This
helps to eliminate some stubbing, but it is still impossible to
fully and accurately test all ActiveRecord interactions without a
real database.
Paired-With: Matt Robinson
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The previous maintenance patch for this file didn't provide as strong of
a guarantee of loading plugins as the code it replaced.
This patch restores the extremely broad exception catching, but prevents
mocha exceptions from being silently ignored.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This patch makes it possible to both audit and manage an attribute.
It introduces a new field on Event objects "historical_value", which is
the value from state.yaml. The value from the RAL is written to
state.yaml, and then the RAL is updated with the desired value.
Paired-With: Nick Lewis <nick@puppetlabs.com>
Paired-With: Matt Robinson <matt@puppetlabs.com>
|