Mark - does Oslo.config already do any duplicate config checking? If not that’s probably a good place for that part
On Nov 12, 2013, at 10:06 AM, Tracy Jones <tjo...@vmware.com> wrote: > 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
_______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev