From 1004e5c1941918d9b152b8ad0200bc508d612576 Mon Sep 17 00:00:00 2001 From: Mark Reynolds Date: Jan 24 2020 15:56:35 +0000 Subject: Issue 50850 - Fix dsctl healthcheck for python36 Description: dsctl health check, specifically the certificate expiring checks, were using python37 specific functions, but these do not work on python36. Needed to replace fromisoformat() with something more portable. relates: https://pagure.io/389-ds-base/issue/50850 Reviewed by: firstyear(Thanks!) --- diff --git a/src/lib389/lib389/nss_ssl.py b/src/lib389/lib389/nss_ssl.py index 7c985d5..b1af141 100644 --- a/src/lib389/lib389/nss_ssl.py +++ b/src/lib389/lib389/nss_ssl.py @@ -79,13 +79,15 @@ class NssSsl(object): cert_list.append(self.get_cert_details(cert[0])) for cert in cert_list: - if date.fromisoformat(cert[3].split()[0]) - date.today() < timedelta(days=0): + cert_date = cert[3].split()[0] + diff_date = datetime.strptime(cert_date, '%Y-%m-%d').date() - datetime.today().date() + if diff_date < timedelta(days=0): # Expired report = copy.deepcopy(DSCERTLE0002) report['detail'] = report['detail'].replace('CERT', cert[0]) yield report - elif date.fromisoformat(cert[3].split()[0]) - date.today() < timedelta(days=30): - # Expiring + elif diff_date < timedelta(days=30): + # Expiring within 30 days report = copy.deepcopy(DSCERTLE0001) report['detail'] = report['detail'].replace('CERT', cert[0]) yield report