Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
## init.pp class digg-solr::base { include sun-java package { "digg-solr": ensure => $digg_solr_version ? { "" => installed, default => $digg_solr_version }, require => Package["sun-java6-jdk"]; "digg-solr-plugins": ensure => $digg_solr_plugins_version ? { "" => installed, default => $digg_solr_plugins_version }, require => Package["digg-solr"], notify => Service["jetty"]; } file { "/usr/local/solr": ensure => directory, owner => "search", group => "search", require => [ Package["digg-solr"], User["search"] ]; ["/usr/local/solr/solr", "/usr/local/solr/solr/conf", "/usr/local/solr/solr/bin"]: owner => "search", group => "search", ensure => directory, require => Package["digg-solr"]; ["/usr/local/solr/solr/lib", "/usr/local/solr/solr/logs"]: owner => "search", group => "search", mode => 0664, recurse => true, require => [ Package["digg-solr"], User["search"] ]; "digg-solr::schema": owner => "search", group => "search", path => "/usr/local/solr/solr/conf/schema.xml", source => "puppet:///digg-solr/schema.xml", notify => Service["jetty"]; "digg-solr::scripts": owner => "search", group => "search", path => "/usr/local/solr/solr/conf/scripts.conf", source => "puppet:///digg-solr/scripts.conf", notify => Service["solr-rsync"]; "/home/search/.ssh": owner => "search", group => "search", mode => 0755, ensure => directory, require => User["search"]; "/etc/init.d/jetty": mode => 0755, source => "puppet:///digg-solr/jetty.init"; "/etc/default/jetty": source => "puppet:///digg-solr/jetty.default", notify => Service["jetty"]; "digg-solr::solrconfig.xml": owner => "search", group => "search", path => "/usr/local/solr/solr/conf/solrconfig.xml", ensure => present, notify => Service["jetty"]; "/etc/init.d/solr-rsync": mode => 0755, source => "puppet:///digg-solr/solr-rsync.init"; } group { "search": gid => 250, ensure => present; } user { "search": ensure => present, uid => 250, gid => "search", home => "/home/search", managehome => true, shell => "/bin/bash", require => Group["search"]; } cron { "digg-solr::snapshot-cleaner": command => "/usr/local/solr/solr/bin/snapcleaner -D 7", ensure => absent, hour => 0, minute => 0, user => "search", require => [ Package["digg-solr"], User["search"] ]; "digg-solr::snapshot-puller": command => "/usr/local/solr/solr/bin/snappuller; /usr/local/solr/solr/bin/snapinstaller", ensure => absent, minute => "*/5", user => "search", require => [ Package["digg-solr"], User["search"] ]; } service { "jetty": enable => true, ensure => running, hasstatus => true, status => "/etc/init.d/jetty check"; "solr-rsync": enable => false, ensure => stopped, pattern => "rsync --daemon"; } exec { "digg-solr::set-ownership": command => "/bin/chown -R search:search /usr/local/solr", require => Package["digg-solr"]; } } ##master.pp class digg-solr::master inherits digg-solr::base { ssh_authorized_key { "digg-solr::slave_ssh_key": ensure => present, key => "AAAAB3NzaC1yc2EAAAABIwAAAQEAqzASnbVssP5cSMy0Yr5lawszrVVXm8IRUfb9Frxd4WUGQKFqPCiyG6B3HtGm30v0iqzvEh0sEy0MVRgOxxlY8K9QdN+FoDQTfpXbm5ceDlWVjaCh35lzPOLZCpiWPy9uorJWpzwlZDrem1EluSH0aUOk/UttAE/qvhmHwHVRbTzfKCrWtjtXDkma3drKVR9ne5H8xuy4xuVxZmPGy+iVfwfBRBpvmNGUdgDec9JpDHwJy6jG17oXFBnCaYlRp5FDTu40PvYuIbS3hkcPmg03TjwHZTYtcf+8L7YrQYy08zpHPXuZk4O3noXyH0gQG+IQGgnhSgm3KV6hW0KUbbJ9kw==", type => rsa, user => "search", require => User["search"]; } file { "/usr/local/solr/solr/status": owner => "search", group => "search", recurse => true, ensure => directory; "/usr/local/solr/solr/logs/rsyncd.pid": owner => search, group => search, mode => 0664; ["/usr/local/solr/solr/logs/snappuller.log", "/usr/local/solr/solr/logs/snappuller.status"]: ensure => absent, notify => Service["jetty"]; } exec { "digg-solr::master::rsyncd-enable": command => "/usr/local/solr/solr/bin/rsyncd-enable", creates => "/usr/local/solr/solr/logs/rsyncd-enabled", cwd => "/usr/local/solr/solr", require => Package["digg-solr"]; "digg-solr::master::snappuller-disable": command => "/usr/local/solr/solr/bin/snappuller-disable", onlyif => "/usr/bin/test -f /usr/local/solr/solr/logs/snappuller-enabled", cwd => "/usr/local/solr/solr", require => Package["digg-solr"]; } Cron["digg-solr::snapshot-cleaner"] { ensure => present } Service["solr-rsync"] { enable => true, ensure => running, require => [ File["/etc/init.d/solr-rsync"], Exec["digg-solr::master::rsyncd-enable"] ] } File["digg-solr::solrconfig.xml"] { source => "puppet:///digg-solr/solrconfig.xml.master" } } ## --debug --trace output err: Could not create digg-solr::slave_ssh_key: user search doesn't exist /usr/lib/ruby/1.8/puppet/type/ssh_authorized_key.rb:43:in `expand_path' /usr/lib/ruby/1.8/puppet/type/ssh_authorized_key.rb:43:in `should' /usr/lib/ruby/1.8/puppet/type.rb:560:in `should' /usr/lib/ruby/1.8/puppet/type/ssh_authorized_key.rb:80:in `validate' /usr/lib/ruby/1.8/puppet/type.rb:2367:in `initialize' /usr/lib/ruby/1.8/puppet/type.rb:1129:in `new' /usr/lib/ruby/1.8/puppet/type.rb:1129:in `create' /usr/lib/ruby/1.8/puppet/transportable.rb:91:in `to_type' /usr/lib/ruby/1.8/puppet/transportable.rb:198:in `to_catalog' /usr/lib/ruby/1.8/puppet/transportable.rb:126:in `each' /usr/lib/ruby/1.8/puppet/transportable.rb:126:in `each' /usr/lib/ruby/1.8/puppet/transportable.rb:195:in `to_catalog' /usr/lib/ruby/1.8/puppet/transportable.rb:204:in `call' /usr/lib/ruby/1.8/puppet/transportable.rb:204:in `to_catalog' /usr/lib/ruby/1.8/puppet/transportable.rb:126:in `each' /usr/lib/ruby/1.8/puppet/transportable.rb:126:in `each' /usr/lib/ruby/1.8/puppet/transportable.rb:195:in `to_catalog' /usr/lib/ruby/1.8/puppet/transportable.rb:204:in `call' /usr/lib/ruby/1.8/puppet/transportable.rb:204:in `to_catalog' /usr/lib/ruby/1.8/puppet/transportable.rb:126:in `each' /usr/lib/ruby/1.8/puppet/transportable.rb:126:in `each' /usr/lib/ruby/1.8/puppet/transportable.rb:195:in `to_catalog' /usr/lib/ruby/1.8/puppet/transportable.rb:210:in `call' /usr/lib/ruby/1.8/puppet/transportable.rb:210:in `to_catalog' /usr/lib/ruby/1.8/puppet/network/client/master.rb:172:in `getconfig' /usr/lib/ruby/1.8/puppet/network/client/master.rb:245:in `run' /usr/lib/ruby/1.8/puppet/util.rb:425:in `thinmark' /usr/lib/ruby/1.8/benchmark.rb:293:in `measure' /usr/lib/ruby/1.8/benchmark.rb:307:in `realtime' /usr/lib/ruby/1.8/puppet/util.rb:424:in `thinmark' /usr/lib/ruby/1.8/puppet/network/client/master.rb:244:in `run' /usr/lib/ruby/1.8/sync.rb:229:in `synchronize' /usr/lib/ruby/1.8/puppet/network/client/master.rb:237:in `run' /usr/sbin/puppetd:417 warning: Not using cache on failed catalog warning: Configuration could not be instantiated: user search doesn't exist
This paste will be private.
From the Design Piracy series on my blog: