Thanks folks for the interesting suggestions on this topic! I’ll b updating the BP this week with this and other info i am gathering.
Please let me know if you are interested in being involved in brainstorming on this issue and I will set up an irc meeting to discuss it further On Nov 11, 2013, at 3:08 PM, Mark McLoughlin <mar...@redhat.com> wrote: > Hi Nikola, > > On Mon, 2013-11-11 at 12:44 +0100, Nikola Đipanov wrote: >> Hey all, >> >> During the summit session on the the VMWare driver roadmap, a topic of >> validating the passed configuration prior to starting services came up >> (see [1] for more detail on how it's connected to that specific topic). >> >> Several ideas were thrown around during the session mostly documented in >> [1]. >> >> There are a few more cases when something like this could be useful (see >> bug [2] and related patch [3]), and I was wondering if a slightly >> different approach might be useful. For example use an already existing >> validation hook in the service class [4] to call into a validation >> framework that will potentially stop the service with proper >> logging/notifications. The obvious benefit would be that there is no >> pre-run required from the user, and the danger of running a >> misconfigured stack is smaller. > > One thing worth trying would be to encode the validation rules in the > config option declaration. > > Some rules could be straightforward, like: > > opts = [ > StrOpt('foo_url', > validate_rule=cfg.MatchesRegexp('(git|http)://')), > ] > > but the rule you describe is more complex e.g. > > def validate_proxy_url(conf, group, key, value): > if not conf.vnc_enabled: > return > if conf.ssl_only and value.startswith("http://"): > raise ValueError('ssl_only option detected, but ...') > > opts = [ > StrOpt('novncproxy_base_url', > validate_rule=validate_proxy_url), > ... > ] > > I'm not sure I love this yet, but it's worth experimenting with. > > Mark. > > > _______________________________________________ > OpenStack-dev mailing list > OpenStack-dev@lists.openstack.org > http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
_______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev