diff options
56 files changed, 406 insertions, 394 deletions
@@ -1,3 +1,13 @@ + Renamed some poorly named internal variables: + @models in providers are now either @resource or + @resource_type (#605). + + @children is no longer used except by components (#606). + + @parent is now @resource within parameters (#607). + + The old variables are still set for backward compatibility. + Significantly reworking configuration parsing. Executables all now look for 'puppet.conf' (#206), although they will parse the old-style configuration files if they are present, although they throw a deprecation diff --git a/lib/puppet/metatype/providers.rb b/lib/puppet/metatype/providers.rb index a4dd402a0..33506e06f 100644 --- a/lib/puppet/metatype/providers.rb +++ b/lib/puppet/metatype/providers.rb @@ -150,7 +150,7 @@ class Puppet::Type Puppet::Type::Provider end - options[:model] ||= self + options[:resource_type] ||= self self.providify @@ -171,7 +171,6 @@ class Puppet::Type # are providers. def self.providify return if @paramhash.has_key? :provider - model = self mkprovider_list() newparam(:provider) do diff --git a/lib/puppet/parameter.rb b/lib/puppet/parameter.rb index 55fa2d508..bf50030f3 100644 --- a/lib/puppet/parameter.rb +++ b/lib/puppet/parameter.rb @@ -327,11 +327,6 @@ class Puppet::Parameter < Puppet::Element return tmp end - def parent - puts caller - raise "called parent" - end - # return the full path to us, for logging and rollback; not currently # used def pathbuilder diff --git a/lib/puppet/provider.rb b/lib/puppet/provider.rb index 03325b4d5..5ab2657ba 100644 --- a/lib/puppet/provider.rb +++ b/lib/puppet/provider.rb @@ -2,6 +2,8 @@ class Puppet::Provider include Puppet::Util include Puppet::Util::Errors + include Puppet::Util::Warnings + extend Puppet::Util::Warnings Puppet::Util.logmethods(self, true) @@ -10,11 +12,15 @@ class Puppet::Provider include Puppet::Util, Puppet::Util::Docs include Puppet::Util::Logging attr_accessor :name + # LAK 2007-05-09: Keep the model stuff around for backward compatibility attr_reader :model + attr_accessor :resource_type attr_writer :doc end - attr_accessor :model + # LAK 2007-05-09: Keep the model stuff around for backward compatibility + attr_reader :model + attr_accessor :resource def self.command(name) name = symbolize(name) @@ -125,11 +131,19 @@ class Puppet::Provider end end - # Create getter/setter methods for each property our model supports. + # Create getter/setter methods for each property our resource type supports. # They all get stored in @property_hash. This method is useful # for those providers that use prefetch and flush. def self.mkmodelmethods - [model.validproperties, model.parameters].flatten.each do |attr| + warnonce "Provider.mkmodelmethods is deprecated; use Provider.mk_resource_methods" + mk_resource_methods + end + + # Create getter/setter methods for each property our resource type supports. + # They all get stored in @property_hash. This method is useful + # for those providers that use prefetch and flush. + def self.mk_resource_methods + [resource_type.validproperties, resource_type.parameters].flatten.each do |attr| attr = symbolize(attr) define_method(attr) do @property_hash[attr] || :absent @@ -141,16 +155,6 @@ class Puppet::Provider end end - # Add the feature module immediately, so its methods are available to the - # providers. - def self.model=(model) - @model = model - #if mod = model.feature_module - # extend(mod) - # include(mod) - #end - end - self.initvars # Define one or more binaries we'll be using. If a block is passed, yield the name @@ -246,8 +250,8 @@ class Puppet::Provider if param.is_a?(Class) klass = param else - unless klass = @model.attrclass(param) - raise Puppet::DevError, "'%s' is not a valid parameter for %s" % [param, @model.name] + unless klass = resource_type.attrclass(param) + raise Puppet::DevError, "'%s' is not a valid parameter for %s" % [param, resource_type.name] end end return true unless features = klass.required_features @@ -261,8 +265,8 @@ class Puppet::Provider def self.to_s unless defined? @str - if self.model - @str = "%s provider %s" % [@model.name, self.name] + if self.resource_type + @str = "%s provider %s" % [resource_type.name, self.name] else @str = "unattached provider %s" % [self.name] end @@ -294,8 +298,9 @@ class Puppet::Provider end end - # Remove the reference to the model, so GC can clean up. + # Remove the reference to the resource, so GC can clean up. def clear + @resource = nil @model = nil end @@ -304,17 +309,20 @@ class Puppet::Provider self.class.command(name) end - def initialize(model) - @model = model + def initialize(resource) + @resource = resource + + # LAK 2007-05-09: Keep the model stuff around for backward compatibility + @model = resource @property_hash = {} end def name - @model.name + @resource.name end def to_s - "%s(provider=%s)" % [@model.to_s, self.class.name] + "%s(provider=%s)" % [@resource.to_s, self.class.name] end end diff --git a/lib/puppet/provider/cron/crontab.rb b/lib/puppet/provider/cron/crontab.rb index 017744435..23fa9201c 100755 --- a/lib/puppet/provider/cron/crontab.rb +++ b/lib/puppet/provider/cron/crontab.rb @@ -85,7 +85,7 @@ Puppet::Type.type(:cron).provide(:crontab, # See if we can match the hash against an existing cron job. def self.match(hash) - model.find_all { |obj| + resource_type.find_all { |obj| obj.value(:user) == hash[:user] and obj.value(:command) == hash[:command] }.each do |obj| # we now have a cron job whose command exactly matches diff --git a/lib/puppet/provider/group/groupadd.rb b/lib/puppet/provider/group/groupadd.rb index c37bdb933..b41ff6f93 100644 --- a/lib/puppet/provider/group/groupadd.rb +++ b/lib/puppet/provider/group/groupadd.rb @@ -12,15 +12,15 @@ Puppet::Type.type(:group).provide :groupadd, :parent => Puppet::Provider::NameSe def addcmd cmd = [command(:add)] - if gid = @model.should(:gid) + if gid = @resource.should(:gid) unless gid == :absent cmd << flag(:gid) << gid end end - if @model[:allowdupe] == :true + if @resource[:allowdupe] == :true cmd << "-o" end - cmd << @model[:name] + cmd << @resource[:name] return cmd end diff --git a/lib/puppet/provider/group/pw.rb b/lib/puppet/provider/group/pw.rb index 8011357b5..d2b9611b1 100644 --- a/lib/puppet/provider/group/pw.rb +++ b/lib/puppet/provider/group/pw.rb @@ -11,8 +11,8 @@ Puppet::Type.type(:group).provide :pw, :parent => Puppet::Provider::NameService: end def addcmd - cmd = [command(:pw), "groupadd", @model[:name]] - if gid = @model.should(:gid) + cmd = [command(:pw), "groupadd", @resource[:name]] + if gid = @resource.should(:gid) unless gid == :absent cmd << flag(:gid) << gid end diff --git a/lib/puppet/provider/mount.rb b/lib/puppet/provider/mount.rb index cdae61f83..d270261ec 100644 --- a/lib/puppet/provider/mount.rb +++ b/lib/puppet/provider/mount.rb @@ -14,15 +14,15 @@ module Puppet::Provider::Mount if self.options and self.options != :absent args << "-o" << self.options end - args << @model[:name] + args << @resource[:name] mountcmd(*args) end def remount info "Remounting" - if @model[:remounts] == :true - mountcmd "-o", "remount", @model[:name] + if @resource[:remounts] == :true + mountcmd "-o", "remount", @resource[:name] else unmount() mount() @@ -31,7 +31,7 @@ module Puppet::Provider::Mount # This only works when the mount point is synced to the fstab. def unmount - umount @model[:name] + umount @resource[:name] end # Is the mount currently mounted? @@ -45,10 +45,10 @@ module Puppet::Provider::Mount execute(df).split("\n").find do |line| fs = line.split(/\s+/)[-1] if platform == "Darwin" - fs == "/private/var/automount" + @model[:name] or - fs == @model[:name] + fs == "/private/var/automount" + @resource[:name] or + fs == @resource[:name] else - fs == @model[:name] + fs == @resource[:name] end end end diff --git a/lib/puppet/provider/mount/netinfo.rb b/lib/puppet/provider/mount/netinfo.rb index bd1d451c0..ca3aee107 100644 --- a/lib/puppet/provider/mount/netinfo.rb +++ b/lib/puppet/provider/mount/netinfo.rb @@ -19,18 +19,18 @@ require 'puppet/provider/mount' # # defaultfor :operatingsystem => :darwin # -# def initialize(model) +# def initialize(resource) # warning "The NetInfo mount provider is highly experimental. Use at your own risk." # super # end # # def mount # cmd = [] -# if opts = @model.should(:options) +# if opts = @resource.should(:options) # cmd << opts # end -# cmd << @model.should(:device) -# cmd << @model[:name] +# cmd << @resource.should(:device) +# cmd << @resource[:name] # mountcmd cmd # end # end diff --git a/lib/puppet/provider/nameservice.rb b/lib/puppet/provider/nameservice.rb index 9b4d34ddb..8e01bfe21 100644 --- a/lib/puppet/provider/nameservice.rb +++ b/lib/puppet/provider/nameservice.rb @@ -29,12 +29,12 @@ class Puppet::Provider::NameService < Puppet::Provider objects = [] listbyname do |name| obj = nil - check = model.validproperties - if obj = model[name] + check = resource_type.validproperties + if obj = resource_type[name] obj[:check] = check else # unless it exists, create it as an unmanaged object - obj = model.create(:name => name, :check => check) + obj = resource_type.create(:name => name, :check => check) end next unless obj # In case there was an error somewhere @@ -56,9 +56,9 @@ class Puppet::Provider::NameService < Puppet::Provider end def options(name, hash) - unless model.validattr?(name) + unless resource_type.validattr?(name) raise Puppet::DevError, "%s is not a valid attribute for %s" % - [name, model.name] + [name, resource_type.name] end @options ||= {} @options[name] ||= {} @@ -89,9 +89,9 @@ class Puppet::Provider::NameService < Puppet::Provider return names end - def model=(model) + def resource_type=(resource_type) super - @model.validproperties.each do |prop| + @resource_type.validproperties.each do |prop| next if prop == :ensure unless public_method_defined?(prop) define_method(prop) { get(prop) || :absent} @@ -105,13 +105,13 @@ class Puppet::Provider::NameService < Puppet::Provider # This is annoying, but there really aren't that many options, # and this *is* built into Ruby. def section - unless defined? @model + unless defined? @resource_type raise Puppet::DevError, - "Cannot determine Etc section without a model" + "Cannot determine Etc section without a resource type" end - if @model.name == :group + if @resource_type.name == :group "gr" else "pw" @@ -146,7 +146,7 @@ class Puppet::Provider::NameService < Puppet::Provider def autogen(field) field = symbolize(field) id_generators = {:user => :uid, :group => :gid} - if id_generators[@model.class.name] == field + if id_generators[@resource.class.name] == field return autogen_id(field) else if value = self.class.autogen_default(field) @@ -165,11 +165,11 @@ class Puppet::Provider::NameService < Puppet::Provider highest = 0 group = method = nil - case @model.class.name + case @resource.class.name when :user: group = :passwd; method = :uid when :group: group = :group; method = :gid else - raise Puppet::DevError, "Invalid model name %s" % model + raise Puppet::DevError, "Invalid resource name %s" % resource end # Make sure we don't use the same value multiple times @@ -239,7 +239,7 @@ class Puppet::Provider::NameService < Puppet::Provider execute(cmd) rescue Puppet::ExecutionFailure => detail raise Puppet::Error, "Could not %s %s %s: %s" % - [type, @model.class.name, @model.name, detail] + [type, @resource.class.name, @resource.name, detail] end end @@ -266,7 +266,7 @@ class Puppet::Provider::NameService < Puppet::Provider if @objectinfo.nil? or refresh == true @etcmethod ||= ("get" + self.class.section().to_s + "nam").intern begin - @objectinfo = Etc.send(@etcmethod, @model[:name]) + @objectinfo = Etc.send(@etcmethod, @resource[:name]) rescue ArgumentError => detail @objectinfo = nil end @@ -288,7 +288,7 @@ class Puppet::Provider::NameService < Puppet::Provider # Reset our group list Etc.setgrent - user = @model[:name] + user = @resource[:name] # Now iterate across all of the groups, adding each one our # user is a member of @@ -310,7 +310,7 @@ class Puppet::Provider::NameService < Puppet::Provider # Convert the Etc struct into a hash. def info2hash(info) hash = {} - self.class.model.validproperties.each do |param| + self.class.resource_type.validproperties.each do |param| method = posixmethod(param) if info.respond_to? method hash[param] = info.send(posixmethod(param)) @@ -320,7 +320,7 @@ class Puppet::Provider::NameService < Puppet::Provider return hash end - def initialize(model) + def initialize(resource) super @objectinfo = nil @@ -336,7 +336,7 @@ class Puppet::Provider::NameService < Puppet::Provider execute(cmd) rescue Puppet::ExecutionFailure => detail raise Puppet::Error, "Could not set %s on %s[%s]: %s" % - [param, @model.class.name, @model.name, detail] + [param, @resource.class.name, @resource.name, detail] end end end diff --git a/lib/puppet/provider/nameservice/netinfo.rb b/lib/puppet/provider/nameservice/netinfo.rb index 134ef37e9..c44f105e8 100644 --- a/lib/puppet/provider/nameservice/netinfo.rb +++ b/lib/puppet/provider/nameservice/netinfo.rb @@ -32,7 +32,7 @@ class NetInfo < Puppet::Provider::NameService if defined? @netinfodir return @netinfodir else - return @model.name.to_s + "s" + return @resource_type.name.to_s + "s" end end @@ -62,8 +62,8 @@ class NetInfo < Puppet::Provider::NameService end def self.list - report(@model.validproperties).collect do |hash| - @model.hash2obj(hash) + report(@resource_type.validproperties).collect do |hash| + @resource_type.hash2obj(hash) end end @@ -118,7 +118,7 @@ class NetInfo < Puppet::Provider::NameService cmd = [command(:niutil)] cmd << arg - cmd << "/" << "/%s/%s" % [self.class.netinfodir(), @model[:name]] + cmd << "/" << "/%s/%s" % [self.class.netinfodir(), @resource[:name]] return cmd end @@ -136,9 +136,9 @@ class NetInfo < Puppet::Provider::NameService # Because our stupid type can't create the whole thing at once, # we have to do this hackishness. Yay. if arg == :present - @model.class.validproperties.each do |name| + @resource.class.validproperties.each do |name| next if name == :ensure - next unless val = @model.should(name) || autogen(name) + next unless val = @resource.should(name) || autogen(name) self.send(name.to_s + "=", val) end end @@ -157,7 +157,7 @@ class NetInfo < Puppet::Provider::NameService # Retrieve everything about this object at once, instead of separately. def getinfo(refresh = false) if refresh or (! defined? @infohash or ! @infohash) - properties = [:name] + self.class.model.validproperties + properties = [:name] + self.class.resource_type.validproperties properties.delete(:ensure) if properties.include? :ensure @infohash = single_report(*properties) end @@ -171,7 +171,7 @@ class NetInfo < Puppet::Provider::NameService # warning "Netinfo providers cannot currently handle multiple values" # end - cmd << "-createprop" << "/" << "/%s/%s" % [self.class.netinfodir, @model[:name]] + cmd << "-createprop" << "/" << "/%s/%s" % [self.class.netinfodir, @resource[:name]] value = [value] unless value.is_a?(Array) if key = netinfokey(param) @@ -192,7 +192,7 @@ class NetInfo < Puppet::Provider::NameService # Get a report for a single resource, not the whole table def single_report(*properties) - self.class.report(*properties).find do |hash| hash[:name] == @model[:name] end + self.class.report(*properties).find do |hash| hash[:name] == @resource[:name] end end def setuserlist(group, list) diff --git a/lib/puppet/provider/nameservice/objectadd.rb b/lib/puppet/provider/nameservice/objectadd.rb index af099289f..f7865185d 100644 --- a/lib/puppet/provider/nameservice/objectadd.rb +++ b/lib/puppet/provider/nameservice/objectadd.rb @@ -12,7 +12,7 @@ class ObjectAdd < Puppet::Provider::NameService end def deletecmd - [command(:delete), @model[:name]] + [command(:delete), @resource[:name]] end # Determine the flag to pass to our command. @@ -25,10 +25,10 @@ class ObjectAdd < Puppet::Provider::NameService cmd = [command(:modify), flag(param), value] - if @model[:allowdupe] == :true + if @resource[:allowdupe] == :true cmd << "-o" end - cmd << @model[:name] + cmd << @resource[:name] return cmd end diff --git a/lib/puppet/provider/nameservice/pw.rb b/lib/puppet/provider/nameservice/pw.rb index 72d7628e6..0ee9d1d2c 100644 --- a/lib/puppet/provider/nameservice/pw.rb +++ b/lib/puppet/provider/nameservice/pw.rb @@ -3,14 +3,14 @@ require 'puppet/provider/nameservice/objectadd' class Puppet::Provider::NameService class PW < ObjectAdd def deletecmd - [command(:pw), "#{@model.class.name.to_s}del", @model[:name]] + [command(:pw), "#{@resource.class.name.to_s}del", @resource[:name]] end def modifycmd(param, value) cmd = [ command(:pw), - "#{@model.class.name.to_s}mod", - @model[:name], + "#{@resource.class.name.to_s}mod", + @resource[:name], flag(param), value ] diff --git a/lib/puppet/provider/package/apple.rb b/lib/puppet/provider/package/apple.rb index e34820b55..ce845670f 100755 --- a/lib/puppet/provider/package/apple.rb +++ b/lib/puppet/provider/package/apple.rb @@ -33,8 +33,8 @@ Puppet::Type.type(:package).provide :apple do end def query - if FileTest.exists?("/Library/Receipts/#{@model[:name]}.pkg") - return {:name => @model[:name], :ensure => :present} + if FileTest.exists?("/Library/Receipts/#{@resource[:name]}.pkg") + return {:name => @resource[:name], :ensure => :present} else return nil end @@ -42,7 +42,7 @@ Puppet::Type.type(:package).provide :apple do def install source = nil - unless source = @model[:source] + unless source = @resource[:source] self.fail "Mac OS X packages must specify a package source" end diff --git a/lib/puppet/provider/package/apt.rb b/lib/puppet/provider/package/apt.rb index 034a406f1..81b7c9a12 100755 --- a/lib/puppet/provider/package/apt.rb +++ b/lib/puppet/provider/package/apt.rb @@ -31,7 +31,7 @@ Puppet::Type.type(:package).provide :apt, :parent => :dpkg do end end - if @@checkedforcdrom and @model[:allowcdrom] != :true + if @@checkedforcdrom and @resource[:allowcdrom] != :true raise Puppet::Error, "/etc/apt/sources.list contains a cdrom source; not installing. Use 'allowcdrom' to override this failure." end @@ -40,14 +40,14 @@ Puppet::Type.type(:package).provide :apt, :parent => :dpkg do # Install a package using 'apt-get'. This function needs to support # installing a specific version. def install - if @model[:responsefile] + if @resource[:responsefile] self.run_preseed end - should = @model.should(:ensure) + should = @resource.should(:ensure) checkforcdrom() - str = @model[:name] + str = @resource[:name] case should when true, false, Symbol # pass @@ -58,7 +58,7 @@ Puppet::Type.type(:package).provide :apt, :parent => :dpkg do cmd = %w{-q -y} keep = "" - if config = @model[:configfiles] + if config = @resource[:configfiles] case config when :keep cmd << "-o" << 'DPkg::Options::=--force-confold' @@ -76,7 +76,7 @@ Puppet::Type.type(:package).provide :apt, :parent => :dpkg do # What's the latest package version available? def latest - output = aptcache :policy, @model[:name] + output = aptcache :policy, @resource[:name] if output =~ /Candidate:\s+(\S+)\s/ return $1 @@ -90,7 +90,7 @@ Puppet::Type.type(:package).provide :apt, :parent => :dpkg do # preseeds answers to dpkg-set-selection from the "responsefile" # def run_preseed - if response = @model[:responsefile] and FileTest.exists?(response) + if response = @resource[:responsefile] and FileTest.exists?(response) self.info("Preseeding %s to debconf-set-selections" % response) preseed response @@ -104,11 +104,11 @@ Puppet::Type.type(:package).provide :apt, :parent => :dpkg do end def uninstall - aptget "-y", "-q", :remove, @model[:name] + aptget "-y", "-q", :remove, @resource[:name] end def purge - aptget '-y', '-q', 'remove', '--purge', @model[:name] + aptget '-y', '-q', 'remove', '--purge', @resource[:name] end def versionable? diff --git a/lib/puppet/provider/package/aptitude.rb b/lib/puppet/provider/package/aptitude.rb index c4f8023d2..32dd37627 100755 --- a/lib/puppet/provider/package/aptitude.rb +++ b/lib/puppet/provider/package/aptitude.rb @@ -23,7 +23,7 @@ Puppet::Type.type(:package).provide :aptitude, :parent => :apt do end def purge - aptitude '-y', 'purge', @model[:name] + aptitude '-y', 'purge', @resource[:name] end end diff --git a/lib/puppet/provider/package/aptrpm.rb b/lib/puppet/provider/package/aptrpm.rb index 919236365..89a309857 100644 --- a/lib/puppet/provider/package/aptrpm.rb +++ b/lib/puppet/provider/package/aptrpm.rb @@ -11,9 +11,9 @@ Puppet::Type.type(:package).provide :aptrpm, :parent => :rpm do # Install a package using 'apt-get'. This function needs to support # installing a specific version. def install - should = @model.should(:ensure) + should = @resource.should(:ensure) - str = @model[:name] + str = @resource[:name] case should when true, false, Symbol # pass @@ -30,7 +30,7 @@ Puppet::Type.type(:package).provide :aptrpm, :parent => :rpm do # What's the latest package version available? def latest - output = aptcache :showpkg, @model[:name] + output = aptcache :showpkg, @resource[:name] if output =~ /Versions:\s*\n((\n|.)+)^$/ versions = $1 @@ -64,11 +64,11 @@ Puppet::Type.type(:package).provide :aptrpm, :parent => :rpm do end def uninstall - aptget "-y", "-q", 'remove', @model[:name] + aptget "-y", "-q", 'remove', @resource[:name] end def purge - aptget '-y', '-q', 'remove', '--purge', @model[:name] + aptget '-y', '-q', 'remove', '--purge', @resource[:name] end def versionable? diff --git a/lib/puppet/provider/package/blastwave.rb b/lib/puppet/provider/package/blastwave.rb index e8a925b2c..9f544dbd5 100755 --- a/lib/puppet/provider/package/blastwave.rb +++ b/lib/puppet/provider/package/blastwave.rb @@ -86,28 +86,28 @@ Puppet::Type.type(:package).provide :blastwave, :parent => :sun do end def install - pkgget "-f", :install, @model[:name] + pkgget "-f", :install, @resource[:name] end # Retrieve the version from the current package file. def latest - hash = self.class.blastlist(:justme => @model[:name]) + hash = self.class.blastlist(:justme => @resource[:name]) hash[:avail] end def query - hash = self.class.blastlist(:justme => @model[:name]) + hash = self.class.blastlist(:justme => @resource[:name]) {:ensure => hash[:ensure]} end # Remove the old package, and install the new one def update - pkgget "-f", :upgrade, @model[:name] + pkgget "-f", :upgrade, @resource[:name] end def uninstall - pkgget "-f", :remove, @model[:name] + pkgget "-f", :remove, @resource[:name] end end diff --git a/lib/puppet/provider/package/darwinport.rb b/lib/puppet/provider/package/darwinport.rb index adc722a66..70e6ed388 100755 --- a/lib/puppet/provider/package/darwinport.rb +++ b/lib/puppet/provider/package/darwinport.rb @@ -43,19 +43,19 @@ Puppet::Type.type(:package).provide :darwinport do end def install - should = @model.should(:ensure) + should = @resource.should(:ensure) # Seems like you can always say 'upgrade' - output = port "upgrade", @model[:name] + output = port "upgrade", @resource[:name] if output =~ /^Error: No port/ - raise Puppet::ExecutionFailure, "Could not find package %s" % @model[:name] + raise Puppet::ExecutionFailure, "Could not find package %s" % @resource[:name] end end def query version = nil self.class.eachpkgashash do |hash| - if hash[:name] == @model[:name] + if hash[:name] == @resource[:name] return hash end end @@ -64,7 +64,7 @@ Puppet::Type.type(:package).provide :darwinport do end def latest - info = port :search, "^#{@model[:name]}$" + info = port :search, "^#{@resource[:name]}$" if $? != 0 or info =~ /^Error/ return nil @@ -77,7 +77,7 @@ Puppet::Type.type(:package).provide :darwinport do end def uninstall - port :uninstall, @model[:name] + port :uninstall, @resource[:name] end def update diff --git a/lib/puppet/provider/package/dpkg.rb b/lib/puppet/provider/package/dpkg.rb index 53b23ad64..45b351351 100755 --- a/lib/puppet/provider/package/dpkg.rb +++ b/lib/puppet/provider/package/dpkg.rb @@ -41,7 +41,7 @@ Puppet::Type.type(:package).provide :dpkg do end def install - unless file = @model[:source] + unless file = @resource[:source] raise ArgumentError, "You cannot install dpkg packages without a source" end dpkg "-i", file @@ -57,12 +57,12 @@ Puppet::Type.type(:package).provide :dpkg do # list out our specific package begin output = dpkgquery("-W", "--showformat", - '${Status} ${Package} ${Version}\\n', @model[:name] + '${Status} ${Package} ${Version}\\n', @resource[:name] ) rescue Puppet::ExecutionFailure # dpkg-query exits 1 if the package is not found. return {:ensure => :absent, :status => 'missing', - :name => @model[:name], :error => 'ok'} + :name => @resource[:name], :error => 'ok'} end # Our regex for matching dpkg-query output. We could probably just @@ -79,7 +79,7 @@ Puppet::Type.type(:package).provide :dpkg do else notice "Failed to handle dpkg-query line %s" % line.inspect return {:ensure => :absent, :status => 'missing', - :name => @model[:name], :error => 'ok'} + :name => @resource[:name], :error => 'ok'} end if hash[:error] != "ok" @@ -98,11 +98,11 @@ Puppet::Type.type(:package).provide :dpkg do end def uninstall - dpkg "-r", @model[:name] + dpkg "-r", @resource[:name] end def purge - dpkg "--purge", @model[:name] + dpkg "--purge", @resource[:name] end end diff --git a/lib/puppet/provider/package/freebsd.rb b/lib/puppet/provider/package/freebsd.rb index f1649efa4..e9fbf6a4c 100755 --- a/lib/puppet/provider/package/freebsd.rb +++ b/lib/puppet/provider/package/freebsd.rb @@ -16,19 +16,19 @@ Puppet::Type.type(:package).provide :freebsd, :parent => :openbsd do end def install - should = @model.should(:ensure) + should = @resource.should(:ensure) - if @model[:source] + if @resource[:source] return super end - pkgadd "-r", @model[:name] + pkgadd "-r", @resource[:name] end def query self.class.list - if @model.is(:ensure) + if @resource.is(:ensure) return :listed else return nil @@ -36,7 +36,7 @@ Puppet::Type.type(:package).provide :freebsd, :parent => :openbsd do end def uninstall - pkgdelete "%s-%s" % [@model[:name], @model.should(:ensure)] + pkgdelete "%s-%s" % [@resource[:name], @resource.should(:ensure)] end end diff --git a/lib/puppet/provider/package/gem.rb b/lib/puppet/provider/package/gem.rb index d68031826..572069e9b 100755 --- a/lib/puppet/provider/package/gem.rb +++ b/lib/puppet/provider/package/gem.rb @@ -62,16 +62,16 @@ Puppet::Type.type(:package).provide :gem do def install(useversion = true) command = ["install"] - if (! @model.should(:ensure).is_a? Symbol) and useversion - command << "-v" << @model.should(:ensure) + if (! @resource.should(:ensure).is_a? Symbol) and useversion + command << "-v" << @resource.should(:ensure) end # Always include dependencies command << "--include-dependencies" - if source = @model[:source] + if source = @resource[:source] command << source else - command << @model[:name] + command << @resource[:name] end gemcmd(*command) @@ -79,17 +79,17 @@ Puppet::Type.type(:package).provide :gem do def latest # This always gets the latest version available. - hash = self.class.gemlist(:justme => @model[:name]) + hash = self.class.gemlist(:justme => @resource[:name]) return hash[:ensure] end def query - self.class.gemlist(:justme => @model[:name], :local => true) + self.class.gemlist(:justme => @resource[:name], :local => true) end def uninstall - gemcmd "uninstall", "-x", "-a", @model[:name] + gemcmd "uninstall", "-x", "-a", @resource[:name] end def update diff --git a/lib/puppet/provider/package/openbsd.rb b/lib/puppet/provider/package/openbsd.rb index 2d1b6d07d..e910a41ba 100755 --- a/lib/puppet/provider/package/openbsd.rb +++ b/lib/puppet/provider/package/openbsd.rb @@ -56,22 +56,22 @@ Puppet::Type.type(:package).provide :openbsd do end def install - should = @model.should(:ensure) + should = @resource.should(:ensure) - unless @model[:source] + unless @resource[:source] raise Puppet::Error, "You must specify a package source for BSD packages" end - pkgadd @model[:source] + pkgadd @resource[:source] end def query hash = {} - info = pkginfo @model[:name] + info = pkginfo @resource[:name] # Search for the version info - if info =~ /Information for #{@model[:name]}-(\S+)/ + if info =~ /Information for #{@resource[:name]}-(\S+)/ hash[:ensure] = $1 else return nil @@ -86,7 +86,7 @@ Puppet::Type.type(:package).provide :openbsd do end def uninstall - pkgdelete @model[:name] + pkgdelete @resource[:name] end end diff --git a/lib/puppet/provider/package/pkgdmg.rb b/lib/puppet/provider/package/pkgdmg.rb index c57f8a890..e3d211fef 100644 --- a/lib/puppet/provider/package/pkgdmg.rb +++ b/lib/puppet/provider/package/pkgdmg.rb @@ -97,8 +97,8 @@ Puppet::Type.type(:package).provide :pkgdmg do end # def self.installpkgdmg def query - if FileTest.exists?("/var/db/.puppet_pkgdmg_installed_#{@model[:name]}") - return {:name => @model[:name], :ensure => :present} + if FileTest.exists?("/var/db/.puppet_pkgdmg_installed_#{@resource[:name]}") + return {:name => @resource[:name], :ensure => :present} else return nil end @@ -106,10 +106,10 @@ Puppet::Type.type(:package).provide :pkgdmg do def install source = nil - unless source = @model[:source] + unless source = @resource[:source] self.fail "Mac OS X PKG DMG's must specify a package source." end - unless name = @model[:name] + unless name = @resource[:name] self.fail "Mac OS X PKG DMG's must specify a package name." end self.class.installpkgdmg(source,name) diff --git a/lib/puppet/provider/package/portage.rb b/lib/puppet/provider/package/portage.rb index 4c1655495..32a664e1b 100644 --- a/lib/puppet/provider/package/portage.rb +++ b/lib/puppet/provider/package/portage.rb @@ -37,7 +37,7 @@ Puppet::Type.type(:package).provide :portage do end def install - should = @model.should(:ensure) + should = @resource.should(:ensure) name = package_name unless should == :present or should == :latest # We must install a specific version @@ -48,7 +48,7 @@ Puppet::Type.type(:package).provide :portage do # The common package name format. def package_name - "%s/%s" % [@model[:category], @model[:name]] + "%s/%s" % [@resource[:category], @resource[:name]] end def uninstall @@ -63,8 +63,8 @@ Puppet::Type.type(:package).provide :portage do result_format = /(\S+) (\S+) \[(.*)\] \[[^0-9]*([^\s:]*)(:\S*)?\] ([\S]*) (.*)/ result_fields = [:category, :name, :ensure, :version_available, :slot, :vendor, :description] - search_field = @model[:category] ? "--category-name" : "--name" - search_value = @model[:category] ? package_name : @model[:name] + search_field = @resource[:category] ? "--category-name" : "--name" + search_value = @resource[:category] ? package_name : @resource[:name] search_format = "<category> <name> [<installedversionsshort>] [<best>] <homepage> <description>" begin @@ -88,7 +88,7 @@ Puppet::Type.type(:package).provide :portage do case packages.size when 0 - not_found_value = "%s/%s" % [@model[:category] ? @model[:category] : "<unspecified category>", @model[:name]] + not_found_value = "%s/%s" % [@resource[:category] ? @resource[:category] : "<unspecified category>", @resource[:name]] raise Puppet::PackageError.new("No package found with the specified name [#{not_found_value}]") when 1 return packages[0] diff --git a/lib/puppet/provider/package/ports.rb b/lib/puppet/provider/package/ports.rb index 685479285..76eed9c2a 100755 --- a/lib/puppet/provider/package/ports.rb +++ b/lib/puppet/provider/package/ports.rb @@ -19,17 +19,17 @@ Puppet::Type.type(:package).provide :ports, :parent => :freebsd do # -p: create a package # -N: install if the package is missing, otherwise upgrade # -P: prefer binary packages - cmd = %w{-p -N -P} << @model[:name] + cmd = %w{-p -N -P} << @resource[:name] output = portupgrade(*cmd) if output =~ /\*\* No such / - raise Puppet::ExecutionFailure, "Could not find package %s" % @model[:name] + raise Puppet::ExecutionFailure, "Could not find package %s" % @resource[:name] end end # If there are multiple packages, we only use the last one def latest - cmd = ["-v", @model[:name]] + cmd = ["-v", @resource[:name]] begin output = portversion(*cmd) @@ -75,7 +75,7 @@ Puppet::Type.type(:package).provide :ports, :parent => :freebsd do def query self.class.list - if @model.is(:ensure) and @model.is(:ensure) != :absent + if @resource.is(:ensure) and @resource.is(:ensure) != :absent return :listed else return nil @@ -83,7 +83,7 @@ Puppet::Type.type(:package).provide :ports, :parent => :freebsd do end def uninstall - portuninstall @model[:name] + portuninstall @resource[:name] end def update diff --git a/lib/puppet/provider/package/rpm.rb b/lib/puppet/provider/package/rpm.rb index 894f2b450..abd9fa022 100755 --- a/lib/puppet/provider/package/rpm.rb +++ b/lib/puppet/provider/package/rpm.rb @@ -47,7 +47,7 @@ Puppet::Type.type(:package).provide :rpm do # a hash with entries :instance => fully versioned package name, and # :ensure => version-release def query - cmd = ["-q", @model[:name], "--nosignature", "--nodigest", "--qf", "#{NVRFORMAT} #{VERSIONSTRING}\n"] + cmd = ["-q", @resource[:name], "--nosignature", "--nodigest", "--qf", "#{NVRFORMAT} #{VERSIONSTRING}\n"] begin output = rpm(*cmd) @@ -75,29 +75,29 @@ Puppet::Type.type(:package).provide :rpm do # Here we just retrieve the version from the file specified in the source. def latest - unless source = @model[:source] - @model.fail "RPMs must specify a package source" + unless source = @resource[:source] + @resource.fail "RPMs must specify a package source" end - cmd = [command(:rpm), "-q", "--qf", "#{VERSIONSTRING}", "-p", "#{@model[:source]}"] + cmd = [command(:rpm), "-q", "--qf", "#{VERSIONSTRING}", "-p", "#{@resource[:source]}"] version = execfail(cmd, Puppet::Error) return version end def install source = nil - unless source = @model[:source] - @model.fail "RPMs must specify a package source" + unless source = @resource[:source] + @resource.fail "RPMs must specify a package source" end - if @model.should(:ensure) == @model.is(:ensure) || - @model.should(:ensure) == :latest && @model.is(:ensure) == latest + if @resource.should(:ensure) == @resource.is(:ensure) || + @resource.should(:ensure) == :latest && @resource.is(:ensure) == latest # RPM gets pissy if you try to install an already # installed package return end flag = "-i" - if @model.is(:ensure) != :absent + if @resource.is(:ensure) != :absent flag = "-U" end diff --git a/lib/puppet/provider/package/rug.rb b/lib/puppet/provider/package/rug.rb index e6a70ae2a..4916aaec8 100644 --- a/lib/puppet/provider/package/rug.rb +++ b/lib/puppet/provider/package/rug.rb @@ -7,9 +7,9 @@ Puppet.type(:package).provide :rug, :parent => :rpm do # Install a package using 'rug'. def install - should = @model.should(:ensure) + should = @resource.should(:ensure) self.debug "Ensuring => #{should}" - wanted = @model[:name] + wanted = @resource[:name] # XXX: We don't actually deal with epochs here. case should @@ -33,12 +33,12 @@ Puppet.type(:package).provide :rug, :parent => :rpm do #rug can only get a list of *all* available packages? output = rug "list-updates" - if output =~ /#{@model[:name]}\s*\|\s*([0-9\.\-]+)/ + if output =~ /#{@resource[:name]}\s*\|\s*([0-9\.\-]+)/ return $1 else # rug didn't find updates, pretend the current # version is the latest - return @model.is(:ensure) + return @resource.is(:ensure) end end diff --git a/lib/puppet/provider/package/sun.rb b/lib/puppet/provider/package/sun.rb index c9a71e200..ea169548d 100755 --- a/lib/puppet/provider/package/sun.rb +++ b/lib/puppet/provider/package/sun.rb @@ -85,7 +85,7 @@ Puppet::Type.type(:package).provide :sun do if device cmd += " -d #{device}" end - cmd += " #{@model[:name]}" + cmd += " #{@resource[:name]}" begin # list out all of the packages @@ -115,28 +115,28 @@ Puppet::Type.type(:package).provide :sun do end def install - unless @model[:source] + unless @resource[:source] raise Puppet::Error, "Sun packages must specify a package source" end cmd = [] - if @model[:adminfile] - cmd << "-a" << @model[:adminfile] + if @resource[:adminfile] + cmd << "-a" << @resource[:adminfile] end - if @model[:responsefile] - cmd << "-r" << @model[:responsefile] + if @resource[:responsefile] + cmd << "-r" << @resource[:responsefile] end - cmd << "-d" << @model[:source] - cmd << "-n" << @model[:name] + cmd << "-d" << @resource[:source] + cmd << "-n" << @resource[:name] pkgadd cmd end # Retrieve the version from the current package file. def latest - hash = info2hash(@model[:source]) + hash = info2hash(@resource[:source]) hash[:ensure] end @@ -147,18 +147,18 @@ Puppet::Type.type(:package).provide :sun do def uninstall command = ["-n"] - if @model[:adminfile] - command << "-a" << @model[:adminfile] + if @resource[:adminfile] + command << "-a" << @resource[:adminfile] end - command << @model[:name] + command << @resource[:name] pkgrm command end # Remove the old package, and install the new one. This will probably # often fail. def update - if @model.is(:ensure) != :absent + if @resource.is(:ensure) != :absent self.uninstall end self.install diff --git a/lib/puppet/provider/package/up2date.rb b/lib/puppet/provider/package/up2date.rb index c195e18fb..42234e8ab 100644 --- a/lib/puppet/provider/package/up2date.rb +++ b/lib/puppet/provider/package/up2date.rb @@ -9,7 +9,7 @@ Puppet.type(:package).provide :up2date, :parent => :rpm do # Install a package using 'up2date'. def install - up2date "-u", @model[:name] + up2date "-u", @resource[:name] unless self.query raise Puppet::ExecutionFailure.new( @@ -23,12 +23,12 @@ Puppet.type(:package).provide :up2date, :parent => :rpm do #up2date can only get a list of *all* available packages? output = up2date "--show-available" - if output =~ /#{@model[:name]}-(\d+.*)\.\w+/ + if output =~ /#{@resource[:name]}-(\d+.*)\.\w+/ return $1 else # up2date didn't find updates, pretend the current # version is the latest - return @model.is(:ensure) + return @resource.is(:ensure) end end diff --git a/lib/puppet/provider/package/yum.rb b/lib/puppet/provider/package/yum.rb index 262048900..75acb4cae 100755 --- a/lib/puppet/provider/package/yum.rb +++ b/lib/puppet/provider/package/yum.rb @@ -6,11 +6,11 @@ Puppet::Type.type(:package).provide :yum, :parent => :rpm do def install - should = @model.should(:ensure) - self.debug "Ensuring => #{should}" - wanted = @model[:name] + should = @resource.should(:ensure) + self.debug "Ensuring => #{should}" + wanted = @resource[:name] - # XXX: We don't actually deal with epochs here. + # XXX: We don't actually deal with epochs here. case should when true, false, Symbol # pass @@ -30,14 +30,14 @@ Puppet::Type.type(:package).provide :yum, :parent => :rpm do # What's the latest package version available? def latest - output = yum "-d", "0", "-e", "0", :list, :available, @model[:name] + output = yum "-d", "0", "-e", "0", :list, :available, @resource[:name] - if output =~ /^#{@model[:name]}\S+\s+(\S+)\s/ + if output =~ /^#{@resource[:name]}\S+\s+(\S+)\s/ return $1 else # Yum didn't find updates, pretend the current # version is the latest - return @model[:ensure] + return @resource[:ensure] end end diff --git a/lib/puppet/provider/parsedfile.rb b/lib/puppet/provider/parsedfile.rb index 295c69168..3a2acf85f 100755 --- a/lib/puppet/provider/parsedfile.rb +++ b/lib/puppet/provider/parsedfile.rb @@ -8,7 +8,7 @@ require 'puppet/util/fileparsing' # on the provider instance. At this point, the file is written once # for every provider instance. # -# Once the provider prefetches the data, it's the model's job to copy +# Once the provider prefetches the data, it's the resource's job to copy # that data over to the @is variables. class Puppet::Provider::ParsedFile < Puppet::Provider extend Puppet::Util::FileParsing @@ -70,7 +70,7 @@ class Puppet::Provider::ParsedFile < Puppet::Provider flushed = [] @modified.sort { |a,b| a.to_s <=> b.to_s }.uniq.each do |target| - Puppet.debug "Flushing %s provider target %s" % [@model.name, target] + Puppet.debug "Flushing %s provider target %s" % [@resource_type.name, target] flush_target(target) flushed << target end @@ -119,46 +119,46 @@ class Puppet::Provider::ParsedFile < Puppet::Provider end # Override the default method with a lot more functionality. - def self.mkmodelmethods - [model.validproperties, model.parameters].flatten.each do |attr| + def self.mk_resource_methods + [resource_type.validproperties, resource_type.parameters].flatten.each do |attr| attr = symbolize(attr) define_method(attr) do # If it's not a valid field for this record type (which can happen # when different platforms support different fields), then just - # return the should value, so the model shuts up. + # return the should value, so the resource shuts up. if @property_hash[attr] or self.class.valid_attr?(self.class.name, attr) @property_hash[attr] || :absent else - @model.should(attr) + @resource.should(attr) end end define_method(attr.to_s + "=") do |val| # Mark that this target was modified. - modeltarget = @model.should(:target) || self.class.default_target + resourcetarget = @resource.should(:target) || self.class.default_target # If they're the same, then just mark that one as modified - if @property_hash[:target] and @property_hash[:target] == modeltarget - self.class.modified(modeltarget) + if @property_hash[:target] and @property_hash[:target] == resourcetarget + self.class.modified(resourcetarget) else - # Always mark the modeltarget as modified, and if there's + # Always mark the resourcetarget as modified, and if there's # and old property_hash target, mark it as modified and replace # it. - self.class.modified(modeltarget) + self.class.modified(resourcetarget) if @property_hash[:target] self.class.modified(@property_hash[:target]) end - @property_hash[:target] = modeltarget + @property_hash[:target] = resourcetarget end @property_hash[attr] = val end end end - # Always make the model methods. - def self.model=(model) + # Always make the resource methods. + def self.resource_type=(resource) super - mkmodelmethods() + mk_resource_methods() end # Mark a target as modified so we know to flush it. This only gets @@ -170,11 +170,11 @@ class Puppet::Provider::ParsedFile < Puppet::Provider # Retrieve all of the data from disk. There are three ways to know # while files to retrieve: We might have a list of file objects already - # set up, there might be instances of our associated model and they + # set up, there might be instances of our associated resource and they # will have a path parameter set, and we will have a default path # set. We need to turn those three locations into a list of files, # prefetch each one, and make sure they're associated with each appropriate - # model instance. + # resource instance. def self.prefetch # Reset the record list. @records = [] @@ -204,8 +204,8 @@ class Puppet::Provider::ParsedFile < Puppet::Provider # Set current property on any existing resource instances. target_records(target).find_all { |i| i.is_a?(Hash) }.each do |record| - # Find any model instances whose names match our instances. - if instance = self.model[record[:name]] + # Find any resource instances whose names match our instances. + if instance = self.resource_type[record[:name]] next unless instance.provider.is_a?(self) instance.provider.property_hash = record elsif respond_to?(:match) @@ -267,14 +267,14 @@ class Puppet::Provider::ParsedFile < Puppet::Provider # Then get each of the file objects targets += @target_objects.keys - # Lastly, check the file from any model instances - self.model.each do |model| - targets << model.value(:target) + # Lastly, check the file from any resource instances + self.resource_type.each do |resource| + targets << resource.value(:target) # This is only the case for properties, and targets should always # be properties. - #if model.respond_to?(:is) - # targets << model.is(:target) + #if resource.respond_to?(:is) + # targets << resource.is(:target) #end end @@ -288,19 +288,19 @@ class Puppet::Provider::ParsedFile < Puppet::Provider def create - @model.class.validproperties.each do |property| - if value = @model.should(property) + @resource.class.validproperties.each do |property| + if value = @resource.should(property) @property_hash[property] = value end end self.class.modified(@property_hash[:target] || self.class.default_target) - return (@model.class.name.to_s + "_created").intern + return (@resource.class.name.to_s + "_created").intern end def destroy # We use the method here so it marks the target as modified. self.ensure = :absent - return (@model.class.name.to_s + "_deleted").intern + return (@resource.class.name.to_s + "_deleted").intern end def exists? @@ -318,15 +318,15 @@ class Puppet::Provider::ParsedFile < Puppet::Provider # If the target isn't set, then this is our first modification, so # mark it for flushing. unless @property_hash[:target] - @property_hash[:target] = @model.should(:target) || self.class.default_target + @property_hash[:target] = @resource.should(:target) || self.class.default_target self.class.modified(@property_hash[:target]) end - @property_hash[:name] ||= @model.name + @property_hash[:name] ||= @resource.name self.class.flush(@property_hash) end - def initialize(model) + def initialize(resource) super # See if there's already a matching property_hash in the records list; @@ -334,7 +334,7 @@ class Puppet::Provider::ParsedFile < Puppet::Provider # We provide a default for 'ensure' here, because the provider will # override it if the thing exists, but it won't touch it if it doesn't # exist. - @property_hash = self.class.record?(model[:name]) || + @property_hash = self.class.record?(resource[:name]) || {:record_type => self.class.name, :ensure => :absent} end end diff --git a/lib/puppet/provider/service/base.rb b/lib/puppet/provider/service/base.rb index c736c20c2..ad29a24bd 100755 --- a/lib/puppet/provider/service/base.rb +++ b/lib/puppet/provider/service/base.rb @@ -11,16 +11,16 @@ Puppet::Type.type(:service).provide :base do # Get the process ID for a running process. Requires the 'pattern' # parameter. def getpid - unless @model[:pattern] - @model.fail "Either a stop command or a pattern must be specified" + unless @resource[:pattern] + @resource.fail "Either a stop command or a pattern must be specified" end ps = Facter["ps"].value unless ps and ps != "" - @model.fail( + @resource.fail( "You must upgrade Facter to a version that includes 'ps'" ) end - regex = Regexp.new(@model[:pattern]) + regex = Regexp.new(@resource[:pattern]) self.debug "Executing '#{ps}'" IO.popen(ps) { |table| table.each { |line| @@ -36,7 +36,7 @@ Puppet::Type.type(:service).provide :base do # How to restart the process. def restart - if @model[:restart] or self.respond_to?(:restartcmd) + if @resource[:restart] or self.respond_to?(:restartcmd) ucommand(:restart) else self.stop @@ -50,7 +50,7 @@ Puppet::Type.type(:service).provide :base do # happen if, for instance, it has an init script (and thus responds to # 'statuscmd') but does not have 'hasstatus' enabled. def status - if @model[:status] or ( + if @resource[:status] or ( self.respond_to?(:statuscmd) and self.statuscmd ) # Don't fail when the exit status is not 0. @@ -79,8 +79,8 @@ Puppet::Type.type(:service).provide :base do # The command used to start. Generated if the 'binary' argument # is passed. def startcmd - if @model[:binary] - return @model[:binary] + if @resource[:binary] + return @resource[:binary] else raise Puppet::Error, "Services must specify a start command or a binary" @@ -93,7 +93,7 @@ Puppet::Type.type(:service).provide :base do # for the process in the process table. # This method will generally not be overridden by submodules. def stop - if @model[:stop] or self.respond_to?(:stopcmd) + if @resource[:stop] or self.respond_to?(:stopcmd) ucommand(:stop) else pid = getpid @@ -104,7 +104,7 @@ Puppet::Type.type(:service).provide :base do begin output = kill pid rescue Puppet::ExecutionFailure => detail - @model.fail "Could not kill %s, PID %s: %s" % + @resource.fail "Could not kill %s, PID %s: %s" % [self.name, pid, output] end return true @@ -117,14 +117,14 @@ Puppet::Type.type(:service).provide :base do # #565: Services generally produce no output, so squelch them. execute(command, :failonfail => fof, :squelch => true) rescue Puppet::ExecutionFailure => detail - @model.fail "Could not %s %s: %s" % [type, @model.ref, detail] + @resource.fail "Could not %s %s: %s" % [type, @resource.ref, detail] end return nil end # Use either a specified command or the default for our provider. def ucommand(type, fof = true) - if c = @model[type] + if c = @resource[type] cmd = [c] else cmd = self.send("%scmd" % type) diff --git a/lib/puppet/provider/service/debian.rb b/lib/puppet/provider/service/debian.rb index 445108fa9..f7c5f3ced 100755 --- a/lib/puppet/provider/service/debian.rb +++ b/lib/puppet/provider/service/debian.rb @@ -9,11 +9,11 @@ Puppet::Type.type(:service).provide :debian, :parent => :init do # Remove the symlinks def disable - update "-f", @model[:name], "remove" + update "-f", @resource[:name], "remove" end def enabled? - output = update "-n", "-f", @model[:name], "remove" + output = update "-n", "-f", @resource[:name], "remove" # If it's enabled, then it will print output showing removal of # links. @@ -25,7 +25,7 @@ Puppet::Type.type(:service).provide :debian, :parent => :init do end def enable - update @model[:name], "defaults" + update @resource[:name], "defaults" end end diff --git a/lib/puppet/provider/service/gentoo.rb b/lib/puppet/provider/service/gentoo.rb index a4d4a9b85..2dcc3e9c1 100644 --- a/lib/puppet/provider/service/gentoo.rb +++ b/lib/puppet/provider/service/gentoo.rb @@ -10,7 +10,7 @@ Puppet::Type.type(:service).provide :gentoo, :parent => :init do def disable begin - output = update :del, @model[:name], :default + output = update :del, @resource[:name], :default rescue Puppet::ExecutionFailure raise Puppet::Error, "Could not disable %s: %s" % [self.name, output] @@ -24,12 +24,12 @@ Puppet::Type.type(:service).provide :gentoo, :parent => :init do return :false end - line = output.split(/\n/).find { |l| l.include?(@model[:name]) } + line = output.split(/\n/).find { |l| l.include?(@resource[:name]) } return :false unless line # If it's enabled then it will print output showing service | runlevel - if output =~ /#{@model[:name]}\s*|\s*default/ + if output =~ /#{@resource[:name]}\s*|\s*default/ return :true else return :false @@ -38,7 +38,7 @@ Puppet::Type.type(:service).provide :gentoo, :parent => :init do def enable begin - output = update :add, @model[:name], :default + output = update :add, @resource[:name], :default rescue Puppet::ExecutionFailure raise Puppet::Error, "Could not enable %s: %s" % [self.name, output] diff --git a/lib/puppet/provider/service/init.rb b/lib/puppet/provider/service/init.rb index 018aeaae0..c5bcc26eb 100755 --- a/lib/puppet/provider/service/init.rb +++ b/lib/puppet/provider/service/init.rb @@ -87,12 +87,12 @@ Puppet::Type.type(:service).provide :init, :parent => :base do if defined? @initscript return @initscript else - @initscript = self.search(@model[:name]) + @initscript = self.search(@resource[:name]) end end def restart - if @model[:hasrestart] == :true + if @resource[:hasrestart] == :true command = [self.initscript, :restart] texecute("restart", command) else @@ -101,7 +101,7 @@ Puppet::Type.type(:service).provide :init, :parent => :base do end def search(name) - @model[:path].each { |path| + @resource[:path].each { |path| fqname = File.join(path,name) begin stat = File.stat(fqname) @@ -126,7 +126,7 @@ Puppet::Type.type(:service).provide :init, :parent => :base do # we just return that; otherwise, we return false, which causes it to # fallback to other mechanisms. def statuscmd - if @model[:hasstatus] + if @resource[:hasstatus] return [self.initscript, :status] else return false diff --git a/lib/puppet/provider/service/redhat.rb b/lib/puppet/provider/service/redhat.rb index 93cf2fc73..c932bd95f 100755 --- a/lib/puppet/provider/service/redhat.rb +++ b/lib/puppet/provider/service/redhat.rb @@ -19,8 +19,8 @@ Puppet::Type.type(:service).provide :redhat, :parent => :init do # Remove the symlinks def disable begin - output = chkconfig(@model[:name], :off) - output += chkconfig("--del", @model[:name]) + output = chkconfig(@resource[:name], :off) + output += chkconfig("--del", @resource[:name]) rescue Puppet::ExecutionFailure raise Puppet::Error, "Could not disable %s: %s" % [self.name, output] @@ -29,7 +29,7 @@ Puppet::Type.type(:service).provide :redhat, :parent => :init do def enabled? begin - output = chkconfig(@model[:name]) + output = chkconfig(@resource[:name]) rescue Puppet::ExecutionFailure return :false end @@ -47,8 +47,8 @@ Puppet::Type.type(:service).provide :redhat, :parent => :init do # in the init scripts. def enable begin - output = chkconfig("--add", @model[:name]) - output += chkconfig(@model[:name], :on) + output = chkconfig("--add", @resource[:name]) + output += chkconfig(@resource[:name], :on) rescue Puppet::ExecutionFailure => detail raise Puppet::Error, "Could not enable %s: %s" % [self.name, detail] diff --git a/lib/puppet/provider/service/smf.rb b/lib/puppet/provider/service/smf.rb index e2e5c989a..f25f65cd1 100755 --- a/lib/puppet/provider/service/smf.rb +++ b/lib/puppet/provider/service/smf.rb @@ -27,20 +27,20 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do end def restartcmd - [command(:adm), :restart, @model[:name]] + [command(:adm), :restart, @resource[:name]] end def startcmd - [command(:adm), :enable, @model[:name]] + [command(:adm), :enable, @resource[:name]] end def status - if @model[:status] + if @resource[:status] super return end begin - output = svcs "-l", @model[:name] + output = svcs "-l", @resource[:name] rescue Puppet::ExecutionFailure warning "Could not get status on service %s" % self.name return :stopped @@ -78,7 +78,7 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do end def stopcmd - [command(:adm), :disable, @model[:name]] + [command(:adm), :disable, @resource[:name]] end end diff --git a/lib/puppet/provider/user/netinfo.rb b/lib/puppet/provider/user/netinfo.rb index b86ed8c54..01d1dc275 100644 --- a/lib/puppet/provider/user/netinfo.rb +++ b/lib/puppet/provider/user/netinfo.rb @@ -30,7 +30,7 @@ Puppet::Type.type(:user).provide :netinfo, :parent => Puppet::Provider::NameServ end def autogen_comment - return @model[:name].capitalize + return @resource[:name].capitalize end # The list of all groups the user is a member of. Different @@ -38,7 +38,7 @@ Puppet::Type.type(:user).provide :netinfo, :parent => Puppet::Provider::NameServ def groups groups = [] - user = @model[:name] + user = @resource[:name] # Retrieve them all from netinfo open("| #{command(:nireport)} / /groups name users") do |file| file.each do |line| @@ -84,7 +84,7 @@ Puppet::Type.type(:user).provide :netinfo, :parent => Puppet::Provider::NameServ end end - user = @model[:name] + user = @resource[:name] data.each do |name, members| if members.include? user and groups.include? name # I'm in the group and should be diff --git a/lib/puppet/provider/user/pw.rb b/lib/puppet/provider/user/pw.rb index 9b85a22f9..a75850679 100644 --- a/lib/puppet/provider/user/pw.rb +++ b/lib/puppet/provider/user/pw.rb @@ -20,17 +20,17 @@ Puppet::Type.type(:user).provide :pw, :parent => Puppet::Provider::NameService:: end def addcmd - cmd = [command(:pw), "useradd", @model[:name]] - @model.class.validproperties.each do |property| + cmd = [command(:pw), "useradd", @resource[:name]] + @resource.class.validproperties.each do |property| next if property == :ensure # the value needs to be quoted, mostly because -c might # have spaces in it - if value = @model.should(property) and value != "" + if value = @resource.should(property) and value != "" cmd << flag(property) << value end end - if @model[:allowdupe] == :true + if @resource[:allowdupe] == :true cmd << "-o" end diff --git a/lib/puppet/provider/user/useradd.rb b/lib/puppet/provider/user/useradd.rb index 572f5af79..702932e07 100644 --- a/lib/puppet/provider/user/useradd.rb +++ b/lib/puppet/provider/user/useradd.rb @@ -30,33 +30,33 @@ Puppet::Type.type(:user).provide :useradd, :parent => Puppet::Provider::NameServ def addcmd cmd = [command(:add)] - @model.class.validproperties.each do |property| + @resource.class.validproperties.each do |property| next if property == :ensure # the value needs to be quoted, mostly because -c might # have spaces in it - if value = @model.should(property) and value != "" + if value = @resource.should(property) and value != "" cmd << flag(property) << value end end - if @model.allowdupe? + if @resource.allowdupe? cmd << "-o" end - if @model.managehome? + if @resource.managehome? cmd << "-m" elsif %w{Fedora RedHat}.include?(Facter.value("operatingsystem")) cmd << "-M" end - cmd << @model[:name] + cmd << @resource[:name] cmd end # Retrieve the password using the Shadow Password library def password - if ent = Shadow::Passwd.getspnam(@model.name) + if ent = Shadow::Passwd.getspnam(@resource.name) return ent.sp_pwdp else return :absent diff --git a/lib/puppet/provider/zone/solaris.rb b/lib/puppet/provider/zone/solaris.rb index d92a774c1..7ace69047 100644 --- a/lib/puppet/provider/zone/solaris.rb +++ b/lib/puppet/provider/zone/solaris.rb @@ -26,8 +26,8 @@ Puppet::Type.type(:zone).provide(:solaris) do hash = line2hash(line) obj = nil - unless obj = @model[hash[:name]] - obj = @model.create(:name => hash[:name]) + unless obj = @resource[hash[:name]] + obj = @resource.create(:name => hash[:name]) end obj.setstatus(hash) @@ -41,11 +41,11 @@ Puppet::Type.type(:zone).provide(:solaris) do # If the thing is entirely absent, then we need to create the config. str = %{create -b set zonepath=%s -} % @model[:path] +} % @resource[:path] # Then perform all of our configuration steps. It's annoying - # that we need this much internal info on the model. - @model.send(:properties).each do |property| + # that we need this much internal info on the resource. + @resource.send(:properties).each do |property| if property.is_a? ZoneConfigProperty and ! property.insync? str += property.configtext + "\n" end @@ -125,8 +125,8 @@ set zonepath=%s # Execute a configuration string. Can't be private because it's called # by the properties. def setconfig(str) - command = "#{command(:cfg)} -z %s -f -" % @model[:name] - debug "Executing '%s' in zone %s with '%s'" % [command, @model[:name], str] + command = "#{command(:cfg)} -z %s -f -" % @resource[:name] + debug "Executing '%s' in zone %s with '%s'" % [command, @resource[:name], str] IO.popen(command, "w") do |pipe| pipe.puts str end @@ -138,8 +138,8 @@ set zonepath=%s def start # Check the sysidcfg stuff - if cfg = @model[:sysidcfg] - path = File.join(@model[:path], "root", "etc", "sysidcfg") + if cfg = @resource[:sysidcfg] + path = File.join(@resource[:path], "root", "etc", "sysidcfg") unless File.exists?(path) begin @@ -161,7 +161,7 @@ set zonepath=%s # Return a hash of the current status of this zone. def statushash begin - output = adm "-z", @model[:name], :list, "-p" + output = adm "-z", @resource[:name], :list, "-p" rescue Puppet::ExecutionFailure return nil end @@ -185,7 +185,7 @@ set zonepath=%s def zoneadm(*cmd) begin - adm("-z", @model[:name], *cmd) + adm("-z", @resource[:name], *cmd) rescue Puppet::ExecutionFailure => detail self.fail "Could not %s zone: %s" % [cmd[0], detail] end @@ -193,7 +193,7 @@ set zonepath=%s def zonecfg(*cmd) begin - cfg("-z", @model[:name], *cmd) + cfg("-z", @resource[:name], *cmd) rescue Puppet::ExecutionFailure => detail self.fail "Could not %s zone: %s" % [cmd[0], detail] end diff --git a/lib/puppet/type/pfile/owner.rb b/lib/puppet/type/pfile/owner.rb index 8b9687531..96325a0e0 100755 --- a/lib/puppet/type/pfile/owner.rb +++ b/lib/puppet/type/pfile/owner.rb @@ -114,7 +114,7 @@ module Puppet # large UIDs instead of negative ones. This isn't a Ruby bug, # it's an OS X bug, since it shows up in perl, too. if currentvalue > 120000 - self.warning "current state is silly: %s" % is + self.warning "current state is silly: %s" % currentvalue currentvalue = :silly end diff --git a/test/lib/puppettest/fakes.rb b/test/lib/puppettest/fakes.rb index ec5d88fde..3c19d6c43 100644 --- a/test/lib/puppettest/fakes.rb +++ b/test/lib/puppettest/fakes.rb @@ -5,12 +5,12 @@ module PuppetTest class FakeModel include Puppet::Util class << self - attr_accessor :name, :realmodel - @name = :fakemodel + attr_accessor :name, :realresource + @name = :fakeresource end def self.namevar - @realmodel.namevar + @realresource.namevar end def self.validproperties @@ -26,7 +26,7 @@ module PuppetTest end def [](param) - if @realmodel.attrtype(param) == :property + if @realresource.attrtype(param) == :property @is[param] else @params[param] @@ -35,11 +35,11 @@ module PuppetTest def []=(param, value) param = symbolize(param) - unless @realmodel.validattr?(param) + unless @realresource.validattr?(param) raise Puppet::DevError, "Invalid attribute %s for %s" % - [param, @realmodel.name] + [param, @realresource.name] end - if @realmodel.attrtype(param) == :property + if @realresource.attrtype(param) == :property @should[param] = value else @params[param] = value @@ -47,12 +47,12 @@ module PuppetTest end def initialize(name) - @realmodel = Puppet::Type.type(self.class.name) - raise "Could not find type #{self.class.name}" unless @realmodel + @realresource = Puppet::Type.type(self.class.name) + raise "Could not find type #{self.class.name}" unless @realresource @is = {} @should = {} @params = {} - self[@realmodel.namevar] = name + self[@realresource.namevar] = name end def inspect @@ -83,9 +83,9 @@ module PuppetTest end class FakeProvider - attr_accessor :model + attr_accessor :resource class << self - attr_accessor :name, :model, :methods + attr_accessor :name, :resource_type, :methods end # A very low number, so these never show up as defaults via the standard @@ -96,7 +96,7 @@ module PuppetTest # Set up methods to fake things def self.apimethods(*ary) - @model.validproperties.each do |property| + @resource_type.validproperties.each do |property| ary << property unless ary.include? property end attr_accessor(*ary) @@ -123,11 +123,11 @@ module PuppetTest end def clear - @model = nil + @resource = nil end - def initialize(model) - @model = model + def initialize(resource) + @resource = resource end end @@ -154,30 +154,30 @@ module PuppetTest end end - @@fakemodels = {} + @@fakeresources = {} @@fakeproviders = {} - def fakemodel(type, name, options = {}) + def fakeresource(type, name, options = {}) type = type.intern if type.is_a? String - unless @@fakemodels.include? type - @@fakemodels[type] = Class.new(FakeModel) - @@fakemodels[type].name = type + unless @@fakeresources.include? type + @@fakeresources[type] = Class.new(FakeModel) + @@fakeresources[type].name = type - model = Puppet::Type.type(type) - raise("Could not find type %s" % type) unless model - @@fakemodels[type].realmodel = model + resource = Puppet::Type.type(type) + raise("Could not find type %s" % type) unless resource + @@fakeresources[type].realresource = resource end - obj = @@fakemodels[type].new(name) + obj = @@fakeresources[type].new(name) options.each do |name, val| obj[name] = val end obj end - module_function :fakemodel + module_function :fakeresource - def fakeprovider(type, model) + def fakeprovider(type, resource) type = type.intern if type.is_a? String unless @@fakeproviders.include? type @@fakeproviders[type] = Class.new(FakeModel) do @@ -185,7 +185,7 @@ module PuppetTest end end - @@fakeproviders[type].new(model) + @@fakeproviders[type].new(resource) end module_function :fakeprovider diff --git a/test/ral/providers/group.rb b/test/ral/providers/group.rb index 792d8bcf9..158fc4afa 100755 --- a/test/ral/providers/group.rb +++ b/test/ral/providers/group.rb @@ -30,13 +30,13 @@ class TestGroupProvider < Test::Unit::TestCase end def mkgroup(name, hash = {}) - fakemodel = fakemodel(:group, name) + fakeresource = fakeresource(:group, name) group = nil assert_nothing_raised { - group = @provider.new(fakemodel) + group = @provider.new(fakeresource) } hash.each do |name, val| - fakemodel[name] = val + fakeresource[name] = val end assert(group, "Could not create provider group") @@ -167,9 +167,9 @@ class TestGroupProvider < Test::Unit::TestCase groupnames().each { |group| gobj = nil comp = nil - fakemodel = fakemodel(:group, group) + fakeresource = fakeresource(:group, group) assert_nothing_raised { - gobj = @provider.new(fakemodel) + gobj = @provider.new(fakeresource) } assert(gobj.gid, "Failed to retrieve gid") @@ -223,7 +223,7 @@ class TestGroupProvider < Test::Unit::TestCase # Not all OSes fail here, so we can't test that it doesn't work with # it off, only that it does work with it on. assert_nothing_raised { - group2.model[:allowdupe] = :true + group2.resource[:allowdupe] = :true } # Now create the second group diff --git a/test/ral/providers/host/parsed.rb b/test/ral/providers/host/parsed.rb index eefe0f8ab..85f5cb664 100755 --- a/test/ral/providers/host/parsed.rb +++ b/test/ral/providers/host/parsed.rb @@ -53,9 +53,9 @@ class TestParsedHostProvider < Test::Unit::TestCase def mkhost hash = mkhosthash() - fakemodel = fakemodel(:host, hash[:name]) + fakeresource = fakeresource(:host, hash[:name]) - host = @provider.new(fakemodel) + host = @provider.new(fakeresource) assert(host, "Could not create provider host") hash.each do |name, val| @@ -214,7 +214,7 @@ class TestParsedHostProvider < Test::Unit::TestCase # And verify that we have data for everything hosts.each { |host| - name = host.model[:name] + name = host.resource[:name] assert(text.include?(name), "Host %s is not in file" % name) hash = host.property_hash assert(! hash.empty?, "Could not find host %s" % name) diff --git a/test/ral/providers/mount/parsed.rb b/test/ral/providers/mount/parsed.rb index 2da0be7a2..37aa6f157 100755 --- a/test/ral/providers/mount/parsed.rb +++ b/test/ral/providers/mount/parsed.rb @@ -51,9 +51,9 @@ class TestParsedMounts < Test::Unit::TestCase hash = mkmountargs() #hash[:provider] = @provider.name - fakemodel = fakemodel(:mount, hash[:name]) + fakeresource = fakeresource(:mount, hash[:name]) - mount = @provider.new(fakemodel) + mount = @provider.new(fakeresource) assert(mount, "Could not create provider mount") hash[:record_type] = :parsed hash[:ensure] = :present diff --git a/test/ral/providers/nameservice.rb b/test/ral/providers/nameservice.rb index e318db770..f63853af3 100755 --- a/test/ral/providers/nameservice.rb +++ b/test/ral/providers/nameservice.rb @@ -11,7 +11,7 @@ class TestNameServiceProvider < Test::Unit::TestCase def test_option klass = Class.new(Puppet::Provider::NameService) - klass.model = Puppet::Type.type(:user) + klass.resource_type = Puppet::Type.type(:user) val = nil assert_nothing_raised { diff --git a/test/ral/providers/package.rb b/test/ral/providers/package.rb index 5d4ad9e7c..345fbb0e6 100755 --- a/test/ral/providers/package.rb +++ b/test/ral/providers/package.rb @@ -81,7 +81,7 @@ class TestPackageProvider < Test::Unit::TestCase assert((result == :listed or result.is_a?(Hash)), "query did not return hash or :listed") if result == :listed - assert(provider.model.is(:ensure) != :absent, msg) + assert(provider.resource.is(:ensure) != :absent, msg) else assert(result[:ensure] != :absent, msg) end diff --git a/test/ral/providers/parsedfile.rb b/test/ral/providers/parsedfile.rb index 3e83f6ce8..efe8105ca 100755 --- a/test/ral/providers/parsedfile.rb +++ b/test/ral/providers/parsedfile.rb @@ -34,20 +34,20 @@ class TestParsedFile < Test::Unit::TestCase end # A simple block to skip the complexity of a full transaction. - def apply(model) + def apply(resource) [:one, :two, :ensure].each do |st| Puppet.info "Setting %s: %s => %s" % - [model[:name], st, model.should(st)] - model.provider.send(st.to_s + "=", model.should(st)) + [resource[:name], st, resource.should(st)] + resource.provider.send(st.to_s + "=", resource.should(st)) end end - def mkmodel(name, options = {}) + def mkresource(name, options = {}) options[:one] ||= "a" options[:two] ||= "c" options[:name] ||= name - model = @type.create(options) + resource = @type.create(options) end def mkprovider(name = :parsed) @@ -76,7 +76,7 @@ class TestParsedFile < Test::Unit::TestCase end end - def test_model_attributes + def test_resource_attributes prov = nil assert_nothing_raised do prov = mkprovider @@ -87,9 +87,9 @@ class TestParsedFile < Test::Unit::TestCase end # Now make sure they stay around - fakemodel = fakemodel(:testparsedfiletype, "yay") + fakeresource = fakeresource(:testparsedfiletype, "yay") - file = prov.new(fakemodel) + file = prov.new(fakeresource) assert_nothing_raised do file.name = :yayness @@ -202,16 +202,16 @@ class TestParsedFile < Test::Unit::TestCase prov.target_object(:default).write "will b d" - # Create some models for some of those demo files - model = mkmodel "bill", :target => :file1 - default = mkmodel "will", :target => :default + # Create some resources for some of those demo files + resource = mkresource "bill", :target => :file1 + default = mkresource "will", :target => :default assert_nothing_raised do prov.prefetch end - # Make sure we prefetched our models. - assert_equal("b", model.provider.one) + # Make sure we prefetched our resources. + assert_equal("b", resource.provider.one) assert_equal("b", default.provider.one) assert_equal("d", default.provider.two) @@ -242,14 +242,14 @@ class TestParsedFile < Test::Unit::TestCase target = :yayness prov.target_object(target).write "yay b d" - model = mkmodel "yay", :target => :yayness + resource = mkresource "yay", :target => :yayness assert_nothing_raised do prov.prefetch_target(:yayness) end # Now make sure we correctly got the hash - mprov = model.provider + mprov = resource.provider assert_equal("b", mprov.one) assert_equal("d", mprov.two) end @@ -259,7 +259,7 @@ class TestParsedFile < Test::Unit::TestCase prov.meta_def(:match) do |record| # Look for matches on :one - self.model.find do |m| + self.resource_type.find do |m| m.should(:one).to_s == record[:one].to_s end end @@ -268,22 +268,22 @@ class TestParsedFile < Test::Unit::TestCase target = :yayness prov.target_object(target).write "foo b d" - model = mkmodel "yay", :target => :yayness, :one => "b" + resource = mkresource "yay", :target => :yayness, :one => "b" assert_nothing_raised do prov.prefetch_target(:yayness) end # Now make sure we correctly got the hash - mprov = model.provider - assert_equal("yay", model[:name]) + mprov = resource.provider + assert_equal("yay", resource[:name]) assert_equal("b", mprov.one) assert_equal("d", mprov.two) end # We need to test that we're retrieving files from all three locations: # from any existing target_objects, from the default file location, and - # from any existing model instances. + # from any existing resource instances. def test_targets prov = mkprovider @@ -299,16 +299,16 @@ class TestParsedFile < Test::Unit::TestCase files[:inmemory] = inmem prov.target_object(inmem).write("inmem yay ness") - # Lastly, create a model with separate is and should values + # Lastly, create a resource with separate is and should values mtarget = tempfile() # istarget = tempfile() - files[:models] = mtarget - # files[:ismodels] = istarget - model = mkmodel "yay", :target => mtarget - # model.is = [:target, istarget] + files[:resources] = mtarget + # files[:isresources] = istarget + resource = mkresource "yay", :target => mtarget + # resource.is = [:target, istarget] - assert(model.should(:target), "Did not get a value for target") - # assert(model.is(:target), "Did not get a value for target") + assert(resource.should(:target), "Did not get a value for target") + # assert(resource.is(:target), "Did not get a value for target") list = nil assert_nothing_raised do @@ -328,16 +328,16 @@ class TestParsedFile < Test::Unit::TestCase prov.filetype = :ram prov.default_target = :yayness - # Create some models. - one = mkmodel "one", :one => "a", :two => "c", :target => :yayness - two = mkmodel "two", :one => "b", :two => "d", :target => :yayness + # Create some resources. + one = mkresource "one", :one => "a", :two => "c", :target => :yayness + two = mkresource "two", :one => "b", :two => "d", :target => :yayness # Write out a file with different data. prov.target_object(:yayness).write "one b d\ntwo a c" prov.prefetch - # Apply and flush the first model. + # Apply and flush the first resource. assert_nothing_raised do apply(one) end @@ -351,20 +351,20 @@ class TestParsedFile < Test::Unit::TestCase assert(prov.target_object(:yayness).read.include?("one a c"), "Did not write out correct data") - # Make sure the second model has not been modified + # Make sure the second resource has not been modified assert_equal("a", two.provider.one, "Two was flushed early") assert_equal("c", two.provider.two, "Two was flushed early") # And on disk assert(prov.target_object(:yayness).read.include?("two a c"), - "Wrote out other model") + "Wrote out other resource") # Now fetch the data again and make sure we're still right assert_nothing_raised { prov.prefetch } assert_equal("a", one.provider.one) assert_equal("a", two.provider.one) - # Now flush the second model and make sure it goes well + # Now flush the second resource and make sure it goes well assert_nothing_raised { apply(two) } assert_nothing_raised { two.flush } @@ -377,28 +377,28 @@ class TestParsedFile < Test::Unit::TestCase prov.default_target = :basic - model = mkmodel "yay", :target => :basic, :one => "a", :two => "c" + resource = mkresource "yay", :target => :basic, :one => "a", :two => "c" - assert_equal(:present, model.should(:ensure)) + assert_equal(:present, resource.should(:ensure)) - apply(model) + apply(resource) assert_nothing_raised do - model.flush + resource.flush end assert(prov.target_object(:basic).read.include?("yay a c"), "Did not create file") # Make a change - model.provider.one = "b" + resource.provider.one = "b" # Flush it assert_nothing_raised do - model.flush + resource.flush end - # And make sure our model doesn't appear twice in the file. + # And make sure our resource doesn't appear twice in the file. assert_equal("yay b c\n", prov.target_object(:basic).read) end @@ -410,10 +410,10 @@ class TestParsedFile < Test::Unit::TestCase prov.filetype = :ram prov.default_target = :first - # Make three models, one for each target and one to switch - first = mkmodel "first", :target => :first - second = mkmodel "second", :target => :second - mover = mkmodel "mover", :target => :first + # Make three resources, one for each target and one to switch + first = mkresource "first", :target => :first + second = mkresource "second", :target => :second + mover = mkresource "mover", :target => :first [first, second, mover].each do |m| assert_nothing_raised("Could not apply %s" % m[:name]) do @@ -467,9 +467,9 @@ class TestParsedFile < Test::Unit::TestCase prov.filetype = :ram prov.default_target = :first - # Make two models, one that starts on disk and one that doesn't - ondisk = mkmodel "ondisk", :target => :first - notdisk = mkmodel "notdisk", :target => :first + # Make two resources, one that starts on disk and one that doesn't + ondisk = mkresource "ondisk", :target => :first + notdisk = mkresource "notdisk", :target => :first prov.target_object(:first).write "ondisk a c\n" prov.prefetch @@ -496,7 +496,7 @@ class TestParsedFile < Test::Unit::TestCase assert(prov.target_object(:first).read =~ /^ondisk/, "Lost object on disk") - # Make sure our on-disk model behaves appropriately. + # Make sure our on-disk resource behaves appropriately. assert_equal(:present, ondisk.provider.ensure) # Now destroy the object @@ -575,7 +575,7 @@ class TestParsedFile < Test::Unit::TestCase "bill's value for 'one' disappeared") end - # Make sure that creating a new model finds existing records in memory + # Make sure that creating a new resource finds existing records in memory def test_initialize_finds_records prov = mkprovider prov.default_target = :yayness @@ -584,7 +584,7 @@ class TestParsedFile < Test::Unit::TestCase prov.prefetch - # Now make a model + # Now make a resource bill = nil assert_nothing_raised do bill = @type.create :name => "bill" diff --git a/test/ral/providers/parsedport.rb b/test/ral/providers/port/parsed.rb index acd6eda1f..acd6eda1f 100755 --- a/test/ral/providers/parsedport.rb +++ b/test/ral/providers/port/parsed.rb diff --git a/test/ral/providers/provider.rb b/test/ral/providers/provider.rb index 134fe390d..8aa560e61 100755 --- a/test/ral/providers/provider.rb +++ b/test/ral/providers/provider.rb @@ -190,14 +190,14 @@ class TestProvider < Test::Unit::TestCase "Did not receive info wrapper on failure") end - def test_mkmodelmethods + def test_mk_resource_methods prov = newprovider - modeltype = Struct.new(:validproperties, :parameters) - m = modeltype.new([:prop1, :prop2], [:param1, :param2]) - prov.model = m + resourcetype = Struct.new(:validproperties, :parameters) + m = resourcetype.new([:prop1, :prop2], [:param1, :param2]) + prov.resource_type = m - assert_nothing_raised("could not call mkmodelmethods") do - prov.mkmodelmethods + assert_nothing_raised("could not call mk_resource_methods") do + prov.mk_resource_methods end obj = prov.new(nil) @@ -282,7 +282,7 @@ class TestProviderFeatures < Test::Unit::TestCase end end - model = @type.create(:name => "foo") + resource = @type.create(:name => "foo") {:numbers => [:numeric], :letters => [:alpha], :both => [:numeric, :alpha], :mixed => [], :neither => []}.each do |name, should| should.sort! { |a,b| a.to_s <=> b.to_s } @@ -291,7 +291,7 @@ class TestProviderFeatures < Test::Unit::TestCase assert_equal(should, provider.features, "Provider %s has incorrect features" % name) - inst = provider.new(model) + inst = provider.new(resource) # Make sure the boolean methods work on both the provider and # instance. @features.keys.each do |feature| diff --git a/test/ral/providers/sshkey/parsed.rb b/test/ral/providers/sshkey/parsed.rb index 02cfe5b95..4a8ce07f1 100755 --- a/test/ral/providers/sshkey/parsed.rb +++ b/test/ral/providers/sshkey/parsed.rb @@ -38,9 +38,9 @@ class TestParsedSSHKey < Test::Unit::TestCase :ensure => :present } - fakemodel = fakemodel(:sshkey, args[:name]) + fakeresource = fakeresource(:sshkey, args[:name]) - key = @provider.new(fakemodel) + key = @provider.new(fakeresource) args.each do |p,v| key.send(p.to_s + "=", v) end diff --git a/test/ral/providers/user.rb b/test/ral/providers/user.rb index 12caaad22..dfc9b6136 100755 --- a/test/ral/providers/user.rb +++ b/test/ral/providers/user.rb @@ -128,11 +128,11 @@ class TestUserProvider < Test::Unit::TestCase end end - def fakemodel(*args) - model = super + def fakeresource(*args) + resource = super # Set boolean methods as necessary. - class << model + class << resource def allowdupe? self[:allowdupe] end @@ -140,14 +140,14 @@ class TestUserProvider < Test::Unit::TestCase self[:managehome] end end - model + resource end def mkuser(name) - fakemodel = fakemodel(:user, name) + fakeresource = fakeresource(:user, name) user = nil assert_nothing_raised { - user = @provider.new(fakemodel) + user = @provider.new(fakeresource) } assert(user, "Could not create provider user") @@ -175,11 +175,11 @@ class TestUserProvider < Test::Unit::TestCase end def test_infocollection - fakemodel = fakemodel(:user, @me) + fakeresource = fakeresource(:user, @me) user = nil assert_nothing_raised { - user = @provider.new(fakemodel) + user = @provider.new(fakeresource) } assert(user, "Could not create user provider") @@ -392,7 +392,7 @@ class TestUserProvider < Test::Unit::TestCase # Now add some of them to our user assert_nothing_raised { - user.model[:groups] = extra.join(",") + user.resource[:groups] = extra.join(",") } # Some tests to verify that groups work correctly startig from nothing @@ -428,7 +428,7 @@ class TestUserProvider < Test::Unit::TestCase eachproperty do |property| if val = fakedata(user.name, property) - user.model[property] = val + user.resource[property] = val end end @@ -459,7 +459,7 @@ class TestUserProvider < Test::Unit::TestCase eachproperty do |property| if val = fakedata(user.name, property) - user.model[property] = val + user.resource[property] = val end end @@ -494,7 +494,7 @@ class TestUserProvider < Test::Unit::TestCase user1.create user1.uid = 125 user2 = mkuser("user2") - user2.model[:uid] = 125 + user2.resource[:uid] = 125 cleanup do user1.ensure = :absent @@ -504,7 +504,7 @@ class TestUserProvider < Test::Unit::TestCase # Not all OSes fail here, so we can't test that it doesn't work with # it off, only that it does work with it on. assert_nothing_raised { - user2.model[:allowdupe] = :true + user2.resource[:allowdupe] = :true } assert_nothing_raised { user2.create } assert_equal(:present, user2.ensure, @@ -524,8 +524,8 @@ class TestUserProvider < Test::Unit::TestCase user = nil assert_nothing_raised { - fakemodel = fakemodel(:user, @me) - user = useradd.new(fakemodel) + fakeresource = fakeresource(:user, @me) + user = useradd.new(fakeresource) } assert_equal("-d", user.send(:flag, :home), diff --git a/test/ral/types/package.rb b/test/ral/types/package.rb index e45f68d34..9aafc3468 100755 --- a/test/ral/types/package.rb +++ b/test/ral/types/package.rb @@ -21,7 +21,7 @@ class TestPackages < Test::Unit::TestCase @type.provide :fake, :parent => PuppetTest::FakeProvider do apimethods :ensure def install - self.ensure = @model.should(:ensure) + self.ensure = @resource.should(:ensure) end def uninstall diff --git a/test/ral/types/user.rb b/test/ral/types/user.rb index ef113ee84..121ac9cf0 100755 --- a/test/ral/types/user.rb +++ b/test/ral/types/user.rb @@ -13,7 +13,7 @@ class TestUser < Test::Unit::TestCase apimethods def create @ensure = :present - @model.eachproperty do |property| + @resource.send(:properties).each do |property| next if property.name == :ensure property.sync end @@ -21,7 +21,7 @@ class TestUser < Test::Unit::TestCase def delete @ensure = :absent - @model.eachproperty do |property| + @resource.send(:properties).each do |property| send(property.name.to_s + "=", :absent) end end |