puppet 0.24.7 → 0.24.8
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 +72 -0
- data/README.rst +38 -0
- data/Rakefile +3 -1
- data/bin/filebucket +0 -0
- data/bin/puppet +0 -0
- data/bin/puppetca +0 -0
- data/bin/puppetd +0 -0
- data/bin/puppetdoc +0 -0
- data/bin/puppetmasterd +0 -0
- data/bin/puppetrun +0 -0
- data/bin/ralsh +4 -0
- data/conf/gentoo/init.d/puppetmaster +0 -0
- data/conf/osx/createpackage.sh +0 -0
- data/conf/osx/preflight +0 -0
- data/conf/redhat/puppet.spec +20 -3
- data/conf/solaris/smf/svc-puppetd +0 -0
- data/conf/solaris/smf/svc-puppetmasterd +0 -0
- data/examples/etc/init.d/sleeper +0 -0
- data/examples/mac_dscl.pp +0 -0
- data/examples/mac_dscl_revert.pp +0 -0
- data/examples/mac_netinfo.pp +0 -0
- data/examples/mac_pkgdmg.pp +0 -0
- data/ext/bin/sleeper +0 -0
- data/ext/dbfix.sql +132 -0
- data/ext/logcheck/puppet +2 -1
- data/ext/module_puppet +0 -0
- data/ext/nagios/check_puppet.rb +0 -0
- data/ext/puppet-test +0 -0
- data/ext/puppetlast +0 -0
- data/ext/vim/syntax/puppet.vim +2 -1
- data/install.rb +2 -2
- data/lib/puppet.rb +1 -1
- data/lib/puppet/daemon.rb +0 -0
- data/lib/puppet/defaults.rb +9 -0
- data/lib/puppet/executables/client/certhandler.rb +6 -1
- data/lib/puppet/external/base64.rb +0 -0
- data/lib/puppet/external/nagios.rb +0 -0
- data/lib/puppet/external/nagios/base.rb +0 -0
- data/lib/puppet/external/nagios/parser.rb +39 -57
- data/lib/puppet/file_collection.rb +30 -0
- data/lib/puppet/file_collection/lookup.rb +20 -0
- data/lib/puppet/indirector/facts/facter.rb +6 -2
- data/lib/puppet/indirector/node/ldap.rb +75 -39
- data/lib/puppet/network/authstore.rb +0 -0
- data/lib/puppet/network/handler/filebucket.rb +0 -0
- data/lib/puppet/network/handler/fileserver.rb +0 -0
- data/lib/puppet/network/handler/report.rb +0 -0
- data/lib/puppet/network/handler/resource.rb +0 -0
- data/lib/puppet/network/handler/runner.rb +0 -0
- data/lib/puppet/network/rights.rb +0 -0
- data/lib/puppet/network/xmlrpc/client.rb +113 -53
- data/lib/puppet/node/facts.rb +0 -0
- data/lib/puppet/parser/ast.rb +4 -3
- data/lib/puppet/parser/ast/astarray.rb +2 -1
- data/lib/puppet/parser/ast/leaf.rb +1 -1
- data/lib/puppet/parser/ast/resource.rb +20 -20
- data/lib/puppet/parser/ast/resource_override.rb +2 -2
- data/lib/puppet/parser/collector.rb +1 -2
- data/lib/puppet/parser/functions/realize.rb +1 -1
- data/lib/puppet/parser/functions/regsubst.rb +93 -0
- data/lib/puppet/parser/functions/sprintf.rb +17 -0
- data/lib/puppet/parser/functions/versioncmp.rb +10 -0
- data/lib/puppet/parser/resource.rb +10 -6
- data/lib/puppet/parser/resource/param.rb +17 -14
- data/lib/puppet/parser/resource/reference.rb +2 -0
- data/lib/puppet/parser/scope.rb +3 -3
- data/lib/puppet/property/list.rb +5 -1
- data/lib/puppet/provider/augeas/augeas.rb +146 -44
- data/lib/puppet/provider/cron/crontab.rb +0 -0
- data/lib/puppet/provider/mailalias/aliases.rb +0 -0
- data/lib/puppet/provider/maillist/mailman.rb +0 -0
- data/lib/puppet/provider/mount/parsed.rb +0 -0
- data/lib/puppet/provider/naginator.rb +7 -2
- data/lib/puppet/provider/nameservice/directoryservice.rb +128 -44
- data/lib/puppet/provider/package/apple.rb +0 -0
- data/lib/puppet/provider/package/apt.rb +0 -0
- data/lib/puppet/provider/package/aptitude.rb +0 -0
- data/lib/puppet/provider/package/blastwave.rb +0 -0
- data/lib/puppet/provider/package/darwinport.rb +0 -0
- data/lib/puppet/provider/package/dpkg.rb +0 -0
- data/lib/puppet/provider/package/fink.rb +0 -0
- data/lib/puppet/provider/package/freebsd.rb +0 -0
- data/lib/puppet/provider/package/gem.rb +0 -0
- data/lib/puppet/provider/package/openbsd.rb +0 -0
- data/lib/puppet/provider/package/ports.rb +0 -0
- data/lib/puppet/provider/package/rpm.rb +0 -0
- data/lib/puppet/provider/package/sun.rb +0 -0
- data/lib/puppet/provider/package/sunfreeware.rb +0 -0
- data/lib/puppet/provider/package/up2date.rb +4 -2
- data/lib/puppet/provider/package/yum.rb +0 -0
- data/lib/puppet/provider/parsedfile.rb +47 -22
- data/lib/puppet/provider/port/parsed.rb +0 -0
- data/lib/puppet/provider/service/base.rb +0 -0
- data/lib/puppet/provider/service/debian.rb +0 -0
- data/lib/puppet/provider/service/gentoo.rb +1 -1
- data/lib/puppet/provider/service/init.rb +0 -0
- data/lib/puppet/provider/service/launchd.rb +13 -4
- data/lib/puppet/provider/service/redhat.rb +5 -5
- data/lib/puppet/provider/service/smf.rb +0 -0
- data/lib/puppet/provider/ssh_authorized_key/parsed.rb +43 -16
- data/lib/puppet/provider/sshkey/parsed.rb +0 -0
- data/lib/puppet/provider/user/useradd.rb +1 -1
- data/lib/puppet/rails/database/003_add_environment_to_host.rb +6 -2
- data/lib/puppet/rails/host.rb +70 -19
- data/lib/puppet/rails/param_value.rb +31 -12
- data/lib/puppet/rails/resource.rb +36 -9
- data/lib/puppet/rails/resource_tag.rb +18 -0
- data/lib/puppet/reference/report.rb +1 -0
- data/lib/puppet/reports.rb +0 -0
- data/lib/puppet/sslcertificates.rb +0 -0
- data/lib/puppet/transaction.rb +1 -1
- data/lib/puppet/type.rb +2 -6
- data/lib/puppet/type/augeas.rb +23 -15
- data/lib/puppet/type/cron.rb +0 -0
- data/lib/puppet/type/exec.rb +0 -0
- data/lib/puppet/type/file/checksum.rb +7 -35
- data/lib/puppet/type/file/content.rb +11 -8
- data/lib/puppet/type/file/ensure.rb +0 -0
- data/lib/puppet/type/file/group.rb +0 -0
- data/lib/puppet/type/file/mode.rb +0 -0
- data/lib/puppet/type/file/owner.rb +0 -0
- data/lib/puppet/type/file/selcontext.rb +8 -0
- data/lib/puppet/type/file/source.rb +0 -0
- data/lib/puppet/type/file/type.rb +0 -0
- data/lib/puppet/type/filebucket.rb +0 -0
- data/lib/puppet/type/group.rb +0 -0
- data/lib/puppet/type/host.rb +0 -0
- data/lib/puppet/type/mailalias.rb +0 -0
- data/lib/puppet/type/maillist.rb +0 -0
- data/lib/puppet/type/mount.rb +0 -0
- data/lib/puppet/type/port.rb +0 -0
- data/lib/puppet/type/schedule.rb +0 -0
- data/lib/puppet/type/ssh_authorized_key.rb +14 -0
- data/lib/puppet/type/sshkey.rb +0 -0
- data/lib/puppet/type/tidy.rb +0 -0
- data/lib/puppet/type/user.rb +6 -0
- data/lib/puppet/type/yumrepo.rb +4 -1
- data/lib/puppet/type/zfs.rb +0 -0
- data/lib/puppet/type/zpool.rb +0 -0
- data/lib/puppet/util/autoload.rb +2 -2
- data/lib/puppet/util/filetype.rb +7 -96
- data/lib/puppet/util/inifile.rb +1 -0
- data/lib/puppet/util/instance_loader.rb +0 -0
- data/lib/puppet/util/loadedfile.rb +0 -0
- data/lib/puppet/util/nagios_maker.rb +4 -0
- data/lib/puppet/util/package.rb +2 -0
- data/lib/puppet/util/posix.rb +0 -0
- data/lib/puppet/util/rails/reference_serializer.rb +18 -0
- data/lib/puppet/util/selinux.rb +3 -1
- data/spec/integration/checksum.rb +1 -0
- data/spec/integration/defaults.rb +9 -0
- data/spec/integration/file_serving/configuration.rb +0 -0
- data/spec/integration/file_serving/content.rb +0 -0
- data/spec/integration/file_serving/metadata.rb +0 -0
- data/spec/integration/indirector/direct_file_server.rb +0 -0
- data/spec/integration/indirector/file_content/file_server.rb +0 -0
- data/spec/integration/indirector/file_metadata/file_server.rb +0 -0
- data/spec/integration/indirector/module_files.rb +0 -0
- data/spec/integration/indirector/node/ldap.rb +0 -0
- data/spec/integration/indirector/rest.rb +0 -0
- data/spec/integration/network/server/mongrel.rb +0 -0
- data/spec/integration/network/server/webrick.rb +0 -0
- data/spec/integration/node.rb +0 -0
- data/spec/integration/node/catalog.rb +0 -0
- data/spec/integration/node/facts.rb +0 -0
- data/spec/integration/provider/package.rb +0 -0
- data/spec/integration/provider/service/init.rb +0 -0
- data/spec/integration/reference/providers.rb +0 -0
- data/spec/integration/reports.rb +4 -0
- data/spec/integration/transaction/report.rb +7 -1
- data/spec/integration/type/package.rb +5 -2
- data/spec/integration/util/file_locking.rb +0 -0
- data/spec/unit/executables/client/certhandler.rb +13 -0
- data/spec/unit/file_collection.rb +53 -0
- data/spec/unit/file_collection/lookup.rb +46 -0
- data/spec/unit/file_serving/configuration.rb +0 -0
- data/spec/unit/file_serving/configuration/parser.rb +0 -0
- data/spec/unit/file_serving/content.rb +0 -0
- data/spec/unit/file_serving/file_base.rb +0 -0
- data/spec/unit/file_serving/fileset.rb +0 -0
- data/spec/unit/file_serving/indirection_hooks.rb +0 -0
- data/spec/unit/file_serving/metadata.rb +0 -0
- data/spec/unit/file_serving/mount.rb +0 -0
- data/spec/unit/file_serving/terminus_helper.rb +0 -0
- data/spec/unit/indirector.rb +0 -0
- data/spec/unit/indirector/catalog/compiler.rb +0 -0
- data/spec/unit/indirector/catalog/yaml.rb +0 -0
- data/spec/unit/indirector/checksum/file.rb +0 -0
- data/spec/unit/indirector/code.rb +0 -0
- data/spec/unit/indirector/direct_file_server.rb +0 -0
- data/spec/unit/indirector/envelope.rb +0 -0
- data/spec/unit/indirector/exec.rb +0 -0
- data/spec/unit/indirector/facts/facter.rb +27 -2
- data/spec/unit/indirector/facts/yaml.rb +0 -0
- data/spec/unit/indirector/file.rb +0 -0
- data/spec/unit/indirector/file_content/file.rb +0 -0
- data/spec/unit/indirector/file_content/file_server.rb +0 -0
- data/spec/unit/indirector/file_content/modules.rb +0 -0
- data/spec/unit/indirector/file_content/rest.rb +0 -0
- data/spec/unit/indirector/file_metadata/file.rb +0 -0
- data/spec/unit/indirector/file_metadata/file_server.rb +0 -0
- data/spec/unit/indirector/file_metadata/modules.rb +0 -0
- data/spec/unit/indirector/file_metadata/rest.rb +0 -0
- data/spec/unit/indirector/file_server.rb +0 -0
- data/spec/unit/indirector/indirection.rb +0 -0
- data/spec/unit/indirector/ldap.rb +0 -0
- data/spec/unit/indirector/memory.rb +0 -0
- data/spec/unit/indirector/module_files.rb +0 -0
- data/spec/unit/indirector/node/exec.rb +0 -0
- data/spec/unit/indirector/node/ldap.rb +20 -0
- data/spec/unit/indirector/node/memory.rb +0 -0
- data/spec/unit/indirector/node/plain.rb +0 -0
- data/spec/unit/indirector/node/rest.rb +0 -0
- data/spec/unit/indirector/node/yaml.rb +0 -0
- data/spec/unit/indirector/plain.rb +0 -0
- data/spec/unit/indirector/report/processor.rb +0 -0
- data/spec/unit/indirector/request.rb +0 -0
- data/spec/unit/indirector/rest.rb +0 -0
- data/spec/unit/indirector/ssl_rsa/file.rb +5 -0
- data/spec/unit/indirector/terminus.rb +0 -0
- data/spec/unit/indirector/yaml.rb +0 -0
- data/spec/unit/module.rb +0 -0
- data/spec/unit/network/client.rb +0 -0
- data/spec/unit/network/client/master.rb +0 -0
- data/spec/unit/network/http.rb +0 -0
- data/spec/unit/network/http/mongrel.rb +0 -0
- data/spec/unit/network/http/mongrel/rest.rb +0 -0
- data/spec/unit/network/http/mongrel/xmlrpc.rb +0 -0
- data/spec/unit/network/http/webrick.rb +0 -0
- data/spec/unit/network/http/webrick/rest.rb +0 -0
- data/spec/unit/network/http/webrick/xmlrpc.rb +0 -0
- data/spec/unit/network/http_pool.rb +0 -0
- data/spec/unit/network/server.rb +0 -0
- data/spec/unit/network/xmlrpc/client.rb +165 -7
- data/spec/unit/node.rb +0 -0
- data/spec/unit/node/catalog.rb +1 -0
- data/spec/unit/node/environment.rb +0 -0
- data/spec/unit/node/facts.rb +0 -0
- data/spec/unit/other/checksum.rb +0 -0
- data/spec/unit/other/pgraph.rb +0 -0
- data/spec/unit/other/transbucket.rb +4 -4
- data/spec/unit/other/transobject.rb +0 -0
- data/spec/unit/parameter.rb +0 -0
- data/spec/unit/parser/ast.rb +5 -1
- data/spec/unit/parser/ast/arithmetic_operator.rb +0 -0
- data/spec/unit/parser/ast/astarray.rb +2 -2
- data/spec/unit/parser/ast/boolean_operator.rb +0 -0
- data/spec/unit/parser/ast/collexpr.rb +0 -0
- data/spec/unit/parser/ast/comparison_operator.rb +0 -0
- data/spec/unit/parser/ast/definition.rb +0 -0
- data/spec/unit/parser/ast/hostclass.rb +0 -0
- data/spec/unit/parser/ast/minus.rb +0 -0
- data/spec/unit/parser/ast/node.rb +0 -0
- data/spec/unit/parser/ast/nop.rb +0 -0
- data/spec/unit/parser/ast/not.rb +0 -0
- data/spec/unit/parser/ast/resource.rb +103 -0
- data/spec/unit/parser/ast/resource_override.rb +0 -0
- data/spec/unit/parser/ast/resource_reference.rb +0 -0
- data/spec/unit/parser/ast/vardef.rb +0 -0
- data/spec/unit/parser/collector.rb +4 -4
- data/spec/unit/parser/compiler.rb +0 -0
- data/spec/unit/parser/functions/realize.rb +51 -0
- data/spec/unit/parser/functions/regsubst.rb +88 -0
- data/spec/unit/parser/functions/sprintf.rb +42 -0
- data/spec/unit/parser/functions/versioncmp.rb +29 -0
- data/spec/unit/parser/interpreter.rb +0 -0
- data/spec/unit/parser/lexer.rb +0 -0
- data/spec/unit/parser/parser.rb +0 -0
- data/spec/unit/parser/resource.rb +4 -0
- data/spec/unit/parser/resource/reference.rb +4 -0
- data/spec/unit/parser/scope.rb +14 -0
- data/spec/unit/parser/templatewrapper.rb +0 -0
- data/spec/unit/property.rb +0 -0
- data/spec/unit/property/list.rb +4 -0
- data/spec/unit/provider/augeas/augeas.rb +219 -92
- data/spec/unit/provider/confine.rb +0 -0
- data/spec/unit/provider/confine/exists.rb +0 -0
- data/spec/unit/provider/confine/false.rb +0 -0
- data/spec/unit/provider/confine/feature.rb +0 -0
- data/spec/unit/provider/confine/true.rb +0 -0
- data/spec/unit/provider/confine/variable.rb +0 -0
- data/spec/unit/provider/confine_collection.rb +0 -0
- data/spec/unit/provider/confiner.rb +0 -0
- data/spec/unit/provider/group/groupadd.rb +0 -0
- data/spec/unit/provider/group/ldap.rb +0 -0
- data/spec/unit/provider/ldap.rb +0 -0
- data/spec/unit/provider/macauthorization.rb +0 -0
- data/spec/unit/provider/mcx/mcxcontent.rb +0 -0
- data/spec/unit/provider/mount.rb +0 -0
- data/spec/unit/provider/mount/parsed.rb +1 -0
- data/spec/unit/provider/naginator.rb +58 -0
- data/spec/unit/provider/package/apt.rb +0 -0
- data/spec/unit/provider/package/dpkg.rb +0 -0
- data/spec/unit/provider/parsedfile.rb +95 -0
- data/spec/unit/provider/selboolean.rb +0 -0
- data/spec/unit/provider/selmodule.rb +0 -0
- data/spec/unit/provider/service/launchd.rb +9 -1
- data/spec/unit/provider/ssh_authorized_key/parsed.rb +63 -19
- data/spec/unit/provider/user/hpux.rb +0 -0
- data/spec/unit/provider/user/ldap.rb +0 -0
- data/spec/unit/provider/user/useradd.rb +0 -0
- data/spec/unit/provider/zfs/solaris.rb +0 -0
- data/spec/unit/provider/zone/solaris.rb +0 -0
- data/spec/unit/provider/zpool/solaris.rb +0 -0
- data/spec/unit/rails.rb +1 -0
- data/spec/unit/relationship.rb +0 -0
- data/spec/unit/reports.rb +0 -0
- data/spec/unit/resource_reference.rb +0 -0
- data/spec/unit/simple_graph.rb +0 -0
- data/spec/unit/{other/transaction.rb → transaction.rb} +16 -1
- data/spec/unit/transaction/change.rb +0 -0
- data/spec/unit/transaction/event.rb +0 -0
- data/spec/unit/transaction/report.rb +0 -0
- data/spec/unit/type.rb +0 -0
- data/spec/unit/type/computer.rb +0 -0
- data/spec/unit/type/exec.rb +0 -0
- data/spec/unit/type/file.rb +2 -0
- data/spec/unit/type/file/content.rb +30 -0
- data/spec/unit/type/file/ensure.rb +0 -0
- data/spec/unit/type/file/group.rb +0 -0
- data/spec/unit/type/file/owner.rb +0 -0
- data/spec/unit/type/file/selinux.rb +6 -0
- data/spec/unit/type/group.rb +3 -0
- data/spec/unit/type/macauthorization.rb +0 -0
- data/spec/unit/type/mcx.rb +0 -0
- data/spec/unit/type/mount.rb +0 -0
- data/spec/unit/type/nagios.rb +0 -0
- data/spec/unit/type/noop_metaparam.rb +1 -0
- data/spec/unit/type/package.rb +0 -0
- data/spec/unit/type/schedule.rb +0 -0
- data/spec/unit/type/selboolean.rb +0 -0
- data/spec/unit/type/selmodule.rb +0 -0
- data/spec/unit/type/service.rb +0 -0
- data/spec/unit/type/ssh_authorized_key.rb +31 -8
- data/spec/unit/type/tidy.rb +4 -0
- data/spec/unit/type/user.rb +17 -0
- data/spec/unit/type/zfs.rb +0 -0
- data/spec/unit/type/zone.rb +0 -0
- data/spec/unit/type/zpool.rb +0 -0
- data/spec/unit/util/autoload.rb +39 -0
- data/spec/unit/util/checksums.rb +0 -0
- data/spec/unit/util/constant_inflector.rb +0 -0
- data/spec/unit/util/file_locking.rb +0 -0
- data/spec/unit/util/filetype.rb +110 -0
- data/spec/unit/util/ldap/connection.rb +0 -0
- data/spec/unit/util/ldap/generator.rb +0 -0
- data/spec/unit/util/ldap/manager.rb +0 -0
- data/spec/unit/util/loadedfile.rb +0 -0
- data/spec/unit/util/log.rb +0 -0
- data/spec/unit/util/metric.rb +0 -0
- data/spec/unit/util/nagios_maker.rb +32 -34
- data/spec/unit/util/package.rb +21 -0
- data/spec/unit/util/posix.rb +0 -0
- data/spec/unit/util/resource_template.rb +0 -0
- data/spec/unit/util/settings.rb +0 -0
- data/spec/unit/util/storage.rb +0 -0
- data/spec/unit/util/tagging.rb +0 -0
- data/spec/unit/util/uri_helper.rb +0 -0
- data/spec/unit/util/warnings.rb +0 -0
- data/test/certmgr/ca.rb +0 -0
- data/test/certmgr/certmgr.rb +0 -0
- data/test/certmgr/inventory.rb +0 -0
- data/test/certmgr/support.rb +0 -0
- data/test/data/snippets/subclass_name_duplication.pp +0 -0
- data/test/executables/filebucket.rb +6 -3
- data/test/executables/puppetbin.rb +1 -1
- data/test/executables/puppetca.rb +0 -0
- data/test/executables/puppetd.rb +0 -0
- data/test/executables/puppetmasterd.rb +0 -0
- data/test/executables/puppetmodule.rb +0 -0
- data/test/language/ast.rb +0 -0
- data/test/language/ast/casestatement.rb +0 -0
- data/test/language/ast/resource.rb +0 -0
- data/test/language/ast/resource_reference.rb +0 -0
- data/test/language/ast/selector.rb +0 -0
- data/test/language/ast/variable.rb +0 -0
- data/test/language/functions.rb +0 -0
- data/test/language/parser.rb +0 -0
- data/test/language/resource.rb +0 -40
- data/test/language/scope.rb +0 -0
- data/test/language/snippets.rb +0 -0
- data/test/language/transportable.rb +0 -0
- data/test/lib/puppettest.rb +3 -0
- data/test/lib/puppettest/support/resources.rb +0 -0
- data/test/network/authconfig.rb +0 -0
- data/test/network/authorization.rb +0 -0
- data/test/network/authstore.rb +0 -0
- data/test/network/client/ca.rb +0 -0
- data/test/network/client/client.rb +0 -0
- data/test/network/client/dipper.rb +0 -0
- data/test/network/client/master.rb +0 -0
- data/test/network/client/resource.rb +0 -0
- data/test/network/client_request.rb +0 -0
- data/test/network/daemon.rb +0 -0
- data/test/network/handler/bucket.rb +0 -0
- data/test/network/handler/ca.rb +0 -0
- data/test/network/handler/fileserver.rb +0 -0
- data/test/network/handler/handler.rb +0 -0
- data/test/network/handler/master.rb +0 -0
- data/test/network/handler/report.rb +0 -0
- data/test/network/handler/resource.rb +0 -0
- data/test/network/handler/runner.rb +0 -0
- data/test/network/rights.rb +0 -0
- data/test/network/server/mongrel_test.rb +0 -0
- data/test/network/server/webrick.rb +0 -0
- data/test/network/xmlrpc/client.rb +0 -0
- data/test/network/xmlrpc/processor.rb +0 -0
- data/test/network/xmlrpc/server.rb +0 -0
- data/test/network/xmlrpc/webrick_servlet.rb +0 -0
- data/test/other/dsl.rb +0 -0
- data/test/other/events.rb +0 -0
- data/test/other/overrides.rb +0 -0
- data/test/other/provider.rb +0 -0
- data/test/other/puppet.rb +0 -0
- data/test/other/relationships.rb +0 -0
- data/test/other/report.rb +0 -0
- data/test/other/transactions.rb +0 -0
- data/test/puppet/conffiles.rb +0 -0
- data/test/puppet/defaults.rb +0 -0
- data/test/puppet/errortest.rb +0 -0
- data/test/puppet/tc_suidmanager.rb +0 -0
- data/test/rails/ast.rb +0 -0
- data/test/rails/configuration.rb +0 -0
- data/test/rails/host.rb +0 -0
- data/test/rails/rails.rb +0 -0
- data/test/rails/railsparameter.rb +0 -0
- data/test/rails/railsresource.rb +0 -0
- data/test/ral/manager/attributes.rb +0 -0
- data/test/ral/manager/instances.rb +0 -0
- data/test/ral/manager/manager.rb +0 -0
- data/test/ral/manager/provider.rb +0 -0
- data/test/ral/manager/type.rb +0 -3
- data/test/ral/providers/cron/crontab.rb +0 -0
- data/test/ral/providers/group.rb +0 -0
- data/test/ral/providers/host/netinfo.rb +0 -0
- data/test/ral/providers/host/parsed.rb +0 -0
- data/test/ral/providers/mailalias/aliases.rb +0 -0
- data/test/ral/providers/mount/netinfo.rb +0 -0
- data/test/ral/providers/nameservice.rb +0 -0
- data/test/ral/providers/package.rb +0 -0
- data/test/ral/providers/package/aptitude.rb +0 -0
- data/test/ral/providers/package/aptrpm.rb +0 -0
- data/test/ral/providers/parsedfile.rb +0 -0
- data/test/ral/providers/port/parsed.rb +0 -0
- data/test/ral/providers/provider.rb +0 -0
- data/test/ral/providers/service/base.rb +0 -0
- data/test/ral/providers/service/debian.rb +0 -0
- data/test/ral/providers/sshkey/parsed.rb +0 -0
- data/test/ral/providers/user.rb +0 -0
- data/test/ral/providers/user/useradd.rb +0 -0
- data/test/ral/type/basic.rb +0 -0
- data/test/ral/type/cron.rb +0 -0
- data/test/ral/type/exec.rb +0 -0
- data/test/ral/type/file.rb +0 -0
- data/test/ral/type/file/target.rb +0 -0
- data/test/ral/type/filebucket.rb +0 -0
- data/test/ral/type/fileignoresource.rb +0 -0
- data/test/ral/type/filesources.rb +0 -0
- data/test/ral/type/group.rb +0 -0
- data/test/ral/type/host.rb +0 -0
- data/test/ral/type/mailalias.rb +0 -0
- data/test/ral/type/parameter.rb +0 -0
- data/test/ral/type/port.rb +0 -0
- data/test/ral/type/property.rb +0 -0
- data/test/ral/type/resources.rb +0 -0
- data/test/ral/type/service.rb +0 -0
- data/test/ral/type/sshkey.rb +0 -0
- data/test/ral/type/tidy.rb +0 -0
- data/test/ral/type/user.rb +0 -0
- data/test/ral/type/yumrepo.rb +0 -0
- data/test/ral/type/zone.rb +0 -0
- data/test/test +0 -0
- data/test/util/autoload.rb +0 -0
- data/test/util/classgen.rb +0 -0
- data/test/util/execution.rb +0 -0
- data/test/util/features.rb +0 -0
- data/test/util/fileparsing.rb +0 -0
- data/test/util/inifile.rb +0 -0
- data/test/util/instance_loader.rb +0 -0
- data/test/util/log.rb +0 -0
- data/test/util/metrics.rb +0 -0
- data/test/util/package.rb +0 -0
- data/test/util/pidlock.rb +0 -0
- data/test/util/settings.rb +0 -0
- data/test/util/storage.rb +0 -0
- data/test/util/subclass_loader.rb +0 -0
- data/test/util/utiltest.rb +0 -0
- metadata +981 -968
- data/test/util/filetype.rb +0 -137
@@ -0,0 +1,17 @@
|
|
1
|
+
module Puppet::Parser::Functions
|
2
|
+
newfunction(:sprintf, :type => :rvalue,
|
3
|
+
:doc => "\
|
4
|
+
Perform printf-style formatting of text.
|
5
|
+
|
6
|
+
The first parameter is format string describing how the rest of the
|
7
|
+
parameters should be formatted. See the documentation for the
|
8
|
+
``Kernel::sprintf()`` function in Ruby for all the details.
|
9
|
+
") \
|
10
|
+
do |args|
|
11
|
+
if args.length < 1
|
12
|
+
raise Puppet::ParseError, 'sprintf() needs at least one argument'
|
13
|
+
end
|
14
|
+
fmt = args.shift()
|
15
|
+
return sprintf(fmt, *args)
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
require 'puppet/util/package'
|
2
|
+
|
3
|
+
Puppet::Parser::Functions::newfunction(:versioncmp, :doc => "Compares two versions.") do |args|
|
4
|
+
|
5
|
+
unless args.length == 2
|
6
|
+
raise Puppet::ParseError, "versioncmp should have 2 arguments"
|
7
|
+
end
|
8
|
+
|
9
|
+
return Puppet::Util::Package.versioncmp(args[0], args[1])
|
10
|
+
end
|
@@ -4,13 +4,17 @@ class Puppet::Parser::Resource
|
|
4
4
|
require 'puppet/parser/resource/param'
|
5
5
|
require 'puppet/parser/resource/reference'
|
6
6
|
require 'puppet/util/tagging'
|
7
|
+
require 'puppet/file_collection/lookup'
|
8
|
+
|
9
|
+
include Puppet::FileCollection::Lookup
|
10
|
+
|
7
11
|
include Puppet::Util
|
8
12
|
include Puppet::Util::MethodHelper
|
9
13
|
include Puppet::Util::Errors
|
10
14
|
include Puppet::Util::Logging
|
11
15
|
include Puppet::Util::Tagging
|
12
16
|
|
13
|
-
attr_accessor :source, :
|
17
|
+
attr_accessor :source, :scope, :rails_id
|
14
18
|
attr_accessor :virtual, :override, :translated
|
15
19
|
|
16
20
|
attr_reader :exported, :evaluated, :params
|
@@ -181,11 +185,11 @@ class Puppet::Parser::Resource
|
|
181
185
|
hash
|
182
186
|
end
|
183
187
|
|
184
|
-
db_resource.ar_hash_merge(db_resource.get_params_hash(
|
188
|
+
db_resource.ar_hash_merge(db_resource.get_params_hash(), updated_params,
|
185
189
|
:create => Proc.new { |name, parameter|
|
186
190
|
parameter.to_rails(db_resource)
|
187
191
|
}, :delete => Proc.new { |values|
|
188
|
-
values.each { |value|
|
192
|
+
values.each { |value| Puppet::Rails::ParamValue.delete(value['id']) }
|
189
193
|
}, :modify => Proc.new { |db, mem|
|
190
194
|
mem.modify_rails_values(db)
|
191
195
|
})
|
@@ -194,13 +198,13 @@ class Puppet::Parser::Resource
|
|
194
198
|
hash[tag] = tag
|
195
199
|
hash
|
196
200
|
}
|
197
|
-
|
201
|
+
|
198
202
|
db_resource.ar_hash_merge(db_resource.get_tag_hash(),
|
199
203
|
updated_tags,
|
200
204
|
:create => Proc.new { |name, tag|
|
201
205
|
db_resource.add_resource_tag(name)
|
202
206
|
}, :delete => Proc.new { |tag|
|
203
|
-
|
207
|
+
Puppet::Rails::ResourceTag.delete(tag['id'])
|
204
208
|
}, :modify => Proc.new { |db, mem|
|
205
209
|
# nothing here
|
206
210
|
})
|
@@ -437,7 +441,7 @@ class Puppet::Parser::Resource
|
|
437
441
|
# 'type' isn't a valid column name, so we have to use another name.
|
438
442
|
to = (param == :type) ? :restype : param
|
439
443
|
if value = self.send(param)
|
440
|
-
hash[to] = value
|
444
|
+
hash[to] = value
|
441
445
|
end
|
442
446
|
hash
|
443
447
|
end
|
@@ -1,10 +1,14 @@
|
|
1
|
+
require 'puppet/file_collection/lookup'
|
2
|
+
|
1
3
|
# The parameters we stick in Resources.
|
2
4
|
class Puppet::Parser::Resource::Param
|
3
|
-
attr_accessor :name, :value, :source, :
|
5
|
+
attr_accessor :name, :value, :source, :add
|
4
6
|
include Puppet::Util
|
5
7
|
include Puppet::Util::Errors
|
6
8
|
include Puppet::Util::MethodHelper
|
7
9
|
|
10
|
+
include Puppet::FileCollection::Lookup
|
11
|
+
|
8
12
|
def initialize(hash)
|
9
13
|
set_options(hash)
|
10
14
|
requiredopts(:name, :value, :source)
|
@@ -12,7 +16,7 @@ class Puppet::Parser::Resource::Param
|
|
12
16
|
end
|
13
17
|
|
14
18
|
def inspect
|
15
|
-
"#<#{self.class} @name => #{name}, @value => #{value}, @source => #{source.name}>"
|
19
|
+
"#<#{self.class} @name => #{name}, @value => #{value}, @source => #{source.name}, @line => #{line}>"
|
16
20
|
end
|
17
21
|
|
18
22
|
def line_to_i
|
@@ -39,7 +43,6 @@ class Puppet::Parser::Resource::Param
|
|
39
43
|
|
40
44
|
param_name = Puppet::Rails::ParamName.find_or_create_by_name(self.name.to_s)
|
41
45
|
line_number = line_to_i()
|
42
|
-
|
43
46
|
return values.collect do |v|
|
44
47
|
db_resource.param_values.create(:value => v,
|
45
48
|
:line => line_number,
|
@@ -48,18 +51,18 @@ class Puppet::Parser::Resource::Param
|
|
48
51
|
end
|
49
52
|
|
50
53
|
def modify_rails_values(db_values)
|
51
|
-
#dev_warn if db_values.nil? || db_values.empty?
|
54
|
+
#dev_warn if db_values.nil? || db_values.empty?
|
52
55
|
|
53
56
|
values_to_remove(db_values).each { |remove_me|
|
54
|
-
Puppet::Rails::ParamValue.delete(remove_me
|
57
|
+
Puppet::Rails::ParamValue.delete(remove_me['id'])
|
55
58
|
}
|
56
59
|
line_number = line_to_i()
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
db_resource.param_values.create(:value => add_me,
|
60
|
+
db_param_name = db_values[0]['param_name_id']
|
61
|
+
values_to_add(db_values).each { |add_me|
|
62
|
+
Puppet::Rails::ParamValue.create(:value => add_me,
|
61
63
|
:line => line_number,
|
62
|
-
:
|
64
|
+
:param_name_id => db_param_name,
|
65
|
+
:resource_id => db_values[0]['resource_id'] )
|
63
66
|
}
|
64
67
|
end
|
65
68
|
|
@@ -79,9 +82,9 @@ class Puppet::Parser::Resource::Param
|
|
79
82
|
values = munge_for_rails(value)
|
80
83
|
line_number = line_to_i()
|
81
84
|
db_values.collect do |db|
|
82
|
-
db unless (db
|
85
|
+
db unless (db['line'] == line_number &&
|
83
86
|
values.find { |v|
|
84
|
-
compare(v,db
|
87
|
+
compare(v,db['value'])
|
85
88
|
} )
|
86
89
|
end.compact
|
87
90
|
end
|
@@ -90,8 +93,8 @@ class Puppet::Parser::Resource::Param
|
|
90
93
|
values = munge_for_rails(value)
|
91
94
|
line_number = line_to_i()
|
92
95
|
values.collect do |v|
|
93
|
-
v unless db_values.find { |db| (compare(v,db
|
94
|
-
line_number == db
|
96
|
+
v unless db_values.find { |db| (compare(v,db['value']) &&
|
97
|
+
line_number == db['line']) }
|
95
98
|
end.compact
|
96
99
|
end
|
97
100
|
end
|
@@ -1,7 +1,9 @@
|
|
1
1
|
require 'puppet/resource_reference'
|
2
|
+
require 'puppet/file_collection/lookup'
|
2
3
|
|
3
4
|
# A reference to a resource. Mostly just the type and title.
|
4
5
|
class Puppet::Parser::Resource::Reference < Puppet::ResourceReference
|
6
|
+
include Puppet::FileCollection::Lookup
|
5
7
|
include Puppet::Util::MethodHelper
|
6
8
|
include Puppet::Util::Errors
|
7
9
|
|
data/lib/puppet/parser/scope.rb
CHANGED
@@ -52,11 +52,11 @@ class Puppet::Parser::Scope
|
|
52
52
|
if value.is_a?(String)
|
53
53
|
if value =~ /^-?\d+(:?\.\d+|(:?\.\d+)?e\d+)$/
|
54
54
|
return value.to_f
|
55
|
-
elsif value =~ /^0x
|
55
|
+
elsif value =~ /^0x[0-9a-f]+$/i
|
56
56
|
return value.to_i(16)
|
57
|
-
elsif value =~ /^0
|
57
|
+
elsif value =~ /^0[0-7]+$/
|
58
58
|
return value.to_i(8)
|
59
|
-
elsif value =~ /^-?\d
|
59
|
+
elsif value =~ /^-?\d+$/
|
60
60
|
return value.to_i
|
61
61
|
else
|
62
62
|
return nil
|
data/lib/puppet/property/list.rb
CHANGED
@@ -20,13 +20,17 @@
|
|
20
20
|
require 'augeas' if Puppet.features.augeas?
|
21
21
|
|
22
22
|
Puppet::Type.type(:augeas).provide(:augeas) do
|
23
|
-
#class Puppet::Provider::Augeas < Puppet::Provider
|
24
23
|
include Puppet::Util
|
25
|
-
|
26
|
-
confine :true => Puppet.features.augeas?
|
27
|
-
|
24
|
+
|
25
|
+
confine :true => Puppet.features.augeas?
|
26
|
+
|
28
27
|
has_features :parse_commands, :need_to_run?,:execute_changes
|
29
28
|
|
29
|
+
SAVE_NOOP = "noop"
|
30
|
+
SAVE_OVERWRITE = "overwrite"
|
31
|
+
|
32
|
+
attr_accessor :aug
|
33
|
+
|
30
34
|
# Extracts an 2 dimensional array of commands which are in the
|
31
35
|
# form of command path value.
|
32
36
|
# The input can be
|
@@ -38,10 +42,27 @@ Puppet::Type.type(:augeas).provide(:augeas) do
|
|
38
42
|
if data.is_a?(String)
|
39
43
|
data.each_line do |line|
|
40
44
|
cmd_array = Array.new()
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
+
single = line.index("'")
|
46
|
+
double = line.index('"')
|
47
|
+
tokens = nil
|
48
|
+
delim = " "
|
49
|
+
if ((single != nil) or (double != nil))
|
50
|
+
single = 99999 if single == nil
|
51
|
+
double = 99999 if double == nil
|
52
|
+
delim = '"' if double < single
|
53
|
+
delim = "'" if single < double
|
54
|
+
end
|
55
|
+
tokens = line.split(delim)
|
56
|
+
# If the length of tokens is 2, thn that means the pattern was
|
57
|
+
# command file "some text", therefore we need to re-split
|
58
|
+
# the first line
|
59
|
+
if tokens.length == 2
|
60
|
+
tokens = (tokens[0].split(" ")) << tokens[1]
|
61
|
+
end
|
62
|
+
cmd = tokens.shift().strip()
|
63
|
+
delim = "" if delim == " "
|
64
|
+
file = tokens.shift().strip()
|
65
|
+
other = tokens.join(" ").strip()
|
45
66
|
cmd_array << cmd if !cmd.nil?
|
46
67
|
cmd_array << file if !file.nil?
|
47
68
|
cmd_array << other if other != ""
|
@@ -52,19 +73,34 @@ Puppet::Type.type(:augeas).provide(:augeas) do
|
|
52
73
|
commands.concat(parse_commands(datum))
|
53
74
|
end
|
54
75
|
end
|
55
|
-
|
56
76
|
return commands
|
57
77
|
end
|
58
78
|
|
79
|
+
|
59
80
|
def open_augeas
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
81
|
+
if (@aug.nil?)
|
82
|
+
flags = 0
|
83
|
+
(flags = 1 << 2 ) if self.resource[:type_check] == :true
|
84
|
+
root = self.resource[:root]
|
85
|
+
load_path = self.resource[:load_path]
|
86
|
+
debug("Opening augeas with root #{root}, lens path #{load_path}, flags #{flags}")
|
87
|
+
@aug = Augeas.open(root, load_path,flags)
|
88
|
+
|
89
|
+
if (self.get_augeas_version() >= "0.3.6")
|
90
|
+
debug("Augeas version #{self.get_augeas_version()} is installed")
|
91
|
+
end
|
92
|
+
end
|
93
|
+
@aug
|
94
|
+
end
|
95
|
+
|
96
|
+
def close_augeas
|
97
|
+
if (!@aug.nil?)
|
98
|
+
@aug.close()
|
99
|
+
debug("Closed the augeas connection")
|
100
|
+
@aug = nil;
|
101
|
+
end
|
66
102
|
end
|
67
|
-
|
103
|
+
|
68
104
|
# Used by the need_to_run? method to process get filters. Returns
|
69
105
|
# true if there is a match, false if otherwise
|
70
106
|
# Assumes a syntax of get /files/path [COMPARATOR] value
|
@@ -79,8 +115,7 @@ Puppet::Type.type(:augeas).provide(:augeas) do
|
|
79
115
|
arg = cmd_array.join(" ")
|
80
116
|
|
81
117
|
#check the value in augeas
|
82
|
-
|
83
|
-
result = aug.get(path) || ''
|
118
|
+
result = @aug.get(path) || ''
|
84
119
|
unless result.nil?
|
85
120
|
case comparator
|
86
121
|
when "!=":
|
@@ -94,8 +129,8 @@ Puppet::Type.type(:augeas).provide(:augeas) do
|
|
94
129
|
end
|
95
130
|
end
|
96
131
|
return_value
|
97
|
-
end
|
98
|
-
|
132
|
+
end
|
133
|
+
|
99
134
|
# Used by the need_to_run? method to process match filters. Returns
|
100
135
|
# true if there is a match, false if otherwise
|
101
136
|
def process_match(cmd_array)
|
@@ -108,10 +143,9 @@ Puppet::Type.type(:augeas).provide(:augeas) do
|
|
108
143
|
verb = cmd_array.shift()
|
109
144
|
|
110
145
|
#Get the values from augeas
|
111
|
-
|
112
|
-
result = aug.match(path) || ''
|
146
|
+
result = @aug.match(path) || ''
|
113
147
|
# Now do the work
|
114
|
-
|
148
|
+
unless (result.nil?)
|
115
149
|
case verb
|
116
150
|
when "size":
|
117
151
|
fail("Invalid command: #{cmd_array.join(" ")}") if cmd_array.length != 2
|
@@ -132,11 +166,26 @@ Puppet::Type.type(:augeas).provide(:augeas) do
|
|
132
166
|
end
|
133
167
|
end
|
134
168
|
return_value
|
135
|
-
end
|
136
|
-
|
169
|
+
end
|
170
|
+
|
171
|
+
def get_augeas_version
|
172
|
+
return @aug.get("/augeas/version") || ""
|
173
|
+
end
|
174
|
+
|
175
|
+
def set_augeas_save_mode(mode)
|
176
|
+
return @aug.set("/augeas/save", mode)
|
177
|
+
end
|
178
|
+
|
179
|
+
def files_changed?
|
180
|
+
saved_files = @aug.match("/augeas/events/saved")
|
181
|
+
return saved_files.size() > 0
|
182
|
+
end
|
183
|
+
|
137
184
|
# Determines if augeas acutally needs to run.
|
138
185
|
def need_to_run?
|
186
|
+
force = resource[:force]
|
139
187
|
return_value = true
|
188
|
+
self.open_augeas()
|
140
189
|
filter = resource[:onlyif]
|
141
190
|
unless (filter == "")
|
142
191
|
cmd_array = filter.split
|
@@ -152,38 +201,91 @@ Puppet::Type.type(:augeas).provide(:augeas) do
|
|
152
201
|
fail("Error sending command '#{command}' with params #{cmd_array[1..-1].inspect}/#{e.message}")
|
153
202
|
end
|
154
203
|
end
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
204
|
+
|
205
|
+
unless (force)
|
206
|
+
# If we have a verison of augeas which is at least 0.3.6 then we
|
207
|
+
# can make the changes now, see if changes were made, and
|
208
|
+
# actually do the save.
|
209
|
+
if ((return_value) and (self.get_augeas_version() >= "0.3.6"))
|
210
|
+
debug("Will attempt to save and only run if files changed")
|
211
|
+
self.set_augeas_save_mode(SAVE_NOOP)
|
212
|
+
self.do_execute_changes()
|
213
|
+
save_result = @aug.save()
|
214
|
+
saved_files = @aug.match("/augeas/events/saved")
|
215
|
+
if ((save_result) and (not files_changed?))
|
216
|
+
debug("Skipping becuase no files were changed")
|
217
|
+
return_value = false
|
218
|
+
else
|
219
|
+
debug("Files changed, should execute")
|
220
|
+
end
|
221
|
+
end
|
222
|
+
end
|
223
|
+
self.close_augeas()
|
224
|
+
return return_value
|
225
|
+
end
|
226
|
+
|
159
227
|
def execute_changes
|
160
|
-
|
161
|
-
|
228
|
+
# Re-connect to augeas, and re-execute the changes
|
229
|
+
self.open_augeas()
|
230
|
+
if (self.get_augeas_version() >= "0.3.6")
|
231
|
+
self.set_augeas_save_mode(SAVE_OVERWRITE)
|
232
|
+
end
|
233
|
+
|
234
|
+
self.do_execute_changes()
|
235
|
+
|
236
|
+
success = @aug.save()
|
237
|
+
if (success != true)
|
238
|
+
fail("Save failed with return code #{success}")
|
239
|
+
end
|
240
|
+
self.close_augeas()
|
241
|
+
|
242
|
+
return :executed
|
243
|
+
end
|
244
|
+
|
245
|
+
# Actually execute the augeas changes.
|
246
|
+
def do_execute_changes
|
247
|
+
commands = resource[:changes].clone()
|
162
248
|
context = resource[:context]
|
163
249
|
commands.each do |cmd_array|
|
250
|
+
cmd_array = cmd_array.clone()
|
164
251
|
fail("invalid command #{cmd_array.join[" "]}") if cmd_array.length < 2
|
165
252
|
command = cmd_array[0]
|
166
253
|
cmd_array.shift()
|
167
|
-
cmd_array[0]=File.join(context, cmd_array[0])
|
168
|
-
debug("sending command '#{command}' with params #{cmd_array.inspect}")
|
169
254
|
begin
|
170
255
|
case command
|
171
|
-
when "set":
|
172
|
-
|
173
|
-
|
174
|
-
|
256
|
+
when "set":
|
257
|
+
cmd_array[0]=File.join(context, cmd_array[0])
|
258
|
+
debug("sending command '#{command}' with params #{cmd_array.inspect}")
|
259
|
+
@aug.set(cmd_array[0], cmd_array[1])
|
260
|
+
when "rm", "remove":
|
261
|
+
cmd_array[0]=File.join(context, cmd_array[0])
|
262
|
+
debug("sending command '#{command}' with params #{cmd_array.inspect}")
|
263
|
+
@aug.rm(cmd_array[0])
|
264
|
+
when "clear":
|
265
|
+
cmd_array[0]=File.join(context, cmd_array[0])
|
266
|
+
debug("sending command '#{command}' with params #{cmd_array.inspect}")
|
267
|
+
@aug.clear(cmd_array[0])
|
268
|
+
when "insert", "ins"
|
269
|
+
ext_array = cmd_array[1].split(" ") ;
|
270
|
+
if cmd_array.size < 2 or ext_array.size < 2
|
271
|
+
fail("ins requires 3 parameters")
|
272
|
+
end
|
273
|
+
label = cmd_array[0]
|
274
|
+
where = ext_array[0]
|
275
|
+
path = File.join(context, ext_array[1])
|
276
|
+
case where
|
277
|
+
when "before": before = true
|
278
|
+
when "after": before = false
|
279
|
+
else fail("Invalid value '#{where}' for where param")
|
280
|
+
end
|
281
|
+
debug("sending command '#{command}' with params #{[label, where, path].inspect()}")
|
282
|
+
aug.insert(path, label, before)
|
175
283
|
else fail("Command '#{command}' is not supported")
|
176
284
|
end
|
177
285
|
rescue Exception => e
|
178
286
|
fail("Error sending command '#{command}' with params #{cmd_array.inspect}/#{e.message}")
|
179
287
|
end
|
180
288
|
end
|
181
|
-
|
182
|
-
if (success != true)
|
183
|
-
fail("Save failed with return code #{success}")
|
184
|
-
end
|
289
|
+
end
|
185
290
|
|
186
|
-
return :executed
|
187
|
-
end
|
188
|
-
|
189
291
|
end
|