diff options
author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-01-09 04:20:45 +0000 |
---|---|---|
committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-01-09 04:20:45 +0000 |
commit | f00a7db3072b98d6ec599dd271705c91f20ffcb6 (patch) | |
tree | 4d4fbaa7a9f4e3787d0c3bba7eaeed0ff1535fe4 /lib/puppet | |
parent | 427522790c461d3a325475040ada71a5e186b282 (diff) | |
download | puppet-f00a7db3072b98d6ec599dd271705c91f20ffcb6.tar.gz puppet-f00a7db3072b98d6ec599dd271705c91f20ffcb6.tar.xz puppet-f00a7db3072b98d6ec599dd271705c91f20ffcb6.zip |
All tests pass now, although the lack of service support on os x means that i have now disabled services on it
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@789 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet')
-rwxr-xr-x | lib/puppet/type/group.rb | 3 | ||||
-rwxr-xr-x | lib/puppet/type/nameservice.rb | 12 | ||||
-rw-r--r-- | lib/puppet/type/nameservice/netinfo.rb | 25 | ||||
-rwxr-xr-x | lib/puppet/type/user.rb | 2 | ||||
-rw-r--r-- | lib/puppet/util.rb | 6 |
5 files changed, 35 insertions, 13 deletions
diff --git a/lib/puppet/type/group.rb b/lib/puppet/type/group.rb index 8a2301838..05a71119e 100755 --- a/lib/puppet/type/group.rb +++ b/lib/puppet/type/group.rb @@ -58,7 +58,8 @@ module Puppet end if gid == :auto unless self.class.autogen? - gid = autogen + gid = autogen() + @parent.log "autogenerated value as %s" % gid end end end diff --git a/lib/puppet/type/nameservice.rb b/lib/puppet/type/nameservice.rb index 4fccaeb17..5f6d15e62 100755 --- a/lib/puppet/type/nameservice.rb +++ b/lib/puppet/type/nameservice.rb @@ -6,6 +6,11 @@ class Type class << self attr_reader :parentstate, :parentmodule + # Seems a lot like this should be elsewhere, + # but we'd have to have a different parent class for + # netinfo types if that were the case. + attr_accessor :netinfodir + def newstate(*args, &block) s = super(*args, &block) @@ -44,11 +49,14 @@ class State @isautogen = true end + def noautogen + @isautogen = false + end + # Can we autogenerate a value for this field? If a required field # can be autogenerated then we don't require a value. def autogen? - if self.method_defined?(:autogen) or - (defined? @isautogen and @isautogen) + if defined? @isautogen and @isautogen return true else return false diff --git a/lib/puppet/type/nameservice/netinfo.rb b/lib/puppet/type/nameservice/netinfo.rb index f8334c774..e011202ef 100644 --- a/lib/puppet/type/nameservice/netinfo.rb +++ b/lib/puppet/type/nameservice/netinfo.rb @@ -56,22 +56,31 @@ module Puppet # abstract the differents using a simple map where necessary # (the netinfokeymap). class NetInfoState < Puppet::State::NSSState - @netinfokeymap = { - :comment => "realname" - } - - @@allatonce = false - # Similar to posixmethod, what key do we use to get data? Defaults # to being the object name. def self.netinfokey - if @netinfokeymap.include?(self.name) - return @netinfokeymap[self.name] + if defined? @netinfokey + return @netinfokey else return self.name end end + def self.setkey(key) + @netinfokey = key + end + + def self.finish + @allatonce = false + case self.name + when :comment: setkey "realname" + when :uid: + noautogen + when :gid: + noautogen + end + end + # Retrieve the data, yo. def retrieve NetInfo.flush diff --git a/lib/puppet/type/user.rb b/lib/puppet/type/user.rb index fddf64a85..a56e92a6f 100755 --- a/lib/puppet/type/user.rb +++ b/lib/puppet/type/user.rb @@ -182,7 +182,7 @@ module Puppet self.class.states.each { |state| next if @states.include?(state.name) - unless state.autogen? or state.optional? + unless state.autogen? or state.isoptional? if state.method_defined?(:autogen) self[state.name] = :auto else diff --git a/lib/puppet/util.rb b/lib/puppet/util.rb index 87e80b143..650eb484a 100644 --- a/lib/puppet/util.rb +++ b/lib/puppet/util.rb @@ -98,7 +98,11 @@ module Util rescue raise ensure - File.delete(lock) + # I don't really understand how the lock file could disappear, + # but just in case... + if FileTest.exists?(lock) + File.delete(lock) + end end end |