aurora-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Farner (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (AURORA-254) add a pluggable configuration validation mechanism
Date Mon, 28 Dec 2015 02:59:49 GMT

     [ 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)

Mime
View raw message