puppet 2.7.3 → 2.7.4
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- data/CHANGELOG +166 -0
- data/install.rb +27 -7
- data/lib/puppet/application/agent.rb +29 -29
- data/lib/puppet/application/doc.rb +1 -1
- data/lib/puppet/application/inspect.rb +9 -1
- data/lib/puppet/application/master.rb +2 -0
- data/lib/puppet/application/queue.rb +1 -1
- data/lib/puppet/application/resource.rb +3 -0
- data/lib/puppet/application.rb +4 -5
- data/lib/puppet/configurer.rb +1 -4
- data/lib/puppet/defaults.rb +45 -15
- data/lib/puppet/feature/base.rb +28 -17
- data/lib/puppet/feature/rails.rb +0 -3
- data/lib/puppet/feature/rubygems.rb +0 -3
- data/lib/puppet/file_bucket/dipper.rb +3 -2
- data/lib/puppet/file_bucket/file.rb +3 -3
- data/lib/puppet/file_serving/base.rb +4 -5
- data/lib/puppet/file_serving/configuration.rb +7 -13
- data/lib/puppet/file_serving/content.rb +0 -4
- data/lib/puppet/file_serving/fileset.rb +7 -6
- data/lib/puppet/file_serving/indirection_hooks.rb +1 -4
- data/lib/puppet/file_serving/metadata.rb +0 -4
- data/lib/puppet/file_serving/mount/file.rb +9 -12
- data/lib/puppet/file_serving/mount.rb +0 -5
- data/lib/puppet/file_serving/terminus_helper.rb +0 -4
- data/lib/puppet/file_serving.rb +0 -4
- data/lib/puppet/indirector/catalog/compiler.rb +0 -18
- data/lib/puppet/indirector/catalog/store_configs.rb +5 -0
- data/lib/puppet/indirector/direct_file_server.rb +0 -4
- data/lib/puppet/indirector/facts/facter.rb +2 -2
- data/lib/puppet/indirector/facts/store_configs.rb +5 -0
- data/lib/puppet/indirector/file_content/file.rb +0 -4
- data/lib/puppet/indirector/file_content/file_server.rb +0 -4
- data/lib/puppet/indirector/file_content/rest.rb +0 -4
- data/lib/puppet/indirector/file_metadata/file.rb +0 -4
- data/lib/puppet/indirector/file_metadata/file_server.rb +0 -4
- data/lib/puppet/indirector/file_metadata/rest.rb +0 -4
- data/lib/puppet/indirector/file_server.rb +1 -5
- data/lib/puppet/indirector/indirection.rb +3 -5
- data/lib/puppet/indirector/node/store_configs.rb +5 -0
- data/lib/puppet/indirector/request.rb +3 -1
- data/lib/puppet/indirector/resource/active_record.rb +97 -0
- data/lib/puppet/indirector/resource/store_configs.rb +3 -0
- data/lib/puppet/indirector/ssl_file.rb +5 -1
- data/lib/puppet/indirector/store_configs.rb +30 -0
- data/lib/puppet/indirector/yaml.rb +5 -0
- data/lib/puppet/indirector.rb +7 -0
- data/lib/puppet/network/client.rb +0 -5
- data/lib/puppet/network/http_pool.rb +0 -56
- data/lib/puppet/node/environment.rb +9 -11
- data/lib/puppet/parameter/path.rb +1 -5
- data/lib/puppet/parameter.rb +1 -7
- data/lib/puppet/parser/ast/collection.rb +2 -2
- data/lib/puppet/parser/ast/collexpr.rb +10 -39
- data/lib/puppet/parser/collector.rb +41 -90
- data/lib/puppet/parser/compiler.rb +0 -3
- data/lib/puppet/parser/functions/create_resources.rb +22 -10
- data/lib/puppet/parser/functions/versioncmp.rb +9 -6
- data/lib/puppet/parser/resource.rb +1 -1
- data/lib/puppet/parser/type_loader.rb +2 -1
- data/lib/puppet/provider/augeas/augeas.rb +5 -3
- data/lib/puppet/provider/cron/crontab.rb +2 -2
- data/lib/puppet/provider/exec/posix.rb +23 -96
- data/lib/puppet/provider/exec/shell.rb +11 -2
- data/lib/puppet/provider/exec/windows.rb +35 -0
- data/lib/puppet/provider/exec.rb +79 -0
- data/lib/puppet/provider/group/windows_adsi.rb +48 -0
- data/lib/puppet/provider/host/parsed.rb +3 -0
- data/lib/puppet/provider/macauthorization/macauthorization.rb +4 -4
- data/lib/puppet/provider/mount.rb +0 -3
- data/lib/puppet/provider/naginator.rb +0 -3
- data/lib/puppet/provider/package/appdmg.rb +0 -1
- data/lib/puppet/provider/package/apple.rb +3 -7
- data/lib/puppet/provider/package/apt.rb +0 -1
- data/lib/puppet/provider/package/aptitude.rb +0 -1
- data/lib/puppet/provider/package/aptrpm.rb +0 -1
- data/lib/puppet/provider/package/blastwave.rb +0 -1
- data/lib/puppet/provider/package/dpkg.rb +5 -6
- data/lib/puppet/provider/package/fink.rb +3 -4
- data/lib/puppet/provider/package/freebsd.rb +0 -1
- data/lib/puppet/provider/package/gem.rb +0 -1
- data/lib/puppet/provider/package/hpux.rb +3 -3
- data/lib/puppet/provider/package/macports.rb +0 -1
- data/lib/puppet/provider/package/msi.rb +82 -0
- data/lib/puppet/provider/package/openbsd.rb +18 -19
- data/lib/puppet/provider/package/pip.rb +0 -1
- data/lib/puppet/provider/package/pkg.rb +0 -1
- data/lib/puppet/provider/package/pkgdmg.rb +9 -7
- data/lib/puppet/provider/package/pkgutil.rb +0 -1
- data/lib/puppet/provider/package/ports.rb +0 -1
- data/lib/puppet/provider/package/portupgrade.rb +183 -193
- data/lib/puppet/provider/package/rpm.rb +1 -1
- data/lib/puppet/provider/package/sun.rb +0 -1
- data/lib/puppet/provider/package/sunfreeware.rb +0 -2
- data/lib/puppet/provider/package/up2date.rb +0 -1
- data/lib/puppet/provider/package/urpmi.rb +0 -1
- data/lib/puppet/provider/package/yum.rb +1 -1
- data/lib/puppet/provider/package.rb +4 -3
- data/lib/puppet/provider/service/systemd.rb +64 -0
- data/lib/puppet/provider/service/windows.rb +110 -0
- data/lib/puppet/provider/user/windows_adsi.rb +71 -0
- data/lib/puppet/rails/resource.rb +1 -1
- data/lib/puppet/relationship.rb +0 -3
- data/lib/puppet/reports/tagmail.rb +15 -11
- data/lib/puppet/resource/catalog.rb +17 -24
- data/lib/puppet/ssl/certificate_authority.rb +7 -5
- data/lib/puppet/ssl/host.rb +6 -10
- data/lib/puppet/type/augeas.rb +19 -13
- data/lib/puppet/type/cron.rb +13 -12
- data/lib/puppet/type/exec.rb +17 -17
- data/lib/puppet/type/file/content.rb +7 -3
- data/lib/puppet/type/file/source.rb +14 -9
- data/lib/puppet/type/file.rb +44 -23
- data/lib/puppet/type/filebucket.rb +13 -5
- data/lib/puppet/type/package.rb +14 -1
- data/lib/puppet/type/service.rb +11 -1
- data/lib/puppet/type/ssh_authorized_key.rb +3 -1
- data/lib/puppet/type.rb +8 -17
- data/lib/puppet/util/adsi.rb +278 -0
- data/lib/puppet/util/autoload.rb +0 -2
- data/lib/puppet/util/cacher.rb +15 -67
- data/lib/puppet/util/feature.rb +0 -3
- data/lib/puppet/util/graph.rb +0 -3
- data/lib/puppet/util/ldap/connection.rb +0 -3
- data/lib/puppet/util/ldap/generator.rb +0 -3
- data/lib/puppet/util/ldap.rb +0 -3
- data/lib/puppet/util/log_paths.rb +0 -3
- data/lib/puppet/util/network_device/cisco/device.rb +2 -1
- data/lib/puppet/util/network_device/cisco/facts.rb +1 -1
- data/lib/puppet/util/pidlock.rb +5 -1
- data/lib/puppet/util/rdoc/parser.rb +3 -1
- data/lib/puppet/util/run_mode.rb +2 -2
- data/lib/puppet/util/settings/file_setting.rb +3 -2
- data/lib/puppet/util/settings.rb +4 -6
- data/lib/puppet/util/suidmanager.rb +62 -15
- data/lib/puppet/util.rb +113 -131
- data/lib/puppet.rb +1 -1
- data/spec/integration/application/doc_spec.rb +1 -1
- data/spec/integration/defaults_spec.rb +22 -17
- data/spec/integration/file_serving/content_spec.rb +0 -6
- data/spec/integration/file_serving/metadata_spec.rb +0 -6
- data/spec/integration/file_serving/terminus_helper_spec.rb +1 -1
- data/spec/integration/indirector/direct_file_server_spec.rb +5 -7
- data/spec/integration/indirector/file_content/file_server_spec.rb +2 -6
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +1 -5
- data/spec/integration/network/server/webrick_spec.rb +6 -9
- data/spec/integration/node/facts_spec.rb +0 -6
- data/spec/integration/node_spec.rb +3 -4
- data/spec/integration/parser/compiler_spec.rb +2 -1
- data/spec/integration/parser/parser_spec.rb +2 -4
- data/spec/integration/provider/mount_spec.rb +1 -1
- data/spec/integration/provider/package_spec.rb +13 -3
- data/spec/integration/provider/ssh_authorized_key_spec.rb +4 -4
- data/spec/integration/reports_spec.rb +0 -4
- data/spec/integration/resource/catalog_spec.rb +0 -5
- data/spec/integration/ssl/certificate_authority_spec.rb +6 -14
- data/spec/integration/ssl/certificate_request_spec.rb +10 -17
- data/spec/integration/ssl/certificate_revocation_list_spec.rb +8 -13
- data/spec/integration/ssl/host_spec.rb +8 -14
- data/spec/integration/transaction/report_spec.rb +0 -5
- data/spec/integration/transaction_spec.rb +11 -13
- data/spec/integration/type/file_spec.rb +16 -16
- data/spec/integration/type/tidy_spec.rb +1 -1
- data/spec/integration/util/settings_spec.rb +2 -2
- data/spec/integration/util_spec.rb +13 -0
- data/spec/lib/puppet_spec/files.rb +18 -10
- data/spec/shared_behaviours/file_server_terminus.rb +1 -5
- data/spec/shared_behaviours/file_serving.rb +0 -4
- data/spec/shared_behaviours/memory_terminus.rb +0 -4
- data/spec/shared_behaviours/path_parameters.rb +20 -18
- data/spec/shared_behaviours/store_configs_terminus.rb +21 -0
- data/spec/spec_helper.rb +31 -0
- data/spec/unit/agent_spec.rb +0 -4
- data/spec/unit/application/apply_spec.rb +8 -2
- data/spec/unit/application/certificate_spec.rb +2 -0
- data/spec/unit/application/device_spec.rb +8 -6
- data/spec/unit/application/inspect_spec.rb +2 -1
- data/spec/unit/application/master_spec.rb +7 -2
- data/spec/unit/application/queue_spec.rb +3 -4
- data/spec/unit/application/resource_spec.rb +26 -0
- data/spec/unit/application/secret_agent_spec.rb +3 -1
- data/spec/unit/application_spec.rb +4 -0
- data/spec/unit/configurer/downloader_spec.rb +4 -3
- data/spec/unit/configurer_spec.rb +11 -4
- data/spec/unit/daemon_spec.rb +3 -1
- data/spec/unit/face/ca_spec.rb +1 -1
- data/spec/unit/face/node_spec.rb +5 -1
- data/spec/unit/face/secret_agent_spec.rb +3 -1
- data/spec/unit/file_bucket/dipper_spec.rb +4 -4
- data/spec/unit/file_bucket/file_spec.rb +9 -3
- data/spec/unit/file_serving/configuration_spec.rb +26 -37
- data/spec/unit/file_serving/fileset_spec.rb +71 -55
- data/spec/unit/file_serving/indirection_hooks_spec.rb +0 -4
- data/spec/unit/file_serving/mount/file_spec.rb +163 -169
- data/spec/unit/file_serving/terminus_helper_spec.rb +0 -4
- data/spec/unit/indirector/catalog/compiler_spec.rb +0 -22
- data/spec/unit/indirector/catalog/store_configs_spec.rb +17 -0
- data/spec/unit/indirector/certificate/ca_spec.rb +0 -4
- data/spec/unit/indirector/certificate/file_spec.rb +0 -4
- data/spec/unit/indirector/certificate_request/ca_spec.rb +1 -5
- data/spec/unit/indirector/certificate_request/file_spec.rb +0 -4
- data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +0 -4
- data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +0 -4
- data/spec/unit/indirector/certificate_status/file_spec.rb +1 -1
- data/spec/unit/indirector/direct_file_server_spec.rb +0 -4
- data/spec/unit/indirector/facts/facter_spec.rb +0 -4
- data/spec/unit/indirector/facts/inventory_active_record_spec.rb +3 -0
- data/spec/unit/indirector/facts/store_configs_spec.rb +17 -0
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +3 -3
- data/spec/unit/indirector/file_content/file_server_spec.rb +0 -4
- data/spec/unit/indirector/file_content/file_spec.rb +0 -4
- data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -4
- data/spec/unit/indirector/file_metadata/file_spec.rb +0 -4
- data/spec/unit/indirector/file_server_spec.rb +1 -5
- data/spec/unit/indirector/indirection_spec.rb +0 -4
- data/spec/unit/indirector/key/ca_spec.rb +0 -4
- data/spec/unit/indirector/key/file_spec.rb +0 -4
- data/spec/unit/indirector/node/store_configs_spec.rb +16 -0
- data/spec/unit/indirector/report/processor_spec.rb +0 -4
- data/spec/unit/indirector/resource/active_record_spec.rb +192 -0
- data/spec/unit/indirector/resource/ral_spec.rb +1 -1
- data/spec/unit/indirector/resource/store_configs_spec.rb +12 -0
- data/spec/unit/indirector/resource_type/parser_spec.rb +3 -3
- data/spec/unit/indirector/ssl_file_spec.rb +25 -6
- data/spec/unit/indirector/store_configs_spec.rb +8 -0
- data/spec/unit/indirector/yaml_spec.rb +14 -0
- data/spec/unit/module_spec.rb +2 -2
- data/spec/unit/network/handler/fileserver_spec.rb +5 -5
- data/spec/unit/network/http/mongrel_spec.rb +0 -4
- data/spec/unit/network/http/webrick_spec.rb +5 -9
- data/spec/unit/network/http_pool_spec.rb +4 -75
- data/spec/unit/network/http_spec.rb +0 -4
- data/spec/unit/network/server_spec.rb +0 -4
- data/spec/unit/node/environment_spec.rb +18 -31
- data/spec/unit/node/facts_spec.rb +0 -4
- data/spec/unit/node_spec.rb +1 -8
- data/spec/unit/other/selinux_spec.rb +3 -1
- data/spec/unit/parameter_spec.rb +0 -10
- data/spec/unit/parser/ast/collexpr_spec.rb +17 -13
- data/spec/unit/parser/collector_spec.rb +147 -263
- data/spec/unit/parser/compiler_spec.rb +3 -1
- data/spec/unit/parser/files_spec.rb +7 -4
- data/spec/unit/parser/functions/extlookup_spec.rb +6 -3
- data/spec/unit/parser/functions/sprintf_spec.rb +2 -1
- data/spec/unit/parser/type_loader_spec.rb +7 -7
- data/spec/unit/property_spec.rb +1 -1
- data/spec/unit/provider/augeas/augeas_spec.rb +14 -0
- data/spec/unit/provider/exec/posix_spec.rb +102 -106
- data/spec/unit/provider/exec/shell_spec.rb +1 -1
- data/spec/unit/provider/exec/windows_spec.rb +119 -0
- data/spec/unit/provider/group/ldap_spec.rb +0 -4
- data/spec/unit/provider/group/windows_adsi_spec.rb +79 -0
- data/spec/unit/provider/ldap_spec.rb +0 -4
- data/spec/unit/provider/macauthorization_spec.rb +5 -0
- data/spec/unit/provider/mount/parsed_spec.rb +1 -5
- data/spec/unit/provider/package/msi_spec.rb +170 -0
- data/spec/unit/provider/service/redhat_spec.rb +2 -0
- data/spec/unit/provider/service/smf_spec.rb +3 -0
- data/spec/unit/provider/service/systemd_spec.rb +25 -0
- data/spec/unit/provider/service/windows_spec.rb +166 -0
- data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +2 -2
- data/spec/unit/provider/user/ldap_spec.rb +0 -4
- data/spec/unit/provider/user/user_role_add_spec.rb +1 -1
- data/spec/unit/provider/user/useradd_spec.rb +1 -1
- data/spec/unit/provider/user/windows_adsi_spec.rb +110 -0
- data/spec/unit/relationship_spec.rb +0 -4
- data/spec/unit/resource/catalog_spec.rb +37 -25
- data/spec/unit/resource/status_spec.rb +4 -2
- data/spec/unit/resource_spec.rb +5 -5
- data/spec/unit/simple_graph_spec.rb +0 -4
- data/spec/unit/ssl/certificate_authority_spec.rb +2 -2
- data/spec/unit/ssl/host_spec.rb +12 -13
- data/spec/unit/ssl/inventory_spec.rb +2 -2
- data/spec/unit/sslcertificates/ca_spec.rb +6 -10
- data/spec/unit/transaction/event_manager_spec.rb +4 -2
- data/spec/unit/transaction/event_spec.rb +3 -1
- data/spec/unit/transaction/report_spec.rb +2 -6
- data/spec/unit/transaction/resource_harness_spec.rb +9 -5
- data/spec/unit/transaction_spec.rb +3 -1
- data/spec/unit/type/cron_spec.rb +1 -1
- data/spec/unit/type/exec_spec.rb +80 -47
- data/spec/unit/type/file/checksum_spec.rb +9 -8
- data/spec/unit/type/file/content_spec.rb +2 -1
- data/spec/unit/type/file/selinux_spec.rb +10 -8
- data/spec/unit/type/file/source_spec.rb +18 -36
- data/spec/unit/type/file_spec.rb +170 -217
- data/spec/unit/type/group_spec.rb +1 -1
- data/spec/unit/type/mount_spec.rb +5 -5
- data/spec/unit/type/noop_metaparam_spec.rb +3 -1
- data/spec/unit/type/package_spec.rb +15 -3
- data/spec/unit/type/resources_spec.rb +2 -2
- data/spec/unit/type/service_spec.rb +19 -4
- data/spec/unit/type/ssh_authorized_key_spec.rb +10 -4
- data/spec/unit/type/tidy_spec.rb +3 -1
- data/spec/unit/type/user_spec.rb +1 -1
- data/spec/unit/type_spec.rb +29 -34
- data/spec/unit/util/adsi_spec.rb +202 -0
- data/spec/unit/util/autoload_spec.rb +23 -19
- data/spec/unit/util/backups_spec.rb +16 -13
- data/spec/unit/util/cacher_spec.rb +64 -141
- data/spec/unit/util/checksums_spec.rb +0 -4
- data/spec/unit/util/constant_inflector_spec.rb +0 -4
- data/spec/unit/util/execution_stub_spec.rb +1 -1
- data/spec/unit/util/ldap/connection_spec.rb +0 -4
- data/spec/unit/util/ldap/generator_spec.rb +0 -4
- data/spec/unit/util/ldap/manager_spec.rb +0 -4
- data/spec/unit/util/log_spec.rb +4 -2
- data/spec/unit/util/logging_spec.rb +2 -2
- data/spec/unit/util/nagios_maker_spec.rb +0 -4
- data/spec/unit/util/network_device/cisco/device_spec.rb +2 -1
- data/spec/unit/util/network_device/cisco/facts_spec.rb +3 -1
- data/spec/unit/util/network_device/config_spec.rb +5 -3
- data/spec/unit/util/rdoc/parser_spec.rb +7 -1
- data/spec/unit/util/run_mode_spec.rb +6 -2
- data/spec/unit/util/settings/file_setting_spec.rb +29 -2
- data/spec/unit/util/settings_spec.rb +28 -15
- data/spec/unit/util/storage_spec.rb +1 -1
- data/spec/unit/util/suidmanager_spec.rb +310 -0
- data/spec/unit/util/tagging_spec.rb +0 -4
- data/spec/unit/util_spec.rb +335 -0
- data/test/language/ast/variable.rb +0 -4
- data/test/lib/puppettest/support/resources.rb +0 -4
- data/test/lib/puppettest/testcase.rb +0 -4
- data/test/lib/puppettest.rb +0 -1
- data/test/network/handler/master.rb +0 -5
- data/test/network/server/webrick.rb +5 -22
- data/test/ral/manager/attributes.rb +0 -4
- data/test/ral/manager/instances.rb +0 -4
- data/test/ral/manager/manager.rb +0 -4
- data/test/ral/providers/cron/crontab.rb +1 -0
- data/test/ral/providers/service/base.rb +0 -4
- data/test/ral/type/filesources.rb +0 -1
- data/test/ral/type/resources.rb +0 -4
- data/test/util/utiltest.rb +0 -13
- metadata +36 -9
- data/spec/unit/network/client_spec.rb +0 -45
- data/test/puppet/tc_suidmanager.rb +0 -120
data/CHANGELOG
CHANGED
@@ -1,3 +1,169 @@
|
|
1
|
+
2.7.4
|
2
|
+
===
|
3
|
+
47135fb Resist directory traversal attacks through indirections. (CVE-2011-3484)
|
4
|
+
9dd18cf Updated CHANGELOG for 2.7.4rc3
|
5
|
+
fe92f20 (#9440) Allow cron vars to have leading whitespace
|
6
|
+
da69637 Fix failing spec for resource file
|
7
|
+
7a39ca7 (#8667) Write out a list of resources that are managed by puppet agent
|
8
|
+
bc40516 Fix order dependent spec failure in exec specs
|
9
|
+
a20551f Updated CHANGELOG for 2.7.4rc2
|
10
|
+
d59a0b3 Update certificate_spec.rb test to include spec_helper
|
11
|
+
f325b40 Fix #7984 - GigabitEthernet/TenGigabitEthernet are uncorrectly parsed
|
12
|
+
6cc15c2 Fix #7983 - Cisco uptime facts doesn't always work
|
13
|
+
41302e9 Fixes #9143, allows macauthorization provider to work on OS X Lion 10.7
|
14
|
+
5a3f24d Updated CHANGELOG for 2.7.4rc1
|
15
|
+
04519a7 Revert "Merge pull request #100 from glarizza/tickets/2.7.x/9192_launchd_fix"
|
16
|
+
769f2b2 Revert "Merge pull request #99 from nigelkersten/tickets/2.7.x/9143-make-macauthorization-work-on-lion"
|
17
|
+
ff13d8d Add comment explaining helper method
|
18
|
+
40f64e9 Add has_macosx_plist_overrides? method
|
19
|
+
670d30c Fix ActiveRecord handling of symbols in query interpolation.
|
20
|
+
51b0c00 Fixes #9143, allows macauthorization provider to work on OS X Lion 10.7
|
21
|
+
a04051a (#9051) Move complex collect expression error into terminus.
|
22
|
+
f7e526b (#8413) Only try to catch Process::Error if it's defined
|
23
|
+
2c96286 Debug order-dependent test failures in CI / ActiveRecord.
|
24
|
+
38070d5 Don't toggle storeconfigs back and forth.
|
25
|
+
cf60243 One character typo, entire code path broken...
|
26
|
+
40dc39c More protection against accidentally using sqlite3
|
27
|
+
f898749 Save and restore indirector configuration around all tests.
|
28
|
+
e3073ac (#9051) More storeconfigs test cleanup.
|
29
|
+
51461de (#9051) Protect SQLite tests from running without gem.
|
30
|
+
bb0380f (#8662) Don't rely on error message to detect UAC capable platform
|
31
|
+
2ab5634 (#8413) Properly clean up stale pidfile on Windows
|
32
|
+
cc958e1 (#8412) Add MSI package provider for use with Windows
|
33
|
+
878ea25 (#8412) Add optional type-level validation of the source parameter
|
34
|
+
dad075d Correct grammar in parameter comment
|
35
|
+
4168a4c Clean up formatting & whitespace in Puppet::Type
|
36
|
+
fd1d4b9 (#9051) de-ActiveRecord-ify Collection expressions.
|
37
|
+
78e33cc (#9051) Port query tests into the indirection.
|
38
|
+
65580e7 (#9051) Implement the `resource` terminus for StoreConfigs.
|
39
|
+
89aaa51 (#9051) Make generic tagging imported resource origins.
|
40
|
+
d5b295d (#9051) Whitespace cleanup for puppet/parser/collector
|
41
|
+
611c466 (#9051) Dead code elimination in the compiler terminus.
|
42
|
+
6e0ff6a (#9051) Get the compiler out of the ActiveRecord business.
|
43
|
+
4d51680 (#9051) Implement the StoreConfigs indirection itself.
|
44
|
+
d0357c8 (#9051) Add configuration around StoreConfigs indirection.
|
45
|
+
8700682 (#9051) de-ActiveRecord-ify Collection expressions.
|
46
|
+
4274e15 (#9174) Provide a helpful error when missing a gem and installing on Windows
|
47
|
+
f53db3d Clean up formatting & whitespace in package type & providers
|
48
|
+
6dff78c (#8489) Use File::PATH_SEPARATOR in path attribute of service type
|
49
|
+
64dbd3b (#8489) Use File::PATH_SEPARATOR for path attribute of exec type
|
50
|
+
3e40207 (#8489) Use File::PATH_SEPARATOR rather than ':' for factpath setting
|
51
|
+
c469294 (#8489) Use File::PATH_SEPARATOR rather than ':' for args to puppet doc
|
52
|
+
a2ced0f Properly determine file deletion in puppet/unit/util_spec.rb
|
53
|
+
bc5f1e3 (#9051) Port query tests into the indirection.
|
54
|
+
fa78e99 (#9051) Implement the `resource` terminus for StoreConfigs.
|
55
|
+
f6b91be (#8140) Add an exec provider for Windows
|
56
|
+
18c322a (#8410) Factor out a base class for exec providers
|
57
|
+
cb53870 (#8410) Cleanup and fix Windows support in Puppet::Util.execute
|
58
|
+
39a582b (#8410) Use absolute_path? for Puppet::Parameter::Path validation
|
59
|
+
fb6df31 (#8410) Add a helper to Puppet::Util to determine absoluteness of a path
|
60
|
+
c2a432a maint: Fix trailing whitespace in lib/puppet/util.rb
|
61
|
+
fab2fe7 (#9051) Make generic tagging imported resource origins.
|
62
|
+
5300368 (#9051) Whitespace cleanup for puppet/parser/collector
|
63
|
+
6420ede (#9051) Dead code elimination in the compiler terminus.
|
64
|
+
543f331 (#9051) Get the compiler out of the ActiveRecord business.
|
65
|
+
4b55e72 (#9051) Implement the StoreConfigs indirection itself.
|
66
|
+
0f207a8 (#8662) Don't manage internal file permissions on Windows
|
67
|
+
47058ab (#8662) Skip user and group resources when applying settings on Windows
|
68
|
+
2ac8790 (#8662) Fix Puppet.features.root? on Windows
|
69
|
+
ccdd043 (#8662) Break circular feature dependency
|
70
|
+
4b29f5f (#9051) Add configuration around StoreConfigs indirection.
|
71
|
+
9f39cc4 maint: Stub spec test so directory is not created unnecessarily
|
72
|
+
66fb531 Don't use non-1.8.5-compatible methods 'Object#tap' and 'Dir.mktmpdir'
|
73
|
+
2091cbe maint: Fix build break due to recent merge from 2.7.x to master
|
74
|
+
2681ca5 Fix posix exec provider spec failures on Windows
|
75
|
+
3812fc3 (#5495) Remove dead Windows-specific code from posix exec provider
|
76
|
+
b6ca78c Stop trying to make config directories in Windows specs
|
77
|
+
4237cb1 (#8272) Add missing tests for Windows service provider methods.
|
78
|
+
a32c8be (#8409) Add a default group provider for Windows
|
79
|
+
4f7170a (#8408) Add a default user provider for Windows
|
80
|
+
f19a0ea (#8408/8409) Add a Windows ADSI helper module
|
81
|
+
6919d2c (#8663) Exclude exec timeout test on Windows
|
82
|
+
8009209 (#8663) Exclude git rev-parse HEAD spec test on Windows
|
83
|
+
a0013e4 Check for the appropriate permissions in File type tests on Windows
|
84
|
+
58c7dac Remove :fails_on_windows from file type tests that no longer fail on Windows
|
85
|
+
9f2a7b9 Disable file bucket diffing tests on Windows
|
86
|
+
1e59b26 Always put a slash between the checksum and path in filebucket URLs
|
87
|
+
37f87b7 Treat Windows absolute paths as absolute paths
|
88
|
+
4a6d617 Consolidate test logic determining if a registered file is in the temp directory
|
89
|
+
8c88918 Clarify logic and error messages when initializing Puppet::FileBucket::File
|
90
|
+
2efaa85 Disable symlink related file tests on Windows
|
91
|
+
7259e1e (#8644) Host provider on Windows
|
92
|
+
328eaa2 (#8660) Fix destdir option on Windows
|
93
|
+
088c7ac (#8660) Default config dir to %PROGRAMDATA% on Windows
|
94
|
+
925af95 (#8663) Disable spec tests for unsupported functionality on Windows
|
95
|
+
04965d7 (#8663) Drive letters are not valid absolute paths on Windows
|
96
|
+
f4598ec (#8663) Update the run_mode spec test on Windows to match the code
|
97
|
+
68bdc74 (#8663) The ssh_authorized_key type is not supported on Windows
|
98
|
+
9fbb0be (#8663) Reenable spec tests on Windows that now pass
|
99
|
+
c930152 (#8392) Disable master related tests on Windows
|
100
|
+
28b1658 (#8272) Allow disabled Windows services to be started
|
101
|
+
c69baf6 (#8272) Refactor specs for Windows service provider
|
102
|
+
881c385 (#8272) Use symbols instead of booleans for enabled property on Windows
|
103
|
+
9c575bd (#8272) Fixup logging in Windows service provider
|
104
|
+
ad29bf6 Fix issue with forward and backslashes in Windows paths
|
105
|
+
eaa7d92 Disable spec tests for unsupported functionality on Windows
|
106
|
+
945bf74 Update certificate spec tests for Windows
|
107
|
+
3be4d79 Add basic service provider for Windows
|
108
|
+
d9a693d Regexp escape substituted commands in Windows wrapper script
|
109
|
+
49d1e9d Rework Puppet::Util::Cacher to only expire using TTLs
|
110
|
+
9849d56 Remove use of Puppet::Util::Cacher in Puppet::SSL::Host
|
111
|
+
028b795 Remove dead uses of Puppet::Util::Cacher from autoloader
|
112
|
+
7c4dbeb Remove Puppet::Util::Cacher use from Puppet::Indirector::Indirection
|
113
|
+
d6e0b71 Remove caching from the catalog, types, and parameters
|
114
|
+
d49dd9e Remove cached_attrs from Puppet::Type::File
|
115
|
+
546e0f9 Remove Puppet::Util::Cacher usage from Puppet::Util::Settings
|
116
|
+
b6b5498 Remove Util::Cacher usage from SSL::CertificateAuthority
|
117
|
+
777b2f2 Remove unused require 'puppet/util/cacher' from Network::HttpPool
|
118
|
+
41425bd Remove use of Util::Cacher from FileServing::Mount::File
|
119
|
+
8d53090 Remove use of Util::Cacher in FileServing::Configuration
|
120
|
+
3093047 Remove Puppet::Network::HttpPool keep_alive handling
|
121
|
+
57d6217 Fix spec test failure on 1.9.2
|
122
|
+
5d3a40f Maint: Fix miscellaneous tests
|
123
|
+
ce0c258 Maint: Don't test for extended signals on Windows
|
124
|
+
bdc9790 Maint: Tagged spec tests that are known to fail on Windows
|
125
|
+
c26f3e5 Fix tests with "relative" paths on Windows
|
126
|
+
bfeb337 (#8268) Require windows drive letters in absolute file paths
|
127
|
+
fe81dec (#8489) Consistently use File::PATH_SEPARATOR
|
128
|
+
a437812 (#8356) Specify setting type for color
|
129
|
+
af2446a (#8268) Fix resource harness spec tests
|
130
|
+
d9c3b0f (#8356) Color defaults to false on Windows
|
131
|
+
9ebe500 Disable the master on Windows instead of blowing up with failed resources
|
132
|
+
7467a08 (#7581) Provide more detailed error message when missing gems on Windows
|
133
|
+
654de01 Maint: Correct docs for filebucket type and file's backup parameter
|
134
|
+
b623826 Maint: Fix line wrapping in create_resources function
|
135
|
+
fd7332b maint: remove inaccurate copyright and license statements.
|
136
|
+
a8b27de Maint: Improve create_resources function's doc string
|
137
|
+
5f22985 maint: Fix order dependent test failure
|
138
|
+
7ac1093 (#8037) Fix incorrect example in Augeas type reference
|
139
|
+
35c1006 (#9039) Update Augeas commands documentation
|
140
|
+
2bf6721 Reset indirector state after configurer tests.
|
141
|
+
e9b558d Fix posix exec provider spec failures on Windows
|
142
|
+
b28bcb0 (#5495) Remove dead Windows-specific code from posix exec provider
|
143
|
+
2297899 Do not leak indirector state from apply tests
|
144
|
+
b52fbf4 (#8612) Clarify the function of the example for exec's "creates" parameter
|
145
|
+
bb224dd (#8770) Don't fail to set supplementary groups when changing user to root
|
146
|
+
2a0de12 (#8770) Always fully drop privileges when changing user
|
147
|
+
00c4b25 (#8662) Migrate suidmanager test case to rspec
|
148
|
+
d7c9c76 (#8740) Do not enumerate files in the root directory.
|
149
|
+
39da99d (#4411) Explain that runinterval = 0 does not mean "never run"
|
150
|
+
4146a33 Maint: Fix missing option text in puppet agent and arrange options alphabetically
|
151
|
+
0e00473 (#3553) Explain that cron resources require time attributes
|
152
|
+
769d432 (#8302) Improve documentation of exec providers
|
153
|
+
76d45d2 (#7853) Clarify and complete docs for the tagmail report processor
|
154
|
+
d60852b Maint: Mention that audit metaparameter will accept "all"
|
155
|
+
51d989e Maint: Adjust wording for file type's content parameter
|
156
|
+
a110d83 Maint: Fix poor documentation for versioncmp function.
|
157
|
+
746a374 maint: Fix case sensitive require
|
158
|
+
310bd55 maint: Add inspect app options to help
|
159
|
+
3a19628 maint: Fix inspect help
|
160
|
+
344aef9 (#8808) Fail Augeas resource when unable to save changes
|
161
|
+
c209f62 Add document outlining preferred contribution methods
|
162
|
+
839e7c9 (#7999) Add some basic tests of the systemd provider
|
163
|
+
1cae354 (#7999) Add a service provider that manages systemd services natively
|
164
|
+
3b152e4 (#7114) Fix value validation on options
|
165
|
+
aa1b36f (#7114) Add tests for option property
|
166
|
+
|
1
167
|
2.7.3
|
2
168
|
===
|
3
169
|
7113448 (#4762) Ensure that clients on the moon can successfully connect.
|
data/install.rb
CHANGED
@@ -243,6 +243,14 @@ def prepare_installation
|
|
243
243
|
|
244
244
|
if not InstallOptions.configdir.nil?
|
245
245
|
configdir = InstallOptions.configdir
|
246
|
+
elsif $operatingsystem == "windows"
|
247
|
+
begin
|
248
|
+
require 'win32/dir'
|
249
|
+
rescue LoadError => e
|
250
|
+
puts "Cannot run on Microsoft Windows without the sys-admin, win32-process, win32-dir & win32-service gems: #{e}"
|
251
|
+
exit -1
|
252
|
+
end
|
253
|
+
configdir = File.join(Dir::COMMON_APPDATA, "PuppetLabs", "puppet", "etc")
|
246
254
|
else
|
247
255
|
configdir = "/etc/puppet"
|
248
256
|
end
|
@@ -283,18 +291,18 @@ def prepare_installation
|
|
283
291
|
if not InstallOptions.destdir.nil?
|
284
292
|
destdir = InstallOptions.destdir
|
285
293
|
# To be deprecated once people move over to using --destdir option
|
286
|
-
elsif ENV['DESTDIR']
|
294
|
+
elsif not ENV['DESTDIR'].nil?
|
287
295
|
destdir = ENV['DESTDIR']
|
288
296
|
warn "DESTDIR is deprecated. Use --destdir instead."
|
289
297
|
else
|
290
298
|
destdir = ''
|
291
299
|
end
|
292
300
|
|
293
|
-
configdir =
|
294
|
-
bindir =
|
295
|
-
sbindir =
|
296
|
-
mandir =
|
297
|
-
sitelibdir =
|
301
|
+
configdir = join(destdir, configdir)
|
302
|
+
bindir = join(destdir, bindir)
|
303
|
+
sbindir = join(destdir, sbindir)
|
304
|
+
mandir = join(destdir, mandir)
|
305
|
+
sitelibdir = join(destdir, sitelibdir)
|
298
306
|
|
299
307
|
FileUtils.makedirs(configdir) if InstallOptions.configs
|
300
308
|
FileUtils.makedirs(bindir)
|
@@ -313,6 +321,16 @@ def prepare_installation
|
|
313
321
|
InstallOptions.man_dir = mandir
|
314
322
|
end
|
315
323
|
|
324
|
+
##
|
325
|
+
# Join two paths. On Windows, dir must be converted to a relative path,
|
326
|
+
# by stripping the drive letter, but only if the basedir is not empty.
|
327
|
+
#
|
328
|
+
def join(basedir, dir)
|
329
|
+
return "#{basedir}#{dir[2..-1]}" if $operatingsystem == "windows" and basedir.length > 0 and dir.length > 2
|
330
|
+
|
331
|
+
"#{basedir}#{dir}"
|
332
|
+
end
|
333
|
+
|
316
334
|
##
|
317
335
|
# Build the rdoc documentation. Also, try to build the RI documentation.
|
318
336
|
#
|
@@ -405,8 +423,10 @@ def install_binfile(from, op_file, target)
|
|
405
423
|
if not installed_wrapper
|
406
424
|
tmp_file2 = File.join(tmp_dir, '_tmp_wrapper')
|
407
425
|
cwn = File.join(Config::CONFIG['bindir'], op_file)
|
408
|
-
|
426
|
+
regex_safe_ruby = Regexp.escape(ruby.gsub(%r{/}) { "\\" })
|
427
|
+
regex_safe_cwn = Regexp.escape(cwn.gsub(%r{/}) { "\\" })
|
409
428
|
|
429
|
+
cwv = CMD_WRAPPER.gsub('<ruby>', regex_safe_ruby).gsub('<command>', regex_safe_cwn)
|
410
430
|
File.open(tmp_file2, "wb") { |cw| cw.puts cwv }
|
411
431
|
FileUtils.install(tmp_file2, File.join(target, "#{op_file}.bat"), :mode => 0755, :verbose => true)
|
412
432
|
|
@@ -100,12 +100,11 @@ similar), or run interactively for testing purposes.
|
|
100
100
|
|
101
101
|
USAGE
|
102
102
|
-----
|
103
|
-
puppet agent
|
104
|
-
[--detailed-exitcodes] [--
|
105
|
-
[--
|
106
|
-
[-o|--onetime] [--serve <handler>] [-t|--test]
|
107
|
-
[
|
108
|
-
[-v|--verbose] [-w|--waitforcert <seconds>]
|
103
|
+
puppet agent [--certname <name>] [-D|--daemonize|--no-daemonize]
|
104
|
+
[-d|--debug] [--detailed-exitcodes] [--digest <digest>] [--disable] [--enable]
|
105
|
+
[--fingerprint] [-h|--help] [-l|--logdest syslog|<file>|console]
|
106
|
+
[--no-client] [--noop] [-o|--onetime] [--serve <handler>] [-t|--test]
|
107
|
+
[-v|--verbose] [-V|--version] [-w|--waitforcert <seconds>]
|
109
108
|
|
110
109
|
|
111
110
|
DESCRIPTION
|
@@ -172,6 +171,13 @@ full list of acceptable parameters. A commented list of all
|
|
172
171
|
configuration options can also be generated by running puppet agent with
|
173
172
|
'--genconfig'.
|
174
173
|
|
174
|
+
* --certname:
|
175
|
+
Set the certname (unique ID) of the client. The master reads this
|
176
|
+
unique identifying string, which is usually set to the node's
|
177
|
+
fully-qualified domain name, to determine which configurations the
|
178
|
+
node will receive. Use this option to debug setup problems or
|
179
|
+
implement unusual node identification schemes.
|
180
|
+
|
175
181
|
* --daemonize:
|
176
182
|
Send the process into the background. This is the default.
|
177
183
|
|
@@ -181,17 +187,17 @@ configuration options can also be generated by running puppet agent with
|
|
181
187
|
* --debug:
|
182
188
|
Enable full debugging.
|
183
189
|
|
184
|
-
* --digest:
|
185
|
-
Change the certificate fingerprinting digest algorithm. The default is
|
186
|
-
MD5. Valid values depends on the version of OpenSSL installed, but
|
187
|
-
should always at least contain MD5, MD2, SHA1 and SHA256.
|
188
|
-
|
189
190
|
* --detailed-exitcodes:
|
190
191
|
Provide transaction information via exit codes. If this is enabled, an exit
|
191
192
|
code of '2' means there were changes, an exit code of '4' means there were
|
192
193
|
failures during the transaction, and an exit code of '6' means there were both
|
193
194
|
changes and failures.
|
194
195
|
|
196
|
+
* --digest:
|
197
|
+
Change the certificate fingerprinting digest algorithm. The default is
|
198
|
+
MD5. Valid values depends on the version of OpenSSL installed, but
|
199
|
+
should always at least contain MD5, MD2, SHA1 and SHA256.
|
200
|
+
|
195
201
|
* --disable:
|
196
202
|
Disable working on the local system. This puts a lock file in place,
|
197
203
|
causing 'puppet agent' not to work on the system until the lock file
|
@@ -212,12 +218,10 @@ configuration options can also be generated by running puppet agent with
|
|
212
218
|
|
213
219
|
'puppet agent' exits after executing this.
|
214
220
|
|
215
|
-
* --
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
node will receive. Use this option to debug setup problems or
|
220
|
-
implement unusual node identification schemes.
|
221
|
+
* --fingerprint:
|
222
|
+
Display the current certificate or certificate signing request
|
223
|
+
fingerprint and then exit. Use the '--digest' option to change the
|
224
|
+
digest algorithm used.
|
221
225
|
|
222
226
|
* --help:
|
223
227
|
Print this help message
|
@@ -230,18 +234,19 @@ configuration options can also be generated by running puppet agent with
|
|
230
234
|
* --no-client:
|
231
235
|
Do not create a config client. This will cause the daemon to run
|
232
236
|
without ever checking for its configuration automatically, and only
|
233
|
-
makes sense
|
237
|
+
makes sense when puppet agent is being run with listen = true in puppet.conf
|
238
|
+
or was started with the `--listen` option.
|
239
|
+
|
240
|
+
* --noop:
|
241
|
+
Use 'noop' mode where the daemon runs in a no-op or dry-run mode. This
|
242
|
+
is useful for seeing what changes Puppet will make without actually
|
243
|
+
executing the changes.
|
234
244
|
|
235
245
|
* --onetime:
|
236
246
|
Run the configuration once. Runs a single (normally daemonized) Puppet
|
237
247
|
run. Useful for interactively running puppet agent when used in
|
238
248
|
conjunction with the --no-daemonize option.
|
239
249
|
|
240
|
-
* --fingerprint:
|
241
|
-
Display the current certificate or certificate signing request
|
242
|
-
fingerprint and then exit. Use the '--digest' option to change the
|
243
|
-
digest algorithm used.
|
244
|
-
|
245
250
|
* --serve:
|
246
251
|
Start another type of server. By default, 'puppet agent' will start a
|
247
252
|
service handler that allows authenticated and authorized remote nodes
|
@@ -256,11 +261,6 @@ configuration options can also be generated by running puppet agent with
|
|
256
261
|
'verbose', 'ignorecache', 'no-daemonize', 'no-usecacheonfailure',
|
257
262
|
'detailed-exit-codes', 'no-splay', and 'show_diff'.
|
258
263
|
|
259
|
-
* --noop:
|
260
|
-
Use 'noop' mode where the daemon runs in a no-op or dry-run mode. This
|
261
|
-
is useful for seeing what changes Puppet will make without actually
|
262
|
-
executing the changes.
|
263
|
-
|
264
264
|
* --verbose:
|
265
265
|
Turn on verbose reporting.
|
266
266
|
|
@@ -290,7 +290,7 @@ Puppet agent accepts the following signals:
|
|
290
290
|
Restart the puppet agent daemon.
|
291
291
|
* SIGINT and SIGTERM:
|
292
292
|
Shut down the puppet agent daemon.
|
293
|
-
* SIGUSR1:
|
293
|
+
* SIGUSR1:
|
294
294
|
Immediately retrieve and apply configurations from the puppet master.
|
295
295
|
|
296
296
|
AUTHOR
|
@@ -252,7 +252,7 @@ HELP
|
|
252
252
|
@unknown_args.each do |option|
|
253
253
|
# force absolute path for modulepath when passed on commandline
|
254
254
|
if option[:opt]=="--modulepath" or option[:opt] == "--manifestdir"
|
255
|
-
option[:arg] = option[:arg].split(
|
255
|
+
option[:arg] = option[:arg].split(File::PATH_SEPARATOR).collect { |p| File.expand_path(p) }.join(File::PATH_SEPARATOR)
|
256
256
|
end
|
257
257
|
Puppet.settings.handlearg(option[:opt], option[:arg])
|
258
258
|
end
|
@@ -31,7 +31,7 @@ Prepares and submits an inspection report to the puppet master.
|
|
31
31
|
|
32
32
|
USAGE
|
33
33
|
-----
|
34
|
-
puppet inspect
|
34
|
+
puppet inspect [--archive_files] [--archive_file_server]
|
35
35
|
|
36
36
|
|
37
37
|
DESCRIPTION
|
@@ -57,6 +57,14 @@ configuration file documentation at
|
|
57
57
|
http://docs.puppetlabs.com/references/latest/configuration.html for
|
58
58
|
the full list of acceptable settings.
|
59
59
|
|
60
|
+
* --archive_files:
|
61
|
+
During an inspect run, whether to archive files whose contents are audited to
|
62
|
+
a file bucket.
|
63
|
+
|
64
|
+
* --archive_file_server:
|
65
|
+
During an inspect run, the file bucket server to archive files to if
|
66
|
+
archive_files is set. The default value is '$server'.
|
67
|
+
|
60
68
|
|
61
69
|
AUTHOR
|
62
70
|
------
|
@@ -206,6 +206,8 @@ Copyright (c) 2011 Puppet Labs, LLC Licensed under the Apache 2.0 License
|
|
206
206
|
end
|
207
207
|
|
208
208
|
def setup
|
209
|
+
raise Puppet::Error.new("Puppet master is not supported on Microsoft Windows") if Puppet.features.microsoft_windows?
|
210
|
+
|
209
211
|
# Handle the logging settings.
|
210
212
|
if options[:debug] or options[:verbose]
|
211
213
|
if options[:debug]
|
@@ -151,7 +151,7 @@ Copyright (c) 2011 Puppet Labs, LLC Licensed under the Apache 2.0 License
|
|
151
151
|
exit(Puppet.settings.print_configs ? 0 : 1) if Puppet.settings.print_configs?
|
152
152
|
|
153
153
|
require 'puppet/resource/catalog'
|
154
|
-
Puppet::Resource::Catalog.indirection.terminus_class = :
|
154
|
+
Puppet::Resource::Catalog.indirection.terminus_class = :store_configs
|
155
155
|
|
156
156
|
daemon.daemonize if Puppet[:daemonize]
|
157
157
|
|
@@ -183,6 +183,9 @@ Copyright (c) 2011 Puppet Labs, LLC Licensed under the Apache 2.0 License
|
|
183
183
|
[ Puppet::Resource.indirection.save(Puppet::Resource.new( type, name, :parameters => params ), key) ]
|
184
184
|
end
|
185
185
|
else
|
186
|
+
if type == "file"
|
187
|
+
raise "Listing all file instances is not supported. Please specify a file or directory, e.g. puppet resource file /etc"
|
188
|
+
end
|
186
189
|
Puppet::Resource.indirection.search( key, {} )
|
187
190
|
end.map(&format).join("\n")
|
188
191
|
|
data/lib/puppet/application.rb
CHANGED
@@ -215,11 +215,10 @@ class Application
|
|
215
215
|
def find(name)
|
216
216
|
klass = name.to_s.capitalize
|
217
217
|
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
puts "Unable to find application '#{name.to_s}'."
|
218
|
+
begin
|
219
|
+
require File.join('puppet', 'application', name.to_s.downcase)
|
220
|
+
rescue LoadError => e
|
221
|
+
puts "Unable to find application '#{name}'. #{e}"
|
223
222
|
Kernel::exit(1)
|
224
223
|
end
|
225
224
|
|
data/lib/puppet/configurer.rb
CHANGED
@@ -102,6 +102,7 @@ class Puppet::Configurer
|
|
102
102
|
catalog.finalize
|
103
103
|
catalog.retrieval_duration = duration
|
104
104
|
catalog.write_class_file
|
105
|
+
catalog.write_resource_file
|
105
106
|
catalog
|
106
107
|
end
|
107
108
|
|
@@ -161,10 +162,6 @@ class Puppet::Configurer
|
|
161
162
|
# Make sure we forget the retained module_directories of any autoload
|
162
163
|
# we might have used.
|
163
164
|
Thread.current[:env_module_directories] = nil
|
164
|
-
|
165
|
-
# Now close all of our existing http connections, since there's no
|
166
|
-
# reason to leave them lying open.
|
167
|
-
Puppet::Network::HttpPool.clear_http_instances
|
168
165
|
end
|
169
166
|
ensure
|
170
167
|
Puppet::Util::Log.close(report)
|
data/lib/puppet/defaults.rb
CHANGED
@@ -47,10 +47,14 @@ module Puppet
|
|
47
47
|
exits. Comma-separate multiple values. For a list of all values,
|
48
48
|
specify 'all'. This feature is only available in Puppet versions
|
49
49
|
higher than 0.18.4."],
|
50
|
-
:color =>
|
50
|
+
:color => {
|
51
|
+
:default => (Puppet.features.microsoft_windows? ? "false" : "ansi"),
|
52
|
+
:type => :setting,
|
53
|
+
:desc => "Whether to use colors when logging to the console.
|
51
54
|
Valid values are `ansi` (equivalent to `true`), `html` (mostly
|
52
55
|
used during testing with TextMate), and `false`, which produces
|
53
|
-
no color."
|
56
|
+
no color.",
|
57
|
+
},
|
54
58
|
:mkusers => [false,
|
55
59
|
"Whether to create the necessary user and group that puppet agent will
|
56
60
|
run as."],
|
@@ -437,9 +441,11 @@ module Puppet
|
|
437
441
|
authorization system for `puppet master`."
|
438
442
|
],
|
439
443
|
:ca => [true, "Wether the master should function as a certificate authority."],
|
440
|
-
:modulepath => {
|
441
|
-
:
|
442
|
-
|
444
|
+
:modulepath => {
|
445
|
+
:default => "$confdir/modules#{File::PATH_SEPARATOR}/usr/share/puppet/modules",
|
446
|
+
:desc => "The search path for modules as a list of directories separated by the '#{File::PATH_SEPARATOR}' character.",
|
447
|
+
:type => :setting # We don't want this to be considered a file, since it's multiple files.
|
448
|
+
},
|
443
449
|
:ssl_client_header => ["HTTP_X_CLIENT_DN", "The header containing an authenticated
|
444
450
|
client's SSL DN. Only used with Mongrel. This header must be set by the proxy
|
445
451
|
to the authenticated client's SSL DN (e.g., `/CN=puppet.puppetlabs.com`).
|
@@ -533,6 +539,11 @@ module Puppet
|
|
533
539
|
associated with the retrieved configuration. Can be loaded in
|
534
540
|
the separate `puppet` executable using the `--loadclasses`
|
535
541
|
option."},
|
542
|
+
:resourcefile => { :default => "$statedir/resources.txt",
|
543
|
+
:owner => "root",
|
544
|
+
:mode => 0644,
|
545
|
+
:desc => "The file in which puppet agent stores a list of the resources
|
546
|
+
associated with the retrieved configuration." },
|
536
547
|
:puppetdlog => { :default => "$logdir/puppetd.log",
|
537
548
|
:owner => "root",
|
538
549
|
:mode => 0640,
|
@@ -545,7 +556,10 @@ module Puppet
|
|
545
556
|
:puppetport => [8139, "Which port puppet agent listens on."],
|
546
557
|
:noop => [false, "Whether puppet agent should be run in noop mode."],
|
547
558
|
:runinterval => [1800, # 30 minutes
|
548
|
-
"How often puppet agent applies the client configuration; in seconds.
|
559
|
+
"How often puppet agent applies the client configuration; in seconds.
|
560
|
+
Note that a runinterval of 0 means \"run continuously\" rather than
|
561
|
+
\"never run.\" If you want puppet agent to never run, you should start
|
562
|
+
it with the `--no-client` option."],
|
549
563
|
:listen => [false, "Whether puppet agent should listen for
|
550
564
|
connections. If this is true, then puppet agent will accept incoming
|
551
565
|
REST API requests, subject to the default ACLs and the ACLs set in
|
@@ -678,7 +692,7 @@ module Puppet
|
|
678
692
|
|
679
693
|
setdefaults(
|
680
694
|
:main,
|
681
|
-
:factpath => {:default => "$vardir/lib/facter
|
695
|
+
:factpath => {:default => "$vardir/lib/facter#{File::PATH_SEPARATOR}$vardir/facts",
|
682
696
|
:desc => "Where Puppet should look for facts. Multiple directories should
|
683
697
|
be colon-separated, like normal PATH variables.",
|
684
698
|
|
@@ -821,20 +835,36 @@ module Puppet
|
|
821
835
|
)
|
822
836
|
|
823
837
|
setdefaults(:master,
|
824
|
-
:storeconfigs => {
|
825
|
-
|
826
|
-
:
|
838
|
+
:storeconfigs => {
|
839
|
+
:default => false,
|
840
|
+
:desc => "Whether to store each client's configuration, including catalogs, facts,
|
841
|
+
and related data. This also enables the import and export of resources in
|
842
|
+
the Puppet language - a mechanism for exchange resources between nodes.
|
843
|
+
|
844
|
+
By default this uses ActiveRecord and an SQL database to store and query
|
845
|
+
the data; this, in turn, will depend on Rails being available.
|
846
|
+
|
847
|
+
You can adjust the backend using the storeconfigs_backend setting.",
|
848
|
+
# Call our hook with the default value, so we always get the libdir set.
|
849
|
+
:call_on_define => true,
|
827
850
|
:hook => proc do |value|
|
828
851
|
require 'puppet/node'
|
829
852
|
require 'puppet/node/facts'
|
830
853
|
if value
|
831
|
-
|
832
|
-
|
833
|
-
Puppet::
|
834
|
-
Puppet::Node
|
835
|
-
|
854
|
+
Puppet.settings[:async_storeconfigs] or
|
855
|
+
Puppet::Resource::Catalog.indirection.cache_class = :store_configs
|
856
|
+
Puppet::Node::Facts.indirection.cache_class = :store_configs
|
857
|
+
Puppet::Node.indirection.cache_class = :store_configs
|
858
|
+
|
859
|
+
Puppet::Resource.indirection.terminus_class = :store_configs
|
836
860
|
end
|
837
861
|
end
|
862
|
+
},
|
863
|
+
:storeconfigs_backend => {
|
864
|
+
:default => "active_record",
|
865
|
+
:desc => "Configure the backend terminus used for StoreConfigs.
|
866
|
+
By default, this uses the ActiveRecord store, which directly talks to the
|
867
|
+
database from within the Puppet Master process."
|
838
868
|
}
|
839
869
|
)
|
840
870
|
|
data/lib/puppet/feature/base.rb
CHANGED
@@ -1,10 +1,35 @@
|
|
1
|
-
# Created by Luke Kanies on 2006-04-30.
|
2
|
-
# Copyright (c) 2006. All rights reserved.
|
3
|
-
|
4
1
|
require 'puppet/util/feature'
|
5
2
|
|
6
3
|
# Add the simple features, all in one file.
|
7
4
|
|
5
|
+
# Order is important as some features depend on others
|
6
|
+
|
7
|
+
# We have a syslog implementation
|
8
|
+
Puppet.features.add(:syslog, :libs => ["syslog"])
|
9
|
+
|
10
|
+
# We can use POSIX user functions
|
11
|
+
Puppet.features.add(:posix) do
|
12
|
+
require 'etc'
|
13
|
+
Etc.getpwuid(0) != nil && Puppet.features.syslog?
|
14
|
+
end
|
15
|
+
|
16
|
+
# We can use Microsoft Windows functions
|
17
|
+
Puppet.features.add(:microsoft_windows) do
|
18
|
+
begin
|
19
|
+
require 'sys/admin'
|
20
|
+
require 'win32/process'
|
21
|
+
require 'win32/dir'
|
22
|
+
require 'win32/service'
|
23
|
+
require 'win32ole'
|
24
|
+
require 'win32/api'
|
25
|
+
true
|
26
|
+
rescue LoadError => err
|
27
|
+
warn "Cannot run on Microsoft Windows without the sys-admin, win32-process, win32-dir & win32-service gems: #{err}" unless Puppet.features.posix?
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
raise Puppet::Error,"Cannot determine basic system flavour" unless Puppet.features.posix? or Puppet.features.microsoft_windows?
|
32
|
+
|
8
33
|
# We've got LDAP available.
|
9
34
|
Puppet.features.add(:ldap, :libs => ["ldap"])
|
10
35
|
|
@@ -33,20 +58,6 @@ Puppet.features.add(:rrd, :libs => ["RRD"])
|
|
33
58
|
# We have OpenSSL
|
34
59
|
Puppet.features.add(:openssl, :libs => ["openssl"])
|
35
60
|
|
36
|
-
# We have a syslog implementation
|
37
|
-
Puppet.features.add(:syslog, :libs => ["syslog"])
|
38
|
-
|
39
|
-
# We can use POSIX user functions
|
40
|
-
Puppet.features.add(:posix) do
|
41
|
-
require 'etc'
|
42
|
-
Etc.getpwuid(0) != nil && Puppet.features.syslog?
|
43
|
-
end
|
44
|
-
|
45
|
-
# We can use Microsoft Windows functions
|
46
|
-
Puppet.features.add(:microsoft_windows, :libs => ["sys/admin", "win32/process", "win32/dir"])
|
47
|
-
|
48
|
-
raise Puppet::Error,"Cannot determine basic system flavour" unless Puppet.features.posix? or Puppet.features.microsoft_windows?
|
49
|
-
|
50
61
|
# We have CouchDB
|
51
62
|
Puppet.features.add(:couchdb, :libs => ["couchrest"])
|
52
63
|
|
data/lib/puppet/feature/rails.rb
CHANGED
@@ -35,11 +35,12 @@ class Puppet::FileBucket::Dipper
|
|
35
35
|
begin
|
36
36
|
file_bucket_file = Puppet::FileBucket::File.new(contents, :bucket_path => @local_path)
|
37
37
|
files_original_path = absolutize_path(file)
|
38
|
-
dest_path = "#{@rest_path}#{file_bucket_file.name}
|
38
|
+
dest_path = "#{@rest_path}#{file_bucket_file.name}/#{files_original_path}"
|
39
|
+
file_bucket_path = "#{@rest_path}#{file_bucket_file.checksum_type}/#{file_bucket_file.checksum_data}/#{files_original_path}"
|
39
40
|
|
40
41
|
# Make a HEAD request for the file so that we don't waste time
|
41
42
|
# uploading it if it already exists in the bucket.
|
42
|
-
unless Puppet::FileBucket::File.indirection.head(
|
43
|
+
unless Puppet::FileBucket::File.indirection.head(file_bucket_path)
|
43
44
|
Puppet::FileBucket::File.indirection.save(file_bucket_file, dest_path)
|
44
45
|
end
|
45
46
|
|