puppet 0.24.6 → 0.24.7
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 +115 -0
- data/Rakefile +43 -14
- data/bin/puppetca +6 -5
- data/bin/puppetdoc +109 -15
- data/bin/ralsh +3 -1
- data/conf/redhat/puppet.spec +74 -48
- data/examples/mcx_dock_absent.pp +4 -0
- data/examples/mcx_dock_default.pp +118 -0
- data/examples/mcx_dock_full.pp +125 -0
- data/examples/mcx_dock_invalid.pp +9 -0
- data/examples/mcx_nogroup.pp +118 -0
- data/examples/mcx_notexists_absent.pp +4 -0
- data/ext/emacs/puppet-mode.el +1 -1
- data/lib/puppet.rb +1 -1
- data/lib/puppet/external/nagios/base.rb +114 -71
- data/lib/puppet/feature/base.rb +6 -0
- data/lib/puppet/indirector/yaml.rb +12 -3
- data/lib/puppet/module.rb +1 -1
- data/lib/puppet/network/client/master.rb +1 -1
- data/lib/puppet/network/xmlrpc/client.rb +3 -1
- data/lib/puppet/parameter.rb +1 -1
- data/lib/puppet/parser/ast.rb +15 -0
- data/lib/puppet/parser/ast/astarray.rb +1 -2
- data/lib/puppet/parser/ast/casestatement.rb +2 -0
- data/lib/puppet/parser/ast/collection.rb +2 -0
- data/lib/puppet/parser/ast/comparison_operator.rb +4 -0
- data/lib/puppet/parser/ast/definition.rb +2 -0
- data/lib/puppet/parser/ast/else.rb +3 -0
- data/lib/puppet/parser/ast/function.rb +19 -12
- data/lib/puppet/parser/ast/hostclass.rb +9 -1
- data/lib/puppet/parser/ast/ifstatement.rb +3 -0
- data/lib/puppet/parser/ast/node.rb +3 -0
- data/lib/puppet/parser/ast/resource.rb +3 -0
- data/lib/puppet/parser/ast/resource_defaults.rb +2 -0
- data/lib/puppet/parser/ast/resource_override.rb +3 -0
- data/lib/puppet/parser/ast/vardef.rb +3 -0
- data/lib/puppet/parser/functions.rb +14 -0
- data/lib/puppet/parser/functions/inline_template.rb +21 -0
- data/lib/puppet/parser/functions/template.rb +3 -2
- data/lib/puppet/parser/lexer.rb +56 -7
- data/lib/puppet/parser/parser.rb +114 -98
- data/lib/puppet/parser/parser_support.rb +24 -4
- data/lib/puppet/parser/resource/reference.rb +4 -3
- data/lib/puppet/parser/templatewrapper.rb +30 -22
- data/lib/puppet/property.rb +1 -1
- data/lib/puppet/property/list.rb +7 -2
- data/lib/puppet/property/ordered_list.rb +22 -0
- data/lib/puppet/provider/augeas/augeas.rb +189 -0
- data/lib/puppet/provider/computer/computer.rb +22 -0
- data/lib/puppet/provider/confine.rb +4 -1
- data/lib/puppet/provider/confine/variable.rb +13 -2
- data/lib/puppet/provider/confine_collection.rb +4 -1
- data/lib/puppet/provider/confiner.rb +1 -1
- data/lib/puppet/provider/group/directoryservice.rb +6 -3
- data/lib/puppet/provider/group/groupadd.rb +5 -2
- data/lib/puppet/provider/group/ldap.rb +11 -9
- data/lib/puppet/provider/group/netinfo.rb +8 -4
- data/lib/puppet/provider/group/pw.rb +5 -1
- data/lib/puppet/provider/host/netinfo.rb +5 -2
- data/lib/puppet/provider/macauthorization/macauthorization.rb +315 -0
- data/lib/puppet/provider/mcx/mcxcontent.rb +201 -0
- data/lib/puppet/provider/nameservice/directoryservice.rb +210 -107
- data/lib/puppet/provider/nameservice/netinfo.rb +7 -2
- data/lib/puppet/provider/package/appdmg.rb +0 -3
- data/lib/puppet/provider/package/apt.rb +6 -0
- data/lib/puppet/provider/package/rpm.rb +2 -0
- data/lib/puppet/provider/package/yum.rb +5 -1
- data/lib/puppet/provider/package/yumhelper.py +9 -0
- data/lib/puppet/provider/service/base.rb +9 -6
- data/lib/puppet/provider/service/daemontools.rb +25 -15
- data/lib/puppet/provider/service/debian.rb +6 -2
- data/lib/puppet/provider/service/freebsd.rb +5 -2
- data/lib/puppet/provider/service/gentoo.rb +6 -3
- data/lib/puppet/provider/service/init.rb +31 -21
- data/lib/puppet/provider/service/launchd.rb +195 -0
- data/lib/puppet/provider/service/redhat.rb +5 -2
- data/lib/puppet/provider/service/runit.rb +30 -20
- data/lib/puppet/provider/service/smf.rb +7 -4
- data/lib/puppet/provider/ssh_authorized_key/parsed.rb +21 -1
- data/lib/puppet/provider/user/directoryservice.rb +1 -0
- data/lib/puppet/provider/user/netinfo.rb +9 -3
- data/lib/puppet/provider/user/user_role_add.rb +43 -6
- data/lib/puppet/provider/zfs/solaris.rb +45 -0
- data/lib/puppet/provider/zone/solaris.rb +8 -4
- data/lib/puppet/provider/zpool/solaris.rb +116 -0
- data/lib/puppet/rails/database/003_add_environment_to_host.rb +9 -0
- data/lib/puppet/rails/database/schema.rb +1 -0
- data/lib/puppet/rails/host.rb +4 -0
- data/lib/puppet/reference/configuration.rb +1 -1
- data/lib/puppet/reports/tagmail.rb +15 -6
- data/lib/puppet/transaction/change.rb +3 -5
- data/lib/puppet/transportable.rb +1 -0
- data/lib/puppet/type/augeas.rb +155 -0
- data/lib/puppet/type/computer.rb +62 -0
- data/lib/puppet/type/exec.rb +2 -1
- data/lib/puppet/type/file.rb +1 -1
- data/lib/puppet/type/file/ensure.rb +8 -5
- data/lib/puppet/type/file/mode.rb +0 -14
- data/lib/puppet/type/file/owner.rb +32 -64
- data/lib/puppet/type/file/selcontext.rb +3 -8
- data/lib/puppet/type/group.rb +27 -45
- data/lib/puppet/type/k5login.rb +1 -1
- data/lib/puppet/type/macauthorization.rb +141 -0
- data/lib/puppet/type/mcx.rb +115 -0
- data/lib/puppet/type/mount.rb +1 -1
- data/lib/puppet/type/nagios_hostdependency.rb +3 -0
- data/lib/puppet/type/ssh_authorized_key.rb +16 -0
- data/lib/puppet/type/tidy.rb +43 -14
- data/lib/puppet/type/user.rb +25 -1
- data/lib/puppet/type/zfs.rb +51 -0
- data/lib/puppet/type/zone.rb +8 -0
- data/lib/puppet/type/zpool.rb +93 -0
- data/lib/puppet/util.rb +17 -38
- data/lib/puppet/util/file_locking.rb +44 -0
- data/lib/puppet/util/filetype.rb +3 -3
- data/lib/puppet/util/log.rb +1 -16
- data/lib/puppet/util/metric.rb +0 -5
- data/lib/puppet/util/rdoc.rb +85 -0
- data/lib/puppet/util/rdoc/code_objects.rb +219 -0
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +829 -0
- data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +1051 -0
- data/lib/puppet/util/rdoc/parser.rb +437 -0
- data/lib/puppet/util/selinux.rb +135 -63
- data/lib/puppet/util/settings.rb +136 -126
- data/lib/puppet/util/storage.rb +4 -2
- data/spec/Rakefile +91 -0
- data/spec/integration/checksum.rb +47 -0
- data/spec/integration/defaults.rb +47 -0
- data/spec/integration/file_serving/configuration.rb +43 -0
- data/spec/integration/file_serving/content.rb +18 -0
- data/spec/integration/file_serving/metadata.rb +18 -0
- data/spec/integration/indirector/direct_file_server.rb +80 -0
- data/spec/integration/indirector/file_content/file_server.rb +18 -0
- data/spec/integration/indirector/file_metadata/file_server.rb +18 -0
- data/spec/integration/indirector/module_files.rb +57 -0
- data/spec/integration/indirector/node/ldap.rb +15 -0
- data/spec/integration/indirector/rest.rb +464 -0
- data/spec/integration/network/server/mongrel.rb +48 -0
- data/spec/integration/network/server/webrick.rb +48 -0
- data/spec/integration/node.rb +93 -0
- data/spec/integration/node/catalog.rb +54 -0
- data/spec/integration/node/facts.rb +45 -0
- data/spec/integration/provider/package.rb +26 -0
- data/spec/integration/provider/service/init.rb +32 -0
- data/spec/integration/reference/providers.rb +17 -0
- data/spec/integration/reports.rb +14 -0
- data/spec/integration/transaction/report.rb +26 -0
- data/spec/integration/type/package.rb +22 -0
- data/spec/integration/util/file_locking.rb +36 -0
- data/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb +46 -0
- data/spec/monkey_patches/alias_should_to_must.rb +5 -0
- data/spec/shared_behaviours/file_server_terminus.rb +42 -0
- data/spec/shared_behaviours/file_serving.rb +64 -0
- data/spec/shared_behaviours/memory_terminus.rb +32 -0
- data/spec/spec.opts +5 -0
- data/spec/spec_helper.rb +36 -0
- data/spec/unit/executables/client/certhandler.rb +122 -0
- data/spec/unit/file_serving/configuration.rb +224 -0
- data/spec/unit/file_serving/configuration/parser.rb +135 -0
- data/spec/unit/file_serving/content.rb +71 -0
- data/spec/unit/file_serving/file_base.rb +124 -0
- data/spec/unit/file_serving/fileset.rb +239 -0
- data/spec/unit/file_serving/indirection_hooks.rb +124 -0
- data/spec/unit/file_serving/metadata.rb +187 -0
- data/spec/unit/file_serving/mount.rb +143 -0
- data/spec/unit/file_serving/terminus_helper.rb +76 -0
- data/spec/unit/indirector.rb +152 -0
- data/spec/unit/indirector/catalog/compiler.rb +156 -0
- data/spec/unit/indirector/catalog/yaml.rb +25 -0
- data/spec/unit/indirector/checksum/file.rb +139 -0
- data/spec/unit/indirector/code.rb +33 -0
- data/spec/unit/indirector/direct_file_server.rb +89 -0
- data/spec/unit/indirector/envelope.rb +47 -0
- data/spec/unit/indirector/exec.rb +51 -0
- data/spec/unit/indirector/facts/facter.rb +76 -0
- data/spec/unit/indirector/facts/yaml.rb +26 -0
- data/spec/unit/indirector/file.rb +154 -0
- data/spec/unit/indirector/file_content/file.rb +18 -0
- data/spec/unit/indirector/file_content/file_server.rb +18 -0
- data/spec/unit/indirector/file_content/modules.rb +18 -0
- data/spec/unit/indirector/file_content/rest.rb +11 -0
- data/spec/unit/indirector/file_metadata/file.rb +52 -0
- data/spec/unit/indirector/file_metadata/file_server.rb +18 -0
- data/spec/unit/indirector/file_metadata/modules.rb +42 -0
- data/spec/unit/indirector/file_metadata/rest.rb +9 -0
- data/spec/unit/indirector/file_server.rb +184 -0
- data/spec/unit/indirector/indirection.rb +731 -0
- data/spec/unit/indirector/ldap.rb +143 -0
- data/spec/unit/indirector/memory.rb +29 -0
- data/spec/unit/indirector/module_files.rb +259 -0
- data/spec/unit/indirector/node/exec.rb +69 -0
- data/spec/unit/indirector/node/ldap.rb +424 -0
- data/spec/unit/indirector/node/memory.rb +19 -0
- data/spec/unit/indirector/node/plain.rb +19 -0
- data/spec/unit/indirector/node/rest.rb +13 -0
- data/spec/unit/indirector/node/yaml.rb +25 -0
- data/spec/unit/indirector/plain.rb +29 -0
- data/spec/unit/indirector/report/processor.rb +81 -0
- data/spec/unit/indirector/request.rb +87 -0
- data/spec/unit/indirector/rest.rb +372 -0
- data/spec/unit/indirector/ssl_rsa/file.rb +116 -0
- data/spec/unit/indirector/terminus.rb +245 -0
- data/spec/unit/indirector/yaml.rb +145 -0
- data/spec/unit/module.rb +247 -0
- data/spec/unit/network/client.rb +45 -0
- data/spec/unit/network/client/master.rb +442 -0
- data/spec/unit/network/handler/fileserver.rb +179 -0
- data/spec/unit/network/http.rb +35 -0
- data/spec/unit/network/http/mongrel.rb +117 -0
- data/spec/unit/network/http/mongrel/rest.rb +377 -0
- data/spec/unit/network/http/mongrel/xmlrpc.rb +0 -0
- data/spec/unit/network/http/webrick.rb +127 -0
- data/spec/unit/network/http/webrick/rest.rb +323 -0
- data/spec/unit/network/http/webrick/xmlrpc.rb +0 -0
- data/spec/unit/network/http_pool.rb +238 -0
- data/spec/unit/network/server.rb +316 -0
- data/spec/unit/network/xmlrpc/client.rb +13 -0
- data/spec/unit/node.rb +167 -0
- data/spec/unit/node/catalog.rb +864 -0
- data/spec/unit/node/environment.rb +37 -0
- data/spec/unit/node/facts.rb +44 -0
- data/spec/unit/other/checksum.rb +92 -0
- data/spec/unit/other/pgraph.rb +210 -0
- data/spec/unit/other/transaction.rb +33 -0
- data/spec/unit/other/transbucket.rb +172 -0
- data/spec/unit/other/transobject.rb +92 -0
- data/spec/unit/parameter.rb +24 -0
- data/spec/unit/parser/ast.rb +37 -0
- data/spec/unit/parser/ast/arithmetic_operator.rb +73 -0
- data/spec/unit/parser/ast/astarray.rb +66 -0
- data/spec/unit/parser/ast/boolean_operator.rb +53 -0
- data/spec/unit/parser/ast/collexpr.rb +92 -0
- data/spec/unit/parser/ast/comparison_operator.rb +92 -0
- data/spec/unit/parser/ast/definition.rb +195 -0
- data/spec/unit/parser/ast/function.rb +77 -0
- data/spec/unit/parser/ast/hostclass.rb +148 -0
- data/spec/unit/parser/ast/minus.rb +36 -0
- data/spec/unit/parser/ast/node.rb +125 -0
- data/spec/unit/parser/ast/nop.rb +20 -0
- data/spec/unit/parser/ast/not.rb +30 -0
- data/spec/unit/parser/ast/resource_override.rb +51 -0
- data/spec/unit/parser/ast/resource_reference.rb +63 -0
- data/spec/unit/parser/ast/vardef.rb +47 -0
- data/spec/unit/parser/collector.rb +426 -0
- data/spec/unit/parser/compiler.rb +561 -0
- data/spec/unit/parser/functions.rb +83 -0
- data/spec/unit/parser/functions/inline_template.rb +59 -0
- data/spec/unit/parser/functions/template.rb +62 -0
- data/spec/unit/parser/interpreter.rb +138 -0
- data/spec/unit/parser/lexer.rb +646 -0
- data/spec/unit/parser/parser.rb +228 -0
- data/spec/unit/parser/resource.rb +336 -0
- data/spec/unit/parser/resource/reference.rb +95 -0
- data/spec/unit/parser/scope.rb +87 -0
- data/spec/unit/parser/templatewrapper.rb +129 -0
- data/spec/unit/property.rb +35 -0
- data/spec/unit/property/keyvalue.rb +168 -0
- data/spec/unit/property/list.rb +156 -0
- data/spec/unit/property/ordered_list.rb +64 -0
- data/spec/unit/provider/augeas/augeas.rb +238 -0
- data/spec/unit/provider/confine.rb +78 -0
- data/spec/unit/provider/confine/exists.rb +81 -0
- data/spec/unit/provider/confine/false.rb +53 -0
- data/spec/unit/provider/confine/feature.rb +60 -0
- data/spec/unit/provider/confine/true.rb +53 -0
- data/spec/unit/provider/confine/variable.rb +107 -0
- data/spec/unit/provider/confine_collection.rb +134 -0
- data/spec/unit/provider/confiner.rb +63 -0
- data/spec/unit/provider/group/groupadd.rb +31 -0
- data/spec/unit/provider/group/ldap.rb +105 -0
- data/spec/unit/provider/ldap.rb +248 -0
- data/spec/unit/provider/macauthorization.rb +147 -0
- data/spec/unit/provider/mcx/mcxcontent.rb +175 -0
- data/spec/unit/provider/mount.rb +130 -0
- data/spec/unit/provider/mount/parsed.rb +185 -0
- data/spec/unit/provider/package/apt.rb +138 -0
- data/spec/unit/provider/package/dpkg.rb +163 -0
- data/spec/unit/provider/package/gem.rb +87 -0
- data/spec/unit/provider/package/hpux.rb +52 -0
- data/spec/unit/provider/selboolean.rb +37 -0
- data/spec/unit/provider/selmodule-example.pp +0 -0
- data/spec/unit/provider/selmodule.rb +66 -0
- data/spec/unit/provider/service/daemontools.rb +124 -0
- data/spec/unit/provider/service/launchd.rb +134 -0
- data/spec/unit/provider/service/runit.rb +117 -0
- data/spec/unit/provider/ssh_authorized_key/parsed.rb +102 -0
- data/spec/unit/provider/user/hpux.rb +25 -0
- data/spec/unit/provider/user/ldap.rb +279 -0
- data/spec/unit/provider/user/user_role_add.rb +249 -0
- data/spec/unit/provider/user/useradd.rb +115 -0
- data/spec/unit/provider/zfs/solaris.rb +87 -0
- data/spec/unit/provider/zone/solaris.rb +42 -0
- data/spec/unit/provider/zpool/solaris.rb +179 -0
- data/spec/unit/rails.rb +125 -0
- data/spec/unit/relationship.rb +149 -0
- data/spec/unit/reports.rb +61 -0
- data/spec/unit/resource_reference.rb +73 -0
- data/spec/unit/simple_graph.rb +280 -0
- data/spec/unit/transaction/change.rb +187 -0
- data/spec/unit/transaction/event.rb +25 -0
- data/spec/unit/transaction/report.rb +40 -0
- data/spec/unit/type.rb +64 -0
- data/spec/unit/type/augeas.rb +113 -0
- data/spec/unit/type/computer.rb +82 -0
- data/spec/unit/type/exec.rb +91 -0
- data/spec/unit/type/file.rb +155 -0
- data/spec/unit/type/file/ensure.rb +21 -0
- data/spec/unit/type/file/group.rb +118 -0
- data/spec/unit/type/file/owner.rb +132 -0
- data/spec/unit/type/file/selinux.rb +82 -0
- data/spec/unit/type/group.rb +40 -0
- data/spec/unit/type/macauthorization.rb +78 -0
- data/spec/unit/type/mcx.rb +108 -0
- data/spec/unit/type/mount.rb +219 -0
- data/spec/unit/type/nagios.rb +63 -0
- data/spec/unit/type/noop_metaparam.rb +38 -0
- data/spec/unit/type/package.rb +246 -0
- data/spec/unit/type/resources.rb +27 -0
- data/spec/unit/type/schedule.rb +339 -0
- data/spec/unit/type/selboolean.rb +47 -0
- data/spec/unit/type/selmodule.rb +18 -0
- data/spec/unit/type/service.rb +254 -0
- data/spec/unit/type/ssh_authorized_key.rb +106 -0
- data/spec/unit/type/tidy.rb +68 -0
- data/spec/unit/type/user.rb +260 -0
- data/spec/unit/type/zfs.rb +45 -0
- data/spec/unit/type/zone.rb +20 -0
- data/spec/unit/type/zpool.rb +110 -0
- data/spec/unit/util/checksums.rb +99 -0
- data/spec/unit/util/constant_inflector.rb +70 -0
- data/spec/unit/util/file_locking.rb +115 -0
- data/spec/unit/util/ldap/connection.rb +169 -0
- data/spec/unit/util/ldap/generator.rb +54 -0
- data/spec/unit/util/ldap/manager.rb +654 -0
- data/spec/unit/util/loadedfile.rb +65 -0
- data/spec/unit/util/log.rb +107 -0
- data/spec/unit/util/metric.rb +95 -0
- data/spec/unit/util/nagios_maker.rb +128 -0
- data/spec/unit/util/posix.rb +256 -0
- data/spec/unit/util/resource_template.rb +58 -0
- data/spec/unit/util/selinux.rb +219 -0
- data/spec/unit/util/settings.rb +847 -0
- data/spec/unit/util/storage.rb +248 -0
- data/spec/unit/util/tagging.rb +92 -0
- data/spec/unit/util/uri_helper.rb +41 -0
- data/spec/unit/util/user_attr.rb +47 -0
- data/spec/unit/util/warnings.rb +35 -0
- data/test/certmgr/support.rb +0 -6
- data/test/data/providers/ssh_authorized_key/parsed/authorized_keys +1 -0
- data/test/data/snippets/multilinecomments.pp +6 -0
- data/test/data/snippets/multipleclass.pp +9 -0
- data/test/language/functions.rb +11 -1
- data/test/language/snippets.rb +16 -0
- data/test/lib/puppettest/runnable_test.rb +1 -1
- data/test/network/handler/fileserver.rb +5 -0
- data/test/other/report.rb +0 -4
- data/test/ral/type/resources.rb +2 -19
- data/test/util/settings.rb +4 -4
- data/test/util/storage.rb +0 -24
- data/test/util/utiltest.rb +0 -33
- metadata +319 -26
- data/conf/debian/README.source +0 -2
- data/conf/debian/TODO.Debian +0 -1
- data/conf/debian/changelog +0 -257
- data/conf/debian/compat +0 -1
- data/conf/debian/control +0 -45
- data/conf/debian/copyright +0 -17
- data/conf/debian/docs +0 -1
- data/conf/debian/fileserver.conf +0 -12
- data/conf/debian/puppet.NEWS +0 -63
- data/conf/debian/puppet.conf +0 -8
- data/conf/debian/puppet.dirs +0 -7
- data/conf/debian/puppet.files +0 -6
- data/conf/debian/puppet.init +0 -64
- data/conf/debian/puppet.logrotate +0 -11
- data/conf/debian/puppet.postinst +0 -9
- data/conf/debian/puppet.postrm +0 -21
- data/conf/debian/puppet.preinst +0 -25
- data/conf/debian/puppetmaster.files +0 -4
- data/conf/debian/puppetmaster.init +0 -58
- data/conf/debian/rules +0 -115
- data/conf/debian/watch +0 -2
- data/lib/puppet/type/nagios_hostgroupescalation.rb +0 -3
@@ -0,0 +1,42 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + '/../../../spec_helper'
|
4
|
+
|
5
|
+
provider_class = Puppet::Type.type(:zone).provider(:solaris)
|
6
|
+
|
7
|
+
describe provider_class do
|
8
|
+
before do
|
9
|
+
@resource = stub("resource", :name => "mypool")
|
10
|
+
@resource.stubs(:[]).returns "shouldvalue"
|
11
|
+
@provider = provider_class.new(@resource)
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "when calling configure" do
|
15
|
+
it "should add the create args to the create str" do
|
16
|
+
@resource.stubs(:properties).returns([])
|
17
|
+
@resource.stubs(:[]).with(:create_args).returns("create_args")
|
18
|
+
@provider.expects(:setconfig).with("create -b create_args\nset zonepath=shouldvalue\ncommit\n")
|
19
|
+
@provider.configure
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe "when installing" do
|
24
|
+
it "should call zoneadm" do
|
25
|
+
@provider.expects(:zoneadm)
|
26
|
+
@provider.install
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should just install if there are no install args" do
|
30
|
+
@resource.stubs(:[]).with(:install_args).returns(nil)
|
31
|
+
@provider.expects(:zoneadm).with(:install)
|
32
|
+
@provider.install
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should add the install args to the command if they exist" do
|
36
|
+
@resource.stubs(:[]).with(:install_args).returns("install args")
|
37
|
+
@provider.expects(:zoneadm).with(:install, ["install", "args"])
|
38
|
+
@provider.install
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
@@ -0,0 +1,179 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + '/../../../spec_helper'
|
4
|
+
|
5
|
+
provider_class = Puppet::Type.type(:zpool).provider(:solaris)
|
6
|
+
|
7
|
+
describe provider_class do
|
8
|
+
before do
|
9
|
+
@resource = stub("resource", :name => "mypool")
|
10
|
+
@resource.stubs(:[]).returns "shouldvalue"
|
11
|
+
@provider = provider_class.new(@resource)
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "when getting the instance" do
|
15
|
+
it "should call process_zpool_data with the result of get_pool_data only once" do
|
16
|
+
@provider.stubs(:get_pool_data).returns(["foo", "disk"])
|
17
|
+
@provider.expects(:process_zpool_data).with(["foo", "disk"]).returns("stuff").once
|
18
|
+
@provider.current_pool
|
19
|
+
@provider.current_pool
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe "when calling flush" do
|
24
|
+
it "should need to reload the pool" do
|
25
|
+
@provider.stubs(:get_pool_data)
|
26
|
+
@provider.expects(:process_zpool_data).returns("stuff").times(2)
|
27
|
+
@provider.current_pool
|
28
|
+
@provider.flush
|
29
|
+
@provider.current_pool
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
describe "when procesing zpool data" do
|
34
|
+
before do
|
35
|
+
@zpool_data = ["foo", "disk"]
|
36
|
+
end
|
37
|
+
|
38
|
+
describe "when there is no data" do
|
39
|
+
it "should return a hash with ensure=>:absent" do
|
40
|
+
@provider.process_zpool_data([])[:ensure].should == :absent
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
describe "when there is a spare" do
|
45
|
+
it "should add the spare disk to the hash" do
|
46
|
+
@zpool_data += ["spares", "spare_disk"]
|
47
|
+
@provider.process_zpool_data(@zpool_data)[:spare].should == ["spare_disk"]
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
describe "when there are two spares" do
|
52
|
+
it "should add the spare disk to the hash as a single string" do
|
53
|
+
@zpool_data += ["spares", "spare_disk", "spare_disk2"]
|
54
|
+
@provider.process_zpool_data(@zpool_data)[:spare].should == ["spare_disk spare_disk2"]
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
describe "when there is a log" do
|
59
|
+
it "should add the log disk to the hash" do
|
60
|
+
@zpool_data += ["logs", "log_disk"]
|
61
|
+
@provider.process_zpool_data(@zpool_data)[:log].should == ["log_disk"]
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
describe "when there are two logs" do
|
66
|
+
it "should add the log disks to the hash as a single string" do
|
67
|
+
@zpool_data += ["spares", "spare_disk", "spare_disk2"]
|
68
|
+
@provider.process_zpool_data(@zpool_data)[:spare].should == ["spare_disk spare_disk2"]
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
describe "when the vdev is a single mirror" do
|
73
|
+
it "should call create_multi_array with mirror" do
|
74
|
+
@zpool_data = ["mirrorpool", "mirror", "disk1", "disk2"]
|
75
|
+
@provider.process_zpool_data(@zpool_data)[:mirror].should == ["disk1 disk2"]
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
describe "when the vdev is a double mirror" do
|
80
|
+
it "should call create_multi_array with mirror" do
|
81
|
+
@zpool_data = ["mirrorpool", "mirror", "disk1", "disk2", "mirror", "disk3", "disk4"]
|
82
|
+
@provider.process_zpool_data(@zpool_data)[:mirror].should == ["disk1 disk2", "disk3 disk4"]
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
describe "when the vdev is a raidz1" do
|
87
|
+
it "should call create_multi_array with raidz1" do
|
88
|
+
@zpool_data = ["mirrorpool", "raidz1", "disk1", "disk2"]
|
89
|
+
@provider.process_zpool_data(@zpool_data)[:raidz].should == ["disk1 disk2"]
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
describe "when the vdev is a raidz2" do
|
94
|
+
it "should call create_multi_array with raidz2 and set the raid_parity" do
|
95
|
+
@zpool_data = ["mirrorpool", "raidz2", "disk1", "disk2"]
|
96
|
+
pool = @provider.process_zpool_data(@zpool_data)
|
97
|
+
pool[:raidz].should == ["disk1 disk2"]
|
98
|
+
pool[:raid_parity].should == "raidz2"
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
describe "when calling the getters and setters" do
|
104
|
+
[:disk, :mirror, :raidz, :log, :spare].each do |field|
|
105
|
+
describe "when calling %s" % field do
|
106
|
+
it "should get the %s value from the current_pool hash" % field do
|
107
|
+
pool_hash = mock "pool hash"
|
108
|
+
pool_hash.expects(:[]).with(field)
|
109
|
+
@provider.stubs(:current_pool).returns(pool_hash)
|
110
|
+
@provider.send(field)
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
describe "when setting the %s" % field do
|
115
|
+
it "should warn the %s values were not in sync" % field do
|
116
|
+
Puppet.expects(:warning).with("NO CHANGES BEING MADE: zpool %s does not match, should be 'shouldvalue' currently is 'currentvalue'" % field)
|
117
|
+
@provider.stubs(:current_pool).returns(Hash.new("currentvalue"))
|
118
|
+
@provider.send((field.to_s + "=").intern, "shouldvalue")
|
119
|
+
end
|
120
|
+
end
|
121
|
+
end
|
122
|
+
end
|
123
|
+
|
124
|
+
describe "when calling create" do
|
125
|
+
before do
|
126
|
+
@resource.stubs(:[]).with(:pool).returns("mypool")
|
127
|
+
@provider.stubs(:zpool)
|
128
|
+
end
|
129
|
+
|
130
|
+
|
131
|
+
it "should call build_vdevs" do
|
132
|
+
@provider.expects(:build_vdevs).returns([])
|
133
|
+
@provider.create
|
134
|
+
end
|
135
|
+
|
136
|
+
it "should call build_named with 'spares' and 'log" do
|
137
|
+
@provider.expects(:build_named).with("spare").returns([])
|
138
|
+
@provider.expects(:build_named).with("log").returns([])
|
139
|
+
@provider.create
|
140
|
+
end
|
141
|
+
|
142
|
+
it "should call zpool with arguments from build_vdevs and build_named" do
|
143
|
+
@provider.expects(:zpool).with(:create, 'mypool', 'shouldvalue', 'spare', 'shouldvalue', 'log', 'shouldvalue')
|
144
|
+
@provider.create
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
describe "when calling delete" do
|
149
|
+
it "should call zpool with destroy and the pool name" do
|
150
|
+
@resource.stubs(:[]).with(:pool).returns("poolname")
|
151
|
+
@provider.expects(:zpool).with(:destroy, "poolname")
|
152
|
+
@provider.delete
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
describe "when calling exists?" do
|
157
|
+
before do
|
158
|
+
@current_pool = Hash.new(:absent)
|
159
|
+
@provider.stubs(:get_pool_data).returns([])
|
160
|
+
@provider.stubs(:process_zpool_data).returns(@current_pool)
|
161
|
+
end
|
162
|
+
|
163
|
+
it "should get the current pool" do
|
164
|
+
@provider.expects(:process_zpool_data).returns(@current_pool)
|
165
|
+
@provider.exists?
|
166
|
+
end
|
167
|
+
|
168
|
+
it "should return false if the current_pool is absent" do
|
169
|
+
#the before sets it up
|
170
|
+
@provider.exists?.should == false
|
171
|
+
end
|
172
|
+
|
173
|
+
it "should return true if the current_pool has values" do
|
174
|
+
@current_pool[:pool] = "mypool"
|
175
|
+
@provider.exists?.should == true
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
179
|
+
end
|
data/spec/unit/rails.rb
ADDED
@@ -0,0 +1,125 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require File.dirname(__FILE__) + '/../spec_helper'
|
4
|
+
require 'puppet/rails'
|
5
|
+
|
6
|
+
describe Puppet::Rails, "when initializing any connection" do
|
7
|
+
confine "Cannot test without ActiveRecord" => Puppet.features.rails?
|
8
|
+
|
9
|
+
before do
|
10
|
+
@logger = mock 'logger'
|
11
|
+
@logger.stub_everything
|
12
|
+
Logger.stubs(:new).returns(@logger)
|
13
|
+
|
14
|
+
ActiveRecord::Base.stubs(:logger).returns(@logger)
|
15
|
+
end
|
16
|
+
|
17
|
+
it "should use settings" do
|
18
|
+
Puppet.settings.expects(:use).with(:main, :rails, :puppetmasterd)
|
19
|
+
|
20
|
+
Puppet::Rails.connect
|
21
|
+
end
|
22
|
+
|
23
|
+
it "should set up a logger with the appropriate Rails log file" do
|
24
|
+
logger = mock 'logger'
|
25
|
+
Logger.expects(:new).with(Puppet[:railslog]).returns(logger)
|
26
|
+
ActiveRecord::Base.expects(:logger=).with(logger)
|
27
|
+
|
28
|
+
Puppet::Rails.connect
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should set the log level to whatever the value is in the settings" do
|
32
|
+
Puppet.settings.stubs(:use)
|
33
|
+
Puppet.settings.stubs(:value).with(:rails_loglevel).returns("debug")
|
34
|
+
Puppet.settings.stubs(:value).with(:railslog).returns("/my/file")
|
35
|
+
logger = mock 'logger'
|
36
|
+
Logger.stubs(:new).returns(logger)
|
37
|
+
ActiveRecord::Base.stubs(:logger).returns(logger)
|
38
|
+
logger.expects(:level=).with(Logger::DEBUG)
|
39
|
+
|
40
|
+
ActiveRecord::Base.stubs(:allow_concurrency=)
|
41
|
+
ActiveRecord::Base.stubs(:verify_active_connections!)
|
42
|
+
ActiveRecord::Base.stubs(:establish_connection)
|
43
|
+
Puppet::Rails.stubs(:database_arguments)
|
44
|
+
|
45
|
+
Puppet::Rails.connect
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should set ActiveRecord::Base.allow_concurrency" do
|
49
|
+
ActiveRecord::Base.expects(:allow_concurrency=).with(true)
|
50
|
+
|
51
|
+
Puppet::Rails.connect
|
52
|
+
end
|
53
|
+
|
54
|
+
it "should call ActiveRecord::Base.verify_active_connections!" do
|
55
|
+
ActiveRecord::Base.expects(:verify_active_connections!)
|
56
|
+
|
57
|
+
Puppet::Rails.connect
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should call ActiveRecord::Base.establish_connection with database_arguments" do
|
61
|
+
Puppet::Rails.expects(:database_arguments)
|
62
|
+
ActiveRecord::Base.expects(:establish_connection)
|
63
|
+
|
64
|
+
Puppet::Rails.connect
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
describe Puppet::Rails, "when initializing a sqlite3 connection" do
|
69
|
+
confine Puppet.features.rails? => "Cannot test without ActiveRecord"
|
70
|
+
|
71
|
+
it "should provide the adapter, log_level, and dbfile arguments" do
|
72
|
+
Puppet.settings.expects(:value).with(:dbadapter).returns("sqlite3")
|
73
|
+
Puppet.settings.expects(:value).with(:rails_loglevel).returns("testlevel")
|
74
|
+
Puppet.settings.expects(:value).with(:dblocation).returns("testlocation")
|
75
|
+
|
76
|
+
Puppet::Rails.database_arguments.should == {
|
77
|
+
:adapter => "sqlite3",
|
78
|
+
:log_level => "testlevel",
|
79
|
+
:dbfile => "testlocation"
|
80
|
+
}
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
describe Puppet::Rails, "when initializing a mysql or postgresql connection" do
|
85
|
+
confine Puppet.features.rails? => "Cannot test without ActiveRecord"
|
86
|
+
|
87
|
+
it "should provide the adapter, log_level, and host, username, password, and database arguments" do
|
88
|
+
Puppet.settings.stubs(:value).with(:dbadapter).returns("mysql")
|
89
|
+
Puppet.settings.stubs(:value).with(:rails_loglevel).returns("testlevel")
|
90
|
+
Puppet.settings.stubs(:value).with(:dbserver).returns("testserver")
|
91
|
+
Puppet.settings.stubs(:value).with(:dbuser).returns("testuser")
|
92
|
+
Puppet.settings.stubs(:value).with(:dbpassword).returns("testpassword")
|
93
|
+
Puppet.settings.stubs(:value).with(:dbname).returns("testname")
|
94
|
+
Puppet.settings.stubs(:value).with(:dbsocket).returns("")
|
95
|
+
|
96
|
+
Puppet::Rails.database_arguments.should == {
|
97
|
+
:adapter => "mysql",
|
98
|
+
:log_level => "testlevel",
|
99
|
+
:host => "testserver",
|
100
|
+
:username => "testuser",
|
101
|
+
:password => "testpassword",
|
102
|
+
:database => "testname"
|
103
|
+
}
|
104
|
+
end
|
105
|
+
|
106
|
+
it "should provide the adapter, log_level, and host, username, password, database, and socket arguments" do
|
107
|
+
Puppet.settings.stubs(:value).with(:dbadapter).returns("mysql")
|
108
|
+
Puppet.settings.stubs(:value).with(:rails_loglevel).returns("testlevel")
|
109
|
+
Puppet.settings.stubs(:value).with(:dbserver).returns("testserver")
|
110
|
+
Puppet.settings.stubs(:value).with(:dbuser).returns("testuser")
|
111
|
+
Puppet.settings.stubs(:value).with(:dbpassword).returns("testpassword")
|
112
|
+
Puppet.settings.stubs(:value).with(:dbname).returns("testname")
|
113
|
+
Puppet.settings.stubs(:value).with(:dbsocket).returns("testsocket")
|
114
|
+
|
115
|
+
Puppet::Rails.database_arguments.should == {
|
116
|
+
:adapter => "mysql",
|
117
|
+
:log_level => "testlevel",
|
118
|
+
:host => "testserver",
|
119
|
+
:username => "testuser",
|
120
|
+
:password => "testpassword",
|
121
|
+
:database => "testname",
|
122
|
+
:socket => "testsocket"
|
123
|
+
}
|
124
|
+
end
|
125
|
+
end
|
@@ -0,0 +1,149 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# Created by Luke Kanies on 2007-11-1.
|
4
|
+
# Copyright (c) 2006. All rights reserved.
|
5
|
+
|
6
|
+
require File.dirname(__FILE__) + '/../spec_helper'
|
7
|
+
require 'puppet/relationship'
|
8
|
+
|
9
|
+
describe Puppet::Relationship do
|
10
|
+
before do
|
11
|
+
@edge = Puppet::Relationship.new(:a, :b)
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should have a :source attribute" do
|
15
|
+
@edge.should respond_to(:source)
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should have a :target attribute" do
|
19
|
+
@edge.should respond_to(:target)
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should have a :label attribute" do
|
23
|
+
@edge.should respond_to(:label)
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should provide a :ref method that describes the edge" do
|
27
|
+
@edge = Puppet::Relationship.new("a", "b")
|
28
|
+
@edge.ref.should == "a => b"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
describe Puppet::Relationship, " when initializing" do
|
33
|
+
before do
|
34
|
+
@edge = Puppet::Relationship.new(:a, :b, :testing => :foo)
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should use the first argument as the source" do
|
38
|
+
@edge.source.should == :a
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should use the second argument as the target" do
|
42
|
+
@edge.target.should == :b
|
43
|
+
end
|
44
|
+
|
45
|
+
it "should use the third argument as the label" do
|
46
|
+
@edge.label.should == {:testing => :foo}
|
47
|
+
end
|
48
|
+
|
49
|
+
it "should require a callback if a non-NONE event is specified" do
|
50
|
+
proc { Puppet::Relationship.new(:a, :b, :event => :something) }.should raise_error(ArgumentError)
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should require the label to be a hash" do
|
54
|
+
proc { Puppet::Relationship.new(:a, :b, :event) }.should raise_error(ArgumentError)
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
describe Puppet::Relationship, " when interpreting the label" do
|
59
|
+
it "should default to an event of nil" do
|
60
|
+
@edge = Puppet::Relationship.new(:a, :b)
|
61
|
+
@edge.event.should be_nil
|
62
|
+
end
|
63
|
+
|
64
|
+
it "should expose a provided event via the :event method" do
|
65
|
+
@edge = Puppet::Relationship.new(:a, :b, :event => :something, :callback => :whatever)
|
66
|
+
@edge.event.should == :something
|
67
|
+
end
|
68
|
+
|
69
|
+
it "should default to a nil callback" do
|
70
|
+
@edge = Puppet::Relationship.new(:a, :b)
|
71
|
+
@edge.callback.should be_nil
|
72
|
+
end
|
73
|
+
|
74
|
+
it "should expose a provided callback via the :callback method" do
|
75
|
+
@edge = Puppet::Relationship.new(:a, :b, :callback => :testing)
|
76
|
+
@edge.callback.should == :testing
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
describe Puppet::Relationship, " when matching edges with no specified event" do
|
81
|
+
before do
|
82
|
+
@edge = Puppet::Relationship.new(:a, :b)
|
83
|
+
end
|
84
|
+
|
85
|
+
it "should not match :NONE" do
|
86
|
+
@edge.should_not be_match(:NONE)
|
87
|
+
end
|
88
|
+
|
89
|
+
it "should not match :ALL_EVENTS" do
|
90
|
+
@edge.should_not be_match(:NONE)
|
91
|
+
end
|
92
|
+
|
93
|
+
it "should not match any other events" do
|
94
|
+
@edge.should_not be_match(:whatever)
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
describe Puppet::Relationship, " when matching edges with :NONE as the event" do
|
99
|
+
before do
|
100
|
+
@edge = Puppet::Relationship.new(:a, :b, :event => :NONE)
|
101
|
+
end
|
102
|
+
it "should not match :NONE" do
|
103
|
+
@edge.should_not be_match(:NONE)
|
104
|
+
end
|
105
|
+
|
106
|
+
it "should not match :ALL_EVENTS" do
|
107
|
+
@edge.should_not be_match(:ALL_EVENTS)
|
108
|
+
end
|
109
|
+
|
110
|
+
it "should not match other events" do
|
111
|
+
@edge.should_not be_match(:yayness)
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
describe Puppet::Relationship, " when matching edges with :ALL as the event" do
|
116
|
+
before do
|
117
|
+
@edge = Puppet::Relationship.new(:a, :b, :event => :ALL_EVENTS, :callback => :whatever)
|
118
|
+
end
|
119
|
+
|
120
|
+
it "should not match :NONE" do
|
121
|
+
@edge.should_not be_match(:NONE)
|
122
|
+
end
|
123
|
+
|
124
|
+
it "should match :ALL_EVENTS" do
|
125
|
+
@edge.should be_match(:ALLEVENTS)
|
126
|
+
end
|
127
|
+
|
128
|
+
it "should match all other events" do
|
129
|
+
@edge.should be_match(:foo)
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
describe Puppet::Relationship, " when matching edges with a non-standard event" do
|
134
|
+
before do
|
135
|
+
@edge = Puppet::Relationship.new(:a, :b, :event => :random, :callback => :whatever)
|
136
|
+
end
|
137
|
+
|
138
|
+
it "should not match :NONE" do
|
139
|
+
@edge.should_not be_match(:NONE)
|
140
|
+
end
|
141
|
+
|
142
|
+
it "should not match :ALL_EVENTS" do
|
143
|
+
@edge.should_not be_match(:ALL_EVENTS)
|
144
|
+
end
|
145
|
+
|
146
|
+
it "should match events with the same name" do
|
147
|
+
@edge.should be_match(:random)
|
148
|
+
end
|
149
|
+
end
|