puppet 0.25.4 → 0.25.5
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 +679 -23
- data/LICENSE +2 -2
- data/README +2 -2
- data/README.queueing +1 -1
- data/README.rst +2 -2
- data/Rakefile +4 -2
- data/bin/filebucket +2 -2
- data/bin/pi +1 -1
- data/bin/puppet +2 -2
- data/bin/puppetca +2 -2
- data/bin/puppetd +5 -4
- data/bin/puppetdoc +4 -4
- data/bin/puppetmasterd +2 -2
- data/bin/puppetqd +2 -2
- data/bin/puppetrun +2 -2
- data/bin/ralsh +2 -2
- data/conf/epm.list +2 -2
- data/conf/gentoo/puppet/puppet.conf +0 -4
- data/conf/osx/PackageInfo.plist +1 -1
- data/conf/redhat/logrotate +1 -0
- data/conf/redhat/puppet.conf +0 -4
- data/conf/redhat/puppet.spec +16 -10
- data/conf/solaris/pkginfo +2 -2
- data/conf/solaris/smf/puppetd.xml +3 -3
- data/conf/solaris/smf/puppetmasterd.xml +3 -3
- data/conf/solaris/smf/svc-puppetd +1 -1
- data/conf/solaris/smf/svc-puppetmasterd +1 -1
- data/conf/suse/puppet.spec +16 -14
- data/conf/suse/puppet.suse.patch +16 -0
- data/examples/etc/puppet/fileserver.conf +5 -5
- data/examples/modules/sample-module/README.txt +3 -3
- data/examples/modules/sample-module/lib/puppet/parser/functions/hostname_to_dn.rb +1 -1
- data/ext/extlookup.rb +1 -1
- data/ext/nagios/check_puppet.rb +1 -1
- data/ext/nagios/naggen +2 -2
- data/ext/puppet-test +2 -2
- data/ext/puppetlast +1 -1
- data/ext/puppetstoredconfigclean.rb +1 -1
- data/ext/regexp_nodes/regexp_nodes.rb +4 -4
- data/ext/vim/syntax/puppet.vim +5 -3
- data/install.rb +11 -9
- data/lib/puppet.rb +1 -1
- data/lib/puppet/application/puppetd.rb +5 -4
- data/lib/puppet/configurer.rb +38 -31
- data/lib/puppet/defaults.rb +18 -13
- data/lib/puppet/file_serving/fileset.rb +2 -2
- data/lib/puppet/file_serving/terminus_helper.rb +1 -0
- data/lib/puppet/indirector/indirection.rb +20 -13
- data/lib/puppet/network/authstore.rb +3 -3
- data/lib/puppet/network/format_handler.rb +1 -1
- data/lib/puppet/network/handler/fileserver.rb +2 -2
- data/lib/puppet/network/handler/master.rb +1 -1
- data/lib/puppet/network/http_pool.rb +0 -2
- data/lib/puppet/network/http_server/webrick.rb +1 -1
- data/lib/puppet/parser/ast/casestatement.rb +4 -4
- data/lib/puppet/parser/ast/ifstatement.rb +2 -1
- data/lib/puppet/parser/ast/leaf.rb +1 -0
- data/lib/puppet/parser/ast/selector.rb +2 -3
- data/lib/puppet/parser/functions/generate.rb +3 -5
- data/lib/puppet/parser/functions/require.rb +8 -1
- data/lib/puppet/parser/functions/template.rb +1 -1
- data/lib/puppet/parser/lexer.rb +1 -7
- data/lib/puppet/parser/resource.rb +10 -4
- data/lib/puppet/parser/scope.rb +61 -9
- data/lib/puppet/provider/augeas/augeas.rb +23 -7
- data/lib/puppet/provider/macauthorization/macauthorization.rb +1 -1
- data/lib/puppet/provider/maillist/mailman.rb +2 -2
- data/lib/puppet/provider/package/portage.rb +2 -2
- data/lib/puppet/provider/service/debian.rb +2 -2
- data/lib/puppet/provider/service/redhat.rb +1 -1
- data/lib/puppet/provider/service/smf.rb +4 -1
- data/lib/puppet/provider/ssh_authorized_key/parsed.rb +9 -29
- data/lib/puppet/provider/user/user_role_add.rb +1 -1
- data/lib/puppet/reference/configuration.rb +1 -1
- data/lib/puppet/reference/providers.rb +1 -1
- data/lib/puppet/reports/tagmail.rb +1 -0
- data/lib/puppet/resource/catalog.rb +1 -8
- data/lib/puppet/simple_graph.rb +37 -12
- data/lib/puppet/ssl/certificate.rb +2 -3
- data/lib/puppet/ssl/certificate_authority.rb +1 -1
- data/lib/puppet/ssl/host.rb +19 -12
- data/lib/puppet/sslcertificates/ca.rb +5 -6
- data/lib/puppet/transaction.rb +11 -15
- data/lib/puppet/type/augeas.rb +2 -1
- data/lib/puppet/type/exec.rb +1 -1
- data/lib/puppet/type/file.rb +9 -2
- data/lib/puppet/type/file/checksum.rb +2 -1
- data/lib/puppet/type/file/source.rb +4 -4
- data/lib/puppet/type/maillist.rb +10 -0
- data/lib/puppet/type/mount.rb +5 -3
- data/lib/puppet/type/tidy.rb +36 -30
- data/lib/puppet/util/autoload.rb +2 -2
- data/lib/puppet/util/checksums.rb +5 -0
- data/lib/puppet/util/monkey_patches.rb +38 -0
- data/lib/puppet/util/nagios_maker.rb +1 -1
- data/lib/puppet/util/settings.rb +14 -4
- data/lib/puppet/util/suidmanager.rb +26 -2
- data/lib/puppet/util/zaml.rb +318 -0
- data/man/{man8/puppet.conf.8 → man5/puppet.conf.5} +594 -899
- data/man/man8/filebucket.8 +31 -45
- data/man/man8/pi.8 +16 -22
- data/man/man8/puppet.8 +26 -36
- data/man/man8/puppetca.8 +38 -51
- data/man/man8/puppetd.8 +48 -64
- data/man/man8/puppetdoc.8 +37 -48
- data/man/man8/puppetmasterd.8 +24 -32
- data/man/man8/puppetqd.8 +22 -27
- data/man/man8/puppetrun.8 +46 -58
- data/man/man8/ralsh.8 +43 -48
- data/spec/integration/bin/puppetmasterd.rb +20 -9
- data/spec/integration/defaults.rb +4 -0
- data/spec/integration/indirector/certificate/rest.rb +0 -1
- data/spec/integration/indirector/certificate_request/rest.rb +0 -1
- data/spec/integration/indirector/certificate_revocation_list/rest.rb +0 -1
- data/spec/integration/indirector/report/rest.rb +0 -1
- data/spec/integration/indirector/rest.rb +0 -1
- data/spec/integration/parser/functions/require.rb +18 -1
- data/spec/unit/application/filebucket.rb +2 -2
- data/spec/unit/application/puppetd.rb +4 -5
- data/spec/unit/configurer.rb +46 -8
- data/spec/unit/file_serving/fileset.rb +6 -0
- data/spec/unit/file_serving/terminus_helper.rb +10 -0
- data/spec/unit/indirector/indirection.rb +17 -28
- data/spec/unit/network/format_handler.rb +3 -2
- data/spec/unit/network/http_pool.rb +9 -17
- data/spec/unit/parser/ast/casestatement.rb +4 -12
- data/spec/unit/parser/ast/ifstatement.rb +2 -1
- data/spec/unit/parser/ast/leaf.rb +15 -2
- data/spec/unit/parser/ast/selector.rb +4 -12
- data/spec/unit/parser/functions/generate.rb +41 -0
- data/spec/unit/parser/functions/require.rb +23 -2
- data/spec/unit/parser/resource.rb +18 -0
- data/spec/unit/parser/scope.rb +94 -3
- data/spec/unit/provider/augeas/augeas.rb +27 -3
- data/spec/unit/provider/ssh_authorized_key/parsed.rb +30 -19
- data/spec/unit/resource/catalog.rb +16 -39
- data/spec/unit/simple_graph.rb +14 -0
- data/spec/unit/ssl/host.rb +55 -17
- data/spec/unit/type/file.rb +43 -11
- data/spec/unit/type/file/checksum.rb +28 -0
- data/spec/unit/type/tidy.rb +30 -1
- data/spec/unit/util/autoload.rb +2 -1
- data/spec/unit/util/checksums.rb +7 -1
- data/spec/unit/util/settings.rb +39 -2
- data/spec/unit/util/zaml.rb +38 -0
- data/tasks/rake/changelog.rake +1 -1
- data/tasks/rake/gem.rake +3 -3
- data/tasks/rake/git_workflow.rake +1 -1
- data/tasks/rake/sign.rake +1 -1
- data/tasks/rake/yard.rake +11 -0
- data/test/certmgr/certmgr.rb +1 -1
- data/test/data/providers/ssh_authorized_key/parsed/authorized_keys +1 -1
- data/test/lib/puppettest/support/utils.rb +2 -1
- data/test/network/handler/ca.rb +4 -4
- data/test/network/handler/fileserver.rb +15 -9
- data/test/other/transactions.rb +1 -6
- data/test/puppet/tc_suidmanager.rb +7 -2
- data/test/ral/providers/host/parsed.rb +6 -6
- data/test/ral/providers/package.rb +4 -0
- data/test/ral/providers/sshkey/parsed.rb +5 -5
- data/test/ral/type/file.rb +0 -21
- data/test/ral/type/host.rb +4 -4
- data/test/ral/type/resources.rb +0 -78
- data/test/ral/type/sshkey.rb +2 -2
- data/test/test +1 -1
- data/test/util/settings.rb +6 -6
- metadata +1065 -1050
- data/test/executables/puppetmodule.rb +0 -55
- data/test/ral/providers/service/debian.rb +0 -58
@@ -0,0 +1,38 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") }
|
4
|
+
|
5
|
+
require 'puppet/util/monkey_patches'
|
6
|
+
|
7
|
+
describe "Pure ruby yaml implementation" do
|
8
|
+
{
|
9
|
+
7 => "--- 7",
|
10
|
+
3.14159 => "--- 3.14159",
|
11
|
+
'test' => "--- test",
|
12
|
+
[] => "--- []",
|
13
|
+
:symbol => "--- !ruby/sym symbol",
|
14
|
+
{:a => "A"} => "--- \n !ruby/sym a: A"
|
15
|
+
}.each { |o,y|
|
16
|
+
it "should convert the #{o.class} #{o.inspect} to yaml" do
|
17
|
+
o.to_yaml.should == y
|
18
|
+
end
|
19
|
+
it "should produce yaml for the #{o.class} #{o.inspect} that can be reconstituted" do
|
20
|
+
YAML.load(o.to_yaml).should == o
|
21
|
+
end
|
22
|
+
}
|
23
|
+
#
|
24
|
+
# Can't test for equality on raw objects
|
25
|
+
{
|
26
|
+
Object.new => "--- !ruby/object {}",
|
27
|
+
[Object.new] => "--- \n - !ruby/object {}",
|
28
|
+
{Object.new => Object.new} => "--- \n ? !ruby/object {}\n : !ruby/object {}"
|
29
|
+
}.each { |o,y|
|
30
|
+
it "should convert the #{o.class} #{o.inspect} to yaml" do
|
31
|
+
o.to_yaml.should == y
|
32
|
+
end
|
33
|
+
it "should produce yaml for the #{o.class} #{o.inspect} that can be reconstituted" do
|
34
|
+
lambda { YAML.load(o.to_yaml) }.should_not raise_error
|
35
|
+
end
|
36
|
+
}
|
37
|
+
end
|
38
|
+
|
data/tasks/rake/changelog.rake
CHANGED
@@ -8,7 +8,7 @@ task :changelog do
|
|
8
8
|
|
9
9
|
CHANGELOG_DIR = "#{Dir.pwd}"
|
10
10
|
mkdir(CHANGELOG_DIR) unless File.directory?(CHANGELOG_DIR)
|
11
|
-
change_body = `git-changelog --
|
11
|
+
change_body = `git-changelog --limit=99999`
|
12
12
|
File.open(File.join(CHANGELOG_DIR, "CHANGELOG"), 'w') do |f|
|
13
13
|
f << change_body
|
14
14
|
end
|
data/tasks/rake/gem.rake
CHANGED
@@ -30,9 +30,9 @@ spec = Gem::Specification.new do |spec|
|
|
30
30
|
spec.add_dependency('facter', '>= 1.5.1')
|
31
31
|
spec.summary = 'Puppet, an automated configuration management tool'
|
32
32
|
spec.description = 'Puppet, an automated configuration management tool'
|
33
|
-
spec.author = '
|
34
|
-
spec.email = 'puppet@
|
35
|
-
spec.homepage = 'http://
|
33
|
+
spec.author = 'Puppet Labs'
|
34
|
+
spec.email = 'puppet@puppetlabs.com'
|
35
|
+
spec.homepage = 'http://puppetlabs.com'
|
36
36
|
spec.rubyforge_project = 'puppet'
|
37
37
|
spec.has_rdoc = true
|
38
38
|
spec.rdoc_options <<
|
data/tasks/rake/sign.rake
CHANGED
data/test/certmgr/certmgr.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
ssh-dss AAAAB3NzaC1kc3MAAACBAJkupmdsJSDXfUy5EU5NTRBDr9Woo3w0YnB8KmnJW9ghU8C7SkWPB1fIHVe+esFfd3qWBseb83PoFX63geZJAg6bjV4/Rdn1zEoa9EO2QyUdYUen4+rpsh3vVKZ6HFNsn3+W5+kPYgE1F/N4INqkbjY3sqCkP/W1BL9+sbVVbuJFAAAAFQCfjWDk5XhvGUkPjNWWVqltBYzHtwAAAIEAg/XL7ky7x9Ad5banzPFAfmM+DGFe0A/JEbLDjKmr5KBM5x4RFohtEvZ8ECuVGUOqBWdgAjyYwsG4oRVjLnKrf/rgmbNRzSFgEWkcAye3BVwk7Dt6hh4knEl+mNfOLq+FH0011UhecOiqTcESMzQDtgQ1vJh2VchElBLjl3x/ZugAAACAAh5jGQC338t5ObP8trSlOefkx0sXmmEzUbo3Mt8mGUuGJPx8m+X0L8Xd+l5rQxytqE3SmV/RD+6REqBuPqHM8RQuqAzfjdOeg/Ajdggx1CRMTVhltZsgQoxO30cz9Qo0SdPoL+Jp1fLuaLZq7m/RmsWYvoLT3jebBlpvvQE8YlI= francois.deppierraz@nimag.net
|
2
2
|
ssh-dss AAAAB3NzaC1kc3MAAACBAJkupmdsJSDXfUy5EU5NTRBDr9Woo3w0YnB8KmnJW9ghU8C7SkWPB1fIHVe+esFfd3qWBseb83PoFX63geZJAg6bjV4/Rdn1zEoa9EO2QyUdYUen4+rpsh3vVKZ6HFNsn3+W5+kPYgE1F/N4INqkbjY3sqCkP/W1BL9+sbVVbuJFAAAAFQCfjWDk5XhvGUkPjNWWVqltBYzHtwAAAIEAg/XL7ky7x9Ad5banzPFAfmM+DGFe0A/JEbLDjKmr5KBM5x4RFohtEvZ8ECuVGUOqBWdgAjyYwsG4oRVjLnKrf/rgmbNRzSFgEWkcAye3BVwk7Dt6hh4knEl+mNfOLq+FH0011UhecOiqTcESMzQDtgQ1vJh2VchElBLjl3x/ZugAAACAAh5jGQC338t5ObP8trSlOefkx0sXmmEzUbo3Mt8mGUuGJPx8m+X0L8Xd+l5rQxytqE3SmV/RD+6REqBuPqHM8RQuqAzfjdOeg/Ajdggx1CRMTVhltZsgQoxO30cz9Qo0SdPoL+Jp1fLuaLZq7m/RmsWYvoLT3jebBlpvvQE8YlI= Francois Deppierraz <francois@ctrlaltdel.ch>
|
3
3
|
from="192.168.1.1",command="/bin/false",no-pty,no-port-forwarding ssh-dss AAAAB3NzaC1kc3MAAACBAJkupmdsJSDXfUy5EU5NTRBDr9Woo3w0YnB8KmnJW9ghU8C7SkWPB1fIHVe+esFfd3qWBseb83PoFX63geZJAg6bjV4/Rdn1zEoa9EO2QyUdYUen4+rpsh3vVKZ6HFNsn3+W5+kPYgE1F/N4INqkbjY3sqCkP/W1BL9+sbVVbuJFAAAAFQCfjWDk5XhvGUkPjNWWVqltBYzHtwAAAIEAg/XL7ky7x9Ad5banzPFAfmM+DGFe0A/JEbLDjKmr5KBM5x4RFohtEvZ8ECuVGUOqBWdgAjyYwsG4oRVjLnKrf/rgmbNRzSFgEWkcAye3BVwk7Dt6hh4knEl+mNfOLq+FH0011UhecOiqTcESMzQDtgQ1vJh2VchElBLjl3x/ZugAAACAAh5jGQC338t5ObP8trSlOefkx0sXmmEzUbo3Mt8mGUuGJPx8m+X0L8Xd+l5rQxytqE3SmV/RD+6REqBuPqHM8RQuqAzfjdOeg/Ajdggx1CRMTVhltZsgQoxO30cz9Qo0SdPoL+Jp1fLuaLZq7m/RmsWYvoLT3jebBlpvvQE8YlI= Francois Deppierraz
|
4
|
-
from="192.168.1.1, www.
|
4
|
+
from="192.168.1.1, www.puppetlabs.com",command="/bin/false",no-pty,no-port-forwarding ssh-dss AAAAB3NzaC1kc3MAAACBAJkupmdsJSDXfUy5EU5NTRBDr9Woo3w0YnB8KmnJW9ghU8C7SkWPB1fIHVe+esFfd3qWBseb83PoFX63geZJAg6bjV4/Rdn1zEoa9EO2QyUdYUen4+rpsh3vVKZ6HFNsn3+W5+kPYgE1F/N4INqkbjY3sqCkP/W1BL9+sbVVbuJFAAAAFQCfjWDk5XhvGUkPjNWWVqltBYzHtwAAAIEAg/XL7ky7x9Ad5banzPFAfmM+DGFe0A/JEbLDjKmr5KBM5x4RFohtEvZ8ECuVGUOqBWdgAjyYwsG4oRVjLnKrf/rgmbNRzSFgEWkcAye3BVwk7Dt6hh4knEl+mNfOLq+FH0011UhecOiqTcESMzQDtgQ1vJh2VchElBLjl3x/ZugAAACAAh5jGQC338t5ObP8trSlOefkx0sXmmEzUbo3Mt8mGUuGJPx8m+X0L8Xd+l5rQxytqE3SmV/RD+6REqBuPqHM8RQuqAzfjdOeg/Ajdggx1CRMTVhltZsgQoxO30cz9Qo0SdPoL+Jp1fLuaLZq7m/RmsWYvoLT3jebBlpvvQE8YlI= Francois Deppierraz
|
5
5
|
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA2Vi+TdC3iOGYcIo5vGTvC9P9rjHl9RxCuZmSfn+YDFQ35RXf0waijtjp9I7GYh6R4hBjA5z0u/Pzi95LET5NfRM0Gdc0DJyvBI7K+ALBxIT383Iz6Yz4iKxe1TEJgHGM2he4+7BHkjc3kdIZqIpZjucCk4VsXSxujO4MKKvtaKK2l+kahlLQHHw/vZkDpIgL52iGVsjW9l8RLJaKHZ4mDHJN/Q/Rzn2W4EvcdHUzwhvGMwZlm8clDwITBrSsawYtnivJrQSYcmTRqJuS8wprNDrLIhTGjrwFg5WpruUuMt6fLuCqwe6TeEL+nh3DQ4g554c5aRp3oU6LGBKTvNZGWQ== francois@korn
|
6
6
|
ssh-dss AAAAB3NzaC1kc3MAAACBAMPpCYnjywOemd8LqbbmC+bePNR3/H1rXsiFwjSLhYE3bbOpvclvOzN1DruFc34m0FopVnMkP+aubjdIYF8pijl+5hg9ggB7Kno2dl0Dd1rGN/swvmhA8OpLAQv7Qt7UnXKVho3as08zYZsrHxYFu0wlnkdbsv4cy4aXyQKd4MPVAAAAFQDSyQFWg8Qt3wU05buhZ10psoR7tQAAAIEAmAhguXwUnI3P2FF5NAW/mpJUmUERdL4pyZARUyAgpf7ezwrh9TJqrvGTQNBF97Xqaivyncm5JWQdMIsTBxEFaXZGkmBta02KnWcn447qvIh7iv8XpNL6M9flCkBEZOJ4t9El0ytTSHHaiCz8A20Et+E8evWyi1kXkFDt8ML2dGgAAACBAK0X4ympbdEjgV/ZyOc+BU22u7vOnfSOUJmyar4Ax1MIDNnoyNWKnGvxRutydQcQOKQHZEU0fE8MhPFn6nLF6CoVfEl/oz0EYz3hjV4WPFpHrF5DY/rhvNj8iuneKJ5P0dy/rG6m5qey25PnHyGFVoIRlkHJvBCJT40dHs40YEjI francois@korn
|
7
7
|
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAut8aOSxenjOqF527dlsdHWV4MNoAsX14l9M297+SQXaQ5Z3BedIxZaoQthkDALlV/25A1COELrg9J2MqJNQc8Xe9XQOIkBQWWinUlD/BXwoOTWEy8C8zSZPHZ3getMMNhGTBO+q/O+qiJx3y5cA4MTbw2zSxukfWC87qWwcZ64UUlegIM056vPsdZWFclS9hsROVEa57YUMrehQ1EGxT4Z5j6zIopufGFiAPjZigq/vqgcAqhAKP6yu4/gwO6S9tatBeEjZ8fafvj1pmvvIplZeMr96gHE7xS3pEEQqnB3nd4RY7AF6j9kFixnsytAUO7STPh/M3pLiVQBN89TvWPQ==
|
@@ -154,11 +154,12 @@ end
|
|
154
154
|
module PuppetTest
|
155
155
|
include PuppetTest::Support::Utils
|
156
156
|
|
157
|
-
def
|
157
|
+
def fakedata(dir,pat='*')
|
158
158
|
glob = "#{basedir}/test/#{dir}/#{pat}"
|
159
159
|
files = Dir.glob(glob,File::FNM_PATHNAME)
|
160
160
|
raise Puppet::DevError, "No fakedata matching #{glob}" if files.empty?
|
161
161
|
files
|
162
162
|
end
|
163
|
+
module_function :fakedata
|
163
164
|
|
164
165
|
end
|
data/test/network/handler/ca.rb
CHANGED
@@ -69,7 +69,7 @@ class TestCA < Test::Unit::TestCase
|
|
69
69
|
newtext = nil
|
70
70
|
assert_nothing_raised {
|
71
71
|
newtext, cacerttext = ca.getcert(
|
72
|
-
cert.csr.to_s, "test.
|
72
|
+
cert.csr.to_s, "test.puppetlabs.com", "127.0.0.1"
|
73
73
|
)
|
74
74
|
}
|
75
75
|
|
@@ -110,7 +110,7 @@ class TestCA < Test::Unit::TestCase
|
|
110
110
|
certtext = nil
|
111
111
|
assert_nothing_raised {
|
112
112
|
certtext, cacerttext = caserv.getcert(
|
113
|
-
cert.csr.to_s, "test.
|
113
|
+
cert.csr.to_s, "test.puppetlabs.com", "127.0.0.1"
|
114
114
|
)
|
115
115
|
}
|
116
116
|
|
@@ -167,7 +167,7 @@ class TestCA < Test::Unit::TestCase
|
|
167
167
|
# make sure we know what's going on
|
168
168
|
assert(caserv.autosign?("hostmatch.domain.com"))
|
169
169
|
assert(caserv.autosign?("fakehost.other.com"))
|
170
|
-
assert(!caserv.autosign?("kirby.
|
170
|
+
assert(!caserv.autosign?("kirby.puppetlabs.com"))
|
171
171
|
assert(!caserv.autosign?("culain.domain.com"))
|
172
172
|
end
|
173
173
|
|
@@ -181,7 +181,7 @@ class TestCA < Test::Unit::TestCase
|
|
181
181
|
# make sure we know what's going on
|
182
182
|
assert(!caserv.autosign?("hostmatch.domain.com"))
|
183
183
|
assert(!caserv.autosign?("fakehost.other.com"))
|
184
|
-
assert(!caserv.autosign?("kirby.
|
184
|
+
assert(!caserv.autosign?("kirby.puppetlabs.com"))
|
185
185
|
assert(!caserv.autosign?("culain.domain.com"))
|
186
186
|
end
|
187
187
|
|
@@ -947,12 +947,16 @@ allow *
|
|
947
947
|
end
|
948
948
|
|
949
949
|
# Now, check that they use Facter info
|
950
|
-
Puppet.notice "The following messages are normal"
|
951
950
|
client = nil
|
952
|
-
Facter.stubs(:value).with(:ipaddress).returns("127.0.0.1")
|
953
951
|
Facter.stubs(:value).with { |v| v.to_s == "hostname" }.returns("myhost")
|
954
952
|
Facter.stubs(:value).with { |v| v.to_s == "domain" }.returns("mydomain.com")
|
955
|
-
|
953
|
+
|
954
|
+
Facter.stubs(:to_hash).returns({
|
955
|
+
:ipaddress => "127.0.0.1",
|
956
|
+
:hostname => "myhost",
|
957
|
+
:domain => "mydomain.com",
|
958
|
+
})
|
959
|
+
|
956
960
|
|
957
961
|
{"%h" => "myhost", # Short name
|
958
962
|
"%H" => "myhost.mydomain.com", # Full name
|
@@ -979,13 +983,15 @@ allow *
|
|
979
983
|
|
980
984
|
# When mocks attack, part 2
|
981
985
|
kernel_fact = Facter.value(:kernel)
|
982
|
-
Facter.stubs(:value).with(:kernel).returns(kernel_fact)
|
983
986
|
|
984
|
-
|
985
|
-
|
986
|
-
Facter.stubs(:
|
987
|
-
|
988
|
-
|
987
|
+
ip = '127.0.0.1'
|
988
|
+
|
989
|
+
Facter.stubs(:to_hash).returns({
|
990
|
+
:kernel => kernel_fact,
|
991
|
+
:ipaddress => "127.0.0.1",
|
992
|
+
:hostname => "myhost",
|
993
|
+
:domain => "mydomain.com",
|
994
|
+
})
|
989
995
|
|
990
996
|
Dir.mkdir(dir)
|
991
997
|
host = "myhost.mydomain.com"
|
data/test/other/transactions.rb
CHANGED
@@ -368,7 +368,7 @@ class TestTransactions < Test::Unit::TestCase
|
|
368
368
|
|
369
369
|
# 'subscribe' expects an array of arrays
|
370
370
|
#component[:require] = [[file.class.name,file.name]]
|
371
|
-
ecomp[:subscribe] = fcomp
|
371
|
+
ecomp[:subscribe] = fcomp.ref
|
372
372
|
exec[:refreshonly] = true
|
373
373
|
|
374
374
|
trans = assert_events([], config)
|
@@ -555,11 +555,6 @@ class TestTransactions < Test::Unit::TestCase
|
|
555
555
|
"Generated %s was not a vertex" % name)
|
556
556
|
assert($finished.include?(name), "%s was not finished" % name)
|
557
557
|
end
|
558
|
-
|
559
|
-
# Now make sure that cleanup gets rid of those generated types.
|
560
|
-
assert_nothing_raised do
|
561
|
-
trans.cleanup
|
562
|
-
end
|
563
558
|
end
|
564
559
|
|
565
560
|
def test_ignore_tags?
|
@@ -11,7 +11,10 @@ class TestSUIDManager < Test::Unit::TestCase
|
|
11
11
|
include PuppetTest
|
12
12
|
|
13
13
|
def setup
|
14
|
-
|
14
|
+
the_id = 42
|
15
|
+
Puppet::Util::SUIDManager.stubs(:convert_xid).returns(the_id)
|
16
|
+
Puppet::Util::SUIDManager.stubs(:initgroups)
|
17
|
+
@user = stub('user', :uid => the_id, :gid => the_id, :name => 'name')
|
15
18
|
super
|
16
19
|
end
|
17
20
|
|
@@ -39,13 +42,14 @@ class TestSUIDManager < Test::Unit::TestCase
|
|
39
42
|
end
|
40
43
|
|
41
44
|
def test_utiluid
|
42
|
-
assert_not_equal(nil, Puppet::Util.uid(
|
45
|
+
assert_not_equal(nil, Puppet::Util.uid(nonrootuser.name))
|
43
46
|
end
|
44
47
|
|
45
48
|
def test_asuser_as_root
|
46
49
|
Process.stubs(:uid).returns(0)
|
47
50
|
expects_id_set_and_revert @user.uid, @user.gid
|
48
51
|
Puppet::Util::SUIDManager.asuser @user.uid, @user.gid do end
|
52
|
+
rescue Errno::EPERM
|
49
53
|
end
|
50
54
|
|
51
55
|
def test_asuser_as_nonroot
|
@@ -96,6 +100,7 @@ class TestSUIDManager < Test::Unit::TestCase
|
|
96
100
|
private
|
97
101
|
|
98
102
|
def expects_id_set_and_revert(uid, gid)
|
103
|
+
Process.stubs(:groups=)
|
99
104
|
Process.expects(:euid).returns(99997)
|
100
105
|
Process.expects(:egid).returns(99996)
|
101
106
|
|
@@ -45,7 +45,7 @@ class TestParsedHostProvider < Test::Unit::TestCase
|
|
45
45
|
return {
|
46
46
|
:name => "fakehost%s" % @hcount,
|
47
47
|
:ip => "192.168.27.%s" % @hcount,
|
48
|
-
:
|
48
|
+
:host_aliases => ["alias%s" % @hcount],
|
49
49
|
:ensure => :present
|
50
50
|
}
|
51
51
|
end
|
@@ -67,7 +67,7 @@ class TestParsedHostProvider < Test::Unit::TestCase
|
|
67
67
|
|
68
68
|
# Make sure we convert both directlys correctly using a simple host.
|
69
69
|
def test_basic_isomorphism
|
70
|
-
hash = {:record_type => :parsed, :name => "myhost", :ip => "192.168.43.56", :
|
70
|
+
hash = {:record_type => :parsed, :name => "myhost", :ip => "192.168.43.56", :host_aliases => %w{another host}}
|
71
71
|
|
72
72
|
str = nil
|
73
73
|
assert_nothing_raised do
|
@@ -103,7 +103,7 @@ class TestParsedHostProvider < Test::Unit::TestCase
|
|
103
103
|
assert_equal([
|
104
104
|
{:record_type => :comment, :line => "# comment one"},
|
105
105
|
{:record_type => :blank, :line => ""},
|
106
|
-
{:record_type => :parsed, :name => "myhost", :ip => "192.168.43.56", :
|
106
|
+
{:record_type => :parsed, :name => "myhost", :ip => "192.168.43.56", :host_aliases => %w{another host}},
|
107
107
|
{:record_type => :blank, :line => " "},
|
108
108
|
{:record_type => :comment, :line => "# another comment"},
|
109
109
|
{:record_type => :parsed, :name => "anotherhost", :ip => "192.168.43.57"}
|
@@ -150,13 +150,13 @@ class TestParsedHostProvider < Test::Unit::TestCase
|
|
150
150
|
}
|
151
151
|
|
152
152
|
# Remove a single field and make sure it gets tossed
|
153
|
-
name = host.
|
154
|
-
host.
|
153
|
+
name = host.host_aliases
|
154
|
+
host.host_aliases = [:absent]
|
155
155
|
|
156
156
|
assert_nothing_raised {
|
157
157
|
host.flush
|
158
158
|
assert(! file.read.include?(name[0]),
|
159
|
-
"Did not remove
|
159
|
+
"Did not remove host_aliases from disk")
|
160
160
|
}
|
161
161
|
|
162
162
|
# Make sure it throws up if we remove a required field
|
@@ -238,6 +238,10 @@ class TestPackageProvider < Test::Unit::TestCase
|
|
238
238
|
end
|
239
239
|
end
|
240
240
|
|
241
|
+
def test_dont_complain_if_theres_nothing_to_test
|
242
|
+
assert("sometimes the above metaprogramming fails to find anything to test and the runner complains")
|
243
|
+
end
|
244
|
+
|
241
245
|
def modpkg(pkg)
|
242
246
|
case pkg[:provider]
|
243
247
|
when :sun
|
@@ -32,7 +32,7 @@ class TestParsedSSHKey < Test::Unit::TestCase
|
|
32
32
|
args = {
|
33
33
|
:name => name || "/fspuppet%s" % @pcount,
|
34
34
|
:key => "thisismykey%s" % @pcount,
|
35
|
-
:
|
35
|
+
:host_aliases => ["host1.domain.com","192.168.0.1"],
|
36
36
|
:type => "dss",
|
37
37
|
:ensure => :present
|
38
38
|
}
|
@@ -68,11 +68,11 @@ class TestParsedSSHKey < Test::Unit::TestCase
|
|
68
68
|
key.flush
|
69
69
|
end
|
70
70
|
|
71
|
-
assert(key.
|
71
|
+
assert(key.host_aliases, "No host_aliases set for key")
|
72
72
|
|
73
73
|
hash = key.property_hash.dup
|
74
74
|
text = @provider.target_object(file).read
|
75
|
-
names = [key.name, key.
|
75
|
+
names = [key.name, key.host_aliases].flatten.join(",")
|
76
76
|
|
77
77
|
assert_equal("#{names} #{key.type} #{key.key}\n", text)
|
78
78
|
|
@@ -94,12 +94,12 @@ class TestParsedSSHKey < Test::Unit::TestCase
|
|
94
94
|
result = @provider.parse_line("one,two type key")
|
95
95
|
end
|
96
96
|
assert_equal("one", result[:name], "Did not call post hook")
|
97
|
-
assert_equal(%w{two}, result[:
|
97
|
+
assert_equal(%w{two}, result[:host_aliases], "Did not call post hook")
|
98
98
|
|
99
99
|
assert_equal("one,two type key",
|
100
100
|
@provider.to_line(:record_type => :parsed,
|
101
101
|
:name => "one",
|
102
|
-
:
|
102
|
+
:host_aliases => %w{two},
|
103
103
|
:type => "type",
|
104
104
|
:key => "key"),
|
105
105
|
"Did not use pre-hook when generating line"
|
data/test/ral/type/file.rb
CHANGED
@@ -978,25 +978,4 @@ class TestFile < Test::Unit::TestCase
|
|
978
978
|
assert_equal("/", obj.title, "/ directory was changed to empty string")
|
979
979
|
end
|
980
980
|
|
981
|
-
# #1010 and #1037 -- write should fail if the written checksum does not
|
982
|
-
# match the file we thought we were writing.
|
983
|
-
def test_write_validates_checksum
|
984
|
-
file = tempfile
|
985
|
-
inst = Puppet::Type.newfile(:path => file, :content => "something")
|
986
|
-
|
987
|
-
tmpfile = file + ".puppettmp"
|
988
|
-
|
989
|
-
wh = mock 'writehandle', :print => nil
|
990
|
-
rh = mock 'readhandle'
|
991
|
-
rh.expects(:read).with(4096).times(2).returns("other").then.returns(nil)
|
992
|
-
File.expects(:open).with { |*args| args[0] == tmpfile and args[1] != "r" }.yields(wh)
|
993
|
-
File.expects(:open).with { |*args| args[0] == tmpfile and args[1] == "r" }.yields(rh)
|
994
|
-
|
995
|
-
File.stubs(:rename)
|
996
|
-
FileTest.stubs(:exist?).returns(true)
|
997
|
-
FileTest.stubs(:file?).returns(true)
|
998
|
-
|
999
|
-
inst.expects(:fail)
|
1000
|
-
inst.write("something", :whatever)
|
1001
|
-
end
|
1002
981
|
end
|
data/test/ral/type/host.rb
CHANGED
@@ -108,7 +108,7 @@ class TestHost < Test::Unit::TestCase
|
|
108
108
|
# This was a hard bug to track down.
|
109
109
|
assert_instance_of(String, current_values[host.property(:ip)])
|
110
110
|
|
111
|
-
host[:
|
111
|
+
host[:host_aliases] = %w{madstop kirby yayness}
|
112
112
|
|
113
113
|
assert_events([:host_changed], host)
|
114
114
|
|
@@ -117,7 +117,7 @@ class TestHost < Test::Unit::TestCase
|
|
117
117
|
}
|
118
118
|
|
119
119
|
assert_equal(%w{madstop kirby yayness},
|
120
|
-
current_values[host.property(:
|
120
|
+
current_values[host.property(:host_aliases)])
|
121
121
|
|
122
122
|
host[:ensure] = :absent
|
123
123
|
assert_events([:host_removed], host)
|
@@ -184,13 +184,13 @@ class TestHost < Test::Unit::TestCase
|
|
184
184
|
end
|
185
185
|
|
186
186
|
def test_aliasisproperty
|
187
|
-
assert_equal(:property, @hosttype.attrtype(:
|
187
|
+
assert_equal(:property, @hosttype.attrtype(:host_aliases))
|
188
188
|
end
|
189
189
|
|
190
190
|
def test_multivalues
|
191
191
|
host = mkhost
|
192
192
|
assert_raise(Puppet::Error) {
|
193
|
-
host[:
|
193
|
+
host[:host_aliases] = "puppetmasterd yayness"
|
194
194
|
}
|
195
195
|
end
|
196
196
|
|
data/test/ral/type/resources.rb
CHANGED
@@ -59,70 +59,6 @@ class TestResources < Test::Unit::TestCase
|
|
59
59
|
@type = Puppet::Type.type(:resources)
|
60
60
|
end
|
61
61
|
|
62
|
-
def test_purge
|
63
|
-
# Create a purgeable type
|
64
|
-
mkpurgertype
|
65
|
-
|
66
|
-
purger = nil
|
67
|
-
assert_nothing_raised do
|
68
|
-
purger = @type.new :name => "purgetest", :noop => true, :loglevel => :warning
|
69
|
-
end
|
70
|
-
assert(purger, "did not get purger manager")
|
71
|
-
add_purge_lister()
|
72
|
-
|
73
|
-
assert_equal($purgemembers.values.sort, @purgetype.instances.sort)
|
74
|
-
|
75
|
-
# and it should now succeed
|
76
|
-
assert_nothing_raised do
|
77
|
-
purger[:purge] = true
|
78
|
-
end
|
79
|
-
assert(purger.purge?, "purge boolean was not enabled")
|
80
|
-
|
81
|
-
# Okay, now let's try doing some purging, yo
|
82
|
-
managed = []
|
83
|
-
unmanned = []
|
84
|
-
3.times { managed << mk_purger(true) } # 3 managed
|
85
|
-
3.times { unmanned << mk_purger(false) } # 3 unmanaged
|
86
|
-
|
87
|
-
managed.each do |m|
|
88
|
-
assert(m.managed?, "managed resource was not considered managed")
|
89
|
-
end
|
90
|
-
unmanned.each do |u|
|
91
|
-
assert(! u.managed?, "unmanaged resource was considered managed")
|
92
|
-
end
|
93
|
-
|
94
|
-
# First make sure we get nothing back when purge is false
|
95
|
-
genned = nil
|
96
|
-
purger[:purge] = false
|
97
|
-
assert_nothing_raised do
|
98
|
-
genned = purger.generate
|
99
|
-
end
|
100
|
-
assert_equal([], genned, "Purged even when purge is false")
|
101
|
-
|
102
|
-
# Now make sure we can purge
|
103
|
-
purger[:purge] = true
|
104
|
-
assert_nothing_raised do
|
105
|
-
genned = purger.generate
|
106
|
-
end
|
107
|
-
assert(genned, "Did not get any generated resources")
|
108
|
-
|
109
|
-
genned.each do |res|
|
110
|
-
assert(res.purging, "did not mark resource for purging")
|
111
|
-
end
|
112
|
-
assert(! genned.empty?, "generated resource list was empty")
|
113
|
-
|
114
|
-
# Now make sure the generate method only finds the unmanaged resources
|
115
|
-
assert_equal(unmanned.collect { |r| r.title }.sort, genned.collect { |r| r.title },
|
116
|
-
"Did not return correct purge list")
|
117
|
-
|
118
|
-
# Now make sure our metaparams carried over
|
119
|
-
genned.each do |res|
|
120
|
-
[:noop, :loglevel].each do |param|
|
121
|
-
assert_equal(purger[param], res[param], "metaparam %s did not carry over" % param)
|
122
|
-
end
|
123
|
-
end
|
124
|
-
end
|
125
|
-
|
126
62
|
# Part of #408.
|
127
63
|
def test_check
|
128
64
|
# First check a non-user
|
@@ -173,19 +109,5 @@ class TestResources < Test::Unit::TestCase
|
|
173
109
|
end
|
174
110
|
end
|
175
111
|
|
176
|
-
# The other half of #408.
|
177
|
-
def test_check_is_called
|
178
|
-
res = Puppet::Type.type(:resources).new :name => :user, :purge => true
|
179
|
-
|
180
|
-
list = nil
|
181
|
-
assert_nothing_raised { list = res.generate }
|
182
|
-
|
183
|
-
assert(! list.empty?, "did not get any users")
|
184
|
-
|
185
|
-
bad = list.find_all { |u|
|
186
|
-
%w{root bin nobody}.include?(u[:name]) or (cv = u.retrieve and cv[u.property(:uid)] < 500)
|
187
|
-
}
|
188
|
-
assert(bad.empty?, "incorrectly passed users %s" % bad.collect { |u| u[:name]}.join(", "))
|
189
|
-
end
|
190
112
|
end
|
191
113
|
|