Pull out redis validation into validator class

This commit is contained in:
Joseph Schorr 2017-01-31 13:47:49 -05:00
parent f933b3e295
commit b2afe68632
6 changed files with 45 additions and 22 deletions

View file

@ -29,7 +29,9 @@ from util.secscan.api import SecurityScannerAPI
from util.registry.torrent import torrent_jwt
from util.security.signing import SIGNING_ENGINES
from util.security.ssl import load_certificate, CertInvalidException, KeyInvalidException
from util.config.validators.database import DatabaseValidator
from util.config.validators.buildlogredis import RedisValidator
logger = logging.getLogger(__name__)
@ -93,16 +95,6 @@ def _validate_database(config, user_obj, _):
raise ex
def _validate_redis(config, user_obj, _):
""" Validates connecting to redis. """
redis_config = config.get('BUILDLOGS_REDIS', {})
if not 'host' in redis_config:
raise ConfigValidationException('Missing redis hostname')
client = redis.StrictRedis(socket_connect_timeout=5, **redis_config)
client.ping()
def _validate_registry_storage(config, user_obj, _):
""" Validates registry storage. """
replication_enabled = config.get('FEATURE_STORAGE_REPLICATION', False)
@ -524,7 +516,7 @@ def _validate_bittorrent(config, user_obj, _):
VALIDATORS = {
DatabaseValidator.name: DatabaseValidator.validate,
'redis': _validate_redis,
RedisValidator.name: RedisValidator.validate,
'registry-storage': _validate_registry_storage,
'mail': _validate_mailing,
'github-login': _validate_github('GITHUB_LOGIN_CONFIG'),