[openstack-dev] [Nova] Configuration validation
Tracy Jones
tjones at vmware.com
Tue Nov 12 18:51:09 UTC 2013
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 <tjones at 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 <markmc at 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 at lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20131112/e487438e/attachment.html>
More information about the OpenStack-dev
mailing list