summaryrefslogtreecommitdiffstats
path: root/lib/puppet
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-07-04 22:52:06 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-07-04 22:52:06 +0000
commit50b8f96f7682d8da83996957aa884044705daf33 (patch)
tree4712ca0fad42aa990a1b928a29089dc4a1f9c320 /lib/puppet
parentc762c1960cc278f974c098ede994bb82f63fd893 (diff)
downloadpuppet-50b8f96f7682d8da83996957aa884044705daf33.tar.gz
puppet-50b8f96f7682d8da83996957aa884044705daf33.tar.xz
puppet-50b8f96f7682d8da83996957aa884044705daf33.zip
Fixing #704 -- Puppet was not failing correctly when schedules were missing, I think
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2648 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet')
-rw-r--r--lib/puppet/metatype/metaparams.rb8
-rw-r--r--lib/puppet/metatype/schedules.rb29
2 files changed, 12 insertions, 25 deletions
diff --git a/lib/puppet/metatype/metaparams.rb b/lib/puppet/metatype/metaparams.rb
index 168ddb9ee..2d792eeb2 100644
--- a/lib/puppet/metatype/metaparams.rb
+++ b/lib/puppet/metatype/metaparams.rb
@@ -38,14 +38,6 @@ class Puppet::Type
The creation of the schedule object does not need to appear in the
configuration before objects that use it."
-
- munge do |name|
- if schedule = Puppet.type(:schedule)[name]
- return schedule
- else
- return name
- end
- end
end
newmetaparam(:check) do
diff --git a/lib/puppet/metatype/schedules.rb b/lib/puppet/metatype/schedules.rb
index 40fa24cc6..7fef707c1 100644
--- a/lib/puppet/metatype/schedules.rb
+++ b/lib/puppet/metatype/schedules.rb
@@ -3,29 +3,24 @@ class Puppet::Type
# the instantiation phase, so that the schedule can be anywhere in the
# file.
def schedule
-
- # If we've already set the schedule, then just move on
- return if self[:schedule].is_a?(Puppet.type(:schedule))
-
- return unless self[:schedule]
-
- # Schedules don't need to be scheduled
- #return if self.is_a?(Puppet.type(:schedule))
-
- # Nor do components
- #return if self.is_a?(Puppet.type(:component))
-
- if sched = Puppet.type(:schedule)[self[:schedule]]
- self[:schedule] = sched
- else
- self.fail "Could not find schedule %s" % self[:schedule]
+ unless defined? @schedule
+ if name = self[:schedule]
+ if sched = Puppet.type(:schedule)[name]
+ @schedule = sched
+ else
+ self.fail "Could not find schedule %s" % name
+ end
+ else
+ @schedule = nil
+ end
end
+ @schedule
end
# Check whether we are scheduled to run right now or not.
def scheduled?
return true if Puppet[:ignoreschedules]
- return true unless schedule = self[:schedule]
+ return true unless schedule = self.schedule
# We use 'checked' here instead of 'synced' because otherwise we'll
# end up checking most elements most times, because they will generally