[ https://issues.apache.org/jira/browse/AURORA-254?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bill Farner resolved AURORA-254. -------------------------------- Resolution: Won't Fix > add a pluggable configuration validation mechanism > -------------------------------------------------- > > Key: AURORA-254 > URL: https://issues.apache.org/jira/browse/AURORA-254 > Project: Aurora > Issue Type: Task > Components: Client > Reporter: brian wickman > Priority: Minor > > In the past we've gone through deprecation cycles that match patterns on > configs and flag warnings to the users. We should generalize this pattern so > that we can register validators to be applied to configs after parsing. E.g. > {noformat} > class AuroraConfig(object): > @classmethod > def register_validator(cls, matcher, action): > cls.VALIDATORS.append((matcher, action)) > ...snip snip ... in parse_config or whatever... > for (matcher, action) in self.VALIDATORS.items(): > if matcher(self.job): > action() > {noformat} > This way we can inject things at runtime like > {noformat} > def isupper_matcher(job): > return any(ch.isupper() for ch in str(job.user())) > def isupper_action(job): > die('Silly rabbit, no users have upper-case characters! Got: %s' % > job.user()) > AuroraConfig.register_validator(isupper_matcher, isupper_action) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)