25 lines
950 B
Python
25 lines
950 B
Python
|
from util.config.validators import BaseValidator, ConfigValidationException
|
||
|
|
||
|
class ActionLogArchivingValidator(BaseValidator):
|
||
|
name = "actionlogarchiving"
|
||
|
|
||
|
@classmethod
|
||
|
def validate(cls, validator_context):
|
||
|
config = validator_context.config
|
||
|
|
||
|
""" Validates the action log archiving configuration. """
|
||
|
if not config.get('FEATURE_ACTION_LOG_ROTATION', False):
|
||
|
return
|
||
|
|
||
|
if not config.get('ACTION_LOG_ARCHIVE_PATH'):
|
||
|
raise ConfigValidationException('Missing action log archive path')
|
||
|
|
||
|
if not config.get('ACTION_LOG_ARCHIVE_LOCATION'):
|
||
|
raise ConfigValidationException('Missing action log archive storage location')
|
||
|
|
||
|
location = config['ACTION_LOG_ARCHIVE_LOCATION']
|
||
|
storage_config = config.get('DISTRIBUTED_STORAGE_CONFIG') or {}
|
||
|
if location not in storage_config:
|
||
|
msg = 'Action log archive storage location `%s` not found in storage config' % location
|
||
|
raise ConfigValidationException(msg)
|