Commit 099295af authored by Łukasz Nowak's avatar Łukasz Nowak

promise: Add more information on error

In case of error the drop of free space percentage is shown.
parent 87b96e1b
...@@ -59,7 +59,7 @@ is assumed constant and used to predict in how many days the disk would become f ...@@ -59,7 +59,7 @@ is assumed constant and used to predict in how many days the disk would become f
result_min[1], timep) result_min[1], timep)
delta_days = timespan.total_seconds() / (3600.*24) delta_days = timespan.total_seconds() / (3600.*24)
try: try:
return (-(1. - result_max[0]) / (change / delta_days), result_min[1], result_max[1], delta_days) return (-(1. - result_max[0]) / (change / delta_days), result_min[1], result_min[0], result_max[1], result_max[0], delta_days)
except ZeroDivisionError as e: except ZeroDivisionError as e:
# no data # no data
return None return None
...@@ -223,11 +223,11 @@ is assumed constant and used to predict in how many days the disk would become f ...@@ -223,11 +223,11 @@ is assumed constant and used to predict in how many days the disk would become f
currenttime) currenttime)
days_until_full_tuple = self.getDaysUntilFull(disk_partition, db_path, currentdate, currenttime, threshold_days/2) days_until_full_tuple = self.getDaysUntilFull(disk_partition, db_path, currentdate, currenttime, threshold_days/2)
if days_until_full_tuple is not None: if days_until_full_tuple is not None:
days_until_full, min_date, max_date, day_span = days_until_full_tuple days_until_full, min_date, min_free, max_date, max_free, day_span = days_until_full_tuple
message = "Disk will become full in %.2f days (threshold: %.2f days), checked from %s to %s, %.2f days span" % ( message = "Disk will become full in %.2f days (threshold: %.2f days), checked from %s to %s, %.2f days span" % (
days_until_full, threshold_days, min_date, max_date, day_span) days_until_full, threshold_days, min_date, max_date, day_span)
if days_until_full < threshold_days: if days_until_full < threshold_days:
self.logger.error(message + ': ERROR') self.logger.error(message + ', free space dropped from %.1f%% to %.1f%%: ERROR' % (min_free*100, max_free*100))
else: else:
self.logger.info(message + ': OK') self.logger.info(message + ': OK')
......
...@@ -106,7 +106,7 @@ extra_config_dict = { ...@@ -106,7 +106,7 @@ extra_config_dict = {
self.assertEqual(result['result']['failed'], True) self.assertEqual(result['result']['failed'], True)
self.assertEqual( self.assertEqual(
result['result']['message'], result['result']['message'],
"Disk will become full in 26.46 days (threshold: 30.00 days), checked from 2017-10-02 01:16:01 to 2017-10-02 09:17:01, 0.33 days span: ERROR\nDisk usage: OK") "Disk will become full in 26.46 days (threshold: 30.00 days), checked from 2017-10-02 01:16:01 to 2017-10-02 09:17:01, 0.33 days span, free space dropped from 64.9% to 64.5%: ERROR\nDisk usage: OK")
def test_disk_space_nok(self): def test_disk_space_nok(self):
content = """from slapos.promise.plugin.check_free_disk_space import RunPromise content = """from slapos.promise.plugin.check_free_disk_space import RunPromise
...@@ -145,7 +145,7 @@ extra_config_dict = { ...@@ -145,7 +145,7 @@ extra_config_dict = {
result = self.getPromiseResult(self.promise_name) result = self.getPromiseResult(self.promise_name)
self.assertEqual(result['result']['failed'], True) self.assertEqual(result['result']['failed'], True)
self.assertEqual(result['result']['message'], self.assertEqual(result['result']['message'],
"Disk will become full in 26.46 days (threshold: 30.00 days), checked from 2017-10-02 01:16:01 to 2017-10-02 09:17:01, 0.33 days span: ERROR\nFree disk space low: remaining 269.1 G (threshold: 278.0 G)") "Disk will become full in 26.46 days (threshold: 30.00 days), checked from 2017-10-02 01:16:01 to 2017-10-02 09:17:01, 0.33 days span, free space dropped from 64.9% to 64.5%: ERROR\nFree disk space low: remaining 269.1 G (threshold: 278.0 G)")
def test_check_free_disk_with_unicode_string_path(self): def test_check_free_disk_with_unicode_string_path(self):
# set path unicode # set path unicode
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment