puppet 0.24.4 → 0.24.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 +170 -0
- data/Rakefile +6 -4
- data/bin/filebucket +3 -2
- data/bin/puppet +7 -4
- data/bin/puppetca +32 -14
- data/bin/puppetd +12 -34
- data/bin/puppetmasterd +3 -2
- data/bin/puppetrun +5 -43
- data/bin/ralsh +2 -2
- data/conf/debian/README.source +2 -0
- data/conf/debian/TODO.Debian +1 -0
- data/conf/debian/changelog +257 -0
- data/conf/debian/compat +1 -0
- data/conf/debian/control +45 -0
- data/conf/debian/copyright +17 -0
- data/conf/debian/docs +1 -0
- data/conf/debian/fileserver.conf +12 -0
- data/conf/debian/puppet.NEWS +63 -0
- data/conf/debian/puppet.conf +8 -0
- data/conf/debian/puppet.dirs +7 -0
- data/conf/debian/puppet.files +6 -0
- data/conf/debian/puppet.init +64 -0
- data/conf/debian/puppet.logrotate +11 -0
- data/conf/debian/puppet.postinst +9 -0
- data/conf/debian/puppet.postrm +21 -0
- data/conf/debian/puppet.preinst +25 -0
- data/conf/debian/puppetmaster.files +4 -0
- data/conf/debian/puppetmaster.init +58 -0
- data/conf/debian/rules +115 -0
- data/conf/debian/watch +2 -0
- data/conf/gentoo/init.d/puppet +1 -1
- data/conf/gentoo/init.d/puppetmaster +32 -31
- data/conf/redhat/client.init +10 -2
- data/conf/redhat/puppet.spec +4 -1
- data/conf/redhat/server.init +9 -1
- data/examples/{code/allatonce → allatonce} +0 -0
- data/examples/{code/assignments → assignments} +0 -0
- data/examples/{code/components → components} +0 -0
- data/examples/{root/etc → etc}/init.d/sleeper +0 -0
- data/examples/{root/etc → etc}/otherfile +0 -0
- data/examples/{root/etc → etc}/puppet/fileserver.conf +0 -0
- data/examples/{root/etc → etc}/puppet/namespaceauth.conf +0 -0
- data/examples/{root/etc → etc}/puppet/puppet.conf +0 -0
- data/examples/{root/etc → etc}/puppet/tagmail.conf +0 -0
- data/examples/{code/execs → execs} +0 -0
- data/examples/{code/file.bl → file.bl} +0 -0
- data/examples/{code/filedefaults → filedefaults} +0 -0
- data/examples/{code/fileparsing → fileparsing} +0 -0
- data/examples/{code/filerecursion → filerecursion} +0 -0
- data/examples/{code/functions → functions} +0 -0
- data/examples/{code/groups → groups} +0 -0
- data/examples/{code/head → head} +0 -0
- data/examples/{code/importing → importing} +0 -0
- data/examples/{code/mac_automount.pp → mac_automount.pp} +0 -0
- data/examples/{code/mac_dscl.pp → mac_dscl.pp} +0 -0
- data/examples/{code/mac_dscl_revert.pp → mac_dscl_revert.pp} +0 -0
- data/examples/{code/mac_netinfo.pp → mac_netinfo.pp} +0 -0
- data/examples/{code/mac_pkgdmg.pp → mac_pkgdmg.pp} +0 -0
- data/examples/{code/modules → modules}/sample-module.pp +0 -0
- data/examples/{code/modules → modules}/sample-module/README.txt +0 -0
- data/examples/{code/modules → modules}/sample-module/lib/puppet/parser/functions/hostname_to_dn.rb +0 -0
- data/examples/{code/modules → modules}/sample-module/manifests/init.pp +0 -0
- data/examples/{code/modules → modules}/sample-module/templates/sample.erb +0 -0
- data/examples/{code/nodes → nodes} +0 -0
- data/examples/{code/one → one} +0 -0
- data/examples/{code/relationships → relationships} +0 -0
- data/examples/{code/selectors → selectors} +0 -0
- data/examples/{code/simpletests → simpletests} +0 -0
- data/examples/{code/svncommit → svncommit} +0 -0
- data/ext/autotest/Rakefile +8 -0
- data/ext/autotest/config +43 -0
- data/ext/autotest/readme.rst +16 -0
- data/{examples/root → ext}/bin/sleeper +1 -1
- data/ext/emacs/puppet-mode.el +246 -184
- data/ext/ldap/puppet.schema +7 -2
- data/ext/module_puppet +4 -3
- data/ext/nagios/check_puppet.rb +117 -0
- data/ext/puppetlast +40 -0
- data/install.rb +12 -3
- data/lib/puppet.rb +1 -44
- data/lib/puppet/defaults.rb +23 -10
- data/lib/puppet/dsl.rb +2 -2
- data/lib/puppet/executables/client/certhandler.rb +77 -0
- data/lib/puppet/external/nagios.rb +1 -1
- data/lib/puppet/external/nagios/base.rb +60 -46
- data/lib/puppet/file_serving/indirection_hooks.rb +4 -2
- data/lib/puppet/file_serving/metadata.rb +0 -9
- data/lib/puppet/file_serving/terminus_helper.rb +4 -4
- data/lib/puppet/indirector.rb +26 -28
- data/lib/puppet/indirector/catalog/compiler.rb +6 -28
- data/lib/puppet/indirector/checksum/file.rb +2 -2
- data/lib/puppet/indirector/direct_file_server.rb +7 -7
- data/lib/puppet/indirector/envelope.rb +13 -0
- data/lib/puppet/indirector/exec.rb +2 -2
- data/lib/puppet/indirector/facts/facter.rb +2 -2
- data/lib/puppet/indirector/file.rb +17 -14
- data/lib/puppet/indirector/file_metadata/file.rb +2 -2
- data/lib/puppet/indirector/file_server.rb +14 -14
- data/lib/puppet/indirector/indirection.rb +113 -48
- data/lib/puppet/indirector/ldap.rb +13 -25
- data/lib/puppet/indirector/memory.rb +7 -7
- data/lib/puppet/indirector/module_files.rb +14 -14
- data/lib/puppet/indirector/node/exec.rb +3 -10
- data/lib/puppet/indirector/node/ldap.rb +138 -41
- data/lib/puppet/indirector/node/plain.rb +1 -8
- data/lib/puppet/indirector/node/rest.rb +1 -1
- data/lib/puppet/indirector/plain.rb +2 -2
- data/lib/puppet/indirector/report/processor.rb +2 -2
- data/lib/puppet/indirector/request.rb +42 -0
- data/lib/puppet/indirector/rest.rb +51 -3
- data/lib/puppet/indirector/terminus.rb +0 -27
- data/lib/puppet/indirector/yaml.rb +12 -17
- data/lib/puppet/metatype/attributes.rb +3 -7
- data/lib/puppet/metatype/evaluation.rb +2 -2
- data/lib/puppet/module.rb +6 -2
- data/lib/puppet/network/client/master.rb +29 -81
- data/lib/puppet/network/handler/master.rb +12 -43
- data/lib/puppet/network/http.rb +8 -6
- data/lib/puppet/network/http/handler.rb +42 -32
- data/lib/puppet/network/http/mongrel.rb +8 -9
- data/lib/puppet/network/http/mongrel/rest.rb +42 -15
- data/lib/puppet/network/http/webrick.rb +27 -16
- data/lib/puppet/network/http/webrick/rest.rb +38 -14
- data/lib/puppet/network/http_pool.rb +3 -2
- data/lib/puppet/network/server.rb +24 -22
- data/lib/puppet/network/xmlrpc/client.rb +6 -1
- data/lib/puppet/node.rb +38 -79
- data/lib/puppet/node/catalog.rb +9 -0
- data/lib/puppet/node/facts.rb +9 -1
- data/lib/puppet/parser/ast/function.rb +1 -1
- data/lib/puppet/parser/collector.rb +6 -0
- data/lib/puppet/parser/compiler.rb +1 -1
- data/lib/puppet/parser/functions.rb +25 -1
- data/lib/puppet/parser/interpreter.rb +2 -17
- data/lib/puppet/parser/parser.rb +4 -4
- data/lib/puppet/parser/parser_support.rb +6 -2
- data/lib/puppet/parser/resource.rb +6 -0
- data/lib/puppet/parser/templatewrapper.rb +9 -0
- data/lib/puppet/pgraph.rb +1 -1
- data/lib/puppet/property.rb +0 -1
- data/lib/puppet/provider.rb +9 -95
- data/lib/puppet/provider/confine.rb +77 -0
- data/lib/puppet/provider/confine/exists.rb +22 -0
- data/lib/puppet/provider/confine/false.rb +19 -0
- data/lib/puppet/provider/confine/feature.rb +17 -0
- data/lib/puppet/provider/confine/true.rb +20 -0
- data/lib/puppet/provider/confine/variable.rb +42 -0
- data/lib/puppet/provider/confine_collection.rb +47 -0
- data/lib/puppet/provider/confiner.rb +20 -0
- data/lib/puppet/provider/cron/crontab.rb +6 -2
- data/lib/puppet/provider/group/groupadd.rb +1 -1
- data/lib/puppet/provider/group/ldap.rb +48 -0
- data/lib/puppet/provider/ldap.rb +137 -0
- data/lib/puppet/provider/nameservice.rb +1 -2
- data/lib/puppet/provider/nameservice/objectadd.rb +2 -5
- data/lib/puppet/provider/package/dpkg.rb +16 -1
- data/lib/puppet/provider/package/freebsd.rb +15 -4
- data/lib/puppet/provider/package/gem.rb +33 -12
- data/lib/puppet/provider/package/pkgdmg.rb +1 -60
- data/lib/puppet/provider/package/ports.rb +6 -1
- data/lib/puppet/provider/package/rpm.rb +14 -13
- data/lib/puppet/provider/package/urpmi.rb +3 -3
- data/lib/puppet/provider/service/base.rb +4 -4
- data/lib/puppet/provider/service/debian.rb +1 -1
- data/lib/puppet/provider/service/init.rb +5 -3
- data/lib/puppet/provider/service/redhat.rb +35 -7
- data/lib/puppet/provider/ssh_authorized_key/parsed.rb +69 -0
- data/lib/puppet/provider/user/ldap.rb +133 -0
- data/lib/puppet/provider/user/useradd.rb +1 -1
- data/lib/puppet/rails/database/001_add_created_at_to_all_tables.rb +14 -14
- data/lib/puppet/rails/database/schema.rb +9 -0
- data/lib/puppet/rails/resource.rb +1 -0
- data/lib/puppet/reference/providers.rb +8 -2
- data/lib/puppet/reference/report.rb +23 -0
- data/lib/puppet/reports/rrdgraph.rb +4 -2
- data/lib/puppet/sslcertificates/ca.rb +9 -4
- data/lib/puppet/sslcertificates/support.rb +26 -2
- data/lib/puppet/transaction.rb +11 -16
- data/lib/puppet/transaction/change.rb +94 -0
- data/lib/puppet/transaction/event.rb +21 -0
- data/lib/puppet/transaction/report.rb +4 -0
- data/lib/puppet/type.rb +0 -2
- data/lib/puppet/type/file/ensure.rb +0 -5
- data/lib/puppet/type/file/group.rb +13 -7
- data/lib/puppet/type/file/source.rb +8 -15
- data/lib/puppet/type/file/target.rb +2 -0
- data/lib/puppet/type/group.rb +1 -1
- data/lib/puppet/type/mount.rb +4 -2
- data/lib/puppet/type/nagios_hostescalation.rb +3 -0
- data/lib/puppet/type/nagios_servicegroup.rb +3 -0
- data/lib/puppet/type/ssh_authorized_key.rb +56 -0
- data/lib/puppet/type/user.rb +3 -0
- data/lib/puppet/type/yumrepo.rb +0 -1
- data/lib/puppet/util.rb +1 -1
- data/lib/puppet/util/ldap.rb +5 -0
- data/lib/puppet/util/ldap/connection.rb +69 -0
- data/lib/puppet/util/ldap/generator.rb +45 -0
- data/lib/puppet/util/ldap/manager.rb +281 -0
- data/lib/puppet/util/posix.rb +2 -2
- data/lib/puppet/util/resource_template.rb +61 -0
- data/lib/puppet/util/settings.rb +63 -3
- data/lib/puppet/util/storage.rb +4 -0
- data/lib/puppet/util/warnings.rb +7 -0
- data/man/man8/filebucket.8 +116 -0
- data/man/man8/pi.8 +34 -0
- data/man/man8/puppet.8 +78 -0
- data/man/man8/puppet.conf.8 +1747 -0
- data/man/man8/puppetca.8 +118 -0
- data/man/man8/puppetd.8 +184 -0
- data/man/man8/puppetdoc.8 +62 -0
- data/man/man8/puppetmasterd.8 +87 -0
- data/man/man8/puppetrun.8 +151 -0
- data/man/man8/ralsh.8 +135 -0
- data/test/README +24 -0
- data/test/certmgr/support.rb +28 -1
- data/test/data/failers/badclassnoparam +10 -0
- data/test/data/failers/badclassparam +10 -0
- data/test/data/failers/badcompnoparam +9 -0
- data/test/data/failers/badcompparam +9 -0
- data/test/data/failers/badtypeparam +3 -0
- data/test/data/failers/noobjectrvalue +1 -0
- data/test/data/providers/cron/crontab.allthree +17 -0
- data/test/data/providers/cron/crontab.envNcomment +12 -0
- data/test/data/providers/cron/crontab.envNname +11 -0
- data/test/data/providers/cron/crontab.multirecords +12 -0
- data/test/data/providers/cron/crontab_collections.yaml +44 -0
- data/test/data/providers/cron/crontab_multiple_with_env.yaml +54 -0
- data/test/data/providers/cron/crontab_sample_records.yaml +272 -0
- data/test/data/providers/cron/examples/freebsd +2 -0
- data/test/data/providers/cron/examples/one +14 -0
- data/test/data/providers/cron/examples/openbsd +20 -0
- data/test/data/providers/package/testpackages.yaml +65 -0
- data/test/data/providers/ssh_authorized_key/parsed/authorized_keys +5 -0
- data/test/data/reports/1.yaml +108 -0
- data/test/data/reports/2.yaml +108 -0
- data/test/data/reports/tagmail_failers.conf +3 -0
- data/test/data/reports/tagmail_passers.conf +30 -0
- data/test/data/snippets/aliastest.pp +16 -0
- data/test/data/snippets/argumentdefaults +14 -0
- data/test/data/snippets/casestatement.pp +58 -0
- data/test/data/snippets/classheirarchy.pp +15 -0
- data/test/data/snippets/classincludes.pp +17 -0
- data/test/data/snippets/classpathtest +11 -0
- data/test/data/snippets/collection.pp +10 -0
- data/test/data/snippets/collection_within_virtual_definitions.pp +20 -0
- data/test/data/snippets/componentmetaparams.pp +11 -0
- data/test/data/snippets/componentrequire.pp +8 -0
- data/test/data/snippets/deepclassheirarchy.pp +23 -0
- data/test/data/snippets/defineoverrides.pp +17 -0
- data/test/data/snippets/emptyclass.pp +9 -0
- data/test/data/snippets/emptyexec.pp +3 -0
- data/test/data/snippets/falsevalues.pp +3 -0
- data/test/data/snippets/filecreate +11 -0
- data/test/data/snippets/fqdefinition.pp +5 -0
- data/test/data/snippets/fqparents.pp +11 -0
- data/test/data/snippets/implicititeration +15 -0
- data/test/data/snippets/multipleinstances +7 -0
- data/test/data/snippets/multisubs.pp +13 -0
- data/test/data/snippets/namevartest +9 -0
- data/test/data/snippets/scopetest +13 -0
- data/test/data/snippets/selectorvalues.pp +42 -0
- data/test/data/snippets/simpledefaults +5 -0
- data/test/data/snippets/simpleselector +38 -0
- data/test/data/snippets/singleary.pp +19 -0
- data/test/data/snippets/singlequote.pp +11 -0
- data/test/data/snippets/singleselector.pp +22 -0
- data/test/data/snippets/subclass_name_duplication.pp +11 -0
- data/test/data/snippets/tag.pp +9 -0
- data/test/data/snippets/tagged.pp +35 -0
- data/test/data/snippets/virtualresources.pp +14 -0
- data/test/data/types/hosts/1 +3 -0
- data/test/data/types/hosts/2 +13 -0
- data/test/data/types/hosts/solaris +5 -0
- data/test/data/types/mailalias/file1 +183 -0
- data/test/data/types/mount/freebsd.fstab +7 -0
- data/test/data/types/mount/linux.fstab +11 -0
- data/test/data/types/mount/solaris.fstab +11 -0
- data/test/data/types/port/1 +533 -0
- data/test/data/types/port/darwin +11866 -0
- data/test/data/types/ssh_authorized_key/1 +2 -0
- data/test/data/types/sshkey/1 +21 -0
- data/test/data/types/yumrepos/fedora-devel.repo +26 -0
- data/test/data/types/yumrepos/fedora.repo +9 -0
- data/test/language/parser.rb +8 -1
- data/test/lib/puppettest/runnable_test.rb +3 -0
- data/test/lib/puppettest/support/utils.rb +1 -1
- data/test/lib/rake/puppet_testtask.rb +3 -0
- data/test/lib/stubba.rb +1 -1
- data/test/network/client/ca.rb +1 -0
- data/test/network/client/master.rb +13 -127
- data/test/network/handler/master.rb +61 -80
- data/test/other/provider.rb +0 -45
- data/test/other/transactions.rb +53 -15
- data/test/rails/host.rb +0 -37
- data/test/ral/providers/cron/crontab.rb +32 -3
- data/test/ral/providers/provider.rb +28 -7
- data/test/ral/type/filesources.rb +2 -18
- data/test/ral/type/sshkey.rb +0 -1
- data/test/ral/type/user.rb +6 -0
- data/test/test +241 -0
- metadata +289 -113
- data/examples/root/etc/configfile +0 -0
- data/examples/root/etc/debian-passwd +0 -29
- data/examples/root/etc/debian-syslog.conf +0 -71
- data/lib/puppet/event.rb +0 -28
- data/lib/puppet/network/handler/configuration.rb +0 -184
- data/lib/puppet/network/http/mongrel/xmlrpc.rb +0 -4
- data/lib/puppet/network/http/webrick/xmlrpc.rb +0 -4
- data/lib/puppet/propertychange.rb +0 -141
- data/lib/puppet/provider/interface/redhat.rb +0 -250
- data/lib/puppet/provider/interface/sunos.rb +0 -133
- data/lib/puppet/type/interface.rb +0 -60
- data/lib/puppet/util/variables.rb +0 -38
- data/test/network/handler/configuration.rb +0 -160
- data/test/other/propertychange.rb +0 -140
- data/test/util/loadedfile.rb +0 -121
@@ -0,0 +1,2 @@
|
|
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@camptocamp.com
|
2
|
+
from="192.168.1.2",command="/usr/local/bin/backup.sh",no-agent-forwarding,no-port-forwarding,no-X11-forwarding ssh-rsa AAAAB3NzaC1kc3MAAACBAJkupmdsJSDXfUy5EU5NTRBDr9Woo3w0YnB8KmnJW9ghU8C7SkWPB1fIHVesG4oRVjLnKrf/rgmbNRzSFgEWkcAye3BVwk7Dt6hh4ksG4oRVjLnKrf/rgmbNRzSFgEWkcAye3BVwk7Dt6hh4ksG4oRVjLnKrf/rgmbNRzSFgEWkcAye3BVwk7Dt6hh4kxytqE3SmV/RD+6REqBuPqHM8RQuqAzfjdOeg/Ajdggx1CRMTVhltZsgQoxO30cz9Qo0SdPoL+Jp1fLuaL Backup system
|
@@ -0,0 +1,21 @@
|
|
1
|
+
hosting2.planetargon.com,64.34.164.77 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAy+f2t52cDMrYkgEKQ6juqfMf/a0nDFry3JAzl+SAWQ0gTklVxNcVbfHx2pkZk66EBGQfrK33Bx1BflZ/iEDyiCwmzVtNba0X9A6ELYjB9WSkWdIqZCfPlKZMu9N//aZ6+3SDVuz/BVFsAVmtqQ4Let2QjOFiSIKXrtPqWvVT/MM=
|
2
|
+
kirby.madstop.com,192.168.0.5 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAw9iHuAa/wepHoUzWqsvhQvSkpE4K7agrdLOWHM9mvyRQ2X3HVq5GqzAvWu4J+f0FvcLPwA9tivpxt1oSt5MOtvDM6HoM+8m3P4daBp0nlNaYR8/vHCAmX6N3RyM8FWfp+VqWyux1SooQwxYxVFy86G78ApTqNsZ+p7cHmnBYqk0=
|
3
|
+
fedora1,192.168.0.51 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAyz1rKcApU4//j8CHYKexq4qnq2WVqLPrZYGnlij1t7FscLiDVKvBuRHVkfyTNIjAM/t7tM1Dj+FuD4iWziCmf7RO9q4wI5y/1zgCiSUegnZVSmH2yxnWGMdHGpXOkN3NXcpy6jylxyBo0M7T22PSezCxyUVfMclesjOEO1jETd0=
|
4
|
+
kirby ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAw9iHuAa/wepHoUzWqsvhQvSkpE4K7agrdLOWHM9mvyRQ2X3HVq5GqzAvWu4J+f0FvcLPwA9tivpxt1oSt5MOtvDM6HoM+8m3P4daBp0nlNaYR8/vHCAmX6N3RyM8FWfp+VqWyux1SooQwxYxVFy86G78ApTqNsZ+p7cHmnBYqk0=
|
5
|
+
sol10b,192.168.0.50 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAs37kiDwKxWqi6EfSdKwRaZXBwh2doOARRqZzyitBaPwESy26DwTx+xdQ2rwB4V2k1WIec+1f3bgTS2ArH75dQSPyba2HKqxaSRBd3Zh4z23+uUxpupEyoRdW1HolMOvuoceheSMsruiuYcuiyct41d4c/Qmr51Dv04Doi00k6Ws=
|
6
|
+
piratehaven.org,64.81.59.88 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA7TYRRkle0wDNohZ0TNZN6R1Zp0svxgX+GJ9umI5yNM1bMxUTgeNRh5nIvZg1HgD1WRXQ57dSxxLzbvRyAqc245g6S8eWWCtenvOFLl0rOF5D3VxbQuw79sOe8/Ac8TC+c8RuWB7aaxpwL5Rv9xfDeazOtoKXj7+uwQW1PUmTaEM=
|
7
|
+
atalanta,192.168.0.10 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAysniuWiJH6OQLXl63XXcS1b/hP2lAgSz0IutjQ6ZUfBrt1BZ8udEgSh57w5QDLsZ1lNvND61u5cy6iDKXI5TIQY4DvUmsoFZhyr4iYJbtT/h6UJSyaZtEnA7ZMRjGhUIMOn+mjbj7Z3zmJMhxtImK3Xo3O2fJ1hnK4jsBwQPSLc=
|
8
|
+
pixie,192.168.0.9 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAzDp588CvET6w11LB2s/vPjc4tX9+u46iYJgNFfhzxrXYMVv4GF7d30IXB5+Hwyi2FOQIG1+h0kUXVGWEv64rAFBT7pD2KMFX0lcDERV4avqT0TRDIIA5OqFOhq9Ff+kOmHS2cB7eFyR5vqbN4ujOnJGTmru9dcqyL+2AcFekvh0=
|
9
|
+
culain,192.168.0.3 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAvJ/IORhQMdAsJ7LB1sI2LlWUHc7HPTCDiEgJ96ij3jFvqaIiYieRFaNkxbbk75mPkj3vIqWIgAsAtHmKX4wDikNG/gyjs4WM4cWFKtl2jiVhqpoxqqCaVxs6Ex+vpKuKhQR6SzFBFDlBZYP9an6DPu1msTLT8/hZH2WwswVmpyU=
|
10
|
+
cs312-server.een.orst.edu,128.193.40.66 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA+t3hsOiyp1mztt013bLdJqIAFCo8lxlz86MYEPz/mADHzWLs3Xv7xpAUv/E8pRbhEOzXo84EddORRBXz6DgVyMah8+v/u3IOkpXuZI0Iu1n5hZyf2l5DGEyGecr3oqqjUdMuM9HeXFLnqXJI3hDE7civBtqf5AJSol+TCcipeE8=
|
11
|
+
freebsd1,192.168.0.52 ssh-dss AAAAB3NzaC1kc3MAAACBAJSiOyQhYlKAi0FDLKy42VzLDq6yJWXGXVCLSfgWyVx7QCq/3+W3C1dtHuAvjbypcjqqvsuGGITgQ1Y6B/+76n5d7FyQnj4SFZ5drOBn/TvslXhrS/Ok5KCcndfNAa+EyMnSZJ21jhoRjZftY4lmb4hy6fEF3RvjuOdf1qBN5FWpAAAAFQDcsWF0zELAW6YUlSjAyO0T0lfPbwAAAIAlOLdOd/WszzVaplCOnH5vF6LWfr6BosZKDkFi0mv6Ec636YGaj4AMxK8sRPusHv6sVByN17ntIJnLo2XD1SuoH28bZ0ZnPIdVnd0l1KqsOCuuow9LZYJUihezoUuYuTvij1jZdrwltuPNJTVLYtsZDnKE5plw+Tjzeb7ImjbXGwAAAIBT40olg3fxhRDiZECle0WK7GitgXCB3njs+4dba8VwveEJb9UuulMc1eR+zQiJR96IUBagC9NiLvUGS1IfiIHpT4FA8O/MK1W9SgxXB9d39Nk/9l8dH3U/fLnbC/hYVo8bN0or/mKxcxQMkdBwpPlWAbELRftod2BkkkvgfQdc+g==
|
12
|
+
192.168.0.2 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgwCZ+qxpMMRJ3otGsjaYeKTKf6tuCZyK1cD+ns9Eu7V0ZJLJ/LLMxduu7n4H/ufGI5rGV5axzgx8yZhjDRzsrGjLAQYsqlomMkf901YQI6UuieSA4MZa5MDkq/Jt6Vx1kEGTpkgrfw9kRMX5BngECt1QKY4xTgC7Ex+WlFvZwk+tRUT3
|
13
|
+
openbsd1,192.168.0.54 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvgRVrtJk0fBg9YsLf7rWR1X32ZjFcva5XBvenDlHruObaHzuGXyyr6iOCAEOc7eCZjlPBYrGZ2potqyk8HlBOHXr1cCBf49t4yAt8KgKswtzWlgdbU1UEwllSRVOpzqULAT0smv/jfaIZdvRoN1rLriqtpn4bQL//ZOHiyXCwdlJ+di8Mza2L8KZ5T75hwIFBhrgL12xfymRp3v+Iy21MjjzsF3pROIkZ7icitNqQF55U9vsHaA37vG8FepVkO10bYYP7IHPZaBPBMPx7qPyRgRDJahEUGBnkIkzwJHEmA+7YMiNTZu6MigezD+CIqY1xOi/eXZwObLwLKXo7eRmpw==
|
14
|
+
192.168.0.60 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAufcvE7s1eRwhUwMBfZ6uFNxkdSdzjSDEn3vjByOjG/eraNhnYAW3rxV7WIf2pEa6JSOMrE1mqsEL75xEtpXlzC949Ysz4+1OSHY52KonoFm/a+FbmbFp81TVuVPYaLoeWN27STiJh+puC5spkIZe0laqT1GU13M4gj6B+j3NLhU=
|
15
|
+
rh3a,192.168.0.55 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAufcvE7s1eRwhUwMBfZ6uFNxkdSdzjSDEn3vjByOjG/eraNhnYAW3rxV7WIf2pEa6JSOMrE1mqsEL75xEtpXlzC949Ysz4+1OSHY52KonoFm/a+FbmbFp81TVuVPYaLoeWN27STiJh+puC5spkIZe0laqT1GU13M4gj6B+j3NLhU=
|
16
|
+
tsetse,192.168.0.7 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAwCDGn82BEMSCfcE2LZKcwdAoyIBC+u2twVwWNRm3KzyrJMQ+RbTQo4AwGOdyr/QYh6KaxTKTSoDtiBLr132uenMQKwF47gCKMA1T47uiy+TBUehgOGwOxteSYP/pQRpKXFmhOppSPyDPQVq234XvANeJp0iT8ZKEhF2FsWTs6sM=
|
17
|
+
config.sage.org,131.106.3.205 ssh-dss AAAAB3NzaC1kc3MAAACBAL2akEcIfQsfm3zCd2hD6PgH3kWA/tqX/qbrLhL/ipX7iqK/y282GMClZQSQjc1YNi9virvLzb6u/gdZxicZ8K5O3FaJrULQJOZaP62SOHk5CUSHVnvpMCaCnbwB6gEHa2LeMWStcEfWW+g1CC2hzPJw16/S5GISGXbyanO02MnXAAAAFQDomwx/OCjTmmQljMTU5rgNn2E4gwAAAIBmtMSfcs2Tq5iFFKK5cahluv047vVNfXqYIAkeJniceL0Et16MKfuzadpq0H9ocxQYW/5Ir9nUULrdxBUN9LxNKq15/uWkJC9QCSh8PysgvFnjVZeCODua/dn6eZTZnY9DZ3S6v1pT8CP6uWr5fmZJ8FKJGrC3gYX4y1V1ZTCVewAAAIB6e7RCST6vkTS5rgn5wGbrfLK5ad+PW+2i66k77Zv1pjtfRz+0oejBjwJDPNVSc2YNEl7X0nEEMNjo/a5x8Ls+nVqhzJA+NXIwS1e/moKbXFGewW5HAtxd79gtInC8dEIO7hmnWnqF1dBkRHXg1YffYkHrMVJBxpzagw7nYa0BBQ==
|
18
|
+
rh3b,192.168.0.56 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAufcvE7s1eRwhUwMBfZ6uFNxkdSdzjSDEn3vjByOjG/eraNhnYAW3rxV7WIf2pEa6JSOMrE1mqsEL75xEtpXlzC949Ysz4+1OSHY52KonoFm/a+FbmbFp81TVuVPYaLoeWN27STiJh+puC5spkIZe0laqT1GU13M4gj6B+j3NLhU=
|
19
|
+
centos1,192.168.0.57 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEA0DXqYF+3Lf68GkWBAjjKBb6UITNnzm4wiDi/AGjv5+DoVXqDcqHvZ8rZFAMgUe1dVob4pWT2ZWLHW0gicoJCdr4UQbPXlWz1F62z8fo2PRRPlG6KN1wmF7pnyml8jr0wBX8lQZJsMqi4InGozf7wFHLH/7DNGRK3MD6tSp3Z4is=
|
20
|
+
doorstop.cafes.net,205.241.238.186 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEApJKeB9/bN5t55zLETHs0MVo/vEkfQ3EzY7178GKLI/yiOFmcn+NvUvUtCQK/xKpod813LBHCODxZPG1Kb0SjlaC/EkFEenb74LNu0o1qXa1GWh3wfaIm0JRNjXqPqxAWTlMs43O2HXwOwmLVhl7SSP3xtTw6h9gREbVKmfBaRdsRfzD0etfz1NCnmGh/1Sh9+j4eeS+IBtwoR5JVhZVhuofHCqs5HZ8gLDgfn8HXP7pMbLkx54cf1R/tmFmn9JGLdTPtEGcSIiu7414XSbfChSC83rGZCDPKHq7ZodiE8GpbWLBnyPXi2AYxTPM7aZMqitIHv3MWf5suV0q0WLGdnQ==
|
21
|
+
host.domain.com,host1.domain.com,192.168.0.1 dss thisismykey1
|
@@ -0,0 +1,26 @@
|
|
1
|
+
[development]
|
2
|
+
# These packages are untested and still under development. This
|
3
|
+
# repository is used for updates to test releases, and for
|
4
|
+
# development of new releases.
|
5
|
+
#
|
6
|
+
# This repository can see significant daily turn over and can see major
|
7
|
+
# functionality changes which cause unexpected problems with other
|
8
|
+
# development packages. Please use these packages if you want to work
|
9
|
+
# with the Fedora developers by testing these new development packages.
|
10
|
+
#
|
11
|
+
# fedora-test-list@redhat.com is available as a discussion forum for
|
12
|
+
# testing and troubleshooting for development packages in conjunction
|
13
|
+
# with new test releases.
|
14
|
+
#
|
15
|
+
# fedora-devel-list@redhat.com is available as a discussion forum for
|
16
|
+
# testing and troubleshooting for development packages in conjunction
|
17
|
+
# with developing new releases.
|
18
|
+
#
|
19
|
+
# Reportable issues should be filed at bugzilla.redhat.com
|
20
|
+
# Product: Fedora Core
|
21
|
+
# Version: devel
|
22
|
+
name=Fedora Core $releasever - Development Tree
|
23
|
+
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/development/$basearch/
|
24
|
+
mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-rawhide
|
25
|
+
enabled=0
|
26
|
+
gpgcheck=0
|
data/test/language/parser.rb
CHANGED
@@ -1141,7 +1141,6 @@ file { "/tmp/yayness":
|
|
1141
1141
|
name = "sub"
|
1142
1142
|
mk_module(modname, :init => %w{separate}, :sub => %w{separate::sub})
|
1143
1143
|
|
1144
|
-
Puppet.err :yay
|
1145
1144
|
# First try it with a namespace
|
1146
1145
|
klass = parser.findclass("separate", name)
|
1147
1146
|
assert_instance_of(AST::HostClass, klass, "Did not autoload sub class from separate file with a namespace")
|
@@ -1171,6 +1170,14 @@ file { "/tmp/yayness":
|
|
1171
1170
|
klass = parser.findclass("", "alone::sub")
|
1172
1171
|
assert_instance_of(AST::HostClass, klass, "Did not autoload sub class from alone file with no namespace")
|
1173
1172
|
assert_equal("alone::sub", klass.classname, "Incorrect class was returned")
|
1173
|
+
|
1174
|
+
# and with the definition in its own file
|
1175
|
+
name = "mymod"
|
1176
|
+
mk_module(name, :define => true, :mydefine => ["mymod::mydefine"])
|
1177
|
+
|
1178
|
+
klass = parser.finddefine("", "mymod::mydefine")
|
1179
|
+
assert_instance_of(AST::Definition, klass, "Did not autoload definition from its own file")
|
1180
|
+
assert_equal("mymod::mydefine", klass.classname, "Incorrect definition was returned")
|
1174
1181
|
end
|
1175
1182
|
|
1176
1183
|
# Make sure class, node, and define methods are case-insensitive
|
@@ -15,6 +15,9 @@ module PuppetTest
|
|
15
15
|
# Evaluate all of our tests to see if any of them are false
|
16
16
|
# and thus whether this test is considered not runnable.
|
17
17
|
def runnable?
|
18
|
+
if superclass.respond_to?(:runnable?) and ! superclass.runnable?
|
19
|
+
return false
|
20
|
+
end
|
18
21
|
@messages ||= []
|
19
22
|
return false unless @messages.empty?
|
20
23
|
return true unless defined? @confines
|
data/test/lib/stubba.rb
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
# for backwards compatibility
|
2
|
-
require 'mocha'
|
2
|
+
require 'mocha'
|
data/test/network/client/ca.rb
CHANGED
@@ -30,6 +30,7 @@ class TestClientCA < Test::Unit::TestCase
|
|
30
30
|
|
31
31
|
# Make sure the ca defaults to specific ports and names
|
32
32
|
def test_ca_server
|
33
|
+
Puppet.settings.stubs(:value).returns "eh"
|
33
34
|
Puppet.settings.expects(:value).with(:ca_server).returns("myca")
|
34
35
|
Puppet.settings.expects(:value).with(:ca_port).returns(321)
|
35
36
|
Puppet.settings.stubs(:value).with(:http_proxy_host).returns(nil)
|
@@ -177,10 +177,12 @@ end
|
|
177
177
|
|
178
178
|
assert(File.exists?(destfile), "Did not get fact")
|
179
179
|
|
180
|
-
|
180
|
+
facts = Puppet::Network::Client.master.facts
|
181
|
+
|
182
|
+
assert_equal(hostname, facts["hostname"],
|
181
183
|
"Lost value to hostname")
|
182
184
|
|
183
|
-
assert_equal("yayness",
|
185
|
+
assert_equal("yayness", facts["myfact"],
|
184
186
|
"Did not get correct fact value")
|
185
187
|
|
186
188
|
# Now modify the file and make sure the type is replaced
|
@@ -194,20 +196,22 @@ end
|
|
194
196
|
assert_nothing_raised {
|
195
197
|
Puppet::Network::Client.master.getfacts
|
196
198
|
}
|
199
|
+
facts = Puppet::Network::Client.master.facts
|
197
200
|
|
198
|
-
assert_equal("funtest",
|
201
|
+
assert_equal("funtest", facts["myfact"],
|
199
202
|
"Did not reload fact")
|
200
|
-
assert_equal(hostname,
|
203
|
+
assert_equal(hostname, facts["hostname"],
|
201
204
|
"Lost value to hostname")
|
202
205
|
|
203
206
|
# Now run it again and make sure the fact still loads
|
204
207
|
assert_nothing_raised {
|
205
208
|
Puppet::Network::Client.master.getfacts
|
206
209
|
}
|
210
|
+
facts = Puppet::Network::Client.master.facts
|
207
211
|
|
208
|
-
assert_equal("funtest",
|
212
|
+
assert_equal("funtest", facts["myfact"],
|
209
213
|
"Did not reload fact")
|
210
|
-
assert_equal(hostname,
|
214
|
+
assert_equal(hostname, facts["hostname"],
|
211
215
|
"Lost value to hostname")
|
212
216
|
end
|
213
217
|
|
@@ -305,44 +309,6 @@ end
|
|
305
309
|
assert_equal(RUBY_VERSION, facts["rubyversion"], "ruby version did not get added")
|
306
310
|
end
|
307
311
|
|
308
|
-
# #424
|
309
|
-
def test_caching_of_compile_time
|
310
|
-
file = tempfile()
|
311
|
-
manifest = tempfile()
|
312
|
-
File.open(manifest, "w") { |f| f.puts "file { '#{file}': content => yay }" }
|
313
|
-
|
314
|
-
Puppet::Node::Facts.indirection.stubs(:save)
|
315
|
-
|
316
|
-
driver = mkmaster(:Manifest => manifest)
|
317
|
-
driver.local = false
|
318
|
-
master = mkclient(driver)
|
319
|
-
|
320
|
-
# We have to make everything thinks it's remote, because there's no local caching info
|
321
|
-
master.local = false
|
322
|
-
|
323
|
-
assert(! master.fresh?(master.class.facts),
|
324
|
-
"Considered fresh with no compile at all")
|
325
|
-
|
326
|
-
assert_nothing_raised { master.run }
|
327
|
-
assert(master.fresh?(master.class.facts),
|
328
|
-
"not considered fresh after compile")
|
329
|
-
|
330
|
-
# Now make sure the config time is cached
|
331
|
-
assert(master.compile_time, "No stored config time")
|
332
|
-
assert_equal(master.compile_time, Puppet::Util::Storage.cache(:configuration)[:compile_time], "times did not match")
|
333
|
-
time = master.compile_time
|
334
|
-
master.clear
|
335
|
-
File.unlink(file)
|
336
|
-
Puppet::Util::Storage.store
|
337
|
-
|
338
|
-
# Now make a new master
|
339
|
-
Puppet::Util::Storage.clear
|
340
|
-
master = mkclient(driver)
|
341
|
-
master.run
|
342
|
-
assert_equal(time, master.compile_time, "time was not retrieved from cache")
|
343
|
-
assert(FileTest.exists?(file), "file was not created on second run")
|
344
|
-
end
|
345
|
-
|
346
312
|
# #540 - make sure downloads aren't affected by noop
|
347
313
|
def test_download_in_noop
|
348
314
|
source = tempfile
|
@@ -384,44 +350,6 @@ end
|
|
384
350
|
"Tried to load cache when it is non-existent")
|
385
351
|
end
|
386
352
|
|
387
|
-
# #519 - cache the facts so that we notice if they change.
|
388
|
-
def test_factchanges_cause_recompile
|
389
|
-
$value = "one"
|
390
|
-
Facter.add(:testfact) do
|
391
|
-
setcode { $value }
|
392
|
-
end
|
393
|
-
assert_equal("one", Facter.value(:testfact), "fact was not set correctly")
|
394
|
-
master = mkclient
|
395
|
-
master.local = false
|
396
|
-
driver = master.send(:instance_variable_get, "@driver")
|
397
|
-
driver.local = false
|
398
|
-
|
399
|
-
Puppet::Node::Facts.indirection.stubs(:save)
|
400
|
-
|
401
|
-
assert_nothing_raised("Could not compile config") do
|
402
|
-
master.getconfig
|
403
|
-
end
|
404
|
-
|
405
|
-
$value = "two"
|
406
|
-
Facter.clear
|
407
|
-
Facter.loadfacts
|
408
|
-
Facter.add(:testfact) do
|
409
|
-
setcode { $value }
|
410
|
-
end
|
411
|
-
facts = master.class.facts
|
412
|
-
assert_equal("two", Facter.value(:testfact), "fact did not change")
|
413
|
-
|
414
|
-
assert(master.send(:facts_changed?, facts),
|
415
|
-
"master does not think facts changed")
|
416
|
-
assert(! master.fresh?(facts),
|
417
|
-
"master is considered fresh after facts changed")
|
418
|
-
|
419
|
-
assert_nothing_raised("Could not recompile when facts changed") do
|
420
|
-
master.getconfig
|
421
|
-
end
|
422
|
-
|
423
|
-
end
|
424
|
-
|
425
353
|
def test_locking
|
426
354
|
master = mkclient
|
427
355
|
|
@@ -455,40 +383,6 @@ end
|
|
455
383
|
assert_equal(100, master.timeout, "Did not get changed integer default value for timeout on second run")
|
456
384
|
end
|
457
385
|
|
458
|
-
# #569 -- Make sure we can ignore dynamic facts.
|
459
|
-
def test_dynamic_facts
|
460
|
-
client = mkclient
|
461
|
-
|
462
|
-
assert_equal(%w{memorysize memoryfree swapsize swapfree}, client.class.dynamic_facts,
|
463
|
-
"Did not get correct defaults for dynamic facts")
|
464
|
-
|
465
|
-
# Cache some values for comparison
|
466
|
-
cached = {"one" => "yep", "two" => "nope"}
|
467
|
-
Puppet::Util::Storage.cache(:configuration)[:facts] = cached
|
468
|
-
|
469
|
-
assert(! client.send(:facts_changed?, cached), "Facts incorrectly considered to be changed")
|
470
|
-
|
471
|
-
# Now add some values to the passed result and make sure we get a positive
|
472
|
-
newfacts = cached.dup
|
473
|
-
newfacts["changed"] = "something"
|
474
|
-
|
475
|
-
assert(client.send(:facts_changed?, newfacts), "Did not catch changed fact")
|
476
|
-
|
477
|
-
# Now add a dynamic fact and make sure it's ignored
|
478
|
-
newfacts = cached.dup
|
479
|
-
newfacts["memorysize"] = "something"
|
480
|
-
|
481
|
-
assert(! client.send(:facts_changed?, newfacts), "Dynamic facts resulted in a false positive")
|
482
|
-
|
483
|
-
# And try it with both
|
484
|
-
cached["memorysize"] = "something else"
|
485
|
-
assert(! client.send(:facts_changed?, newfacts), "Dynamic facts resulted in a false positive")
|
486
|
-
|
487
|
-
# And finally, with only in the cache
|
488
|
-
newfacts.delete("memorysize")
|
489
|
-
assert(! client.send(:facts_changed?, newfacts), "Dynamic facts resulted in a false positive")
|
490
|
-
end
|
491
|
-
|
492
386
|
def test_splay
|
493
387
|
client = mkclient
|
494
388
|
|
@@ -582,17 +476,8 @@ end
|
|
582
476
|
|
583
477
|
Puppet::Node::Facts.indirection.stubs(:save)
|
584
478
|
|
585
|
-
master =
|
586
|
-
|
587
|
-
master = Puppet::Network::Handler.master.new(
|
588
|
-
:Local => false
|
589
|
-
)
|
590
|
-
}
|
591
|
-
assert_nothing_raised() {
|
592
|
-
client = Puppet::Network::Client.master.new(
|
593
|
-
:Master => master
|
594
|
-
)
|
595
|
-
}
|
479
|
+
master = Puppet::Network::Handler.master.new( :Local => false)
|
480
|
+
client = Puppet::Network::Client.master.new( :Master => master)
|
596
481
|
|
597
482
|
# Fake that it's local, so it creates the class file
|
598
483
|
client.local = false
|
@@ -601,6 +486,7 @@ end
|
|
601
486
|
client.expects(:setclasses).with do |array|
|
602
487
|
array.length == 2 and array.include?("yaytest") and array.include?("bootest")
|
603
488
|
end
|
489
|
+
|
604
490
|
assert_nothing_raised {
|
605
491
|
client.getconfig
|
606
492
|
}
|
@@ -8,104 +8,85 @@ require 'puppet/network/handler/master'
|
|
8
8
|
class TestMaster < Test::Unit::TestCase
|
9
9
|
include PuppetTest::ServerTest
|
10
10
|
|
11
|
+
def setup
|
12
|
+
super
|
13
|
+
@master = Puppet::Network::Handler.master.new(:Manifest => tempfile)
|
14
|
+
|
15
|
+
@catalog = stub 'catalog', :extract => ""
|
16
|
+
Puppet::Node::Catalog.stubs(:find).returns(@catalog)
|
17
|
+
end
|
18
|
+
|
11
19
|
def teardown
|
12
20
|
super
|
13
21
|
Puppet::Indirector::Indirection.clear_cache
|
14
22
|
end
|
15
23
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
24
|
+
def test_freshness_is_always_now
|
25
|
+
now1 = mock 'now1'
|
26
|
+
Time.expects(:now).returns(now1)
|
27
|
+
|
28
|
+
assert_equal(@master.freshness, now1, "Did not return current time as freshness")
|
29
|
+
end
|
20
30
|
|
21
|
-
|
31
|
+
def test_hostname_is_used_if_client_is_missing
|
32
|
+
@master.expects(:decode_facts).returns("hostname" => "yay")
|
33
|
+
Puppet::Node::Facts.expects(:new).with { |name, facts| name == "yay" }.returns(stub('facts', :save => nil))
|
22
34
|
|
23
|
-
|
24
|
-
|
25
|
-
Puppet::Util::Storage.cache(:configuration)[:facts] = facts
|
35
|
+
@master.getconfig("facts")
|
36
|
+
end
|
26
37
|
|
27
|
-
|
28
|
-
|
38
|
+
def test_facts_are_saved
|
39
|
+
facts = mock('facts')
|
40
|
+
Puppet::Node::Facts.expects(:new).returns(facts)
|
41
|
+
facts.expects(:save)
|
29
42
|
|
30
|
-
|
31
|
-
Puppet[:manifest] = manifest
|
32
|
-
assert_nothing_raised() {
|
33
|
-
# this is the default server setup
|
34
|
-
master = Puppet::Network::Handler.master.new(
|
35
|
-
:Local => true
|
36
|
-
)
|
37
|
-
}
|
43
|
+
@master.stubs(:decode_facts)
|
38
44
|
|
39
|
-
|
45
|
+
@master.getconfig("facts", "yaml", "foo.com")
|
46
|
+
end
|
40
47
|
|
41
|
-
|
42
|
-
|
48
|
+
def test_catalog_is_used_for_compiling
|
49
|
+
facts = stub('facts', :save => nil)
|
50
|
+
Puppet::Node::Facts.stubs(:new).returns(facts)
|
43
51
|
|
44
|
-
|
45
|
-
# Create a new manifest
|
46
|
-
File.open(manifest, "w") { |f|
|
47
|
-
f.puts "file { \"%s\": ensure => file }\n" % file2
|
48
|
-
}
|
52
|
+
@master.stubs(:decode_facts)
|
49
53
|
|
50
|
-
|
51
|
-
# want to wait through the timeout
|
52
|
-
assert_equal(parse1, master.freshness("mynode"), "Master did not wait through timeout")
|
54
|
+
Puppet::Node::Catalog.expects(:find).with("foo.com").returns(@catalog)
|
53
55
|
|
54
|
-
|
55
|
-
|
56
|
+
@master.getconfig("facts", "yaml", "foo.com")
|
57
|
+
end
|
58
|
+
end
|
56
59
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
+
class TestMasterFormats < Test::Unit::TestCase
|
61
|
+
def setup
|
62
|
+
@facts = stub('facts', :save => nil)
|
63
|
+
Puppet::Node::Facts.stubs(:new).returns(@facts)
|
60
64
|
|
61
|
-
|
65
|
+
@master = Puppet::Network::Handler.master.new(:Code => "")
|
66
|
+
@master.stubs(:decode_facts)
|
67
|
+
|
68
|
+
@catalog = stub 'catalog', :extract => ""
|
69
|
+
Puppet::Node::Catalog.stubs(:find).returns(@catalog)
|
62
70
|
end
|
63
71
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
:UseNodes => true,
|
71
|
-
:Local => true
|
72
|
-
)
|
73
|
-
|
74
|
-
|
75
|
-
# First check that 'cert' works
|
76
|
-
Puppet[:node_name] = "cert"
|
77
|
-
|
78
|
-
# Make sure we get the fact data back when nothing is set
|
79
|
-
facts = {
|
80
|
-
"hostname" => "fact_hostname",
|
81
|
-
"domain" => "fact_domain",
|
82
|
-
"fqdn" => "fact_hostname.fact_domain",
|
83
|
-
"ipaddress" => "fact_ip"
|
84
|
-
}
|
85
|
-
certhostname = "cert_hostname"
|
86
|
-
certdomain = "cert_domain"
|
87
|
-
certname = certhostname + "." + certdomain
|
88
|
-
certip = "cert_ip"
|
89
|
-
|
90
|
-
resname, resip = master.send(:clientname, nil, nil, facts)
|
91
|
-
assert_equal(facts["hostname"], resname, "Did not use fact hostname when no certname was present")
|
92
|
-
assert_equal(facts["ipaddress"], resip, "Did not use fact ip when no certname was present")
|
93
|
-
assert_equal(facts["domain"], "fact_domain", "Did not use fact domain when no certname was present")
|
94
|
-
assert_equal(facts["fqdn"], "fact_hostname.fact_domain", "Did not use fact fqdn when no certname was present")
|
95
|
-
|
96
|
-
# Now try it with the cert stuff present
|
97
|
-
resname, resip = master.send(:clientname, certname, certip, facts)
|
98
|
-
assert_equal(certname, resname, "Did not use cert hostname when certname was present")
|
99
|
-
assert_equal(certip, resip, "Did not use cert ip when certname was present")
|
100
|
-
assert_equal(facts["domain"], certdomain, "Did not use cert domain when certname was present")
|
101
|
-
assert_equal(facts["fqdn"], certname, "Did not use cert fqdn when certname was present")
|
102
|
-
|
103
|
-
# And reset the node_name stuff and make sure we use it.
|
104
|
-
Puppet[:node_name] = :facter
|
105
|
-
resname, resip = master.send(:clientname, certname, certip, facts)
|
106
|
-
assert_equal(facts["hostname"], resname, "Did not use fact hostname when nodename was set to facter")
|
107
|
-
assert_equal(facts["ipaddress"], resip, "Did not use fact ip when nodename was set to facter")
|
72
|
+
def test_marshal_can_be_used
|
73
|
+
@catalog.expects(:extract).returns "myextract"
|
74
|
+
|
75
|
+
Marshal.expects(:dump).with("myextract").returns "eh"
|
76
|
+
|
77
|
+
@master.getconfig("facts", "marshal", "foo.com")
|
108
78
|
end
|
109
|
-
end
|
110
79
|
|
80
|
+
def test_yaml_can_be_used
|
81
|
+
extract = mock 'extract'
|
82
|
+
@catalog.expects(:extract).returns extract
|
83
|
+
|
84
|
+
extract.expects(:to_yaml).returns "myaml"
|
111
85
|
|
86
|
+
@master.getconfig("facts", "yaml", "foo.com")
|
87
|
+
end
|
88
|
+
|
89
|
+
def test_failure_when_non_yaml_or_marshal_is_used
|
90
|
+
assert_raise(RuntimeError) { @master.getconfig("facts", "blah", "foo.com") }
|
91
|
+
end
|
92
|
+
end
|