diff options
author | Nick Lewis <nick@puppetlabs.com> | 2011-07-21 11:38:51 -0700 |
---|---|---|
committer | Nick Lewis <nick@puppetlabs.com> | 2011-07-21 20:10:10 -0700 |
commit | fac867c7bdbfbd431b089eb1bfb6eb73230e912c (patch) | |
tree | 857c2b3f38c97aa5871b026a52964acd72b9e9c1 | |
parent | 93299e90e231bb407923e3534a0e33d841b95355 (diff) | |
download | puppet-fac867c7bdbfbd431b089eb1bfb6eb73230e912c.tar.gz puppet-fac867c7bdbfbd431b089eb1bfb6eb73230e912c.tar.xz puppet-fac867c7bdbfbd431b089eb1bfb6eb73230e912c.zip |
Remove Util::Cacher usage from SSL::CertificateAuthority
Allowing the singleton_instance value to be expirable is unnecessary, because
there will never be a need for a different CA instance in the lifetime of a
master. Additionally, the master never expired its cache anyway. This was only
using the cacher so it could be expired for tests, so it can safely be removed.
Reviewed-By: Jacob Helwig <jacob@puppetlabs.com>
-rw-r--r-- | lib/puppet/ssl/certificate_authority.rb | 12 | ||||
-rwxr-xr-x | spec/integration/ssl/certificate_authority_spec.rb | 2 | ||||
-rwxr-xr-x | spec/unit/ssl/certificate_authority_spec.rb | 4 |
3 files changed, 9 insertions, 9 deletions
diff --git a/lib/puppet/ssl/certificate_authority.rb b/lib/puppet/ssl/certificate_authority.rb index d65067c70..a4cbaf78a 100644 --- a/lib/puppet/ssl/certificate_authority.rb +++ b/lib/puppet/ssl/certificate_authority.rb @@ -1,6 +1,6 @@ +require 'monitor' require 'puppet/ssl/host' require 'puppet/ssl/certificate_request' -require 'puppet/util/cacher' # The class that knows how to sign certificates. It creates # a 'special' SSL::Host whose name is 'ca', thus indicating @@ -17,6 +17,8 @@ class Puppet::SSL::CertificateAuthority require 'puppet/ssl/certificate_authority/interface' require 'puppet/network/authstore' + extend MonitorMixin + class CertificateVerificationError < RuntimeError attr_accessor :error_code @@ -25,10 +27,10 @@ class Puppet::SSL::CertificateAuthority end end - class << self - include Puppet::Util::Cacher - - cached_attr(:singleton_instance) { new } + def self.singleton_instance + synchronize do + @singleton_instance ||= new + end end def self.ca? diff --git a/spec/integration/ssl/certificate_authority_spec.rb b/spec/integration/ssl/certificate_authority_spec.rb index c6ff58ed0..68b2401fb 100755 --- a/spec/integration/ssl/certificate_authority_spec.rb +++ b/spec/integration/ssl/certificate_authority_spec.rb @@ -29,8 +29,6 @@ describe Puppet::SSL::CertificateAuthority, :fails_on_windows => true do system("rm -rf #{@dir}") Puppet.settings.clear - Puppet::Util::Cacher.expire - Puppet::SSL::CertificateAuthority.instance_variable_set("@instance", nil) } diff --git a/spec/unit/ssl/certificate_authority_spec.rb b/spec/unit/ssl/certificate_authority_spec.rb index 3aedfdc25..3c5780a43 100755 --- a/spec/unit/ssl/certificate_authority_spec.rb +++ b/spec/unit/ssl/certificate_authority_spec.rb @@ -5,7 +5,7 @@ require 'puppet/ssl/certificate_authority' describe Puppet::SSL::CertificateAuthority do after do - Puppet::Util::Cacher.expire + Puppet::SSL::CertificateAuthority.instance_variable_set(:@singleton_instance, nil) Puppet.settings.clearused end @@ -25,7 +25,7 @@ describe Puppet::SSL::CertificateAuthority do describe "when finding an existing instance" do describe "and the host is a CA host and the run_mode is master" do before do - Puppet.settings.stubs(:value).with(:ca).returns true + Puppet[:ca] = true Puppet.run_mode.stubs(:master?).returns true @ca = mock('ca') |