Fix cert_check to use global collect_period

With the new addition of collect_period, cert_check needed to be
reconfigured so the two features don't interfere with each other.

Depends-On: I423b1f14d4b0580e625e5f57c729c4a6c9923a93
Change-Id: Ic4a41335c88c21ace0395bf6b1b1640557c23977
This commit is contained in:
Andrea Adams 2016-08-09 11:08:55 -06:00
parent ab5b6bb7b9
commit 63619348a3
1 changed files with 1 additions and 19 deletions

View File

@ -1,9 +1,8 @@
# (C) Copyright 2016 Hewlett Packard Enterprise Development Company LP
# (C) Copyright 2016 Hewlett Packard Enterprise Development LP
from datetime import datetime
import socket
import ssl
import time
from urlparse import urlparse
from monasca_agent.collector.checks import AgentCheck
@ -20,27 +19,11 @@ class CertificateCheck(AgentCheck):
self._ca_certs = init_config.get('ca_certs')
self._ciphers = init_config.get('ciphers')
self._timeout = init_config.get('timeout')
self._collection_period = init_config.get('collect_period')
self._last_collect_time = datetime.fromordinal(1)
self._skip_collection = False
self.log.debug('ca_certs file is %s' % self._ca_certs)
self.log.debug('cipers are %s' % self._ciphers)
self.log.debug('timeout is %f' % self._timeout)
self.log.debug('collection_period is %d' % self._collection_period)
def prepare_run(self):
"""Check if it is time for the measurements to be collected"""
time_since_last = datetime.now() - self._last_collect_time
if time_since_last.seconds < self._collection_period:
self.log.debug('Skipping collection for %d seconds' %
(self._collection_period - time_since_last.seconds))
self._skip_collection = True
return
self._skip_collection = False
def check(self, instance):
if self._skip_collection:
return
url = instance.get('url', None)
dimensions = self._set_dimensions(None, instance)
dimensions['url'] = url
@ -53,7 +36,6 @@ class CertificateCheck(AgentCheck):
dimensions=dimensions)
self.log.debug('%d days till expiration for %s' % (expire_in.days,
url))
self._last_collect_time = datetime.now()
except Exception as e:
self.log.warning('Exception trying to GET certificate for %s: %s' %