Merge branch 'ticket/2.7rc/7833-further_help_adjustments' into 2.7rc
Maint: Update static man page generator for Faces.

The man page updater wasn't making man pages for the new Faces app. This commit
gives it that capability, and handles the name collision on puppet resource.

Reviewed-By: Nick Lewis <nick@puppetlabs.com>
Maint: Update static man pages for 2.7.0

This commit updates the static man pages for the final 2.7.0 release.

Reviewed-By: Nick Lewis <nick@puppetlabs.com>
Merge branch 'maint/2.7rc/static_manpages' into 2.7rc
Updated CHANGELOG for 2.7.0rc4

Signed-off-by: Michael Stahnke <stahnma@puppetlabs.com>
Merge branch '2.6.x' into 2.7.x

Conflicts:
	acceptance/tests/ticket_5477_master_not_dectect_sitepp.rb
	lib/puppet/application/apply.rb
	lib/puppet/configurer.rb
	lib/puppet/configurer/fact_handler.rb
	spec/unit/application/apply_spec.rb
	spec/unit/configurer/fact_handler_spec.rb
	spec/unit/configurer_spec.rb
Merge branch '2.7rc' into 2.7.x
Merge branch '2.7.x'
Remove pending copy of an active acceptance test

This test was introduced as pending in 2.6.x, and active in 2.7.x. When 2.6.x
was merged to 2.7.x, the pending version was merged along as well, causing no
visible conflicts. It's obviously not pending, so remove it.

Reviewed-By: Dominic Maraglia <dominic@puppetlabs.com>
Update acceptance tests to use with_master_running_on

A few of these tests weren't yet using this helper, and were instead
implementing similar behavior on their own. Now they all use the standard
method.

Reviewed-By: Jacob Helwig <jacob@puppetlabs.com>
Reviewed-By: Dominic Maraglia <dominic@puppetlabs.com>
(#3360) Delete SSL directory in acceptance test before running

A leftover SSL directory from another test, including a cert for the agent,
will cause this test to fail. So before running, we remove the SSL directory
to ensure this doesn't happen.

Reviewed-By: Jacob Helwig <jacob@puppetlabs.com>
Reviewed-By: Dominic Maraglia <dominic@puppetlabs.com>
(#7117) Use a different auth.conf instead of overwriting the default

This test was previously replacing the default auth.conf with its own, and
restoring it afterward. This was error-prone, failing if there wasn't an
initial auth.conf present. It would also causing cascading failures when this
test failed, by leaving a non-standard auth.conf for other tests to use. Since
this copy-and-restore behavior can be replaced by simply specifying a different
auth file to use, we do that instead.

Reviewed-By: Jacob Helwig <jacob@puppetlabs.com>
Reviewed-By: Dominic Maraglia <dominic@puppetlabs.com>
Merge branch 'ticket/2.7.x/fix-broken-acceptance-tests' into 2.7.x
Make temporary auth.conf in acceptance test readable by Puppet

The create_remote_file method uploads files with mode 600 since that is the
default mode for Tempfile. The puppet user thus isn't able to read the
temporary auth.conf, so it just uses the default rules instead, causing this
test to fail.

Also, this test was dependent on running after another test which set up a cert
on the agents. Since that can't be guaranteed, the master now runs with
autosign to ensure the agents can connect.

Reviewed-By: Jacob Helwig <jacob@puppetlabs.com>
Merge branch '2.7.x'

Conflicts:
	acceptance/tests/ticket_7117_broke_env_criteria_authconf.rb
Cleanup indentation, comment, and unused code

The Great Reindentation of '10 left certain structures indented incorrectly;
this addresses some of these instances.

The comment about loading all providers incorrectly stated that we're trying to
figure out the type, when we're actually trying to figure out the provider.

There was an unused variable initialization that was introduced in 2b14f627,
which was reverting c19835c, 9290cc8, and ffb4c2d.

Paired-with: Jacob Helwig <jacob@puppetlabs.com>
(#4416) Always remove old provider before recreating it

In the case where provider class evaluation failed midway, the provider class
would be created but not registered. Thus, when checking whether it should be
removed, it wasn't found, and wasn't removed. This caused it to then fail to be
recreated, because it collided with the existing class.

Now we don't bother checking whether the provider is registered before we
remove it, since rmclass has the appropriate checks to do the unregistration,
and class removal safely.

Removing a provider class that has been created but not registered should not
be a problem since the only time this can happen is when the class is unusable
because of parsing or other fatal errors in the provider itself.

Paired-with: Jacob Helwig <jacob@puppetlabs.com>
(#4416) Ensure types are providified after reloading

Previously, the 'provider' parameter for a type was only added when creating a
provider for that type. This would cause a type to forget about its 'provider'
parameter when only the type was reloaded.

This was manifesting itself in pluginsync, when a provider plugin would be
loaded before its type, causing the type to be autoloaded. The type plugin
would then be loaded again by the plugin handler. Because the type => provider
information is stored separately from the type, the providers don't need to be
reloaded, and thus don't recreate the type's 'provider' parameter.

Now we always "providify" the type (add its 'provider' parameter) upon
creation, after trying to load its providers, if any providers are present.

Paired-with: Jacob Helwig <jacob@puppetlabs.com>
Merge branch 'ticket/2.6.x/4416' into 2.6.x
Do not needlessly create multiple reports when creating a transaction

Previously, the transaction would always create a report, which would
some times be overridden with a new report.

Now, the transaction optionally takes a report at initialization time,
and only creates a report of its own if none was provided.

Reviewed-by: Jacob Helwig <jacob@puppetlabs.com>