diff options
author | James Turnbull <james@lovedthanlost.net> | 2010-01-13 08:07:30 +1100 |
---|---|---|
committer | James Turnbull <james@lovedthanlost.net> | 2010-01-13 08:07:30 +1100 |
commit | b6f90dfcd96123c245b6f5fd93753790006387c0 (patch) | |
tree | 1668fd8ed480dc0d0cb49c4a3d7f8a13c77dbeb9 /ext | |
parent | e26e8319186c57a41ea7ca58b0e8e853e9b452e3 (diff) | |
parent | f7e14356ad7781fafa52a459d3c24372fa6c0900 (diff) | |
download | puppet-b6f90dfcd96123c245b6f5fd93753790006387c0.tar.gz puppet-b6f90dfcd96123c245b6f5fd93753790006387c0.tar.xz puppet-b6f90dfcd96123c245b6f5fd93753790006387c0.zip |
Merge branch '0.25.x'
Conflicts:
lib/puppet/ssl/host.rb
spec/spec_helper.rb
Diffstat (limited to 'ext')
-rwxr-xr-x | ext/bin/sleeper | 67 | ||||
-rw-r--r-- | ext/ldap/puppet.schema | 14 | ||||
-rwxr-xr-x | ext/module_puppet | 209 |
3 files changed, 5 insertions, 285 deletions
diff --git a/ext/bin/sleeper b/ext/bin/sleeper deleted file mode 100755 index 9837db2ec..000000000 --- a/ext/bin/sleeper +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/env ruby -w - -### -# sleep indefinitely as a debug - -require 'getoptlong' - -#----------------------------------------------------------------- -def daemonize - outfile = "/tmp/sleeperout" - if pid = fork() - Process.detach(pid) - sleep 1 - # verify that we didn't have any problems starting the daemon - if FileTest.exists?(outfile) - $stderr.puts "Sleeper failed: %s" % File.read(outfile) - File.unlink(outfile) - exit(14) - else - exit(0) - end - end - Process.setsid - Dir.chdir("/") - begin - $stdin.reopen "/dev/null" - $stdout.reopen "/dev/null", "a" - $stderr.reopen $stdin - rescue => detail - File.open(outfile, "w") { |f| - f.puts detail - } - exit(12) - end -end -#----------------------------------------------------------------- - -debug = false - -result = GetoptLong.new( - [ "--debug", "-d", GetoptLong::NO_ARGUMENT ], - [ "--help", "-h", GetoptLong::NO_ARGUMENT ] -) - -result.each { |opt,arg| - case opt - when "--help" - puts "There is no help yet" - exit - when "--debug" - debug = true - else - raise "Invalid option '#{opt}'" - end -} - -trap(:INT) { - exit -} - -unless debug - daemonize() -end - -# Sleep for no more than two minutes -sleep 120 -exit diff --git a/ext/ldap/puppet.schema b/ext/ldap/puppet.schema index 651cbafc8..e5561f289 100644 --- a/ext/ldap/puppet.schema +++ b/ext/ldap/puppet.schema @@ -1,28 +1,24 @@ -# These OIDs are all fake. No guarantees there won't be conflicts. -# -# $Id$ - -attributetype ( 1.1.3.10 NAME 'puppetclass' +attributetype ( 1.3.6.1.4.1.34380.1.1.3.10 NAME 'puppetClass' DESC 'Puppet Node Class' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) -attributetype ( 1.1.3.9 NAME 'parentnode' +attributetype ( 1.3.6.1.4.1.34380.1.1.3.9 NAME 'parentNode' DESC 'Puppet Parent Node' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) -attributetype ( 1.1.3.11 NAME 'environment' +attributetype ( 1.3.6.1.4.1.34380.1.1.3.11 NAME 'environment' DESC 'Puppet Node Environment' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) -attributetype ( 1.1.3.12 NAME 'puppetvar' +attributetype ( 1.3.6.1.4.1.34380.1.1.3.12 NAME 'puppetVar' DESC 'A variable setting for puppet' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) -objectclass ( 1.1.1.2 NAME 'puppetClient' SUP top AUXILIARY +objectclass ( 1.3.6.1.4.1.34380.1.1.1.2 NAME 'puppetClient' SUP top AUXILIARY DESC 'Puppet Client objectclass' MAY ( puppetclass $ parentnode $ environment $ puppetvar )) diff --git a/ext/module_puppet b/ext/module_puppet deleted file mode 100755 index 5834627e2..000000000 --- a/ext/module_puppet +++ /dev/null @@ -1,209 +0,0 @@ -#!/usr/bin/env ruby - -# -# = Synopsis -# -# Run a +puppet+ script as a cfengine module. -# -# = Usage -# -# puppet_module [-h|--help] [-V|--version] [-d|--debug] [-v|--verbose] -# [-l|--logdest <file>]<file> -# -# = Description -# -# This is the standalone puppet execution script; use it to execute -# individual scripts that you write. If you need to execute site-wide -# scripts, use +puppetd+ and +puppetmasterd+. -# -# = Options -# -# Note that any configuration parameter that's valid in the configuration file -# is also a valid long argument. For example, 'ssldir' is a valid configuration -# parameter, so you can specify '--ssldir <directory>' as an argument. -# -# See the configuration file for the full list of acceptable parameters. -# -# debug:: -# Enable full debugging. -# -# help:: -# Print this help message -# -# logdest:: -# Where to send messages. Choose between syslog, the console, and a log file. -# Defaults to sending messages to the console. -# -# verbose:: -# Print extra information. -# -# = Author -# -# Luke Kanies -# -# = Copyright -# -# Copyright (c) 2005 Reductive Labs, LLC -# Licensed under the GNU Public License - -require 'puppet' -require 'puppet/network/handler' -require 'puppet/network/client' -require 'getoptlong' - -options = [ - [ "--debug", "-d", GetoptLong::NO_ARGUMENT ], - [ "--help", "-h", GetoptLong::NO_ARGUMENT ], - [ "--logdest", "-l", GetoptLong::REQUIRED_ARGUMENT ], - [ "--verbose", "-v", GetoptLong::NO_ARGUMENT ], - [ "--use-nodes", GetoptLong::NO_ARGUMENT ], - [ "--version", "-V", GetoptLong::NO_ARGUMENT ] -] - -# Add all of the config parameters as valid options. -Puppet.settings.addargs(options) - -result = GetoptLong.new(*options) - -debug = false -verbose = false -noop = false -logfile = false -parseonly = false - -master = { - :Local => true -} - -setdest = false - -begin - result.each { |opt,arg| - case opt - when "--version" - puts "%s" % Puppet.version - exit - when "--help" - if Puppet.features.usage? - RDoc::usage && exit - else - puts "No help available unless you have RDoc::usage installed" - exit - end - when "--use-nodes" - master[:UseNodes] = true - when "--verbose" - Puppet::Util::Log.level = :info - Puppet::Util::Log.newdestination(:console) - verbose = true - when "--debug" - Puppet::Util::Log.level = :debug - Puppet::Util::Log.newdestination(:console) - debug = true - when "--logdest" - begin - Puppet::Util::Log.newdestination arg - setdest=true - rescue => detail - $stderr.puts detail.to_s - end - else - Puppet.settings.handlearg(opt, arg) - end - } -rescue GetoptLong::InvalidOption => detail - $stderr.puts "Try '#{$0} --help'" - if Puppet.features.usage? - RDoc::usage(1,'usage') - end - exit(1) -end - -# Now parse the config -if Puppet[:config] and File.exists? Puppet[:config] - Puppet.settings.parse(Puppet[:config]) -end - -client = nil -server = nil - -[:INT, :TERM].each do |signal| - trap(signal) do - Puppet.notice "Caught #{signal}; shutting down" - [client, server].each { |obj| - if obj - obj.shutdown - end - } - end -end - -if Puppet.settings.print_configs? - exit(Puppet.settings.print_configs ? 0 : 1) -end - -unless ARGV.length > 0 - $stderr.puts "You must pass a script to parse" - exit(14) -end - -unless setdest - Puppet::Util::Log.newdestination(:syslog) -end - -Puppet[:manifest] = ARGV.shift - -unless ENV.include?("CFALLCLASSES") - $stderr.puts "Cfengine classes must be passed to the module" - exit(15) -end - -# Collect our facts. -Puppet::Node::Facts.terminus_class = :facter -facts = Puppet::Node::Facts.find("me") -facts.name = facts.values["hostname"] - -# Create our Node -node = Puppet::Node.new(facts.name) - -# Merge in the facts. -node.merge(facts.values) - -classes = ENV["CFALLCLASSES"].split(":") - -if classes.empty? - $stderr.puts "Could not find any cfengine classes" - exit(16) -end - -node.classes = classes - -begin - # Compile our configuration - catalog = Puppet::Resource::Catalog.find(node.name, :use_node => node) -rescue => detail - if Puppet[:trace] - puts detail.backtrace - end - if detail.is_a?(XMLRPC::FaultException) - $stderr.puts detail.message - else - $stderr.puts detail - end - exit(1) -end - -if parseonly - exit(0) -end - -begin - # Translate it to a RAL configuration - catalog = catalog.to_ral - - # And apply it - catalog.apply -rescue => detail - Puppet.err detail - exit(1) -end |